Cara Instal Server Trojan WebSocket TLS dengan Sing-box
Panduan kali ini, kita akan menginstal server Trojan WebSocket + TLS dengan menggunakan sing-box.
Kita akan menggunakan fitur auto tls dari sing-box agar tidak perlu lagi setup sertifikat TLS untuk server Trojan WebSocket.
Jika kalian belum tahu apa itu sing-box, sing-box ini adalah alat all-in-one untuk membuat server proxy yang berguna untuk melewati sensor internet.
Persiapan
Berikut beberapa hal yang perlu kalian siapkan sebelum lanjut ke proses instalasi.
- Linux Debian/Ubuntu
- Domain
Instalasi
Langkah pertama, instal gcc, git, dan curl dengan apt
.
$ sudo apt update
$ sudo apt install git curl build-essential -y
Kemudian unduh repositori sing-box menggunakan Git.
$ git clone https://github.com/SagerNet/sing-box
Ganti ke direktori sing-box.
$ cd sing-box
Setelah itu, instal go compiler.
$ ./release/local/install_go.sh
Langkah terakhir, instal sing-box.
$ ./release/local/install.sh
Setelah instalasi rampung, langkah selanjutnya adalah menyetel konfigurasi sing-box.
Konfigurasi server
Sebelum lanjut ke tahap selanjutnya, arahkan alamat IP publik VPS ke domain kalian.
Jika kalian menggunakan Cloudflare, buka setelan DNS, tambahkan record baru, kemudian konfigurasikan seperti pada gambar berikut.
Setelah DNS dikonfigurasi, edit file konfigurasi sing-box yang terletak di /usr/local/etc/sing-box/config.json
dengan teks editor nano.
$ nano /usr/local/etc/sing-box/config.json
Hapus seluruh konfigurasi dan ganti dengan yang ini:
{
"log": {
"level": "info",
"timestamp": true
},
"inbounds": [
{
"type": "trojan",
"tag": "trojan-ws-in",
"listen": "::",
"listen_port": 443,
"users": [
{
"name": "aditya",
"password": "8JCsPssfgS8tiRwiMlhARg=="
}
],
"tls": {
"enabled": true,
"acme": {
"domain": "domain_kalian.com",
"email": "[email protected]"
}
},
"transport": {
"type": "ws",
"path": "/trojan"
}
}
],
"outbounds": [
{
"type": "direct",
"tag": "direct"
}
]
}
Yang perlu diedit:
email
, isi dengan alamat email kalianpassword
, isi dengan password yang kuatdomain
, isi dengan domain yang sudah diarahkan ke alamat server
Kemudian simpan file konfigurasi dengan menekan CTRL + S
kemudian tekan CTRL + X
untuk keluar dari nano.
Setelah dikonfigurasi, jalankan perintah berikut untuk memastikan tidak ada kesalahan pada file konfigurasi sing-box.
$ sing-box check -D /usr/local/etc/sing-box
Jika tidak ada error pada konfigurasi, hidupkan service sing-box agar berjalan secara otomatis saat server dihidupkan.
$ sudo systemctl enable sing-box
Setelah itu, mulai server Trojan WebSocket.
$ sudo systemctl start sing-box
Catatan: pastikan alokasi port 80 dan 443 tersedia karena dibutuhkan untuk proses verifikasi domain oleh Let’s Encrypt.
Konfigurasi klien
Ada ada pilihan aplikasi klien Trojan WebSocket, antara lain sing-box, xray, v2ray, dan clash.
Contoh berikut ini adalah konfigurasi untuk aplikasi klien sing-box untuk Android.
{
"log": {
"level": "info",
"timestamp": true
},
"dns": {
"servers": [
{
"tag": "google",
"address": "tls://8.8.8.8"
},
{
"tag": "block",
"address": "rcode://success"
}
],
"rules": [
{
"geosite": "category-ads-all",
"server": "block",
"disable_cache": true
}
],
"strategy": "ipv4_only"
},
"inbounds": [
{
"type": "tun",
"inet4_address": "172.19.0.1/30",
"auto_route": true,
"strict_route": false,
"sniff": true
}
],
"outbounds": [
{
"type": "trojan",
"tag": "trojan-ws-out",
"server": "domain_kalian.com",
"server_port": 443,
"password": "8JCsPssfgS8tiRwiMlhARg==",
"tls": {
"enabled": true
},
"transport": {
"type": "ws",
"path": "/trojan"
}
},
{
"type": "direct",
"tag": "direct"
},
{
"type": "block",
"tag": "block"
},
{
"type": "dns",
"tag": "dns-out"
}
],
"route": {
"rules": [
{
"protocol": "dns",
"outbound": "dns-out"
},
{
"geoip": ["private"],
"outbound": "direct"
},
{
"geosite": "category-ads-all",
"outbound": "block"
}
],
"auto_detect_interface": true
}
}
Cara Memperbarui Sing-box
Untuk memperbarui sing-box, ganti ke direktori repositori sing-box yang telah diunduh.
$ cd sing-box
Kemudian jalankan perintah berikut ini:
$ ./release/local/update.sh