sing-box adalah kumpulan alat untuk membangun proksi, yang berfungsi untuk membuka akses yang diblokir, menjaga privasi, dan meningkatkan keamanan jaringan.

sing-box mendukung beberapa protokol proksi, antara lain Vmess, Trojan, Shadowsocks, Hysteria, dsb.

Pada tutorial ini, aku akan membahas cara menginstal Server Trojan WebSocket TLS menggunakan sing-box pada sistem operasi Debian dan turunannya.

Persiapan

Berikut beberapa hal yang perlu kalian siapkan sebelum lanjut ke proses instalasi.

  • VPS Linux
  • 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, pastikan kalian sudah mengarahkan alamat IP publik VPS ke domain kalian, karena pada tutorial ini menggunakan ACME untuk membuat sertifikat TLS.

Jika kalian menggunakan Cloudflare, buka setelan DNS, tambahkan record baru, kemudian konfigurasikan seperti pada gambar berikut.

Cloudflare DNS

Setelah DNS dikonfigurasi, edit file konfigurasi sing-box yang terletak di /usr/local/etc/sing-box/config.json dengan teks editor kesayangan kalian.

Pada tutorial ini, aku menggunakan teks editor nano untuk mengedit file konfigurasi.

$ nano /usr/local/etc/sing-box/config.json

Kemudian ganti dengan konfigurasi berikut.

{
  "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"
    }
  ]
}

Jangan lupa untuk mengganti email, password, dan domain pada konfigurasi di atas.

Kemudian simpan file konfigurasi tersebut. Jika kalian menggunakan teks editor nano, tekan CTRL + S untuk menyimpan konfigurasi dan tekan CTRL + X untuk keluar dari teks editor 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 boot.

$ sudo systemctl enable sing-box

Setelah itu, mulai server Trojan WebSocket.

$ sudo systemctl start sing-box

Konfigurasi klien

Banyak klien yang sudah mendukung Trojan WebSocket, antara lain Clash, v2rayNg, Matsuri, dan sebagainya.

Jika kalian ingin menggunakan klien selain sing-box, kalian perlu menyesuaikan konfigurasinya berdasarkan dokumentasi klien masing-masing, karena ada beberapa perbedaan format konfigurasi sing-box dengan klien lain.

Berikut ini adalah contoh konfigurasi Trojan WebSocket TLS untuk klien sing-box.

{
  "log": {
    "level": "info",
    "timestamp": true
  },
  "inbounds": [
    {
      "type": "socks",
      "tag": "socks-in",
      "listen": "::",
      "listen_port": 1080
    }
  ],
  "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"
    }
  ]
}

Perawatan

Merawat server Trojan WebSocket tidak begitu menyusahkan, kalian hanya perlu memperbarui paket secara berkala.

Untuk memperbarui paket ke versi paling baru, jalankan perintah apt berikut.

$ apt update
$ apt upgrade -y

Dan juga, kalian perlu 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