V tem članku bi rad razkril možnosti transparentnega proxyja, ki vam omogoča, da ves ali del prometa preusmerite prek zunanjih proxy strežnikov, ne da bi jih stranke opazile.
Ko sem začel reševati to težavo, sem se soočil z dejstvom, da ima njena implementacija eno pomembno težavo - protokol HTTPS. V dobrih starih časih s transparentnim HTTP proxyjem ni bilo posebnih težav, pri HTTPS proxyju pa brskalniki poročajo o motnjah v protokolu in tu se sreča konča.
V splošnih navodilih za proxy strežnik Squid celo predlagajo generiranje lastnega certifikata in njegovo namestitev na odjemalce, kar je najmanj popoln nesmisel, neracionalno in izgleda kot MITM napad. Vem, da lahko Squid že naredi nekaj podobnega, vendar ta članek govori o preizkušeni in delujoči metodi z uporabo 3proxyja iz cenjenega 3APA3A.
Nato si bomo podrobno ogledali postopek gradnje 3proxy iz vira, njegovo konfiguracijo, popolno in selektivno proxy z uporabo NAT, distribucijo kanalov na več zunanjih proxy strežnikov ter uporabo usmerjevalnika in statičnih poti. Kot OS uporabljamo Debian 9 x64. Začeti!
Namestitev 3proxy in zagon običajnega proxy strežnika
1. Namestite ifconfig (iz paketa net-tools)
apt-get install net-tools
2. Namestite Midnight Commander
apt-get install mc
3. Zdaj imamo 2 vmesnika:
enp0s3 - zunanji, gleda na internet
enp0s8 - notranji, mora pogledati v lokalno omrežje
V drugih distribucijah, ki temeljijo na Debianu, se vmesniki običajno imenujejo eth0 in eth1.
ifconfig -a
Vmesnikienp0s3: zastavice=4163 mtu 1500
inet 192.168.23.11 omrežna maska 255.255.255.0 oddajanje 192.168.23.255
inet6 fe80::a00:27ff:fec2:bae4 predpona 64 scopeid 0x20 ether 08:00:27:c2:ba:e4 txqueuelen 1000 (Ethernet)
RX paketi 6412 bajtov 8676619 (8.2 MiB)
RX napake 0 izpuščene 0 prekoračitve 0 okvir 0
Paketi TX 1726 bajtov 289128 (282.3 KiB)
Napake pri pošiljanju 0 padci 0 prekoračitve 0 nosilec 0 trki 0
enp0s8: zastavice=4098 mtu 1500
eter 08:00:27:79:a7:e3 txqueuelen 1000 (Ethernet)
Paketi RX 0 bajtov 0 (0.0 B)
RX napake 0 izpuščene 0 prekoračitve 0 okvir 0
Paketi TX 0 bajtov 0 (0.0 B)
Napake pri pošiljanju 0 padci 0 prekoračitve 0 nosilec 0 trki 0
lo: zastave=73 mtu 65536
inet 127.0.0.1 omrežna maska 255.0.0.0
inet6 ::1 predpona 128 scopeid 0x10 zanka txqueuelen 1 (Lokalna povratna zanka)
Paketi RX 0 bajtov 0 (0.0 B)
RX napake 0 izpuščene 0 prekoračitve 0 okvir 0
Paketi TX 0 bajtov 0 (0.0 B)
Napake pri pošiljanju 0 padci 0 prekoračitve 0 nosilec 0 trki 0
Vmesnik enp0s8 trenutno ni v uporabi, omogočili ga bomo, ko bomo želeli uporabiti proxy NAT ali konfiguracijo NAT. Takrat bi bilo logično, da mu dodelite statični IP.
4. Začnimo nameščati 3proxy
4.1 Namestitev osnovnih paketov za prevajanje 3proxy iz virov
root@debian9:~# apt-get install build-essential libevent-dev libssl-dev -y
4.2. Ustvarimo mapo za prenos arhiva z viri
root@debian9:~# mkdir -p /opt/proxy
4.3. Pojdimo v to mapo
root@debian9:~# cd /opt/proxy
4.4. Zdaj pa prenesimo najnovejši paket 3proxy. V času pisanja je bila zadnja stabilna različica 0.8.12 (18. 04. 2018). Prenesite jo z uradne spletne strani 3proxy
root@debian9:/opt/proxy# wget https://github.com/z3APA3A/3proxy/archive/0.8.12.tar.gz
4.5. Razpakirajmo preneseni arhiv
root@debian9:/opt/proxy# tar zxvf 0.8.12.tar.gz
4.6. Pojdite v nepakiran imenik, da sestavite program
root@debian9:/opt/proxy# cd 3proxy-0.8.12
4.7. Nato moramo v datoteko glave dodati vrstico, da bo naš strežnik popolnoma anonimen (res deluje, vse je preverjeno, IP-ji strank so skriti)
root@debian9:/opt/proxy/3proxy-0.8.12# nano +29 src/proxy.h
Dodajte vrstico
#define ANONYMOUS 1
Pritisnite Ctrl+x in Enter, da shranite spremembe.
4.8. Začnimo sestavljati program
root@debian9:/opt/proxy/3proxy-0.8.12# make -f Makefile.Linux
Makelogmake[2]: Zapuščanje imenika '/opt/proxy/3proxy-0.8.12/src/plugins/TransparentPlugin'
make[1]: Zapuščanje imenika '/opt/proxy/3proxy-0.8.12/src'
Brez napak, nadaljujmo.
4.9. Namestite program v sistem
root@debian9:/opt/proxy/3proxy-0.8.12# make -f Makefile.Linux install
4.10. Pojdite v korenski imenik in preverite, kje je bil program nameščen
root@debian9:/opt/proxy/3proxy-0.8.12# cd ~/
root@debian9:~# whereis 3proxy
3proxy: /usr/local/bin/3proxy /usr/local/etc/3proxy
4.11. Ustvarimo mapo za konfiguracijske datoteke in dnevnike v domačem imeniku uporabnika
root@debian9:~# mkdir -p /home/joke/proxy/logs
4.12. Pojdite v imenik, kjer bi morala biti konfiguracija
root@debian9:~# cd /home/joke/proxy/
4.13. Ustvarite prazno datoteko in vanjo kopirajte konfiguracijo
root@debian9:/home/joke/proxy# cat > 3proxy.conf
3proxy.confdemon
pidfile /home/joke/proxy/3proxy.pid
nserver 8.8.8.8
nscache 65536
uporabniki tester:CL:1234
časovne omejitve 1 5 30 60 180 1800 16 60
log /home/joke/proxy/logs/3proxy.log D
logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
zavrtite 3
močna avtoriteta
flush
dovoli testerju
nogavice -p3128
proxy -p8080
Če želite shraniti, pritisnite Ctrl + Z
4.14. Ustvarimo datoteko pid, da med zagonom ne bo napak.
root@debian9:/home/joke/proxy# cat > 3proxy.pid
Če želite shraniti, pritisnite Ctrl + Z
4.15. Zaženimo proxy strežnik!
root@debian9:/home/joke/proxy# 3proxy /home/joke/proxy/3proxy.conf
4.16. Poglejmo, ali strežnik posluša vrata
root@debian9:~/home/joke/proxy# netstat -nlp
dnevnik netstatAktivne internetne povezave (samo strežniki)
Proto Recv-Q Send-Q Lokalni naslov Tuji naslov Stanje PID/Ime programa
tcp 0 0 0.0.0.0:8080 0.0.0.0:* POSLUŠAJ 504/3proxy
tcp 0 0 0.0.0.0:22 0.0.0.0:* POSLUŠAJ 338/sshd
tcp 0 0 0.0.0.0:3128 0.0.0.0:* POSLUŠAJ 504/3proxy
tcp6 0 0 :::22 :::* POSLUŠAJ 338/sshd
udp 0 0 0.0.0.0:68 0.0.0.0:* 352/dhclient
Kot je bilo zapisano v konfiguraciji, naš spletni proxy posluša vrata 8080, Socks5 proxy posluša vrata 3128.
4.17. Če želite samodejno zagnati storitev proxy po ponovnem zagonu, jo morate dodati v cron.
root@debian9:/home/joke/proxy# crontab -e
Dodajte vrstico
@reboot /usr/local/bin/3proxy /home/joke/proxy/3proxy.conf
Pritisnemo Enter, ker bi cron moral videti znak za konec vrstice, in shranimo datoteko.
Moralo bi biti sporočilo o namestitvi novega crontaba.
crontab: namestitev novega crontaba
4.18. Ponovno zaženimo sistem in se poskusimo prek brskalnika povezati s proxyjem. Za preverjanje uporabljamo brskalnik Firefox (za spletni proxy) in dodatek FoxyProxy za socks5 z avtentikacijo.
root@debian9:/home/joke/proxy# reboot
4.19. Ko preverite delovanje proxyja po ponovnem zagonu, si lahko ogledate dnevnike. S tem je nastavitev proxy strežnika končana.
3 dnevnik proxyja1542573996.018 PROXY.8080 00000 tester 192.168.23.10:50915 217.12.15.54:443 1193 6939 0 CONNECT_ads.yahoo.com:443_HTTP/1.1
1542574289.634 SOCK5.3128 00000 tester 192.168.23.10:51193 54.192.13.69:443 0 0 0 CONNECT_normandy.cdn.mozilla.net:443
Nastavitev in zagon Transparent Proxy NAT konfiguracije
V tej konfiguraciji bodo vse naprave v notranjem omrežju pregledno delovale v internetu prek oddaljenega strežnika proxy. Absolutno vse povezave TCP bodo preusmerjene na enega ali več (resnično razširi širino kanala, primer konfiguracije št. 2!) proxy strežnikov. Storitev DNS bo uporabljala zmogljivosti 3proxy (dnspr). UDP ne bo »šel« navzven, ker še ne uporabljamo mehanizma za posredovanje (privzeto onemogočen v jedru Linuxa).
1. Čas je, da omogočite vmesnik enp0s8
root@debian9:~# nano /etc/network/interfaces
/etc/network/interfaces datoteka# Ta datoteka opisuje vmesnike omrežja so na voljo na vašem sistemu
# Aktivno in kako do njih. Za več informacij si oglejte vmesnike (5).
vir /etc/network/interfaces.d/*
# Vmesnik loopback omrežje
auto lo
iface lo inet loopback
# Primarni omrežni vmesnik
dovoli vročo priključitev enp0s3
iface enp0s3 inet dhcp
# Sekundarni omrežni vmesnik
dovoli vročo priključitev enp0s8
iface enp0s8 inet statični
naslov 192.168.201.254
netmask 255.255.255.0
Tukaj smo vmesniku enp0s8 dodelili statični naslov 192.168.201.254 in masko 255.255.255.0
Shranite konfiguracijo Ctrl+X in znova zaženite
root@debian9:~# reboot
2. Preverjanje vmesnikov
root@debian9:~# ifconfig
dnevnik ifconfigenp0s3: zastavice=4163 mtu 1500
inet 192.168.23.11 omrežna maska 255.255.255.0 oddajanje 192.168.23.255
inet6 fe80::a00:27ff:fec2:bae4 predpona 64 scopeid 0x20 ether 08:00:27:c2:ba:e4 txqueuelen 1000 (Ethernet)
RX paketi 61 bajtov 7873 (7.6 KiB)
RX napake 0 izpuščene 0 prekoračitve 0 okvir 0
Paketi TX 65 bajtov 10917 (10.6 KiB)
Napake pri pošiljanju 0 padci 0 prekoračitve 0 nosilec 0 trki 0
enp0s8: zastavice=4163 mtu 1500
inet 192.168.201.254 omrežna maska 255.255.255.0 oddajanje 192.168.201.255
inet6 fe80::a00:27ff:fe79:a7e3 predpona 64 scopeid 0x20 ether 08:00:27:79:a7:e3 txqueuelen 1000 (Ethernet)
Paketi RX 0 bajtov 0 (0.0 B)
RX napake 0 izpuščene 0 prekoračitve 0 okvir 0
Paketi TX 8 bajtov 648 (648.0 B)
Napake pri pošiljanju 0 padci 0 prekoračitve 0 nosilec 0 trki 0
lo: zastave=73 mtu 65536
inet 127.0.0.1 omrežna maska 255.0.0.0
inet6 ::1 predpona 128 scopeid 0x10 zanka txqueuelen 1 (Lokalna povratna zanka)
Paketi RX 0 bajtov 0 (0.0 B)
RX napake 0 izpuščene 0 prekoračitve 0 okvir 0
Paketi TX 0 bajtov 0 (0.0 B)
Napake pri pošiljanju 0 padci 0 prekoračitve 0 nosilec 0 trki 0
3. Vse je uspelo, zdaj morate konfigurirati 3proxy za transparentno proxy.
root@debian9:~# cd /home/joke/proxy/
root@debian9:/home/joke/proxy# cat > 3proxytransp.conf
Primer konfiguracije transparentnega proxy strežnika št. 1demon
pidfile /home/joke/proxy/3proxy.pid
nserver 8.8.8.8
nscache 65536
časovne omejitve 1 5 30 60 180 1800 16 60
log /home/joke/proxy/logs/3proxy.log D
logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
zavrtite 3
flush
auth iponly
dnspr
dovoli *
parent 1000 socks5 IP_ADDRESS OF EXTERNAL_PROXY 3128 tester 1234
vtičnik /opt/proxy/3proxy-0.8.12/src/TransparentPlugin.ld.so transparent_plugin
tcppm -i0.0.0.0 888 127.0.0.1 11111
4. Zdaj zaženemo 3proxy z novo konfiguracijo
root@debian9:/home/joke/proxy# /usr/local/bin/3proxy /home/joke/proxy/3proxytransp.conf
5. Ponovno dodajte v crontab
root@debian9:/home/joke/proxy# crontab -e
@reboot /usr/local/bin/3proxy /home/joke/proxy/3proxytransp.conf
6. Poglejmo, kaj zdaj posluša naš proxy
root@debian9:~# netstat -nlp
dnevnik netstatAktivne internetne povezave (samo strežniki)
Proto Recv-Q Send-Q Lokalni naslov Tuji naslov Stanje PID/Ime programa
tcp 0 0 0.0.0.0:22 0.0.0.0:* POSLUŠAJ 349/sshd
tcp 0 0 0.0.0.0:888 0.0.0.0:* POSLUŠAJ 354/3proxy
tcp6 0 0 :::22 :::* POSLUŠAJ 349/sshd
udp 0 0 0.0.0.0:53 0.0.0.0:* 354/3proxy
udp 0 0 0.0.0.0:68 0.0.0.0:* 367/dhclient
7. Zdaj je proxy pripravljen sprejeti kakršne koli povezave TCP na vratih 888, DNS na vratih 53, tako da jih je mogoče nato preusmeriti na oddaljeni proxy socks5 in DNS Google 8.8.8.8. Vse kar moramo storiti je, da konfiguriramo netfilter (iptables) in pravila DHCP za izdajanje naslovov.
8. Namestite paket iptables-persistent in dhcpd
root@debian9:~# apt-get install iptables-persistent isc-dhcp-server
9. Uredite zagonsko datoteko dhcpd
root@debian9:~# nano /etc/dhcp/dhcpd.conf
dhcpd.conf#dhcpd.conf
#
# Vzorčna konfiguracijska datoteka za ISC dhcpd
#
# definicije možnosti, skupne vsem podprtim omrežjem ...
možnost ime domene "example.org";
možnost strežniki domenskih imen ns1.example.org, ns2.example.org;
privzeti čas zakupa 600;
najdaljši čas zakupa 7200;
ddns-update-style brez;
# Če je ta strežnik DHCP uradni strežnik DHCP za lokalni
# omrežje, avtoritativna direktiva ne sme biti komentirana.
avtoritativni;
# Nekoliko drugačna konfiguracija za notranje podomrežje.
podomrežje 192.168.201.0 mrežna maska 255.255.255.0 {
obseg 192.168.201.10 192.168.201.250;
možnost strežniki domenskih imen 192.168.201.254;
opcijski usmerjevalniki 192.168.201.254;
možnost oddajanja-naslov 192.168.201.255;
privzeti čas zakupa 600;
najdaljši čas zakupa 7200;
}
11. Ponovno zaženite in preverite storitev na vratih 67
root@debian9:~# reboot
root@debian9:~# netstat -nlp
dnevnik netstatAktivne internetne povezave (samo strežniki)
Proto Recv-Q Send-Q Lokalni naslov Tuji naslov Stanje PID/Ime programa
tcp 0 0 0.0.0.0:22 0.0.0.0:* POSLUŠAJ 389/sshd
tcp 0 0 0.0.0.0:888 0.0.0.0:* POSLUŠAJ 310/3proxy
tcp6 0 0 :::22 :::* POSLUŠAJ 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/3proxy
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
neobdelano 0 0 0.0.0.0:1 0.0.0.0:* 393/dhcpd
12. Vse, kar ostane, je, da preusmerite vse tcp zahteve na vrata 888 in shranite pravilo v 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. Za razširitev pasovne širine kanala lahko uporabite več proxy strežnikov hkrati. Skupaj mora biti 1000. Nove povezave so vzpostavljene z verjetnostjo 0.2, 0.2, 0.2, 0.2, 0,1, 0,1 do navedenih proxy strežnikov.
Opomba: če imamo spletni proxy, potem moramo namesto socks5 napisati connect, če socks4, pa socks4 (socks4 NE PODPIRA AVTORIZACIJE PRIJAVE/GESLA!)
Primer konfiguracije transparentnega proxy strežnika št. 2demon
pidfile /home/joke/proxy/3proxy.pid
nserver 8.8.8.8
nscache 65536
maxconn 500
časovne omejitve 1 5 30 60 180 1800 16 60
log /home/joke/proxy/logs/3proxy.log D
logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"
zavrtite 3
flush
auth iponly
dnspr
dovoli *
nadrejeni 200 socks5 IP_ADDRESS_EXTERNAL_PROXY#1 3128 tester 1234
nadrejeni 200 socks5 IP_ADDRESS_EXTERNAL_PROXY#2 3128 tester 1234
nadrejeni 200 socks5 IP_ADDRESS_EXTERNAL_PROXY#3 3128 tester 1234
nadrejeni 200 socks5 IP_ADDRESS_EXTERNAL_PROXY#4 3128 tester 1234
nadrejeni 100 socks5 IP_ADDRESS_EXTERNAL_PROXY#5 3128 tester 1234
nadrejeni 100 socks5 IP_ADDRESS_EXTERNAL_PROXY#6 3128 tester 1234
vtičnik /opt/proxy/3proxy-0.8.12/src/TransparentPlugin.ld.so transparent_plugin
tcppm -i0.0.0.0 888 127.0.0.1 11111
Nastavitev in izvajanje konfiguracije NAT + Transparent Proxy
V tej konfiguraciji bomo uporabili običajen mehanizem NAT s selektivnim ali popolnoma transparentnim proxyjem posameznih naslovov ali podomrežij. Uporabniki notranjega omrežja bodo delali z določenimi storitvami/podomrežji, ne da bi se sploh zavedali, da delajo prek posrednika. Vse https povezave delujejo brezhibno, nobenih potrdil ni treba generirati/zamenjati.
Najprej se odločimo, katera podomrežja/storitve želimo posredovati. Predpostavimo, da se zunanji posredniki nahajajo tam, kjer deluje storitev, kot je pandora.com. Zdaj je treba določiti njegova podomrežja/naslove.
1. Ping
root@debian9:~# ping pandora.com
PING pandora.com (208.85.40.20) 56(84) bajtov podatkov.
2. V Google vnesite BGP 208.85.40.20
Pojdi na spletno stran
Vidi se, da je podomrežje, ki ga iščem, AS40428 Pandora Media, Inc
Odpiranje v4 predpon
Tukaj so potrebna podomrežja!
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. Če želite zmanjšati število podomrežij, morate izvesti združevanje. Pojdite na spletno mesto
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. Počistite pravila iptables
root@debian9:~# iptables -F
root@debian9:~# iptables -X
root@debian9:~# iptables -t nat -F
root@debian9:~# iptables -t nat -X
Omogoči mehanizem za posredovanje in 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
Da zagotovimo, da je po ponovnem zagonu trajno omogočeno posredovanje, spremenimo datoteko
root@debian9:~# nano /etc/sysctl.conf
In odkomentirajte vrstico
net.ipv4.ip_forward = 1
Ctrl+X, da shranite datoteko
5. Podomrežja pandora.com zavijemo v proxy
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. Držimo se pravil
root@debian9:~# iptables-save > /etc/iptables/rules.v4
Nastavitev in zagon Transparent Proxy prek konfiguracije usmerjevalnika
V tej konfiguraciji je lahko transparentni proxy strežnik ločen osebni računalnik ali virtualni stroj za domačim/korporacijskim usmerjevalnikom. Dovolj je registrirati statične poti na usmerjevalniku ali napravah in celotno podomrežje bo uporabljalo proxy brez dodatnih nastavitev.
POMEMBNO! Potrebno je, da naš prehod prejme statični IP od usmerjevalnika ali pa je sam konfiguriran tako, da je statičen.
1. Konfigurirajte statični naslov prehoda (adapter enp0s3)
root@debian9:~# nano /etc/network/interfaces
/etc/network/interfaces datoteka# Ta datoteka opisuje vmesnike omrežja so na voljo na vašem sistemu
# Aktivno in kako do njih. Za več informacij si oglejte vmesnike (5).
vir /etc/network/interfaces.d/*
# Vmesnik loopback omrežje
auto lo
iface lo inet loopback
# Primarni omrežni vmesnik
dovoli vročo priključitev enp0s3
iface enp0s3 inet statični
naslov 192.168.23.2
netmask 255.255.255.0
Prehod 192.168.23.254
# Sekundarni omrežni vmesnik
dovoli vročo priključitev enp0s8
iface enp0s8 inet statični
naslov 192.168.201.254
netmask 255.255.255.0
2. Dovolite napravam iz podomrežja 192.168.23.0/24 uporabo proxyja
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. Držimo se pravil
root@debian9:~# iptables-save > /etc/iptables/rules.v4
4. Registrirajmo podomrežja na routerju
Seznam omrežij usmerjevalnika199.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
Uporabljeni materiali/viri
1. Uradna spletna stran programa 3proxy
2. Navodila za namestitev 3proxy iz vira
3. 3proxy razvojna veja na GitHubu
Vir: www.habr.com