14_防失联之自建trojan节点【科学上网系列第1集】


防失联之自建trojan节点【科学上网系列第1集】

今天,我要和大家分享如何自己搭建 Trojan 节点,轻松绕过网络的GWF(长城 )的各种限制,自由畅游互联网!这是【科学上网系列】的第一集,接下来几期,我会继续深入探讨‘科学上网’的相关知识,一起了解更多有趣又实用的内容!

原理讲解

  • 什么是科学上网

科学上网就像你有一把特殊的钥匙,能绕过一些地方的围墙(比如中国的“长城防火墙”GFW),进入你需要的信息世界。比如,当你想访问某个网站时,墙把你挡住了,但使用“科学上网”就能找到一条秘密通道,轻松穿越这道墙,直接访问那个网站。

这个“秘密通道”就像是通过一个可靠的桥梁或隧道,不会被墙堵住,确保你顺利到达目的地。这个桥梁或隧道,我们叫它“网络协议”,常见的有 Shadowsocks (ss)、ShadowsocksR (SSR)、VLESS、VMess、Xray、Trojan,以及最新的 Hysteria(歇斯底里)协议。

  • 为什么(使用流密码的)Shadowsocks容易遭到封锁

早期 GFW 通过被动检测拦截流量,Shadowsocks 随机化的数据包设计能有效躲避。但如今 GFW 增加了主动探测,会模拟流量重放,触发 Shadowsocks 断开连接的特征,从而将服务器列入封锁名单。

打个比方,就像你在机场安检时,使用一个没有明显标志的包裹(Shadowsocks),安检人员很难辨认出它是特殊的,能顺利通过。然而,随着安检人员提高警觉,他们开始用扫描仪检查所有包裹。当他们发现一个看似普通却有不寻常重量或形状的包裹时(主动探测),他们会主动打开并检查。这个包裹如果被打开且没有异常就会被怀疑是危险物品,最终可能被封锁(列入黑名单)。

  • Trojan如何绕过GFW

Trojan 使用标准 TLS 协议(如 HTTPS),流量与普通 HTTPS 一致,避免被动检测。对于主动探测,Trojan 会将异常连接代理到正常网站,表现得像普通 HTTPS 服务器。此外,合法域名和权威证书进一步增强伪装。要封锁 Trojan,GFW 只能采取全面封锁或复杂的中间人攻击,而 Trojan 的双重 TLS 可有效应对。

打个同样比方,就像你在机场安检时,使用一个没有明显标志的包裹(Shadowsocks),安检人员很难辨认出它是特殊的,能顺利通过。然而,随着安检人员提高警觉,他们开始用扫描仪检查所有包裹。当他们发现一个看似普通却有不寻常重量或形状的包裹时(主动探测),他们会主动打开并检查。这个包裹如果被打开且没有异常就会被怀疑是危险物品,最终可能被封锁(列入黑名单)。

看到这里,如果‘科学上网’的概念还有让你不太明白的地方,别忘了在评论区留言,我会尽量为大家解答!如果你已经尝试过其他协议,也欢迎分享你的经验,我们一起交流、一起进步!

  • 不被封锁的两个核心

    • 伪装成正常网站

    • 使用动态ip(如采用clouadfare动态代理)

为保持视频的精简而通俗易懂,采用clouadfare动态代理办法,我们再下一个视频来讲。这一节主要负责tranjan节点的搭建

下载trojan项目

上传云服务器

  • 购买云服务器

关于服务器购买,我会再另外的视频中讲解,假定我们手上有一个闲置的服务器。

  • ssh客户端登陆

FinalShell下载地址:前往下载

