添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

获取 trojan 程序

由于目前 trojan 没有提供 MIPS 平台的可执行文件,因此需要自行编译获取对应程序。

[hanwckf/Trojan-pdv-build] 已经提供了在 Linux 环境下进行交叉编译的相关脚本,我在此基础上稍作修改,利用 github actions 实现在线编译,并在编译时自动获取最新的 trojan 版本。具体操作如下:

  • 打开 AmBeta/Trojan-pdv-build ,点击项目右上角的 Fork 按钮 fork 项目到自己的仓库
  • 在自己 fork 的项目里,点击右上角的 Star 按钮触发构建操作
  • 在项目的 Actions 面板中可以看到当前的构建进度,构建完成后就可以下载生成的文件了
  • 配置 trojan 启动脚本

    1. 新建 trojan 客户端配置文件

    新建一个文本文档,录入以下内容,保存文件名为 trojan_config.sh
    注意 修改文件内容中的 <Server Host> <Server Port> <Password> 为你的服务器对应的域名、端口号和密码。

    "run_type": "client", "local_addr": "<RouterIP>", "local_port": 1080, "remote_addr": "<Server Host>", "remote_port": <Server Port>, "password": [ "<Password>" "log_level": 2, "ssl": { "verify": true, "verify_hostname": true, "cert": "", "cipher": "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:AES128-SHA:AES256-SHA:DES-CBC3-SHA", "cipher_tls13": "TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384", "sni": "", "alpn": [ "h2", "http/1.1" "reuse_session": true, "session_ticket": false, "curves": "" "tcp": { "no_delay": true, "keep_alive": true, "reuse_port": false, "fast_open": false, "fast_open_qlen": 20

    2. 新建 trojan 客户端启动脚本

    新建一个文本文档,录入以下内容,保存文件名为 trojan_start.sh

    #!/bin/sh
    # 启动前运行的脚本
    export PATH='/etc/storage/bin:/tmp/script:/etc/storage/script:/opt/usr/sbin:/opt/usr/bin:/opt/sbin:/opt/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin'
    export LD_LIBRARY_PATH=/lib:/opt/lib
    export SSL_CERT_FILE=/etc/storage/cacert.pem
    # kill existing trojan process
    killall trojan
    # startup
    logger -t "【trojan】" "启动 trojan 客户端"
    trojan -c /etc/storage/trojan_config.sh 2>&1 | logger -t "【trojan】" &
    

    在命令行中输入以下命令为文件添加可执行权限:

    chmod +x trojan_start.sh
    

    3. 下载证书

    trojan 使用 tls 与服务器建立连接,因此需要用到相关的证书,否则可能会遇到无法验证证书从而无法建立连接的问题。(mipsle not work properly at padavan Router #53
    使用如下命令下载证书:

    curl -O https://curl.haxx.se/ca/cacert.pem
    

    4. 上传文件到路由器

    在命令行中使用 scp 命令将以上文件拷贝到路由器(注意将 root 替换为路由器管理页面登录的用户名)。

    scp trojan [email protected]:/etc/storage/bin
    scp trojan_config.sh trojan_start.sh cacert.pem [email protected]:/etc/storage
    

    由于 Padavan 特殊的安全机制,路由器重启后未执行保存命令的文件会丢失,因此需要执行一次保存操作。打开路由器的 webUI 管理页面,依次点击 高级设置->系统管理->恢复/导出/上传设置->保存 /etc/storage/ 内容到闪存->提交,等待片刻即可。

    5. webUI 配置启动自定义脚本

    配置路由器启动时自动启动 trojan 客户端。依次点击 高级设置->自定义设置->脚本->在路由器启动后执行,在输入框中追加如下脚本:

    /etc/storage/trojan_start.sh &
    

    配置透明代理

    由于路由器性能有限,这里使用 ss_tproxy + transocks + trojan 的组合作为路由器透明代理的方案。
    扩展功能->广告屏蔽功能->transocks 页面配置 transocks 透明代理服务:

    Padavan 固件的内置脚本会自动启用 ss_tproxy,等待脚本执行完成后路由器透明代理就设置完成了。