Ubuntu Install Trojan Gfw

Share on:

脚本仅适用于vultr ubuntu 19.10或者以上系统,谢谢!

root执行以下命令即可 ym就是域名,mm就是密码

1bash <(curl -sL https://scaleya.com/trojan.sh)

脚本具体内容如下:

 1#!/bin/bash
 2apt-get update
 3apt install socat -y
 4apt install trojan -y
 5apt install nginx -y
 6service nginx stop
 7curl https://raw.githubusercontent.com/Neilpang/acme.sh/master/acme.sh > acme.sh&&bash acme.sh --install \--home /etc
 8
 9read -p "pls ur domain:" ym
10echo "ur domain is $ym"
11read -p "pls ur mm:" mm
12echo "ur mm is $mm"
13ecc="ecc"
14
15/etc/acme.sh --issue --standalone  -d $ym --keylength ec-256
16mkdir -p /etc/letsencrypt/$ym\_ecc
17/etc/acme.sh --install-cert -d $ym --ecc \
18        --cert-file /etc/letsencrypt/$ym\_ecc/cert.pem \
19        --key-file /etc/letsencrypt/$ym\_ecc/private.key \
20        --fullchain-file /etc/letsencrypt/$ym\_ecc/fullchain.pem \
21        --reloadcmd "sudo systemctl restart nginx.service"
22
23
24sudo chmod +rx /etc/letsencrypt/$ym\_ecc/*
25
26cat > /etc/trojan/config.json << EOF   
27{
28    "run_type": "server",
29    "local_addr": "::",
30    "local_port": 443,
31    "remote_addr": "127.0.0.1",
32    "remote_port": 80,
33    "password": [
34        "$mm",
35        "password2"
36    ],
37    "log_level": 1,
38    "ssl": {
39        "cert": "/etc/letsencrypt/${ym}_${ecc}/cert.pem",
40        "key": "/etc/letsencrypt/${ym}_${ecc}/private.key",
41        "key_password": "",
42        "cipher": "ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256",
43        "prefer_server_cipher": true,
44        "alpn": [
45            "http/1.1"
46        ],
47        "reuse_session": true,
48        "session_ticket": false,
49        "session_timeout": 600,
50        "plain_http_response": "",
51        "curves": "",
52        "dhparam": ""
53    },
54    "tcp": {
55        "prefer_ipv4": false,
56        "no_delay": true,
57        "keep_alive": true,
58        "fast_open": false,
59        "fast_open_qlen": 20
60    },
61    "mysql": {
62        "enabled": false,
63        "server_addr": "127.0.0.1",
64        "server_port": 3306,
65        "database": "trojan",
66        "username": "trojan",
67        "password": ""
68    }
69}
70EOF
71
72systemctl enable trojan
73systemctl start trojan 
74systemctl status trojan 
75
76
77
78apt-get install cron -y
79systemctl status cron
80
81echo "0 0 * * * root service trojan restart" >> /etc/crontab
82systemctl restart cron