启动前准备

  • 修改配置文件
    {
    "run_type": "server",
    "local_addr": "0.0.0.0",
    "local_port": 2087,
    "log_level": 1,
    "log_file": "trojan_log.txt",
    "remote_addr": "hk1.littlelit.top",
    "remote_port": 80,
    "password": [
        "pwd01",
        "pwd02"
    ],
    "ssl": {
        "cert": "/etc/nginx/certs/littlelit.crt",
        "key": "/etc/nginx/certs/littlelit.key",
        "fallback_port": 443,
        "session_ticket": true,
        "reuse_session": true,
        "plain_http_response": "",
        "fingerprint": "firefox",
        "serve_plain_text": false
    },
    "websocket": {
        "enabled": true,
        "path": "/ws",
        "Host": "hk1.littlelit.top",
        "obfuscation_password": "",
        "double_tls": true,
        "ssl": {
            "verify": true,
            "verify_hostname": true,
            "cert": "/etc/nginx/certs/littlelit.crt",
            "key": "/etc/nginx/certs/littlelit.key",
            "prefer_server_cipher": false,
            "sni": "hk1.littlelit.top",
            "session_ticket": true,
            "reuse_session": true,
            "plain_http_response": ""
        }
    }
  }

如上只是最基础配置。 - 完整配置说明 前往查看

配置文件是不是看起来有点复杂?别担心!跟着我的步骤一步一步来,肯定不会出错。如果过程中遇到问题,千万别慌!弹幕和评论区就是你的求助站,我会尽快回复大家。

  • 防火墙开放trojan端口
    • 开放2096端口:
firewall-cmd --zone=public --add-port=2087/tcp --permanent
  • 重载防火墙配置:
firewall-cmd --reload 
  • 启动命令
./trojan-go -config server.json

有可能找不到trojan-go程序,那就改成全路径运行:

/qbox/trojan/trojan-go -config  /qbox/trojan/server.json

路径需要开放权限:

chmod +x /qbox/trojan/trojan-go 

客户端配置

除了自建节点,为了确保后续能够使用免费节点,实现多重保障,达到永不失联的目标,我们选择了支持多种协议且配置灵活的客户端软件——Clash。正因为这些特点,我们最终决定采用它。

在博客中找到对应的下载链接,根据自己的操作系统选择相应版本进行下载即可。以我的情况为例,使用的是 Windows 系统,直接选择 Windows 版本下载即可。

    mixed-port: 7890
    allow-lan: false
    mode: Rule
    log-level: error
    external-controller: 127.0.0.1:60000
    http-opts:
      timeout: 30000  
    proxies:
      - {'name': 'hongkong香港HK', 'server': 'hk1.littlelit.top', 'type': 'trojan', 'port': 2087, 'password': 'pwd01', 'sni': 'hk1.littlelit.top', 'network': 'ws', 'ws-opts': {'path': '/ws', 'headers': {'Hostname': 'hk1.littlelit.top'}}}

配置开机启动

  • 写入启动脚本
vi /etc/systemd/system/trojan-go.service

将下面代码贴入,修改和启动路径和项目根目录,并保存。

```
[Unit]
Description=trojan-go
After=network.target

[Service]
ExecStart=trojan项目根目录/trojan-go -config server.json
WorkingDirectory=换成trojan项目根目录
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=trojan_go

[Install]
WantedBy=multi-user.target

```

  • 常见命令
    • 启动:systemctl start trojan-go
    • 停止:systemctl stop trojan-go
    • 状态:systemctl status trojan-go
    • 重启:systemctl restart trojan-go

如果被墙(封锁)怎么办

  • 换端口

    • 优点:延时低,速度快

    • 缺点:繁琐

  • 采用下一个视频要讲的套用cloudfare代理进行自救

    • 优点:几乎不可能失联

    • 缺点:延迟较高,解锁chatgpt等不太稳定

好了,今天的内容就到这里啦!如果这期视频对你有帮助,记得点个赞,订阅我的频道,还要打开小铃铛哦,这样就不会错过后续更新!下一期,我们会讲解如何用 Cloudflare 提高节点的稳定性,防止被封锁。如果还有其他想了解的内容,记得在评论区告诉我!那我们下期见吧。