来了!这次是翻回去!
参照这个!糟糕,国内服务器没法下载……还是下载好zip然后上传服务器然后解压安装罢
等下,我思考了一下,感觉还是socks 5 吧?又不用躲墙,当然是越快越好啊
那么回国之前我再配制,再见
哦,vmess支持不加密啊,那没事了,我回来了
因为服务器位于国内所以需要手动安装,将东西复制到指定位置
systemd 和 systemctl? ctl 是操作 md 的工具,用ctl罢。
手动安装看了再多,那就看自动脚本到底干了什么,照着做就可以了
fhs-install-v2ray/install-release.sh at master · v2fly/fhs-install-v2ray · GitHub
安装到 /usr/local/bin 里面,记得现在要位于展开的目录下面,就是直接ls能看到v2ray,v2ctl 的地方
install 命令和 cp 类似,但是能够具体到权限 mode
1 | sudo install -m 755 v2* /usr/local/bin/ |
data path 是 /usr/local/share/v2ray,那么把geoip.dat 和 geosite.dat 安装在这里
1 | # 没有文件夹先创建 |
配制文档一开始是这样的
1 | { |
当然你可以留空,直接往里面填就是了,具体介绍看这里
默认路径是 /usr/local/etc/v2ray
不存在就创建文件夹
sudo mkdir /usr/local/etc/v2ray/
查看 nobody 在哪个 group 里面
id nobody
如果是 nogroup,那就
1 | install -d -m 700 -o nobody -g nogroup /var/log/v2ray/ |
否则,group 也是 nobody
1 | install -d -m 700 -o nobody -g nobody /var/log/v2ray/ |
dev/null是一个特殊文件,而不是目录
它丢弃一切写入其中的数据(但报告写入操作成功),读取它则会立即得到一个EOF[1]。
下一步就是配制 service 文件了,Systemd 入门教程:命令篇 - 阮一峰的网络日志
具体介绍可以看那边,systemd 取代 initd 成为了第一个进程,因为它……更全面智能!
Systemd 默认从目录/etc/systemd/system/
读取配置文件。但是,里面存放的大部分文件都是符号链接,指向目录/usr/lib/systemd/system/
,真正的配置文件存放在那个目录。
不过 v2ray 是直接扔到 etc 那里的,至于 service 文件是啥呢,拆开看看就知道啦
v2ray.service:
1 | [Unit] |
这个就是告诉 systemd 该怎么启动它,以及一些必要的信息
配置文件的后缀名,就是该 Unit 的种类,比如sshd.socket
。如果省略,Systemd 默认后缀名为.service
,所以sshd
会被理解成sshd.service
Unit 一共分成12种。
- Service unit:系统服务
- Target unit:多个 Unit 构成的一个组
- Device Unit:硬件设备
- Mount Unit:文件系统的挂载点
- Automount Unit:自动挂载点
- Path Unit:文件或路径
- Scope Unit:不是由 Systemd 启动的外部进程
- Slice Unit:进程组
- Snapshot Unit:Systemd 快照,可以切回某个快照
- Socket Unit:进程间通信的 socket
- Swap Unit:swap 文件
- Timer Unit:定时器
不过你看这个就直接缺省了。
我猜 .d 就是一个重复文件的意思……如果要删除的话得手动删除掉所有安装的文件
论安装脚本的重要性……我决定还是,嗯,不然自己写一个罢
好耶?
总之,把这俩 service 全部挪移过去
到展开 zip 的那里
sudo install -m 644 ./systemd/system/v2* /etc/systemd/system/
然后理论上来说就 set 好了,你只要在 /usr/local/etc/v2ray/config.json
写上正确的配置文件就可以
那么把这里的俩范例,哦这里还有一个 config.json,但是这是给翻墙用的不合适,不用拿过去了
好吧,这俩基本上都不太好用了……这边的 routing 是给翻墙分流用的,但是回来的话我们就全手动,不用这个了,所以还是从头写吧。
来自这里的服务器端比较简洁合适
行吧,这个参数比较多我需要研究一下,今儿配制不完了,先睡。
睡醒了
一般需要修改的就是 inbound 和 outbound,inbound 是输入,比如客户端需要代理,用 socks 协议位于 1080 端口,那么 inbound 就是 socks 1080。outbound 使用 vmess 和服务器沟通,服务器的 inbound 就是 vmess。
客户端的 out 是接受由服务器传来的 data(此面对互联网?),in 才是对着比如浏览器输出。服务器 out 是自由的,in 就是客户端的信息了。
所以服务器的 out 是 free,in 是 vmess
1 | { |
像这个样子就可以了,其他的设置因为是回翻所以不需要,当然端口记得修改并打开,vps 服务器一般 ufw 是关闭的,那么去设置那边打开就可了。uuid请自己生成一个
cat /proc/sys/kernel/random/uuid
使用 v2ray 内置的 test 检查
v2ray -test -config (config文件的路径)
客户端的真的累死我了
1 | {"inbounds": [{ |
那么添加 inbound,新增俩端口应该够用了。
socks 的话也差不多,加一个配制,然后复制一份 service 文件,将 config 修改成那个文件。
1 | sudo -i |
修改
ExecStart=/usr/local/bin/v2ray -config /usr/local/etc/v2ray/config.json
这一行的 config 路径,指向新的配制文件
然后就可以 systemctl start v2raysocks.service
开始用啦
然后什么是 service 呢? 17.1鸟哥的 Linux 私房菜
a service is a program or application in Linux that runs or expects to run in the background.
正在或者打算运行的程序。
直接开始用
systemctl start v2ray 之后 systemctl status v2ray,就可以看到具体用的是哪个 config 文件。
创建 group groupadd v2ray 创建 user useradd v2 改密码 passwd v2 把用户加到组里
没有 sudo 啊,只用 visudo 把用户加入 /etc/sudoers 里面,不然会出错
开机自启动? 选择 systemctl enable 就是开机自启动了。想要两份连接的话,复制一份 /etc/systemd/system/ 里的 v2ray.service ,修改下面的
ExecStart=/usr/local/bin/v2ray -config /usr/local/etc/v2ray/config.json
制作新的 config,然后 systemctl enable systemctl start 就可以了
我使用 swtichy omega 代理
GFWList · FelisCatus/SwitchyOmega Wiki · GitHub
这里搞来 GFWList ,跟随操作,保存 bak 文件然后导入。这边是 1090 端口运行 socks5,代理设置就好了。
应用走代理
应该在终端选择 export all_proxy=”socks5:127.0.0.1:1090”, discord 的话在 alacarte 里面把启动命令修改一下。自己手写 .desktop 太痛苦了
因为用的是 electron 所以可以用 chrome 的命令行参数……捏妈妈的,我试试看直接用 –proxy-server=”socks5://proxied:1234” 这样的
/home/lucia/.local/share/Discord/Discord –proxy-server:”socks5:127.0.0.1:1091”
哈哈,这样反正能够启动就是了,也用不着在前面再加 env var
所以 http_proxy 到底是什么呢,为什么支持 socks 呢?我记得这俩不是一个层的来着(
给 git 加代理
1 | git config --global http.proxy "socks5:127.0.0.1:1091" |
cat ~/.gitconfig 检查是否写进去了
hummmm,就这样好了,dnf 估计也要配置一下
用 root 权限更改这个
vi /etc/dnf/dnf.conf
好像出问题了,再修改吧(
大概是这里的 wifi 没法登陆的说