1. 首页
  2. 学术上网
  3. Trojan

openwrt使用trojan教程(一):openwrt编译trojan ipk,支持tls1.3,使用openwrt sdk,速度快

为openwrt编译trojan,在openwrt使用trojan,有很多大佬编译好的固件支持,您可以去直接用,但这里我只是想在纯净openwrt上使用trojan,不需要支持其他的代理,所以出一个openwrt上使用trojan的教程。

这个教程会有几篇文章,大概包含以下内容

openwrt使用trojan教程(一):编译支持你的openwrt路由器CPU架构的trojan安装包

openwrt使用trojan教程(二):在openwrt实现trojan透明代理,编译相关luci-app支持界面管理

openwrt使用trojan教程(?)

今天我们讲怎么编译openwrt上的trojan ipk包,编译真的是不断解决各种缺失依赖的过程,为了尽可能成功,接下来请使用我教程一致的编译环境,我使用ubuntu18.04来编译trojan,不要用VPS服务商提供的minimal版,因为需要从openwrt和用git下载很多包,网络环境用外网VPS最好,国内速度很慢,或者国内用速度不错的VPN全局代理也可以。

openwrt编译trojan教程

一、下载你路由器CPU架构对应的openwrt SDK

1、下载CPU架构对应的openwrt SDK

查看你的openwrt信息,比如我在翻车讯K2P上用,CPU为MT7621

进入openwrt官网,下载SDK,点击访问: https://downloads.openwrt.org/releases/

找到你的openwrt对应版本,我这里用最新的19.07.1,进入target,进入选择ramips,然后选择MT7621,拉到最下方下载openwrt-sdk开头的文件,复制这个链接的下载地址

openwrt使用trojan教程(一):openwrt编译trojan ipk,支持tls1.3,使用openwrt sdk,速度快

wget https://downloads.openwrt.org/releases/19.07.1/targets/ramips/mt7621/openwrt-sdk-19.07.1-ramips-mt7621_gcc-7.5.0_musl.Linux-x86_64.tar.xz

然后解压缩

tar xvf openwrt-sdk*

二、安装编译环境

这个编译环境之前编译udp2raw和udpspeeder的时候用的,为了解决依赖搞了很久,现在我们直接拿来用。

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


三、编译trojan

openwrt-trojan github地址:https://github.com/trojan-gfw/openwrt-trojan

先进入openwrt sdk package目录

cd openwrt-sdk*/package

下载github上的openwrt-trojan

git clone https://github.com/trojan-gfw/openwrt-trojan.git

移动一下文件

