Trojan-go的简单搭建 作者: Hogwarts 发布于: 2020-07-31 更新于: 2022-12-18 分类: 红杏出墙 Trojan-go,一个新兴的出墙工具,小巧而灵活。并不是v2ray的阉割版,v2ray 是platform,trojan-go 是gateway。Trojan-go就是一个二进制文件,扔到哪里都能运行。 作者在`https://github.com/p4gefau1t/trojan-go` 讲的很清楚了,而且在`https://p4gefau1t.github.io/trojan-go/` 白话文中介绍到相当详细。对于稍有linux基础的同学来讲,搭建很easy。 #一、搭建前期准备 ## 1.1 申请域名 (略) ## 1.2 申请证书 - 参考:`https://winamp.top/93.html` ## 1.3 安装caddy(非必须) - 如果不安装caddy,则必须用“amazon.com”接受回落。 - caddy简单安装参考:`https://winamp.top/95.html`(4.2方式二) - caddy监听80端口,即trojan-go的回落端口。 - 如果已安装caddy,并已监听本机80端口,则可将“amazon.com”改为“127.0.0.1”(非必须,caddy未监听80端口的话,不可更改)。 #二、下载、配置并运行 ## 2.1 下载 以Debian为例,并以root用户登录。以一般用户登录在命令前加sudo,或运行sudo -i,取得权限。如果sudo命令运行不了,先安装:`apt install sudo` PS:20221218 建议下载安装`gfw report`版本 `https://github.com/gfw-report/trojan-go/releases`客户端建议用V2rayN-Xray核心。此版本的WS协议用Qv2ray和PC终端运行trojan-go.exe可能无法联网。原版无此问题。 apt update && apt upgrade apt install wget vim unzip //以上两条是vps开荒命令,防止翻车。 wget https://github.com/p4gefau1t/trojan-go/releases/download/v0.10.4/trojan-go-linux-mips64.zip //下载v0.10.4版本 #建议安装gfw report版本 wget https://github.com/gfw-report/trojan-go/releases/download/v0.10.9/trojan-go-linux-amd64.zip #自行选择最新版 unzip trojan-go-linux-amd64.zip //解压 cp trojan-go /usr/bin/ //拷贝到运行路径下 chmod +x /usr/bin/trojan-go //给予执行权限 mkdir /etc/trojan-go/ //建立存放运行文件夹 cp geoip.dat geosite.dat /usr/bin/ ## 2.2 配置 `vim /etc/trojan-go/config.json` 将下列代码放入config.json中,并修改port、证书和密钥路径、密码、域名。 { "run_type": "server", "local_addr": "0.0.0.0", "local_port": port, #一般为443 "remote_addr": "amazon.com", #暂时不要修改,如果caddy已监听80端口可改为127.0.0.1 "remote_port": 80, "password": [ "yourpassword" #你的密码 ], "ssl": { "cert": "/etc/trojan-go/fullchain.pem", #证书路径、名称 "key": "/etc/trojan-go/privkey.pem", #密钥路径、名称 "sni": "你的域名", "fallback_addr": "amazon.com", #暂时不要修改,如果caddy已监听80端口可改为127.0.0.1 "fallback_port": 80, "fingerprint": "chrome" }, "router": { "enabled": true, "block": [ "geoip:private" ], "geoip": "/usr/bin/geoip.dat", "geosite": "/usr/bin/geosite.dat" } } ## 2.3 运行并加入开机启动 ### 2.3.1 试运行 运行下面命令时,打开防火墙的运行端口,示例中的port,同时把80端口打开(否则报错)。 /usr/bin/trojan-go -config /etc/trojan-go/config.json 运行状态为 [INFO] 2021/02/10 11:03:53 trojan-go v0.10.4 initializing [INFO] 2021/02/10 11:03:53 geoip info {PRIVATE 2} loaded [INFO] 2021/02/10 11:03:53 router client created 出现以上信息说明正常运行,避免翻车的话在pc客户端连接一下,能正常连接外网的话,按Ctrl+C终止。 ### 2.3.2 运行 cp /root/example/trojan-go.service /etc/systemd/system/ chown -R nobody:nogroup /etc/trojan-go/ #给予nobody运行权限 chown -R nobody:root /usr/bin/ systemctl start trojan-go systemctl status trojan-go 如果启动不起来,运行: vim /etc/systemd/system/trojan-go.service 将User=nobody修改为User=root systemctl daemon-reload //重载 systemctl start trojan-go //启动 systemctl status trojan-go //状态 不喜以root用户运行的话继续上个步骤,自行解决。 ### 2.3.3 加入开机启动 systemctl enable trojan-go #三、客户端的运行 ## 3.1 客户端介绍 Trojan-go从理论上来讲已经模拟了一个正常网站的运行情况,GFW即使主动探测也没有问题。因为是新生事物,美中不足的是生态圈窄。目前支持的客户端Trojan-Qt5的作者已经删库,安卓端的配置简单,但对于小白用户来说不方便。目前Win端的Clash和带有Trojan-go插件的Qv2ray可以运行。 ## 3.2 直接运行 ### 3.2.1 下载安装相关软件 - 在`https://github.com/p4gefau1t/trojan-go/releases` 页面下载`trojan-go-windows-amd64.zip`的最新版本。 - 在windows端安装Windows Terminal。 下载地址:`https://github.com/microsoft/terminal/releases` ### 3.2.2 修改相关配置 - 将windows-amd64.zip解压后,修改client.json中的配置,尤其是geoip.dat和geosite.dat的绝对路径与trojan.exe的路径一致。运行下面命令即可。 - client.json配置参考如下: { "run_type": "client", "local_addr": "127.0.0.1", "local_port": 1080, "remote_addr": "你的域名", #修改你的域名 "remote_port": port, #端口,和服务端一致 "password":[ "password" #密码,和服务端一致 ], "ssl": { "sni": "你的域名" #修改你的域名 }, "mux": { "enabled": true }, "router": { "enabled": true, "bypass": [ "geoip:cn", "geoip:private", "geosite:cn", "geosite:geolocation-cn" ], "block": [ "geosite:category-ads" ], "proxy": [ "geosite:geolocation-!cn" ], "default_policy": "proxy", "geoip": "/users/downloads/trojan-go/geoip.dat", #需修改,和可执行文件路径一致 "geosite": "/users/downloads/trojan-go/geosite.dat" #需修改,和可执行文件路径一致 } } ### 3.2.3 运行命令 ./\绝对路径\trojan-go\trojan-go.exe -config \绝对路径\trojan-go\client.json ### 3.2.4 代理设置 #### 方式A 用Firefox浏览器`网络设置`-`手动代理配置`中的`SOCKS主机`为`127.0.0.1`,`端口`为`1080`,并且把`使用 SOCKS v5 时代理 DNS 查询`打上`对勾`。 #### 方式B 在`https://github.com/FelisCatus/SwitchyOmega/releases` 下载SwitchyOmega ,达到自动代理的目的。具体配置自行Google。 #### 方式C 下载v2rayN,下载页面`https://github.com/2dust/v2rayN/releases` 解压后运行v2rayN.exe,点击右上角`服务器`-`添加socks服务器`,在弹出的界面的服务器地址中填写:`127.0.0.1`,服务器端口填写:`1080`,点击“确定”即可。 ## 3.3使用Qv2ray客户端(强烈推荐) Qvray仅是一个运行平台,需下载核心运行文件和Trojan-go插件。核心运行文件在V2ray和Xray中二选一。此方式的好处是运行的是原装的Trojan-go。 **V2ray下载地址:**`https://github.com/Qv2ray/Qv2ray/releases` 下载v2ray的核心运行文件v2ray.exe和v2ctl.exe放入Qv2ray的核心可执行文件路径中。 **Xray下载地址:**`https://github.com/XTLS/Xray-core/releases` 同时将geoip.dat和geosite.dat一同放入。 **Trojan-go插件:**在Qv2ray的下载页面里面下载对应版本,放入Qv2ray的插件目录中。在插件管理器的设定选项中选择Trojan-go.exe的可执行文件(需3.2.1提前下载)。 此方式涉及到Q2ray的使用,介绍粗略,详情请阅读`https://qv2ray.net/`。 # 四、强迫症患者的选择 参考此篇: https://winamp.top/90.html #Enjoy! 标签: trojango
chmod +x /usr/bin/ trojan-go //给予执行权限
多打了个空格,直接复制粘贴不看的人估计会弄错吧。
另外建议命令前加上sudo,不建议root跑trojan go吧。
感谢您的正确指正,会尽快修改。
另外我认为以root跑Trojan-go没有问题的。
但以nobody用户会更好些。
只是有时候给权限的时候容易出错。(尽力完善)