Nginx – udpxy proxy apsauga

Nginx - udpxy proxy apsauga 1

Tekstas atnaujintas: 2020-05-01

Kartais noriu IPTV matyti pas draugų ir tarkim nenoriu būti atidarius porto, kad pašaliniai galėtų žiūrėti. Labai daug žmonių yra kurie skenuoja IP ir portus ir ieško udpxy skylės žiūrėti. Šitam reikalaui panaudosim Nginx HTTP programą kuri turi įdomių dalykų bet mums užteks tik padaryti, kad prijungtų prie udpxy per visai kitą adresą ir portą bei uždėtų vartotoją ir kodą.

Galima su Iptables atidaryti portą tam tikriems IP bet visų IP nežinosi ir paprasčiau tiesiog  žinoti tam tikrą user ir password ir savo IP.

Į savo Asus reikėjo įrašyti Nginx, paprasčiausias būdas tai padaryti su ENTWARE-NG. Tai programų paketas, programas galima įsirašyti įvedus opkg update komandą pradžioje ir tada opkg paketo_pav install atsiunčiamas tam tikras paketas ir įrašomas. Visas programas įrašo į USB laikmeną taip pat šitas linkas skirtas tik ARM routeriams.

Komandos vestos į Asus routerį su OpenWRT reiktų truputį kitaip.

Komandos:

cd /tmp
wget -c -O entware-ngu-setup.sh http://goo.gl/hshQkA
chmod +x ./entware-ngu-setup.sh
./entware-ngu-setup.sh

Tame linke daugiau info apie ENTWARE. Jeigu nori gali pasiskaityti, daugiau apie juos neturiu ką pasakyti.

Taigi:

opkg install nginx

Nginx įrašytas, paleisti galima tiesiog įvedus komandą nginx.

Konfigas randasi:

/mnt/tavo usb laikmena/entware-ng.arm/etc/nginx

Atsidarius konfigą reikia papildyti jis pas mane atrodo daugmaž taip:

user nobody;
worker_processes 1;

events {
worker_connections 64;
}
http {
include mime.types;
default_type application/octet-stream;

sendfile on;

keepalive_timeout 65;

server {
listen 81;
server_name localhost;

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

location / {
proxy_pass http://192.168.1.1:4022/udp/;

auth_basic “Restricted”;
auth_basic_user_file /mnt/OPTWARE/entware-ng.arm/etc/nginx/htpasswd;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}

}

}

Dalies dalykų čia gal ir nereikia, bet jeigu veikia tai nemaišo 😀

server {
listen 81;
server_name localhost;

Nurodomas portas ant kurio veiks tai yra 81.

Nurodom udpxy adresą:

location / {
proxy_pass http://192.168.1.1:4022/udp/;

Viskas galim tikrint. Udpxy turėtų būti pasiekiama tokiu adresu: http://192.168.1.1:81/239.2.3.11:1234 išnyksta /udp/ dalis. Nginx veikia jau kaip tarpininkas beliko tik atsidaryti 81 portą.

Jeigu norim uždėti user ir password reikia papildomo failo tai yra htpasswd. Kvailai bet jis kuriamas tik su apache2 bet internetai padės čia, yra toks puslapis http://www.htaccesstools.com/htpasswd-generator/ kuriame galima susikurti tą failą. Kai įvedama user ir password gaunama kažkas panašaus: test:$apr1$h7e6o/aY$ugfQ06ntSLvBLB1.ffhnF0 šitą reikalą reikia įrašyti į htpasswd. Nginx konfige reikia nurodyt iš kur paimti failą:

auth_basic “Restricted”;
auth_basic_user_file /mnt/usb laikmena/entware-ng.arm/etc/nginx/htpasswd;
}

Perkauti Nginx galima su komanda:

nginx -s reload

Tada vedant http://192.168.1.1:81/239.2.3.11:1234 į VLC prašys vartotojo ir kodo kurį žinai tik tu. Jei nori iškart paleisti be vedimo: http://user:[email protected]:81/239.2.3.11:1234 vietoj user ir password rašai savo sugalvotus.

Ar patiko įrašas?

Spausk jog įvertinti.

Vidutinis įvertinimas / 5. Įvertino:

Įvertinimų nėra, būk pirmas!

Jeigu įrašas patiko...

Pasidalink!

Jeigu įrašas nepatiko.

Padėk patobulinti įrašą!

Būtų malonu sužinoti kodėl?


Jeigu patiko įrašas, siūlau prenumeruoti, kaip tai padaryti aprašiau čia (el. paštu, telegram ir discord kanalai, facebook, twitter).

Gal patiks ir kiti įrašai