mv openwrt-trojan/* ./

回到openwrt-sdk目录

cd ..

安装feeds

./scripts/feeds update -a
./scripts/feeds install -a

进入make menuconfig

make menuconfig

进入全局配置

勾掉前三个星号,保存

进入network

勾选trojan,保存,退出,然后执行编译trojan,如果你的编译环境有多核CPU,可以使用-j 4参数指定CPU使用4核心

make package/trojan/compile -j 4 V=99

等待编译完成进入bin/packages/你的cpu架构/base下找到trojan开头的ipk,将其下载即可

四、安装trojan

将trojan ipk文件上传到openwrt

opkg update
opkg install trojan-*

五、让trojan在openwrt上跑起socks代理
首先我们先改一下trojan的默认配置文件,将文件中0改为1

vi /etc/config/trojan

新建一个目录

mkdir /etc/trojan

编辑配置文件,将客户端config.json添加进来,服务端搭建可以参考本站的trojan一键脚本,支持debian9+/ubuntu16.04+/centos7+,注意一键脚本配置好的config.json在/usr/src/trojan-cli/目录下,并注意将监听的地址由127.0.0.1改为0.0.0.0,将cert的值改为/etc/trojan/fullchain.cer,将fullchain.cer文件下载放到/etc/trojan/目录下。

vi /etc/trojan/config.json

然后安装nohup工具,并运行trojan

opkg install coreutils-nohup
cd /etc/trojan && nohup trojan >trojan.log 2>&1 &

六、浏览器中配置socks5指向路由器IP:1080即可

这里我们是只配置了socks5代理,后续教程我们会努力实现openwrt的trojan透明代理。

原创文章,作者:atrandys,如若转载,请注明出处:https://www.atrandys.com/2020/2324.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

评论列表(19条)

  • ddy 2020年3月29日 下午7:35

    安迪博主,文章里面进入全局配置需要勾掉前三个星号,是不是配置环境下从最上面开始三个项及其子项都要取消选择,谢谢!(因为平时都是编译openwrt,和这个不一样)

  • kk 2020年3月6日 下午8:47

    git下载速度太慢了 有没有解决办法??

    • atrandys 回复 kk 2020年3月6日 下午10:28

      挂代理

  • jj 2020年3月4日 上午4:33

    感谢大佬,

  • cl 2020年2月27日 下午5:02

    大佬,能出个视频教程吗?或者推荐一个视频教程,我这两天鼓捣了很久,还是编译不出来

    • atrandys 回复 cl 2020年2月27日 下午6:00

      抽时间搞一个

  • 佣兵 2020年2月25日 下午5:26

    牛逼,等下回家就去试试自己编译

    • 佣兵 回复 佣兵 2020年2月25日 下午9:35

      楼主,我用centos7编译失败,我用网上的方法试了aclocal好像不行,不知道你见过吗,我贴一下部分输出
      make all-recursive
      make[4]: Entering directory `/root/op/build_dir/hostpkg/gettext-0.19.8.1′
      Making all in gnulib-local
      make[5]: Entering directory `/root/op/build_dir/hostpkg/gettext-0.19.8.1/gnulib-local’
      make[5]: Nothing to be done for `all’.
      make[5]: Leaving directory `/root/op/build_dir/hostpkg/gettext-0.19.8.1/gnulib-local’
      Making all in gettext-runtime
      make[5]: Entering directory `/root/op/build_dir/hostpkg/gettext-0.19.8.1/gettext-runtime’
      cd . && /usr/bin/env bash /root/op/build_dir/hostpkg/gettext-0.19.8.1/build-aux/missing automake-1.15 –gnu Makefile
      configure.ac:25: error: version mismatch. This is Automake 1.15.1,
      configure.ac:25: but the definition used by this AM_INIT_AUTOMAKE
      configure.ac:25: comes from Automake 1.15. You should recreate
      configure.ac:25: aclocal.m4 with aclocal and run automake again.
      WARNING: ‘automake-1.15’ is probably too old.
      You should only need it if you modified ‘Makefile.am’ or
      ‘configure.ac’ or m4 files included by ‘configure.ac’.
      The ‘automake’ program is part of the GNU Automake package:

      It also requires GNU Autoconf, GNU m4 and Perl in order to run:

      make[5]: *** [Makefile.in] Error 63
      make[5]: Leaving directory `/root/op/build_dir/hostpkg/gettext-0.19.8.1/gettext-runtime’
      make[4]: *** [all-recursive] Error 1
      make[4]: Leaving directory `/root/op/build_dir/hostpkg/gettext-0.19.8.1′
      make[3]: *** [all] Error 2
      make[3]: Leaving directory `/root/op/build_dir/hostpkg/gettext-0.19.8.1′
      make[2]: *** [/root/op/build_dir/hostpkg/gettext-0.19.8.1/.built] Error 2
      make[2]: Leaving directory `/root/op/feeds/base/package/libs/gettext-full’
      time: package/feeds/base/gettext-full/host-compile#0.79#0.57#1.19
      make[1]: *** [package/feeds/base/gettext-full/host/compile] Error 2
      make[1]: Leaving directory `/root/op’
      make: *** [package/trojan/compile] Error 2
      [[email protected] op]# aclocal
      aclocal: error: ‘configure.ac’ is required
      [[email protected] op]#

    • atrandys 回复 佣兵 2020年2月25日 下午10:05

      大哥 这个就只能你自己解决了,文章也说了依赖的东西我已经搞了一遍ubuntu了,不要用其他折磨我了

    • 佣兵 回复 atrandys 2020年2月28日 上午11:18

      请问能share一下你编译好的ipk吗?谢谢

    • atrandys 回复 佣兵 2020年2月28日 上午11:37

      我是k2p mt7621 CPU ,你如果不是一样架构也没用

    • 佣兵 回复 atrandys 2020年2月28日 下午1:09

      一样的,我京东云也是用7621这个sdk编译其他插件的

    • atrandys 回复 佣兵 2020年2月28日 下午2:17
  • A神您好 2020年2月24日 下午3:49

    老大授人以渔,谢谢A大了

  • veenyi 2020年2月24日 上午8:31

    我使用的是LEDE(L大的),里面就有passwall,里面就有了trojan的,然后再用负载均衡,爽的不要不要的。

    • atrandys 回复 veenyi 2020年2月24日 下午1:32

      这样很省心,也是很好的。

    • 111 回复 veenyi 2020年2月24日 下午3:48

      lede里没有passwall啊,怎么安装的?有离线安装包吗?

  • polaris 2020年2月24日 上午2:11

    正好需要,网上的固件太杂,太多不想要的东西,自己编译的固件有时候成功,有时候失败,正想单独编译插件试试。