Setup Trojan-Go server
![Setup Trojan-Go server](/content/images/size/w2000/2022/07/5068978.jpg)
berikut adalah langkah-langkah untuk membuat server trojan vpn anda sendiri. Semoga bermanfaat.
Buat Docker-Compose configuration file
mkdir -p ~/trojan-go/
nano ~/trojan-go/docker-compose.yml
version: '3.5'
services:
trojan-server:
container_name: trojan-server
image: p4gefau1t/trojan-go
volumes:
- type: bind
source: ./config/trojan/config.json
target: /etc/trojan/config.json
- type: bind
source: ./config/trojan/cert.pem
target: /etc/trojan/cert.pem
- type: bind
source: ./config/trojan/private.key
target: /etc/trojan/private.key
ports:
- 443:443
command: ["trojan-go", "-config", "/etc/trojan/config.json"]
restart: unless-stopped
trojan-nginx:
container_name: trojan-nginx
image: nginx:alpine
volumes:
- type: bind
source: ./config/nginx/nginx.conf
target: /etc/nginx/conf.d/default.conf
restart: unless-stopped
Tekan CTRL+X
, Y
, ENTER
untuk save and exit nano
text editor.
Buat NGINX configuration file.
mkdir -p ~/trojan-go/config/nginx/
nano ~/trojan-go/config/nginx/nginx.conf
server {
listen 80 default_server;
server_name _;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
server {
listen 8080 http2;
server_name _;
return 400;
}
Buat Trojan-Go configuration file.
mkdir -p ~/trojan-go/config/trojan/
nano ~/trojan-go/config/trojan/config.json
{
"run_type": "server",
"local_addr": "0.0.0.0",
"local_port": 443,
"remote_addr": "trojan-nginx",
"remote_port": 80,
"log_level": 2,
"log_file": "",
"password": [
"your_password_here"
],
"disable_http_check": false,
"udp_timeout": 60,
"ssl": {
"verify": true,
"verify_hostname": false,
"cert": "/etc/trojan/cert.pem",
"key": "/etc/trojan/private.key",
"key_password": "",
"cipher": "",
"curves": "",
"prefer_server_cipher": false,
"sni": "your-domain.com",
"alpn": [
"h2"
],
"session_ticket": true,
"reuse_session": true,
"plain_http_response": "",
"fallback_addr": "",
"fallback_port": 0,
"fingerprint": "firefox"
},
"tcp": {
"no_delay": true,
"keep_alive": true,
"prefer_ipv4": true
},
"mux": {
"enabled": true,
"concurrency": 64,
"idle_timeout": 60
},
"router": {
"enabled": false,
"bypass": [],
"proxy": [],
"block": [],
"default_policy": "proxy",
"domain_strategy": "as_is",
"geoip": "$PROGRAM_DIR$/geoip.dat",
"geosite": "$PROGRAM_DIR$/geosite.dat"
},
"websocket": {
"enabled": true,
"path": "/websocket",
"host": "your-domain.com"
},
"shadowsocks": {
"enabled": false,
"method": "AES-128-GCM",
"password": ""
},
"transport_plugin": {
"enabled": false,
"type": "",
"command": "",
"plugin_option": "",
"arg": [],
"env": []
},
"forward_proxy": {
"enabled": false,
"proxy_addr": "",
"proxy_port": 0,
"username": "",
"password": ""
},
"mysql": {
"enabled": false,
"server_addr": "localhost",
"server_port": 3306,
"database": "",
"username": "",
"password": "",
"check_rate": 60
},
"api": {
"enabled": false,
"api_addr": "",
"api_port": 0,
"ssl": {
"enabled": false,
"key": "",
"cert": "",
"verify_client": false,
"client_cert": []
}
}
}
Beberapa hal yang perlu kalian edit sebagai berikut:
Password
"password": [
"your_password_here"
],
SNI
"sni": "your-domain.com",
Websocket path dan host-name
"websocket": {
"enabled": true,
"path": "/websocket",
"host": "your-domain.com"
},
Obtain keys from Cloudflare
Masuk ke Cloudflare. Buka menu SSL/TLS
pada halaman domain kalian.
Pilih Full
.
![](https://blog.uripsub.dev/content/images/2022/07/2022-07-20_12-02.png)
Pergi ke sub menu Origin Server
.
![](https://blog.uripsub.dev/content/images/2022/07/2022-07-20_12-09.png)
Biarkan Authenticated Origin Pulls
tetap Off
, klik tombol Create Certificate
.
![](https://blog.uripsub.dev/content/images/2022/07/2022-07-20_12-10.png)
Biarkan saja semua. Klik Create
![](https://blog.uripsub.dev/content/images/2022/07/image-16.png)
nano ~/trojan-go/config/trojan/cert.pem
Copy isi dari Origin Certificate
ke file cert.pem
.
![](https://blog.uripsub.dev/content/images/2022/07/image-17.png)
nano ~/trojan-go/config/trojan/private.key
Copy isi dari Private key
ke file private.key
.
Point the domain-name to your server
Buka menu DNS
.
![](https://blog.uripsub.dev/content/images/2022/07/2022-07-20_12-07.png)
Klik + Add record
tambahkan 2 record berikut.
- Type
A
, name@
, contentSERVER-IP-ADDRESS
- Type
CNAME
, namewww
, contentYOUR-DOMAIN-NAME
Keduanya harus di set ke Proxied
agar semua orang hanya melihat IP dari Cloudflare CDN.
Start Trojan-Go
cd ~/trojan-go/
docker-compose up -d
![](https://thematrix.dev/content/images/2020/08/image-19.png)