注意:这篇文章不是教你怎么在云服务器上搭梯子,而是教你在没有 GUI 界面的 Linux 系统上使用梯子!

之前遇到过一些 SB 需求,解决的唯一办法就是在 Linux 系统的云服务器连上 Shadowsocks 或者 V2ray 科学上网。毕竟是云服务器,带 GUI 的梯子就不太好搞了(当然你可以参考我之前的文章用 XServer 运行有 GUI 的科学上网软件)。这篇文章讲的就是在 Linux 上以命令行的方式科学上网。

下面的教程将分别介绍 Shadowsocks/V2ray 和 Ubuntu/CentOS 的解决方案。

Shadowsocks

安装

安装很简单,你可以直接用 pip 搞定

1
sudo pip3 install https://github.com/shadowsocks/shadowsocks/archive/master.zip -U

或者

1
sudo pip3 install shadowsocks

此外,如果你需要使用 Shadowsocks 的新的加密方式的话,比如 Chacha20-Ietf-Poly1305 你还需要装下面这个东西

Ubuntu

1
sudo apt install libsodium-dev

CentOS

1
2
sudo yum -y install epel-release
sudo yum -y install libsodium

配置

新建配置文件夹和文件

1
2
sudo mkdir /etc/shadowsocks
sudo vi /etc/shadowsocks/shadowsocks.json

配置如下,具体内容自行修改(没有梯子请自行联系工信部申请)

1
2
3
4
5
6
7
8
9
10
11
{
"server": "your_server",
"server_port": 23333,
"local_address": "127.0.0.1",
"local_port": 1080,
"password": "your_password",
"timeout": 60
"method": "chacha20-ietf-poly1305",
"workers": 1,
"fast_open": false
}

其中

1
2
3
4
5
6
7
8
9
server:Shadowsocks 服务器地址
server_port:Shadowsocks 服务器端口
local_address:本地 Sock5 代理地址
local_port:本地 Sock5 代理端口
password:Shadowsocks 连接密码
timeout:超时等待时间(秒)
method:加密方式
workers:工作线程数
fast_open:Tcp Fast Open,按需开启

配置完成,之后就可以通过 local_addresslocal_port 走 Sock5 代理了

启动脚本

创建启动脚本 /etc/systemd/system/shadowsocks.service

这里请确认你的 sslocal 的所在位置,自行修改脚本文件中的 /usr/local/bin/sslocal位置不对启动服务时会报 203 错误

1
2
3
4
5
6
7
8
9
[Unit]
Description=Shadowsocks

[Service]
TimeoutStartSec=0
ExecStart=/usr/local/bin/sslocal -c /etc/shadowsocks/shadowsocks.json

[Install]
WantedBy=multi-user.target

GO!GO!GO!

启动服务或者配置开机自启动

1
2
3
4
5
6
7
8
# 开机自启动
sudo systemctl enable shadowsocks.service
# 启动服务
sudo systemctl start shadowsocks.service
# 查看状态
sudo systemctl status shadowsocks.service
# 停止服务
sudo systemctl stop shadowsocks.service

测试一下,看看你的 ip 地址是否符合预期

1
curl --socks5 127.0.0.1:1080 http://httpbin.org/ip

到这里 Shadowsocks 部分就结束了,后面将介绍如何配置 Sock5 代理实现科学上网

V2ray

安装

1
2
sudo su
bash <(curl -L -s https://install.direct/go.sh)

配置

很抱歉,V2ray 的配置文件太复杂了,我不会写。。。

所以我把我 Windows 下用的 V2rayN 的配置文件 config.json 直接复制过来了XD

复制前记得把该配置的东西都配置好,可以顺带把 PAC 加上

记得去看一下你的 Sock5 代理的端口和地址,我这里是 127.0.0.1:10808

GO!GO!GO!

1
2
3
4
5
6
# 启动服务
sudo service v2ray start
# 查看状态
sudo service v2ray status
# 停止服务
sudo service v2ray stop

当然你可以测试一下,替换 Sock5 代理的端口和地址就行

Sock5 代理

有了梯子,还需要代理工具才能代理你的流量

这里使用了 Proxychains 进行代理

安装

首先从官网搞到源码:这里

然后编译安装

1
2
3
./configure
make -j
sudo make install

配置

新建配置文件夹和文件

1
2
mkdir ~/.proxychains
vi ~/.proxychains/proxychains.conf

配置如下,记得把最后一行替换成你自己的 Sock5

1
2
3
4
5
6
7
8
9
10
strict_chain
proxy_dns
remote_dns_subnet 224
tcp_read_time_out 15000
tcp_connect_time_out 8000
localnet 127.0.0.0/255.0.0.0
quiet_mode

[ProxyList]
socks5 127.0.0.1 1080

GO!GO!GO!

用法就很简单了,你可以用 proxychains4 启动你想要的程序,最简单的就是新开一个 bash 然后随便搞

1
proxychains4 bash

最后

上面介绍了在 Linux 环境下科学上网的两种搭配:Shadowsocks + ProxychainsV2ray + Proxychains,个人的话更推荐用 V2ray,不仅更加稳定,还不用手动写配置文件(不是)