Shadowrocket 小火箭利用 Socks5 获取独立落地 IP

Shadowrocket 小火箭利用 Socks5 获取独立落地 IP

独立落地 IP 的功能

代理套娃原理图:

代理套娃原理图

什么是 Socks5

重要:Socks5 特征明显,不可以用于过墙,必须搭配机场线路使用,直接使用100%被墙!!!

选择 Socks5 就是轻量、快速,不增加设备耗电(主要是手机)。

SOCKS5 是指 SOCKS 协议的第五版,它是一个网络协议,用于通过代理服务器中转网络请求。SOCKS 是“Socket Secure”的缩写,是一个接口层协议,用来在客户端和远程服务器之间传递网络请求及数据。相对于前一版本 SOCKS4,SOCKS5 协议支持更多的认证方法并且支持IPv6和UDP协议。

SOCKS5 代理服务器工作在更低的网络层次,与HTTP代理比较,可以转发任意类型的数据包和网络协议。因此,SOCKS代理不仅仅局限于Web浏览,还能用于任何需要通过代理网络通信的场景。例如,你可以使用SOCKS5代理来加速网络游戏中的数据传输,或者保护VOIP通话数据的私密性。

准备

服务器篇

安装 Dante

Dante 是免费开源的 SOCKS5 服务端软件。

linux执行指令示例,输入指令回车就是执行

安装指令如下:

1.更新一下系统

sudo apt update
sudo apt upgrade
sudo apt install screen wget build-essential libwrap0-dev

2.安装 Dante

screen -S dante # 防止ssh断连,恢复 screen -r dante 
wget https://www.inet.no/dante/files/dante-1.4.4.tar.gz
tar xzf dante-1.4.4.tar.gz
cd dante-1.4.4
./configure --prefix=/usr --sysconfdir=/etc
make -j$(nproc)
make install

3.创建配置 /etc/sockd.conf:(写入 Dante 配置,enp1s0 需要改为 VPS 的网卡名称,使用 ifconfig 命令查看)

logoutput: syslog

internal: enp1s0 port = 1080
external: enp1s0

socksmethod: username

user.privileged: root
user.unprivileged: nobody

client pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
    log: error
}

client pass {
    from: ::/0 to: ::/0
    log: error
}

socks pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
    command: connect
    log: error
    socksmethod: username
}

socks pass {
    from: ::/0 to: ::/0
    command: connect
    log: error
    socksmethod: username
}

5.创建配置 /etc/systemd/system/sockd.service:

[Unit]
Description=Dante SOCKS5 Server
After=network.target

[Service]
Type=forking
ExecStart=/usr/sbin/sockd -D
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

6.设置开机自启

systemctl daemon-reload
systemctl enable --now sockd
systemctl status sockd

备注:如果已经是root用户可以不用加sudo,有些精简版的Ubuntu系统会去除sudo,导致sudo的命令无法执行

7.设置账号用户

替换一下 your_username 为你的用户名

useradd your_username -r
# 回车后会提示输入密码,需要大于等于8位
passwd your_username

8.重启服务

systemctl restart sockd

输出运行日志

systemctl status sockd

配置防火墙

放行 1080 端口

sudo ufw allow 1080

客户端篇

Shadowrocket 安装

Shadowrocket 添加节点

  1. 点击 + 号新建节点

  1. 如下图图所示填写,类型选择 Socks5,地址(你服务器的IP)、端口 1080、用户(你自定义的用户名)、密码(你自定义的密码),代理通过选择你的机场订阅

完成后测试一下连通性就OK了

Mac OS X 代理节点