-
Notifications
You must be signed in to change notification settings - Fork 99
快速入门之:使用 dragonite forwarder 加速 Shadowsocks 连接
dragonite-forwarder 是一个可以用来加速任何 TCP 连接的双向转发加速工具。其可将原本通过 TCP 协议的程序通过端口转发的方式实际由 dragonite 协议在网络中传输。
对于中国用户,一个常见的用途是可以利用 dragonite-forwarder 加速 Shadowsocks 连接速度。
-
一台运行了 Shadowsocks 服务端的服务器 (A),且安装了 Java 8 或以上版本,能保证可用内存至少有大约 64 MB
-
你的电脑 (B) 能够运行 Shadowsocks 客户端,且安装了 Java 8 或以上版本,能保证可用内存至少有大约 32 MB
本文将使用
screen
命令将程序运行在后台,如果你已掌握或习惯使用其他方式如supervisor
,可忽略讲述screen
命令的部分。
前往 Release 下载最新版 dragonite-forwarder 程序。你也可以使用我们的 Docker 镜像,但本文不针对 Docker 方式的配置进行讲解。
将下载的压缩包在服务器 A 上解压后,得到文件夹 dragonite-forwarder-[版本号]
。
通过 cd dragonite-forwarder-[版本号]/bin
命令进入启动脚本所在目录。
使用 screen -S forwarder
命令新建一个屏幕(如果没有 screen
命令请先安装)。
假设你的 Shadowsocks 服务器开启在 2333 端口,运行命令 ./dragonite-forwarder -s -f 2333
如果程序运行成功,你可以看到类似提示(当然,版本号可能不同)
19:09:26(-07) INFO Dragonite Forwarder Version: v0.3.3
19:09:26(-07) INFO SDK Version: v0.3.3
19:09:26(-07) INFO Mux Version: v0.3.0
19:09:26(-07) INFO Checking for updates...
19:09:27(-07) INFO You are already using the latest version.
19:09:27(-07) INFO Using commandline arguments
由于本文演示的是转发 Shadowsocks,而 Shadowsocks 流量本身已经加密,因此未再启用加密功能。如果你希望对 dragonite-forwarder 协议本身也进行加密,可通过 -k
参数设置密码,如 ./dragonite-forwarder -s -f 2333 -k MotherfuckingStarboy
程序运行启动后,依次按 Ctrl+A
与 D
(无 Ctrl) 脱离该屏幕,此时程序仍运行在后台。如果希望查看日志或结束程序,你可以随时通过 screen -d -r forwarder
重新连接到该屏幕进行操作。你可以用 screen -ls
命令查看当前存在的所有屏幕。
假设你已经有了该 Shadowsocks 服务器的正确配置,服务器地址为 1.2.3.4
(域名也可)。
假设你目前所拥有的网络连接带宽为 10 Mbps 下行,5 Mbps 上行。
在下载解压并进入 bin 目录后,使用命令 ./dragonite-forwarder -a 1.2.3.4 -f 2333 -d 10 -u 5
启动客户端模式(如果你在上一步为服务器设置了密码,请务必也加上 -k 密码
)。
如果成功启动并连接,你会看到类似提示
19:23:48(-07) INFO Dragonite Forwarder Version: v0.3.3
19:23:48(-07) INFO SDK Version: v0.3.3
19:23:48(-07) INFO Mux Version: v0.3.0
19:23:48(-07) INFO Checking for updates...
19:23:49(-07) INFO You are already using the latest version.
19:23:49(-07) INFO Using commandline arguments
19:23:49(-07) INFO Server welcome message: Welcome to 1234
19:23:49(-07) INFO Connection established with example.com/1.2.3.4:5233
此时,你本地的 2333 端口已经相当于服务器的 2333 端口。在你连接本地 2333 端口后,数据会由 forwarder 客户端通过 dragonite 协议发送至 forwarder 服务端,再由 forwarder 服务端发给 Shadowsocks 服务端。在公网的传输过程由 Shadowsocks 原本的 TCP 替换为了 dragonite 协议。
因此,请在其他设置保持不变的情况下,修改你本地 Shadowsocks 客户端的配置,服务器地址改为 127.0.0.1
端口为 2333
。
在客户端尤其是 Windows 每次通过命令行带参数运行 forwarder 程序可能不太方便。你可以在同目录下新建一个 args.txt
文本文件,将启动的参数复制到其中。若目录下存在该文件,程序会自动从中加载参数,此后可以直接双击运行。
至此基本配置已经全部完成。如出现问题,请首先确认前提条件是否已完成,且每步中的操作是否正确根据自己的情况进行了调整!
forwarder 有许多其他的可选参数,欢迎查看文档自行探索!
尽情享受高速吧~
目前 dragonite 还没有官方的移动端 app,但仍有方法可以间接使用。
如果你能够运行 dragonite-forwarder 的设备与你的移动设备在同一个局域网中,你可以在开启 dragonite-forwarder 的情况下让移动设备的 Shadowsocks 客户端连接到其转发端口。
例如,你的电脑局域网 IP 地址为 192.168.1.2
,运行在其上面的 forwarder 转发端口为 2333,则将移动端 Shadowsocks 相应的服务器配置的远程地址改为 192.168.1.2
2333 端口。