Trojan-GFW dimaksudkan sebagai mekanisme yang tidak dapat diidentifikasi untuk membantu Anda melewati batasan jaringan seperti Great Firewall (GFW).
Halaman ini memberikan instruksi untuk menginstal Trojan-GFW pada server CentOS 8 dan Debian 10+. Perhatikan bahwa CentOS 8 mencapai akhir masa pakainya pada tanggal 31 Desember 2021. Oleh karena itu, Debian direkomendasikan. Debian 10 dijuluki “buster,” dan Debian 11 dijuluki “bullseye.”
1. Server
1.1. Persyaratan
Anda akan memerlukan nama domain serta server Anda. Siapkan catatan DNS yang menunjuk dari nama domain Anda ke alamat IP server Anda. Nama domain yang digunakan dalam contoh adalah example.com
dengan nama host sampel www.example.com
.
1.2. Buat Situs Web Kamuflase
Instal dan mulai Nginx. Di CentOS:
yum install nginx -y
systemctl enable nginx
systemctl start nginx
Di Debian atau Ubuntu:
apt install nginx -y
systemctl enable nginx
systemctl start nginx
Edit file konfigurasi situs default Nginx:
- Di CentOS, edit
/etc/nginx/nginx.conf
- Di Debian atau Ubuntu, edit
/etc/nginx/sites-available/default
Tetapkan nama server. Misalnya, dengan nama host kami dari www.example.com
, kami akan mengubah baris untuk server_name
membaca:
server_name www.example.com;
Simpan file. Mulai ulang Nginx dengan konfigurasi barunya:
nginx -t
systemctl restart nginx
systemctl status nginx
Tambahkan beberapa contoh konten ke server web. Di CentOS:
yum install wget zip unzip -y
wget https://github.com/arcdetri/sample-blog/archive/master.zip
unzip master.zip
cp -rf sample-blog-master/html/* /usr/share/nginx/html/
Di Debian atau Ubuntu:
apt install zip unzip -y
wget https://github.com/arcdetri/sample-blog/archive/master.zip
unzip master.zip
cp -rf sample-blog-master/html/* /var/www/html/
Anda sekarang dapat menguji bahwa server web dasar Anda dan kontennya muncul seperti yang diharapkan di browser dengan mengunjungi http://www.example.com
(tentu saja, mengganti contoh ini dengan nama host Anda yang sebenarnya).
1.3. Dapatkan Sertifikat SSL
Proyek Let’s Encrypt menawarkan sertifikat SSL gratis. Kita akan membutuhkan satu untuk Trojan.
Pada CentOS 8:
yum install epel-release -y
yum install certbot python3-certbot-nginx -y
certbot certonly --nginx
Pada versi terbaru Debian atau Ubuntu:
apt install certbot python3-certbot-nginx -y
certbot certonly --nginx
Untuk platform lain, lihat halaman EFF Certbot .
Tanggapi permintaan Certbot:
- Masukkan alamat email Anda
- Masuk
a
untuk setuju - Masukkan
y
ataun
untuk membagikan alamat email Anda - Pilih nomor host yang sesuai yang Anda perlukan sertifikatnya
Let’s Encrypt sertifikat SSL berlaku selama 90 hari. Siapkan semuanya untuk pembaruan otomatis setiap 90 hari. Pada CentOS 8:
echo "0 0,12 * * * root python3 -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew -q" | sudo tee -a /etc/crontab > /dev/null
Pada versi terbaru Debian atau Ubuntu:
certbot renew --dry-run
Jadikan sertifikat dan kunci Let’s Encrypt Anda dapat dibaca dan direktori Let’s Encrypt Anda dapat dieksekusi:
chmod -R +rx /etc/letsencrypt
Server web sekarang sudah siap.
1.4. Instal Trojan
Instal Trojan dari repositori. Pada CentOS 8:
yum config-manager --set-enabled PowerTools
yum install trojan -y
Di Debian 10+ atau Ubuntu 20.04+:
apt install trojan -y
Untuk platform lain, lihat wiki Trojan-GFW di GitHub .
1.5. Buat Layanan SystemD
Membuat file layanan systemd di /etc/systemd/system/trojan.service
.
[Unit]
Description=trojan
Documentation=man:trojan(1) https://trojan-gfw.github.io/trojan/config https://trojan-gfw.github.io/trojan/
After=network.target network-online.target nss-lookup.target mysql.service mariadb.service mysqld.service
[Service]
Type=simple
StandardError=journal
User=nobody
AmbientCapabilities=CAP_NET_BIND_SERVICE
ExecStart=/usr/bin/trojan /etc/trojan/config.json
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartSec=1s
[Install]
WantedBy=multi-user.target
Simpan file layanan systemd.
1.6. Konfigurasikan Trojan
Konfigurasikan Trojan dengan mengedit file konfigurasi /etc/trojan/config.json
. Ganti nilai template dengan nilai Anda yang sebenarnya:
- Masukkan nilai Anda sendiri untuk
password1
dan hapus tanda koma. - Hapus baris untuk
password2
- Sertifikat Anda ada di
/etc/letsencrypt/live/www.example.com/fullchain.pem
, jadi tentukan itu dicert
telepon. - Kunci Anda ada di
/etc/letsencrypt/live/www.example.com/privkey.pem
, jadi tentukan itu dikey
telepon.
Simpan file /etc/trojan/config.json
.
1.7. Konfigurasikan Trojan
Buat Trojan mulai setelah setiap reboot, dan mulai sekarang:
systemctl enable trojan
systemctl start trojan
Periksa apakah Trojan mendengarkan di port 443
, sementara Nginx mendengarkan di port 80
:
ss -tulpn
0 Komentar