路由器添加trojan支持

您所在的位置:网站首页 0度是属于零上温度还是零下温度 路由器添加trojan支持

路由器添加trojan支持

2024-07-09 02:03:19| 来源: 网络整理| 查看: 265

路由器添加trojan支持 BandWh.com • 2019-12-05 08:05 • 代理•路由 • 阅读

在lean的ssr-plus里添加trojan支持,可以实现局域网分流出国

    在我的上一篇文章新的代理方式trojan安装使用记录里写了在vps上安装trojan的过程,但直接用电脑客户端使用不是很方便,trojan官方出了在openwrt上运行trojan的程序,但只能全局翻墙,这样访问国内网站速度较慢,且浪费vps流量,不是很实用。目前大佬lean的ssr-plus还不支持trojan,让我苦恼了一阵。lean大佬迟迟没有加入,就萌生了自己修改ssrplus的想法,研究了下lean开源的ssr-puls代码,发现加入不是很困难。自己修改编译运行了一个月左右,还是比较稳定的,原有功能也都正常。     lean大佬的github地址:https://github.com/coolsnowwolf/lede  ,ssr-plus在/package/lean/luci-app-ssr-plus里。trojan的openwrt程序官方github地址 https://github.com/trojan-gfw/openwrt-trojan ,把他们都下载下来     修改完成后我们添加trojan服务器界面如下:

   把上述2地址的文件下载到本地,建议用notepad++、notepad2、ultraedit64等工具修改。由于lean大佬经常改代码,本次用的201911月份的代码修改,具体添加内容的位置可自行修改,写的行号是每次修改后的行号以作为参考。 1、首先我们进入  luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua, 在第10行后增加一行,写入

local http  = require "luci.http"

在130行后增加一行,并加入如下代码:

