├── 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 --------------------------------------------------------------------------------