纯终端环境代理配置教程
前言
我们在很多情况下,可能会在云服务器或是其他纯终端环境(例如树莓派服务器等),或者一些没有屏幕的情况下,只能 ssh 链接到服务器上进行一些操作。
这些时候,如果我们想要克隆一个 Github 的仓库,或者下载一些镜像源中没有的文件,简直是难如登天,100kb/s 的速度都很罕见,因此在这种环境下配一个代理还是十分必要的!
我们常在 Linux 上使用的 GUI 代理软件如 Qv2ray、Clash 这些就没法用了。因此需要考虑如何在纯终端环境中配置代理的问题,这篇教程就是为解决此问题而写的。
教程
此教程搭配的是常用的 v2ray-core + v2rayA ,这里的 v2rayA 是一个网页端的代理管理工具,其中支持 v2ray、Xray、SS、SSR、Trojan 等多种协议。
一、安装 v2ray-core
首先是需要安装 v2ray-core ,这里我们使用开源的项目 v2fly/fhs-install-v2ray 进行安装,它是一个脚本,可以直接运行完成 v2ray 的安装,安装的文件组织结构符合 Filesystem Hierarchy Standard ,十分方便简洁,很赞!
具体步骤如下:
下载 fhs-install-v2ray 源码
首先我们因为 Github 克隆很慢,可以先在自己的主机上克隆或者以 zip 包形式下载源码
将源码上传到远端
键入下列代码,通过 scp
将解压后的代码文件夹目录上传到远端服务器的根目录(如果是树莓派的话可以连接同一局域网进行),注意这里的 path/to/fhs-install-v2ray 指的是本地文件夹的路径
scp -r path/to/fhs-install-v2ray username@hostname:~
下载 v2ray-core 源码
此脚本可以全自动安装,即自动检测本机类型是 Ubuntu 还是其他的版本,然后从远端仓库下载最新的 v2ray 进行安装,不过因为没有代理,这一步还是十分缓慢,因此我们可以进行本地安装。
首先,我们去到 v2ray-core 的官方仓库的发布站 -> Releases · v2fly/v2ray-core ,在这里可以下载最新版本的的 v2ray-core,不过需要注意的是,需要自己辨别版本,如使用的是 arm 还是 x64_86 等,下载后是一个 zip 压缩包,我们直接通过 scp
上传到远端服务器根目录
scp path/to/v2ray-linux-64.zip username@hostname:~
连接远程服务器
接下来我们通过 ssh 连接到远程服务器
ssh username@hostname
完成安装
然后进入根目录后,进入 fhs-install-v2ray
文件夹,会发现里面有两个脚本,一个是 install-dat-release.sh
另一个是 install-release.sh
,前者是带有路由规则的,后者是不带有路由规则的。我试用后发现 install-dat-release.sh
没有办法本地安装,而后者可以,同时因为 v2rayA 中会自带路由规则,因此完全没有必要用前者,我们可以直接使用 install-release.sh
进行安装。
执行 sudo chmod +x install-release.sh
,添加执行权限
执行 sudo ./install-release.sh --local ../v2ray-linux-64.zip
这里的 local 参数代表是本地安装,解析后面的文件,注意这里是直接 zip 包,不需要解压。同时,这里的路径也是需要和你的下载的文件地址对应。
不出意外的话,瞬间就可以安装完成。截止到这里,v2ray-core 已经安装成功。需要注意的是,这里不需要执行 sudo systemctl enable v2ray
,因为后续的 v2rayA 不依赖此服务。
安装的文件路径如下:
installed: /usr/local/bin/v2ray #v2ray 主程序地址
installed: /usr/local/bin/v2ctl #v2ray 控制程序
installed: /usr/local/share/v2ray/geoip.dat # 可选,路由信息
installed: /usr/local/share/v2ray/geosite.dat #可选,路由信息
installed: /usr/local/etc/v2ray/config.json #代理配置文件
installed: /var/log/v2ray/ #下面三个都是log文件
installed: /var/log/v2ray/access.log
installed: /var/log/v2ray/error.log
installed: /etc/systemd/system/v2ray.service #v2ray 服务配置信息
installed: /etc/systemd/system/v2ray@.service
如果有报错的话,可以看对应的 error
报错去 v2fly/fhs-install-v2ray 官方仓库 Issue 处查看。
二、安装 v2rayA
首先,同样的是,为了防止 Github 下载太慢,我们也可以去到官方仓库的发布站 -> Releases · v2rayA/v2rayA ,下载对应系统版本的安装包,然后通过 scp
上传到远端。
这里以 x64_86 版本的 Ubuntu 18.04.5 LTS 举例,我们直接下载 installer_debian_x64_v1.5.2.deb
到本地,然后执行
scp path/to/installer_debian_x64_v1.5.2.deb username@hostname:~
将文件上传到远端。
然后 ssh 到服务器执行:
sudo dpkg -i installer_debian_x64_v1.5.2.deb
安装成功后依次执行:
# 启动 v2raya
sudo systemctl start v2raya
# 开机自启 v2raya
sudo systemctl enable v2raya
这样就成功开启了 v2rayA
,我们访问 ip:2017
,前面是你云服务器的公网 ip
或者是自建服务器的局域网 ip
,我们就可以访问到对应的服务,界面大致如下:
首次进入时会让你设置账号和密码,用于后续的管理。还会引导你导入链接,在导入链接后,就可以点击上方的第三栏,进行连接、查看或分享对应的代理了!
说一下我现在用的设置,点击右上角设置,透明代理和规则端口的分流模式设置为大陆白名单,然后实现方式我用的是 redirect,每隔 24h 更新依次代理,左下角设置的地址与端口我用的是默认的,如下:
这样我们就可以愉快的上网了!!可以 ssh 到服务器试一下 wget google.com
,正常结果如下:
❯ wget google.com
--2021-09-13 18:11:04-- http://google.com/
Resolving google.com (google.com)... 93.46.8.90
Connecting to google.com (google.com)|93.46.8.90|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://www.google.com/ [following]
--2021-09-13 18:11:05-- http://www.google.com/
Resolving www.google.com (www.google.com)... 108.160.165.141, 2001::453f:b213
Connecting to www.google.com (www.google.com)|108.160.165.141|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘index.html’
index.html [ <=> ] 13.42K 59.8KB/s in 0.2s
2021-09-13 18:11:06 (59.8 KB/s) - ‘index.html’ saved [13740]
这代表着,我们下载到了 google.com 页面的源码,即可以连通 Google 服务。
一些存在的小问题
我现在还没有搞清楚透明代理的作用,如果不开的话,我通过 proxychains
配置对应的端口,发现并不能上网,但是如果我直接开了透明代理,不需要 proxychains
也可以直接在终端使用代理,感觉是全局代理,不过不影响使用。
具体的一些细节还没有搞清楚,后续学习了再回来补更。