├── Dockerfile
├── README.md
├── img
└── tidalab.png
├── install.sh
└── sign.sh
/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM alpine:latest
2 |
3 | WORKDIR /tidalab
4 | RUN cd /tidalab \
5 | && wget https://github.com/tokumeikoi/tidalab-trojan/releases/latest/download/tidalab-trojan \
6 | && wget https://github.com/p4gefau1t/trojan-go/releases/download/v0.8.1/trojan-go-linux-amd64.zip \
7 | && unzip trojan-go-linux-amd64.zip \
8 | && rm -rf trojan-go-linux-amd64.zip \
9 | && chmod +x /tidalab/*
10 |
11 | ENTRYPOINT /tidalab/tidalab-trojan -api="$API" -token="$TOKEN" -node="$NODE" -license="$LICENSE" -syncInterval="$SYNCINTERVAL"
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | ## 建议
4 |
5 | 我们建议您使用Debian(>=8)进行部署,当然你也可以选择CentOS(>=7)。
6 |
7 | ## 快速使用
8 |
9 | 1.首先将节点域名解析到节点服务器,并且可以ping通
10 | 2.执行下列命令签发证书
11 |
12 | ```
13 | # 请将命令中的domain.com替换成节点域名
14 |
15 | curl -fsSL https://github.com/tokumeikoi/tidalab-trojan/raw/master/sign.sh | bash -s domain.com
16 | ```
17 |
18 | 3.执行部署命令
19 |
20 | ```
21 | # 请将命令中的API替换成V2board面板地址如:https://v2board.com
22 | # 请将命令中的TOKEN替换成V2Board后台系统配置->服务端->通讯密钥
23 | # 请将命令中的NODEID替换成V2Board后台Trojan中添加的节点ID
24 | # 请将命令中的LICENSE替换成授权字符
25 |
26 | curl -fsSL https://github.com/tokumeikoi/tidalab-trojan/raw/master/install.sh | bash -s API TOKEN NODEID LICENSE 60
27 | ```
28 |
29 | 4.当看到如下信息即为部署完成
30 |
31 | ```
32 | .-----..-..---. .--. .-. .--. .---.
33 | `-. .-': :: . :: .; :: : : .; :: .; :
34 | : : : :: :: :: :: : : :: .'
35 | : : : :: :; :: :: :: :__ : :: :: .; :
36 | :_; :_;:___.':_;:_;:___.':_;:_;:___.'
37 |
38 | Tidalab Trojan v1.0.0
39 | service.log
40 | [WARN] 2020/06/12 07:36:56 empty fallback address
41 | [WARN] 2020/06/12 07:36:56 empty fallback port
42 | [INFO] 2020/06/12 07:36:56 transport server is listening on tcp: [::]:443
43 | [INFO] 2020/06/12 07:36:56 server-side api service is listening on 127.0.0.1:10000
44 | ```
45 |
46 | ## Docker 部署
47 |
48 | ```
49 | docker run -d --name=trojan \
50 | -v /root/.cert:/root/.cert \
51 | -e API=V2Board面板地址 \
52 | -e TOKEN=通讯密钥 \
53 | -e NODE=节点ID \
54 | -e LICENSE=授权码 \
55 | -e SYNCINTERVAL=60 \
56 | --restart=always \
57 | --network=host \
58 | tokumeikoi/tidalab-trojan
59 | ```
60 |
61 | ## 动态
62 |
63 | telegram@[tidalab](https://t.me/tidalab)
64 | 关注channel获得更多讯息
--------------------------------------------------------------------------------
/img/tidalab.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tokumeikoi/tidalab-trojan/ad057fda5f168ed63fc1b1dac182a9582b631b2a/img/tidalab.png
--------------------------------------------------------------------------------
/install.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | echo '正在安装依赖'
3 | if cat /etc/os-release | grep "centos" > /dev/null
4 | then
5 | yum install unzip wget curl -y > /dev/null
6 | yum update curl -y
7 | else
8 | apt-get install unzip wget curl -y > /dev/null
9 | apt-get update curl -y
10 | echo '环境优化'
11 | ulimit -n 51200
12 | echo "soft nofile 51200" >> /etc/security/limits.conf
13 | echo "hard nofile 51200" >> /etc/security/limits.conf
14 | (cat < /etc/sysctl.conf
32 | fi
33 |
34 | api=$1
35 | key=$2
36 | nodeId=$3
37 | license=$4
38 | folder=$key-trojan
39 | if [[ "$5" -ne "" ]]
40 | then
41 | syncInterval=$5
42 | else
43 | syncInterval=60
44 | fi
45 | #kill process and delete dir
46 | kill -9 $(ps -ef | grep ${folder} | grep -v grep | grep -v bash | awk '{print $2}') 1 > /dev/null
47 | kill -9 $(ps -ef | grep defunct | grep -v grep | awk '{print $2}') 1 > /dev/null
48 | echo '结束进程'
49 | rm -rf $folder
50 |
51 | #create dir, init files
52 | mkdir $folder
53 | cd $folder
54 | wget https://github.com/tokumeikoi/tidalab-trojan/releases/latest/download/tidalab-trojan
55 | wget https://github.com/p4gefau1t/trojan-go/releases/download/v0.8.1/trojan-go-linux-amd64.zip
56 | unzip trojan-go-linux-amd64.zip
57 | chmod 755 *
58 |
59 | if ls /root/.cert | grep "key" > /dev/null
60 | then
61 | echo '证书存在'
62 | else
63 | echo '请签发证书后在执行'
64 | exit
65 | fi
66 |
67 | #run server
68 | nohup `pwd`/tidalab-trojan -api=$api -token=$key -node=$nodeId -license=$license -syncInterval=$syncInterval > tidalab.log 2>&1 &
69 | echo '部署完成'
70 | sleep 3
71 | cat tidalab.log
72 | if ls | grep "service.log"
73 | then
74 | cat service.log
75 | else
76 | echo '启动失败'
77 | fi
78 |
--------------------------------------------------------------------------------
/sign.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | echo '正在安装依赖'
4 |
5 | if cat /etc/os-release | grep "centos" > /dev/null
6 | then
7 | yum install tar wget -y > /dev/null
8 | else
9 | apt update > /dev/null
10 | apt-get install tar wget -y > /dev/null
11 | fi
12 |
13 | domain=$1
14 |
15 | cd /tmp
16 | wget https://github.com/go-acme/lego/releases/download/v3.7.0/lego_v3.7.0_linux_amd64.tar.gz
17 |
18 | tar zxvf lego_v3.7.0_linux_amd64.tar.gz
19 | chmod 755 *
20 | ./lego --email="admin@$domain" --domains="$domain" --http -a run
21 |
22 | if ls ./.lego/certificates | grep "$domain"
23 | then
24 | echo '证书签发成功'
25 | mkdir /root/.cert
26 | cp ./.lego/certificates/$domain.crt /root/.cert/server.crt
27 | cp ./.lego/certificates/$domain.key /root/.cert/server.key
28 | else
29 | echo '证书签发失败'
30 | fi
--------------------------------------------------------------------------------