├── bin ├── trojan └── badvpn-udpgw ├── README.md ├── config └── config.json └── trojanx /bin/trojan: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laksa19/trojanx/main/bin/trojan -------------------------------------------------------------------------------- /bin/badvpn-udpgw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laksa19/trojanx/main/bin/badvpn-udpgw -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # trojanx 2 | 3 | ## Trojan GFW installer script for VPS 4 | 5 | ### Source 6 | - Trojan GFW: https://github.com/trojan-gfw/trojan 7 | - Trojan connection run on port 443 8 | 9 | - BadVPN: https://github.com/ambrop72/badvpn 10 | - UDPGW connection run on port 7300 11 | 12 | 13 | ### Installation 14 | 15 | 1. download 16 | 17 | ```bash 18 | wget --show-progress --progress=bar:force -qO trojanx https://raw.githubusercontent.com/laksa19/trojanx/master/trojanx && chmod +x trojanx 19 | ``` 20 | 21 | 2. Run script on root 22 | 23 | ```bash 24 | ./trojanx 25 | ``` 26 | -------------------------------------------------------------------------------- /config/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "run_type": "server", 3 | "local_addr": "0.0.0.0", 4 | "local_port": 443, 5 | "remote_addr": "127.0.0.1", 6 | "remote_port": 80, 7 | "start_client": "start_client", 8 | "password": [ 9 | "password1", 10 | "password2" 11 | ], 12 | "end_client": "end_client", 13 | "log_level": 1, 14 | "ssl": { 15 | "cert": "/etc/trojanx/cert.pem", 16 | "key": "/etc/trojanx/key.pem", 17 | "key_password": "", 18 | "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", 19 | "cipher_tls13": "TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384", 20 | "prefer_server_cipher": true, 21 | "alpn": [ 22 | "http/1.1" 23 | ], 24 | "reuse_session": true, 25 | "session_ticket": false, 26 | "session_timeout": 600, 27 | "plain_http_response": "", 28 | "curves": "", 29 | "dhparam": "" 30 | }, 31 | "tcp": { 32 | "prefer_ipv4": false, 33 | "no_delay": true, 34 | "keep_alive": true, 35 | "reuse_port": false, 36 | "fast_open": false, 37 | "fast_open_qlen": 20 38 | }, 39 | "mysql": { 40 | "enabled": false, 41 | "server_addr": "127.0.0.1", 42 | "server_port": 3306, 43 | "database": "trojan", 44 | "username": "trojan", 45 | "password": "" 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /trojanx: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | clear 3 | if [[ $USER != "root" ]]; then 4 | echo "Please run as root!" 5 | exit 6 | fi 7 | 8 | apt update 9 | apt install openssl -y 10 | apt install screen -y 11 | apt install psmisc -y 12 | 13 | sleep 2 14 | # killall trojanx 15 | 16 | killall -q screen 17 | killall -q trojan 18 | killall -q badvpn-udpgw 19 | clear 20 | # check IP 21 | IP=$(curl http://whatismyip.akamai.com/) 22 | 23 | # make trojanx dir 24 | mkdir -p /etc/trojanx 25 | # download dependency 26 | wget --show-progress --progress=bar:force -qO /usr/bin/trojan https://raw.githubusercontent.com/laksa19/trojanx/master/bin/trojan && chmod +x /usr/bin/trojan 27 | wget --show-progress --progress=bar:force -qO /etc/trojanx/config.json https://raw.githubusercontent.com/laksa19/trojanx/master/config/config.json 28 | wget --show-progress --progress=bar:force -qO /usr/bin/badvpn-udpgw https://raw.githubusercontent.com/laksa19/trojanx/master/bin/badvpn-udpgw && chmod +x /usr/bin/badvpn-udpgw 29 | # generating certificate 30 | echo "Generating Certificate..." 31 | sleep 1 32 | cd /etc/trojanx 33 | openssl genrsa -out key.pem 2048 34 | openssl req -new -x509 -key key.pem -out cert.pem -days 3650 -nodes -x509 -subj "/C=ID/ST=East Java/L=Surabaya/O=TrojanX/CN=Laksamadi Guko" 35 | cd .. 36 | echo "" 37 | 38 | # create trojanx runner 39 | cat >/usr/bin/trojanx </dev/null; echo "@reboot /usr/bin/trojanx") | crontab - 59 | clear 60 | echo "" 61 | echo "Please input" 62 | read -p 'Trojan Password: ' passa 63 | passb=$(openssl rand -hex 20) 64 | sed -i 's/password1/'$passa'/' /etc/trojanx/config.json 65 | sed -i 's/password2/'$passb'/' /etc/trojanx/config.json 66 | echo "" 67 | echo "Starting TROJANX..." 68 | sleep 2 69 | /usr/bin/trojanx 70 | echo "" 71 | echo "=============Trojan Account=============" 72 | echo "IP Address: $IP" 73 | echo "Trojan Port: 443" 74 | echo "UDPGW Port : 7300" 75 | echo "Trojan Password: $passa" 76 | echo "" 77 | echo "trojan://$passa@$IP:443" 78 | echo "========================================" 79 | echo "" 80 | --------------------------------------------------------------------------------