<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/ DTD/wml_1.1.xml">

<wml>
<head>
<meta http-equiv="cache-control" content="max-age=180,private" />
</head>
<card title="EasyTrojan-最简单的Trojan部署脚本">
<p>
作者:<a href="index.php?action=showuser&amp;userid=1&amp;hash=">admin</a><br />时间:2022-12-18 15:29<br />分类:<a href="index.php?action=list&amp;cid=3&amp;hash=">电脑技术</a><br />内容:
EasyTrojan-最简单的Trojan部署脚本


Github：https://github.com/iii80/easytrojan/tree/main


世界上最简单的Trojan部署脚本，仅需一行命令即可搭建一台代理服务器。




该项目会自动提供trojan服务所需的免费域名与证书，无需购买、解析等繁琐操作。


支持RHEL 7、8、9 (CentOS、RedHat、AlmaLinux、RockyLinux)、Debian 9、10、11、Ubuntu 16、18、20、22


首次安装


请将结尾的password更换为自己的密码，例如 bash easytrojan.sh 123456，安装成功后会返回trojan的连接参数。




 




XML/HTML代码


    curl https://raw.githubusercontent.com/iii80/easytrojan/main/easytrojan.sh -o easytrojan.sh &amp;&amp; chmod +x easytrojan.sh &amp;&amp; bash easytrojan.sh password





放行端口


如果服务器开启了防火墙，应放行TCP80与443端口，如在云厂商的web管理页面有防火墙应同时放行TCP80与443端口。




 




XML/HTML代码


    # RHEL 7、8、9 (CentOS、RedHat、AlmaLinux、RockyLinux) 放行端口命令

    firewall-cmd --permanent --add-port=80/tcp --add-port=443/tcp &amp;&amp; firewall-cmd --reload &amp;&amp; iptables -F

     

    # Debian 9、10、11、Ubuntu 16、18、20、22 放行端口命令

    sudo ufw allow proto tcp from any to any port 80,443 &amp;&amp; sudo iptables -F





验证端口是否放行 (示例IP应修改为trojan服务器的IP)


通过浏览器访问脚本提供的免费域名，例如1.3.5.7.sslip.io


如果自动跳转至https，页面显示Service Unavailable，说明端口已放行。






密码管理


请将结尾的password更换为自己的密码，仅限字母、数字、下划线，非多密码管理用途无需使用。




 




XML/HTML代码


    # 下载trojan密码管理脚本

    curl https://raw.githubusercontent.com/iii80/easytrojan/main/mytrojan.sh -o mytrojan.sh &amp;&amp; chmod +x mytrojan.sh

     

    # 创建密码

    bash mytrojan.sh add password

     

    # 一次创建多个密码示例

    bash mytrojan.sh add password1 password2 ...

     

    # 删除密码

    bash mytrojan.sh del password

     

    # 一次删除多个密码示例

    bash mytrojan.sh del password1 password2 ...

     

    # 流量查询

    bash mytrojan.sh status password1 password2 ...

     

    # 流量归零

    bash mytrojan.sh rotate

    *流量统计归零后会自动在/etc/caddy/trojan/data目录下生成历史记录

     

    # 密码列表

    bash mytrojan.sh list




重新安装




XML/HTML代码


    systemctl stop caddy.service &amp;&amp; curl https://raw.githubusercontent.com/iii80/easytrojan/main/easytrojan.sh -o easytrojan.sh &amp;&amp; chmod +x easytrojan.sh &amp;&amp; bash easytrojan.sh password




完全卸载




XML/HTML代码


    systemctl stop caddy.service &amp;&amp; systemctl disable caddy.service &amp;&amp; rm -rf /etc/caddy /usr/local/bin/caddy /etc/systemd/system/caddy.service




脚本说明





注意事项:


必须使用root用户部署


请勿修改配置文件参数


命令+密码部署时候中间只有一个空格，如果多个空格，多余空格算是密码前面加了空格


免费域名:


通过nip.io提供的免费域名解析服务获取，域名由ServerIP+sslip.io组成


例如你的服务器IP为1.3.5.7，对应的域名则是1.3.5.7.sslip.io


