Trojan是一种新型的科学上网工具,最近受到很多用户的欢迎。与Shadowsocks/SSR/V2ray等其它工具相似,Trojan也需要服务器端和客户端配合使用。
Trojan服务器端的安装教程,我们之前做过介绍,具体可以参考:
Trojan一键安装脚本 傻瓜全自动 搭建伪装网站、续签证书、客户端参数配置
而Trojan的客户端,根据系统平台的不多,分为多个版本。其中OpenWrt路由器客户端,相比其它设备的客户端来说,有很大的使用优势。在为路由器安装Trojan后,可以为全局域网提供科学上网服务,避免了多个设备多次安装的麻烦。
Trojan编译相关知识介绍
1.为什么需要单独编译Trojan ipk
路由器的硬件种类繁多,根据CPU架构的不同,需要不同的Trojan ipk与之适配,并非一个安装包通吃。
2.相比其它几种科学上网工具,Trojan的发展时间并不算长,各平台客户端还处于完善阶段,尤其是OpenWrt/Lede平台。
在上述背景下,目前基本没有成熟完善的Trojan ipk发布渠道,自己编译Trojan是一个更合理的选择。
3.自己编译Trojan的难度大吗?
编译并不需要自己会开发,只需要输入几个命令就可以,因此难度并不算大。
要说难度,那么编译环境的搭建可能稍有难度,下文会具体介绍。
4.我可以使用其他人发布的OpenWrt固件吗,自带Trojan客户端那种?
可以,但有两个前提:
- 固件需要与自己的路由器型号完全适配。
- 完全信任固件发布者,相信他的固件是干净安全的,没有加料。
5.我可以自己编译OpenWrt固件吗,自带Trojan客户端那种?
可以尝试编译Lean源码的OpenWrt固件,相对比较成熟,自带Shadowsocks/SSR/V2Ray/Trojan客户端。
具体可以参考:小白也会!Lean OpenWrt/Lede 固件编译教程 可路由器SSR Plus+(SS/SSR/V2Ray/Trojan)
这种方法的优势在于,可以自由定制各种插件功能,编译好的固件完全适配自己的需求。
Trojan编译环境搭建
1.系统:推荐Ubuntu 18.04
2.网络:推荐国外VPS网络,编译成功率更高。
因为编译过程中需要下载各种依赖,国内网络环境较差,极可能造成下载失败,最终编译失败。
即使通过代理网络进行编译,下载速度也很一般,不推荐。
3.硬件:推荐双核CPU或以上/内存2G或以上/硬盘30G或以上
因为编译过程对CPU、内存、硬盘空间有一定要求,配置越高,编译越快。
综合以上几条,推荐:
Vultr的VPS服务器,按小时计费,可以临时搭建较高配置的服务器,编译完成后销毁,极大节约成本支出。
以下图High Frequence 服务器配置为例,假设在两个小时内完成编译,那么花费大概在$0.08,换算为人民币也就几毛钱。
Vultr官方网站:https://www.vultr.com
Vultr购买及使用教程可以参考:Vultr VPS服务器购买及使用教程 可支付宝哦
Trojan ipk编译教程
以下编译流程是在atrandys的文章基础上整理而来,在此表示感谢。
1.用Putty连接VPS服务器,依次运行以下两条命令(可右键复制),安装必要依赖:
1
2
|
apt-get update
apt-get install subversion build-essential libncurses5-dev zlib1g-dev gawk git ccache gettext libssl-dev xsltproc wget unzip python time libcloog-isl-dev
|
2.根据你路由器的CPU架构,到OpenWrt官网找到对应的SDK链接,下载至服务器。
以用户众多的MT7620 CPU为例,如果想要下载OpenWrt 19.07.2版本的SDK,那么可以运行以下命令。
1
|
wget https://downloads.openwrt.org/releases/19.07.2/targets/ramips/mt7620/openwrt-sdk-19.07.2-ramips-mt7620_gcc-7.5.0_musl.Linux-x86_64.tar.xz
|
如果是其它型号的CPU,那么可以进入OpenWrt官网:https://downloads.openwrt.org/releases
依次根据以下路径得到sdk下载地址:
OpenWrt版本——targets——CPU架构——CPU型号——页面最下方以openwrt-sdk-开头的文件——右键复制链接。
如果你不清楚自己路由器的CPU相关信息,可以参考进入以下文章查询:
哪些路由器支持刷OpenWrt/LEDE固件实现科学上网?品牌型号及CPU架构查询列表
或者
Putty连接至路由器,输入以下命令查询:
1
|
opkg print-architecture | awk '{print $2}' | grep -v all | grep -v noarch
|
3.OpenWrt SDK成功下载至服务器后,运行以下命令解压:
1
|
tar xvf openwrt-sdk*
|
4.进入 OpenWrt SDK 的 package目录,下载Trojan源码:
1
2
|
cd openwrt-sdk*/package
git clone https://github.com/trojan-gfw/openwrt-trojan.git
|
5.移动Trojan文件,然后回到SDK目录:
1
2
|
mv openwrt-trojan/* ./
cd ..
|
6.安装feeds,之后进入编译配置界面:
1
2
3
|
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig
|
7.如果配置界面存在下图所示的*号,那么用方向键选中,按n键去除*号:
8.用方向键选中配置界面的network项,按回车进入。然后用方向键选中trojan,按y添加该项。
9.用左右方向键选中配置界面的save选项,一路回车保存配置。保存成功后,左右方向键选中exit,一路退出配置界面。
10.运行如下命令开始编译trojan,根据硬件配置及网络环境的不同,编译过程可能持续1-2个小时。
1
|
make package/trojan/compile -j$(($(nproc) + 1)) V=99
|
编译生成的Trojan ipk文件位于:openwrt-sdk目录/bin/packages/你的cpu架构/base/
在这个目录中找到trojan开头的ipk文件,下载至本地电脑。
OpenWrt/Lede路由器下,安装trojan ipk
建议在路由器联网环境下安装ipk,以防部分依赖下载失败。
具体步骤:
1.用Winscp连接至路由器,将trojan ipk文件上传至/tmp目录下。
2.运行以下命令安装trojan:
1
2
3
|
opkg update
cd /tmp
opkg install trojan-*
|
常见问题:
如果在安装过程中,出现类似缺失部分依赖造成的安装失败,可以根据缺失的名称,尝试在编译服务器的 openwrt-sdk目录/bin 下的各文件夹中查找。
一般情况下,编译过程中会将各依赖ipk同时编译出来。
修改Trojan配置,开启socks代理
Trojan路由器客户端安装成功后,需要根据Trojan服务器端的配置,修改客户端相应参数。如果你还没有完成Trojan服务器端的搭建,可以参考:
Trojan一键安装脚本 傻瓜全自动 搭建伪装网站、续签证书、客户端参数配置
Trojan服务器端搭建完成后,会提供客户端的配置文件供下载。
OpenWrt Trojan客户端配置:
1.用Winscp打开路由器中的/etc/config/trojan文件,修改0为1
2.用Winscp在路由器的/etc目录下,新建一个文件夹,命名为trojan
3.将下载得到的Trojan配置文件config.json,以及fullchain.cer文件,上传至路由器/etc/trojan目录下。
4.用Winscp打开config.json,
- 修改监听地址127.0.0.1为0.0.0.0
- 修改cert的值为/etc/trojan/fullchain.cer
5.用Putty连接至路由器,依次运行如下命令开启trojan:
1
2
|
opkg install coreutils-nohup
cd /etc/trojan && nohup trojan >trojan.log 2>&1 &
|
局域网下设备如何使用Trojan代理上网
Trojan路由器客户端,默认提供Socks代理,其它设备需要在系统代理中,或者浏览器中,手动设置代理服务器为:
Socks5:路由器IP:1080
设置成功后,即可实现科学上网。
具体Trojan代理实现方法可以参考:
Trojan Windows客户端下载及使用教程 配合V2ray实现全局代理