if nixio.fs.access("/usr/bin/trojan/trojan") then o:value("trojan", translate("trojan")) end 这句是判断有没有trojan可执行程序,没有就不显示可选trojan,trojan可执行程序位置在/usr/bin/trojan/trojan 找到o = s:option(Value, "password", translate("Password"))  和o = s:option(Flag, "fast_open", translate("TCP Fast Open")) 这两段后面各添加上 o:depends("type", "trojan") 这是给trojan设置界面增加密码输入框及tcp fastopen选择框 在156行后(o = s:option(Value, "password", translate("Password"))这一段后)再增加一行写入关于证书上传的代码,由于有些一键脚本是用的openssl做的自签证书,自签证书并不在openwrt内置的信任证书里面,所以要增加自签证书字段,并获取到证书的地址位置。我们用caddy申请letsencrypt是openwrt、windows内置信任的证书。 o = s:option(Flag, "certificate", translate("certificate")) o.rmempty = true o.default = "0" o:depends("type", "trojan") o.description = translate("If you have a self-signed certificate,please check the box") o = s:option(DummyValue, "upload", translate("upload")) o.template = "shadowsocksr/certupload" o:depends("certificate", 1) cert_dir = "/etc/ssl/private/" local path http.setfilehandler( function(meta, chunk, eof) if not fd then if (not meta) or (not meta.name) or (not meta.file) then return end fd = nixio.open(cert_dir .. meta.file, "w") if not fd then path = translate("Create upload file error.") return end end if chunk and fd then fd:write(chunk) end if eof and fd then fd:close() fd = nil path = '/etc/ssl/private/' .. meta.file .. '' end end ) if luci.http.formvalue("upload") then local f = luci.http.formvalue("ulfile") if #f /var/etc/trojan-ssr-retcp.json         sed -i 's///g' /var/etc/trojan-ssr-retcp.json 此处是用lua生成json格式的trojan配置文件 在306行( sscmd="/usr/bin/v2ray/v2ray"行)后增加一行写入 elif [ "$stype" == "trojan" ] ;then sscmd="/usr/bin/trojan/trojan" 创建按tcp方式trojan可执行文件路径 在317行(ucmd="/usr/bin/v2ray/v2ray")后增加一行写入 elif [ "$stype" == "trojan" ] ;then  ucmd="/usr/bin/trojan/trojan" 创建udp方式的Trojan可执行文件路径,注意目前trojan nat模式下还不支持udp,因此这行可不加入。写在这里是方便以后支持的时候修改。 在340行(echo "$(date "+%Y-%m-%d %H:%M:%S") $($sscmd -version | head -1) Started!" >> /tmp/ssrplus.log)行后增加   elif [ "$stype" == "trojan" ] ;then     $sscmd -c /var/etc/trojan-ssr-retcp.json >/dev/null 2>&1 &     echo "$(date "+%Y-%m-%d %H:%M:%S") Trojan Started!" >> /tmp/ssrplus.log 执行tcp协议的trojan翻墙 在358行($ucmd -config /var/etc/v2-ssr-reudp.json >/dev/null 2>&1 & )行后增加  elif [ "$utype" == "trojan" ] ; then         lua /usr/share/shadowsocksr/trojanconfig.lua $UDP_RELAY_SERVER udp $(uci_get_by_name $UDP_RELAY_SERVER local_port) > /var/etc/trojan-ssr-reudp.json         sed -i 's///g' /var/etc/trojan-ssr-reudp.json         $ucmd -c /var/etc/trojan-ssr-reudp.json >/dev/null 2>&1 &  执行udp协议的trojan翻墙,注意目前trojan nat模式下还不支持udp,因此这行可不加入。写在这里是方便以后支持的时候修改。 在555行(killall -q -9 v2ray)行后增加一行 killall -q -9 trojan 关闭ssr-plus或切换其他方式翻墙时杀死trojan进程。 5、修改翻译文件 打开luci-app-ssr-plus/po/zh-cn/ssr-plus.po文件,我们进行汉化 381行修改为 msgstr "ShadowSocksR Plus+ 设置(支持SS/SSR/V2RAY/TROJAN)" 在文件末增加 msgid "certificate" msgstr "自签证书" msgid "If you have a self-signed certificate,please check the box" msgstr "如果你使用自签证书,请选择" msgid "upload" msgstr "上传证书" msgid "No specify upload file." msgstr "没有上传证书" msgid "current certificate path" msgstr "当前证书路径" msgid "Please confirm the current certificate path" msgstr "请选择确认所传证书,证书不正确将无法运行" 6、修改编译make文件,增加编译时可选项 我们编译时可在目标openwrt固件的/target/linux/x86/makefile里面增加一个trojan即可,如何须在在ssr-plus编译界面下选择可以这么修改 在第11行(CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Socks 行后)后面增加一行 CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Trojan 在24行(空行)后增加一行写入 config PACKAGE_$(PKG_NAME)_INCLUDE_Trojan bool "Include Trojan" default y if x86_64 在50行(+PACKAGE_$(PKG_NAME)_INCLUDE_V2ray:v2ray )后面增加一行写入     +PACKAGE_$(PKG_NAME)_INCLUDE_Trojan:trojan 这样编译时候就可以选择trojan了 7、修改openwrt里trojan可执行文件的位置 打开trojan/trojan/Makefile文件 修改第69行(DEPENDS:=+libpthread +libstdcpp ) 把这一行改为 DEPENDS:=+libpthread +libstdcpp +ca-certificates 增加一个证书依赖,这样除自签证书之外的证书openwrt都能自动支持. 在第75行(define Package/trojan/install)后把下面原有的这些删除 $(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/trojan $(1)/usr/sbin/trojan $(INSTALL_DIR) $(1)/etc/config $(INSTALL_DATA) ./files/trojan.config $(1)/etc/config/trojan $(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_BIN) ./files/trojan.init $(1)/etc/init.d/trojan $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/trojan/config.json $(1)/etc/trojan.json 删除后换上 $(INSTALL_DIR) $(1)/usr/bin/trojan $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/trojan $(1)/usr/bin/trojan/trojan 为和ssr-plus配合删除原有的安装位置,此处把可执行文件的位置放到了/usr/bin/trojan/下面 lean目前的openwrt使用的时openssl1.0.2版本,Trojan因支持tls1.3需要openssl1.1.1,因此在trojan文件夹里有openssl 1.1.1的补丁,不要改位置,和lean的openssl1.0.2能共存。官方openwrt已经支持openssl1.1.1,如果不用trojan文件夹里的openssl补丁,需要再修改trojan文件夹里的makefile文件,就暂时不提供了。     以上就完成了ssr-plus增加trojan的翻墙支持,经测试下来,自动切换、分流、守护程序都比较正常。x86、ipq4019都能正常编译使用,其他类型的路由器未测试。目前发现对不在GFW列表里的域名,dns解析还存在问题,如访问https://trojan-gfw.github.io/trojan/时,域名被污染解析到facebook了,trojan也把流量转发至facebook,浏览器会提示证书不符合。域名在【GFW列表】数据里面的则不受影响,可以正常解析。技术有限,尚未找到解决办法。对于这类被污染的域名我们可以把域名放入域名黑名单(强制走代理的域名)即可正常访问。     编译时把修改好的luci-app-ssr-puls和trojan文件夹放入/package/lean 里面覆盖原有文件夹,即可正常编译。 最后提供我修改好后的源码下载: ssr-plus-trojan.rar

本站文章,欢迎转发。转载请注明出处:https://www.bandwh.com/net/51.html

vps trojan ssr-puls ea8500 Openwrt  BandWh.com 折腾之路●一起折腾 收藏 挑错 生成分享图片 扫码分享到微信 ESXI下openwrt负载高处理 « 上一篇 软路由折腾IPTV记 下一篇 » 相关推荐 完整记录v2ray折腾http2方式代理过程 完整记录v2ray折腾http2方式代理过程 vps安装ss及v2ray代理 vps安装ss及v2ray代理 为什么要自己搭梯子 为什么要自己搭梯子 发表评论 最新评论


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