指定域名:


仅建议在免费域名被阻断时使用




XML/HTML代码


    在密码后加入域名即可指定域名重新安装，密码与域名之间应使用空格分隔，执行命令如下：

    systemctl stop caddy.service &amp;&amp; curl https://raw.githubusercontent.com/iii80/easytrojan/main/easytrojan.sh -o easytrojan.sh &amp;&amp; chmod +x easytrojan.sh &amp;&amp; bash easytrojan.sh password yourdomain

     

    *当指定域名后，如需切换回免费域名，必须完全卸载脚本，重新执行首次安装命令





更换端口


仅建议在443端口被阻断时临时使用






XML/HTML代码


    # 将443端口更换为8443端口示例

    sed -i &quot;s/443/8443/g&quot; /etc/caddy/Caddyfile &amp;&amp; systemctl restart caddy.service

     

    *更换端口后应开启对应端口的防火墙

    *当测试临时端口超过48小时未阻断后，应尽快更换IP并重新安装，使用默认的443端口




免费证书




XML/HTML代码


    通过Caddy的HTTPS模块实现，会自动申请letsencrypt或zerossl的免费证书

     

    *关闭防火墙后执行重新安装命令，能大概率解决证书申请失败的问题

     

    # RHEL 7、8、9 (CentOS、RedHat、AlmaLinux、RockyLinux)

    systemctl stop firewalld.service &amp;&amp; systemctl disable firewalld.service

     

    # Debian 9、10、11、Ubuntu 16、18、20、22

    sudo ufw disable




服务伪装




XML/HTML代码


    非密码正确的trojan客户端访问返回503状态，将trojan伪装成过载的Web服务





连接方式


客户端的TLS指纹是导致trojan被封端口的重要原因之一，但问题不仅存在于客户端，服务端也应作出对应配置


移动设备建议使用能够开启uTLS指纹功能的客户端，暂未有数据表明其它设备会因未启用uTLS指纹功能被封端口




常见客户端连接trojan示例

Windows
配置示例 | V2rayN-Core

MacOS
配置示例 | V2rayU

Android
配置示例 | V2rayNG

iOS
配置示例 | Shadowrocket | AppStore海外代购
   OpenWRT passwall 配置示例


 


   Xray连接trojan部分示例




XML/HTML代码


    {

        ...

      

        &quot;outbounds&quot;: [

            {

                &quot;protocol&quot;: &quot;trojan&quot;,

                &quot;settings&quot;: {

                    &quot;servers&quot;: [

                        {

                            &quot;address&quot;: &quot;1.3.5.7&quot;,        #连接trojan的服务器IP或域名

                            &quot;port&quot;: 443,

                            &quot;password&quot;: &quot;123456&quot;         #连接trojan的密码

                        }

                    ]

                },

                &quot;streamSettings&quot;: {

                    &quot;network&quot;: &quot;tcp&quot;,

                    &quot;security&quot;: &quot;tls&quot;,

                    &quot;tlsSettings&quot;: {

                        &quot;allowInsecure&quot;: false,

                        &quot;serverName&quot;: &quot;1.3.5.7.sslip.io&quot;,  #连接trojan的域名

                        &quot;fingerprint&quot;: &quot;chrome&quot;,

                        &quot;alpn&quot;: &quot;h2,http/1.1&quot;

                    }

                }

            }

        ]

    }




Clash连接trojan部分示例（仅限非ARM设备）




XML/HTML代码


    - name: &quot;trojan&quot;

        type: trojan

        server: 1.3.5.7

        port: 443

        password: 123456

        udp: true

        sni: 1.3.5.7.sslip.io

        alpn:

          - h2

          - http/1.1

        skip-cert-verify: false




警告：请勿在移动设备及其它除Mac外的ARM设备上使用Clash及不包含UTLS指纹功能的客户端连接trojan。


</p><p>
<a href="index.php?action=login&amp;hash=">立即登陆发表评论</a><br />
</p>
<p><a href="index.php?action=list&amp;hash=">返回日志列表</a><br /><a href="index.php?action=index&amp;hash=">返回主页</a></p>
</card>
</wml>
