Dalam artikel ini saya ingin mendedahkan kemungkinan proksi telus, yang membolehkan anda mengubah hala semua atau sebahagian trafik melalui pelayan proksi luaran yang langsung tidak disedari oleh pelanggan.
Apabila saya mula menyelesaikan masalah ini, saya berhadapan dengan hakikat bahawa pelaksanaannya mempunyai satu masalah penting - protokol HTTPS. Pada zaman dahulu, tidak ada masalah khas dengan proksi HTTP yang telus, tetapi dengan proksi HTTPS, penyemak imbas melaporkan gangguan terhadap protokol dan di situlah kebahagiaan berakhir.
Dalam arahan biasa untuk pelayan proksi Squid, mereka juga mencadangkan untuk menjana sijil anda sendiri dan memasangnya pada pelanggan, yang sekurang-kurangnya tidak masuk akal, tidak rasional dan kelihatan seperti serangan MITM. Saya tahu bahawa Squid sudah boleh melakukan sesuatu yang serupa, tetapi artikel ini adalah mengenai kaedah yang terbukti dan berfungsi menggunakan 3proxy daripada 3APA3A yang dihormati.
Seterusnya, kami akan melihat secara terperinci proses membina 3proksi daripada sumber, konfigurasinya, proksi penuh dan terpilih menggunakan NAT, pengedaran saluran kepada beberapa pelayan proksi luaran, serta penggunaan penghala dan laluan statik. Kami menggunakan Debian 9 x64 sebagai OS. Mulakan!
Memasang 3proxy dan menjalankan pelayan proksi biasa
1. Pasang ifconfig (daripada pakej net-tools)
apt-get install net-tools
2. Pasang Midnight Commander
apt-get install mc
3. Kami kini mempunyai 2 antara muka:
enp0s3 - luaran, melihat Internet
enp0s8 - dalaman, mesti melihat ke dalam rangkaian tempatan
Pada pengedaran berasaskan Debian yang lain, antara muka biasanya dipanggil eth0 dan eth1.
ifconfig -a
Antaramukaenp0s3: bendera=4163 mtu 1500
inet 192.168.23.11 netmask 255.255.255.0 siaran 192.168.23.255
inet6 fe80::a00:27ff:fec2:bae4 awalan 64 skopid 0x20 eter 08:00:27:c2:ba:e4 txqueuelen 1000 (Ethernet)
Paket RX 6412 bait 8676619 (8.2 MiB)
Ralat RX 0 jatuh 0 melebihi 0 bingkai 0
Paket TX 1726 bait 289128 (282.3 KiB)
Ralat TX 0 jatuh 0 melebihi 0 pembawa 0 perlanggaran 0
enp0s8: bendera=4098 mtu 1500
eter 08:00:27:79:a7:e3 txqueuelen 1000 (Ethernet)
Paket RX 0 bait 0 (0.0 B)
Ralat RX 0 jatuh 0 melebihi 0 bingkai 0
Paket TX 0 bait 0 (0.0 B)
Ralat TX 0 jatuh 0 melebihi 0 pembawa 0 perlanggaran 0
lihat: bendera=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 awalan 128 skopid 0x10 gelung txqueuelen 1 (Loopback Setempat)
Paket RX 0 bait 0 (0.0 B)
Ralat RX 0 jatuh 0 melebihi 0 bingkai 0
Paket TX 0 bait 0 (0.0 B)
Ralat TX 0 jatuh 0 melebihi 0 pembawa 0 perlanggaran 0
Antara muka enp0s8 tidak digunakan pada masa ini, kami akan mendayakannya apabila kami ingin menggunakan konfigurasi NAT atau NAT Proksi. Pada masa itu adalah logik untuk memberikannya IP statik.
4. Mari mulakan memasang 3proxy
4.1 Memasang pakej asas untuk menyusun 3proksi daripada sumber
root@debian9:~# apt-get install build-essential libevent-dev libssl-dev -y
4.2. Mari buat folder untuk memuat turun arkib dengan sumber
root@debian9:~# mkdir -p /opt/proxy
4.3. Mari pergi ke folder ini
root@debian9:~# cd /opt/proxy
4.4. Sekarang mari muat turun pakej 3proksi terkini. Pada masa penulisan, versi stabil terkini ialah 0.8.12 (18/04/2018) Muat turun dari laman web rasmi 3proxy
root@debian9:/opt/proxy# wget https://github.com/z3APA3A/3proxy/archive/0.8.12.tar.gz
4.5. Mari kita bongkarkan arkib yang dimuat turun
root@debian9:/opt/proxy# tar zxvf 0.8.12.tar.gz
4.6. Pergi ke direktori yang tidak dibungkus untuk membina program
root@debian9:/opt/proxy# cd 3proxy-0.8.12
4.7. Seterusnya, kami perlu menambah baris pada fail pengepala supaya pelayan kami sepenuhnya tanpa nama (ia benar-benar berfungsi, semuanya diperiksa, IP klien disembunyikan)
root@debian9:/opt/proxy/3proxy-0.8.12# nano +29 src/proxy.h
Tambah baris
#define ANONYMOUS 1
Tekan Ctrl+x dan Enter untuk menyimpan perubahan.
4.8. Mari kita mula memasang program
root@debian9:/opt/proxy/3proxy-0.8.12# make -f Makefile.Linux
Makelogmake[2]: Meninggalkan direktori '/opt/proxy/3proxy-0.8.12/src/plugins/TransparentPlugin'
make[1]: Meninggalkan direktori '/opt/proxy/3proxy-0.8.12/src'
Tiada kesilapan, mari teruskan.
4.9. Pasang program pada sistem
root@debian9:/opt/proxy/3proxy-0.8.12# make -f Makefile.Linux install
4.10. Pergi ke direktori akar dan semak di mana program dipasang
root@debian9:/opt/proxy/3proxy-0.8.12# cd ~/
root@debian9:~# whereis 3proxy
3proksi: /usr/local/bin/3proxy /usr/local/etc/3proxy
4.11. Mari buat folder untuk fail konfigurasi dan log dalam direktori rumah pengguna
root@debian9:~# mkdir -p /home/joke/proxy/logs
4.12. Pergi ke direktori di mana konfigurasi sepatutnya
root@debian9:~# cd /home/joke/proxy/
4.13. Buat fail kosong dan salin konfigurasi di sana
root@debian9:/home/joke/proxy# cat > 3proxy.conf
3proxy.confdaemon
pidfile /home/joke/proxy/3proxy.pid
nserver 8.8.8.8
nscache 65536
penguji pengguna:CL:1234
tamat masa 1 5 30 60 180 1800 16 60
log /home/joke/proxy/logs/3proxy.log D
format log "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
putar 3
auth kuat
flush
benarkan penguji
stokin -p3128
proksi -p8080
Untuk menyimpan, tekan Ctrl + Z
4.14. Mari buat fail pid supaya tiada ralat semasa permulaan.
root@debian9:/home/joke/proxy# cat > 3proxy.pid
Untuk menyimpan, tekan Ctrl + Z
4.15. Mari lancarkan pelayan proksi!
root@debian9:/home/joke/proxy# 3proxy /home/joke/proxy/3proxy.conf
4.16. Mari lihat sama ada pelayan mendengar pada port
root@debian9:~/home/joke/proxy# netstat -nlp
log netstatSambungan Internet aktif (hanya pelayan)
Proto Recv-Q Send-Q Alamat Tempatan Alamat Asing Negeri PID/Nama program
tcp 0 0 0.0.0.0:8080 0.0.0.0:* DENGAR 504/3proksi
tcp 0 0 0.0.0.0:22 0.0.0.0:* DENGAR 338/sshd
tcp 0 0 0.0.0.0:3128 0.0.0.0:* DENGAR 504/3proksi
tcp6 0 0 :::22 :::* DENGAR 338/sshd
udp 0 0 0.0.0.0:68 0.0.0.0:* 352/dhclient
Seperti yang ditulis dalam konfigurasi, proksi web kami mendengar port 8080, proksi Socks5 mendengar port 3128.
4.17. Untuk automulakan perkhidmatan proksi selepas but semula, anda perlu menambahkannya pada cron.
root@debian9:/home/joke/proxy# crontab -e
Tambah baris
@reboot /usr/local/bin/3proxy /home/joke/proxy/3proxy.conf
Kami tekan Enter, kerana cron akan melihat akhir aksara baris, dan menyimpan fail.
Mesti ada mesej tentang memasang crontab baharu.
crontab: memasang crontab baharu
4.18. Mari but semula sistem dan cuba sambungkan melalui penyemak imbas ke proksi. Untuk menyemak, kami menggunakan pelayar Firefox (untuk proksi web) dan alat tambah FoxyProxy untuk socks5 dengan pengesahan.
root@debian9:/home/joke/proxy# reboot
4.19. Selepas menyemak operasi proksi selepas but semula, anda boleh melihat log. Ini melengkapkan persediaan pelayan proksi.
3 log proksi1542573996.018 PROXY.8080 00000 penguji 192.168.23.10:50915 217.12.15.54:443 1193 6939 0 CONNECT_ads.yahoo.com/443_HTTP
1542574289.634 SOCK5.3128 00000 penguji 192.168.23.10:51193 54.192.13.69:443 0 0 0 CONNECT_normandy.cdn.mozilla.net:443
Menyediakan dan menjalankan konfigurasi NAT Transparent Proxy
Dalam konfigurasi ini, semua peranti pada rangkaian dalaman akan beroperasi secara telus di Internet melalui pelayan proksi jauh. Benar-benar semua sambungan TCP akan diubah hala ke satu atau lebih (benar-benar mengembangkan lebar saluran, contoh konfigurasi No. 2!) pelayan proksi. Perkhidmatan DNS akan menggunakan keupayaan 3proxy (dnspr). UDP tidak akan "pergi" keluar, kerana kami belum lagi menggunakan mekanisme hadapan (dilumpuhkan secara lalai dalam kernel Linux).
1. Sudah tiba masanya untuk mendayakan antara muka enp0s8
root@debian9:~# nano /etc/network/interfaces
/etc/network/interfaces fail# Fail ini menerangkan antara muka rangkaian yang ada pada sistem anda
# Diaktifkan dan bagaimana untuk Them. Untuk maklumat lanjut, lihat muka (5).
sumber /etc/network/interfaces.d/*
# Rangkaian antara muka gelung balik
auto sesungguhnya
iface sesungguhnya INET gelung balik
# Antara muka rangkaian utama
allow-hotplug enp0s3
iface enp0s3 inet dhcp
# Antara muka rangkaian kedua
allow-hotplug enp0s8
iface enp0s8 inet statik
alamat 192.168.201.254
255.255.255.0 netmask
Di sini kami memberikan antara muka enp0s8 alamat statik 192.168.201.254 dan topeng 255.255.255.0
Simpan konfigurasi Ctrl+X dan but semula
root@debian9:~# reboot
2. Menyemak antara muka
root@debian9:~# ifconfig
log ifconfigenp0s3: bendera=4163 mtu 1500
inet 192.168.23.11 netmask 255.255.255.0 siaran 192.168.23.255
inet6 fe80::a00:27ff:fec2:bae4 awalan 64 skopid 0x20 eter 08:00:27:c2:ba:e4 txqueuelen 1000 (Ethernet)
Paket RX 61 bait 7873 (7.6 KiB)
Ralat RX 0 jatuh 0 melebihi 0 bingkai 0
Paket TX 65 bait 10917 (10.6 KiB)
Ralat TX 0 jatuh 0 melebihi 0 pembawa 0 perlanggaran 0
enp0s8: bendera=4163 mtu 1500
inet 192.168.201.254 netmask 255.255.255.0 siaran 192.168.201.255
inet6 fe80::a00:27ff:fe79:a7e3 awalan 64 skopid 0x20 eter 08:00:27:79:a7:e3 txqueuelen 1000 (Ethernet)
Paket RX 0 bait 0 (0.0 B)
Ralat RX 0 jatuh 0 melebihi 0 bingkai 0
Paket TX 8 bait 648 (648.0 B)
Ralat TX 0 jatuh 0 melebihi 0 pembawa 0 perlanggaran 0
lihat: bendera=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 awalan 128 skopid 0x10 gelung txqueuelen 1 (Loopback Setempat)
Paket RX 0 bait 0 (0.0 B)
Ralat RX 0 jatuh 0 melebihi 0 bingkai 0
Paket TX 0 bait 0 (0.0 B)
Ralat TX 0 jatuh 0 melebihi 0 pembawa 0 perlanggaran 0
3. Semuanya berjaya, kini anda perlu mengkonfigurasi 3proxy untuk proksi telus.
root@debian9:~# cd /home/joke/proxy/
root@debian9:/home/joke/proxy# cat > 3proxytransp.conf
Contoh konfigurasi pelayan proksi telus No. 1daemon
pidfile /home/joke/proxy/3proxy.pid
nserver 8.8.8.8
nscache 65536
tamat masa 1 5 30 60 180 1800 16 60
log /home/joke/proxy/logs/3proxy.log D
format log "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
putar 3
flush
auth iponly
dnspr
benarkan *
ibu bapa 1000 stokin5 IP_ADDRESS OF EXTERNAL_PROXY 3128 penguji 1234
pemalam /opt/proxy/3proxy-0.8.12/src/TransparentPlugin.ld.so transparent_plugin
tcppm -i0.0.0.0 888 127.0.0.1 11111
4. Sekarang kami melancarkan 3proxy dengan konfigurasi baharu
root@debian9:/home/joke/proxy# /usr/local/bin/3proxy /home/joke/proxy/3proxytransp.conf
5. Tambah ke crontab semula
root@debian9:/home/joke/proxy# crontab -e
@reboot /usr/local/bin/3proxy /home/joke/proxy/3proxytransp.conf
6. Mari lihat apa yang sedang didengari oleh proksi kami sekarang
root@debian9:~# netstat -nlp
log netstatSambungan Internet aktif (hanya pelayan)
Proto Recv-Q Send-Q Alamat Tempatan Alamat Asing Negeri PID/Nama program
tcp 0 0 0.0.0.0:22 0.0.0.0:* DENGAR 349/sshd
tcp 0 0 0.0.0.0:888 0.0.0.0:* DENGAR 354/3proksi
tcp6 0 0 :::22 :::* DENGAR 349/sshd
udp 0 0 0.0.0.0:53 0.0.0.0:* 354/3proksi
udp 0 0 0.0.0.0:68 0.0.0.0:* 367/dhclient
7. Kini proksi bersedia untuk menerima sebarang sambungan TCP pada port 888, DNS pada port 53, supaya mereka kemudiannya boleh diubah hala ke proksi socks5 jauh dan DNS Google 8.8.8.8. Apa yang perlu kita lakukan ialah mengkonfigurasi netfilter (iptables) dan peraturan DHCP untuk mengeluarkan alamat.
8. Pasang pakej iptables-persistent dan dhcpd
root@debian9:~# apt-get install iptables-persistent isc-dhcp-server
9. Edit fail permulaan dhcpd
root@debian9:~# nano /etc/dhcp/dhcpd.conf
dhcpd.conf# dhcpd.conf
#
# Contoh fail konfigurasi untuk ISC dhcpd
#
# takrifan pilihan biasa kepada semua rangkaian yang disokongβ¦
nama domain pilihan "example.org";
pelayan nama domain pilihan ns1.example.org, ns2.example.org;
masa lalai-pajakan 600;
masa pajakan maks 7200;
ddns-update-style tiada;
# Jika pelayan DHCP ini adalah pelayan DHCP rasmi untuk tempatan
# rangkaian, arahan berwibawa hendaklah dinyahkomen.
berwibawa;
# Konfigurasi yang sedikit berbeza untuk subnet dalaman.
subnet 192.168.201.0 netmask 255.255.255.0 {
julat 192.168.201.10 192.168.201.250;
pilihan pelayan nama domain 192.168.201.254;
penghala pilihan 192.168.201.254;
pilihan siaran-alamat 192.168.201.255;
masa lalai-pajakan 600;
masa pajakan maks 7200;
}
11. But semula dan semak perkhidmatan pada port 67
root@debian9:~# reboot
root@debian9:~# netstat -nlp
log netstatSambungan Internet aktif (hanya pelayan)
Proto Recv-Q Send-Q Alamat Tempatan Alamat Asing Negeri PID/Nama program
tcp 0 0 0.0.0.0:22 0.0.0.0:* DENGAR 389/sshd
tcp 0 0 0.0.0.0:888 0.0.0.0:* DENGAR 310/3proksi
tcp6 0 0 :::22 :::* DENGAR 389/sshd
udp 0 0 0.0.0.0:20364 0.0.0.0:* 393/dhcpd
udp 0 0 0.0.0.0:53 0.0.0.0:* 310/3proksi
udp 0 0 0.0.0.0:67 0.0.0.0:* 393/dhcpd
udp 0 0 0.0.0.0:68 0.0.0.0:* 405/dhclient
udp6 0 0 :::31728 :::* 393/dhcpd
mentah 0 0 0.0.0.0:1 0.0.0.0:* 393/dhcpd
12. Apa yang tinggal ialah mengubah hala semua permintaan tcp ke port 888 dan menyimpan peraturan dalam iptables
root@debian9:~# iptables -t nat -A PREROUTING -s 192.168.201.0/24 -p tcp -j REDIRECT --to-ports 888
root@debian9:~# iptables-save > /etc/iptables/rules.v4
13. Untuk mengembangkan lebar jalur saluran, anda boleh menggunakan beberapa pelayan proksi sekaligus. Jumlahnya mestilah 1000. Sambungan baharu diwujudkan dengan kebarangkalian 0.2, 0.2, 0.2, 0.2, 0,1, 0,1 kepada pelayan proksi yang ditentukan.
Nota: jika kita mempunyai proksi web, maka bukannya socks5 kita perlu menulis connect, jika socks4, maka socks4 (socks4 TIDAK MENYOKONG LOGIN/KEBENARAN KATA LALUAN!)
Contoh konfigurasi pelayan proksi telus No. 2daemon
pidfile /home/joke/proxy/3proxy.pid
nserver 8.8.8.8
nscache 65536
maxconn 500
tamat masa 1 5 30 60 180 1800 16 60
log /home/joke/proxy/logs/3proxy.log D
format log "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
putar 3
flush
auth iponly
dnspr
benarkan *
ibu bapa 200 stokin5 IP_ADDRESS_EXTERNAL_PROXY#1 3128 penguji 1234
ibu bapa 200 stokin5 IP_ADDRESS_EXTERNAL_PROXY#2 3128 penguji 1234
ibu bapa 200 stokin5 IP_ADDRESS_EXTERNAL_PROXY#3 3128 penguji 1234
ibu bapa 200 stokin5 IP_ADDRESS_EXTERNAL_PROXY#4 3128 penguji 1234
ibu bapa 100 stokin5 IP_ADDRESS_EXTERNAL_PROXY#5 3128 penguji 1234
ibu bapa 100 stokin5 IP_ADDRESS_EXTERNAL_PROXY#6 3128 penguji 1234
pemalam /opt/proxy/3proxy-0.8.12/src/TransparentPlugin.ld.so transparent_plugin
tcppm -i0.0.0.0 888 127.0.0.1 11111
Menyediakan dan menjalankan konfigurasi NAT + Transparent Proxy
Dalam konfigurasi ini, kami akan menggunakan mekanisme NAT biasa dengan proksi terpilih atau telus penuh alamat individu atau subnet. Pengguna rangkaian dalaman akan bekerja dengan perkhidmatan/subnet tertentu tanpa menyedari bahawa mereka bekerja melalui proksi. Semua sambungan https berfungsi dengan baik, tiada sijil perlu dijana/diganti.
Mula-mula, mari kita tentukan subnet/perkhidmatan yang ingin kita proksi. Mari kita anggap bahawa proksi luaran terletak di mana perkhidmatan seperti pandora.com beroperasi. Kini tinggal menentukan subnet/alamatnya.
1. Ping
root@debian9:~# ping pandora.com
PING pandora.com (208.85.40.20) 56(84) bait data.
2. Taip BGP 208.85.40.20 ke dalam Google
Mari pergi ke tapak
Dapat dilihat bahawa subnet yang saya cari ialah AS40428 Pandora Media, Inc
Membuka awalan v4
Berikut ialah subnet yang diperlukan!
199.116.161.0/24
199.116.162.0/24
199.116.164.0/23
199.116.164.0/24
199.116.165.0/24
208.85.40.0/24
208.85.41.0/24
208.85.42.0/23
208.85.42.0/24
208.85.43.0/24
208.85.44.0/24
208.85.46.0/23
208.85.46.0/24
208.85.47.0/24
3. Untuk mengurangkan bilangan subnet, anda perlu melakukan pengagregatan. Pergi ke tapak
199.116.161.0/24
199.116.162.0/24
199.116.164.0/23
208.85.40.0/22
208.85.44.0/24
208.85.46.0/23
4. Jelas peraturan iptables
root@debian9:~# iptables -F
root@debian9:~# iptables -X
root@debian9:~# iptables -t nat -F
root@debian9:~# iptables -t nat -X
Dayakan mekanisme hadapan dan NAT
root@debian9:~# echo 1 > /proc/sys/net/ipv4/ip_forward
root@debian9:~# iptables -A FORWARD -i enp0s3 -o enp0s8 -j ACCEPT
root@debian9:~# iptables -A FORWARD -i enp0s8 -o enp0s3 -j ACCEPT
root@debian9:~# iptables -t nat -A POSTROUTING -o enp0s3 -s 192.168.201.0/24 -j MASQUERADE
Untuk memastikan ke hadapan didayakan secara kekal selepas but semula, mari tukar fail
root@debian9:~# nano /etc/sysctl.conf
Dan nyahkomen baris
net.ipv4.ip_forward = 1
Ctrl+X untuk menyimpan fail
5. Kami membungkus subnet pandora.com dalam proksi
root@debian9:~# iptables -t nat -A PREROUTING -s 192.168.201.0/24 -d 199.116.161.0/24,199.116.162.0/24,199.116.164.0/23,208.85.40.0/22,208.85.44.0/24,208.85.46.0/23 -p tcp -j REDIRECT --to-ports 888
6. Jom patuhi peraturan
root@debian9:~# iptables-save > /etc/iptables/rules.v4
Menyediakan dan menjalankan Proksi Telus melalui konfigurasi penghala
Dalam konfigurasi ini, pelayan proksi telus boleh menjadi PC berasingan atau mesin maya di belakang penghala rumah/korporat. Ia cukup untuk mendaftarkan laluan statik pada penghala atau peranti dan keseluruhan subnet akan menggunakan proksi tanpa memerlukan sebarang tetapan tambahan.
PENTING! Gerbang kami perlu menerima IP statik daripada penghala, atau dikonfigurasikan menjadi statik itu sendiri.
1. Konfigurasikan alamat get laluan statik (penyesuai enp0s3)
root@debian9:~# nano /etc/network/interfaces
/etc/network/interfaces fail# Fail ini menerangkan antara muka rangkaian yang ada pada sistem anda
# Diaktifkan dan bagaimana untuk Them. Untuk maklumat lanjut, lihat muka (5).
sumber /etc/network/interfaces.d/*
# Rangkaian antara muka gelung balik
auto sesungguhnya
iface sesungguhnya INET gelung balik
# Antara muka rangkaian utama
allow-hotplug enp0s3
iface enp0s3 inet statik
alamat 192.168.23.2
255.255.255.0 netmask
192.168.23.254 gerbang
# Antara muka rangkaian kedua
allow-hotplug enp0s8
iface enp0s8 inet statik
alamat 192.168.201.254
255.255.255.0 netmask
2. Benarkan peranti daripada subnet 192.168.23.0/24 menggunakan proksi
root@debian9:~# iptables -t nat -A PREROUTING -s 192.168.23.0/24 -d 199.116.161.0/24,199.116.162.0/24,199.116.164.0/23,208.85.40.0/22,208.85.44.0/24,208.85.46.0/23 -p tcp -j REDIRECT --to-ports 888
3. Jom patuhi peraturan
root@debian9:~# iptables-save > /etc/iptables/rules.v4
4. Mari daftarkan subnet pada penghala
Senarai rangkaian penghala199.116.161.0 255.255.255.0 192.168.23.2
199.116.162.0 255.255.255.0 192.168.23.2
199.116.164.0 255.255.254.0 192.168.23.2
208.85.40.0 255.255.252.0 192.168.23.2
208.85.44.0 255.255.255.0 192.168.23.2
208.85.46.0 255.255.254.0 192.168.23.2
Bahan/sumber yang digunakan
1. Laman web rasmi program 3proxy
2. Arahan untuk memasang 3proxy daripada sumber
3. Cawangan pembangunan 3proksi pada GitHub
Sumber: www.habr.com