[Tutorial] FastDL/Download url cu NGINX

Tutoriale pentru Counter-Strike aprobate de eXtream!

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

User avatar
DevilBoy.eXe
Super moderator
Super moderator
Posts: 1678
Joined: 05 Jun 2016, 23:04
Detinator Steam: Da
Detinator server CS: GO.WARED.RO
SteamID: DevilBoy_eXe
Reputatie: Super Moderator
Fond eXtream: 0
Location: beyond the time
Discord: zeux.
Has thanked: 15 times
Been thanked: 71 times
Contact:

19 Oct 2018, 00:34

Pentru început ce ce asta FastDL (de la Fast Download) - este sistem cu ajutorul căruia are loc downloadarea rapidă a fișierelor de pe servere. Cei care hostează direct serverele, nu au nevoie de acest manual, firmele de host oferă FastDL absolut gratis. Dacă însă ai decis să deschizi unul sau mai multe servere pe un VPS/VDS, atunci acest manual îți va fi de folos.

În acest tutorial voi încerca să explic cum să faci corect un FastDL cu ajutorul nginx. Pentru început, de ce nginx? - Este rapid, mai puțin sensibil la atacuri (http flood), și mult mai puțin ambițios la consumul de resurse, decât apache.

Instalarea o voi explica pe baza sistemului de operare Debian, Ubuntu si Centos
Deci ne logăm pe VDS și începem:

Debian/Ubuntu

Code: Select all

apt-get update
apt-get install -y nginx
Centos

Code: Select all

yum install -y nginx
Mergem în directorul nginx:

Code: Select all

cd /etc/nginx
Ștergem șablonul, o să configurăm totul în config-ul principal, pentru ca totul să fie la îndemână

Code: Select all

rm -f sites-available/default
Folosind un editor de text, deschidem nginx.conf (eu prefer nano)

Code: Select all

nano nginx.conf
Și îl aducem sub o așa formă

Code: Select all

user root;
worker_processes  1;

error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
    use epoll;
}

http {
    include       /etc/nginx/mime.types;

    access_log    /var/log/nginx/access.log;

    sendfile        on;
    tcp_nopush     on;
    keepalive_timeout  15;
    tcp_nodelay        on;
    directio 5m;
    expires max;

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;

    server {
        #listen 80;
        location / {
                root   /var/www/;
                index  index.html index.htm;
                set $limit_rate 3m; #limitam viteza de download pana la 3 mb
        }
        location ~ /(.*)/.*\.cfg { # interzicem downloadarea fisierelor cfg
                deny all;
        }
        location ~ /(.*)/addons/ { # interzicem accesul la addons
                deny all;
        }
        location ~ /(.*)/logs/ { # interzicem accesul la logg-uri
        deny all;
        }

     }

}
Mai departe creăm un director cu numele www

Code: Select all

mkdir /var/www
Iar acum ceva mai interesant. Noi doar nu dorim să încărcăm manual fișierele în /var/www ? De aceea vom crea un symlink din directorul cstrike al serverului în directorul /var/www

Code: Select all

ln -s /calea/spre/cstrike /var/www/NUME_LINK
De exemplu

Code: Select all

ln -s /home/hlds/cstrike /var/www/fast
Dacă avem mai multe servere facem în felul următor

Code: Select all

ln -s /home/hlds_zombie/cstrike /var/www/zm
ln -s /home/hlds_pub/cstrike /var/www/pub
Și așa mai departe. Calea spre servere o schimbăm în ale noastre.

Restartăm nginx

Code: Select all

/etc/init.d/nginx restart
Acum fișierele se pot descărca folosind link-ul

Code: Select all

http://IP/fast/maps/de_dust2.bsp
Unde fast reprezintă NUME_LINK

Nu uităm să adăugăm în server.cfg

Code: Select all

sv_downloadurl "http://IP/NUME_LINK/"
sv_allowdownload 1
Urmeaza tutorialu asta si o sa ai downloadurl personal
Last edited by DevilBoy.eXe on 19 Oct 2018, 00:37, edited 2 times in total.
Reason: Acest tutorial nu l-am facut personal ci este luat de pe net, ii multumesc autorului original
RoyalServer
User avatar
faKe91
Fost moderator
Fost moderator
Posts: 1064
Joined: 07 Oct 2014, 18:49
Detinator Steam: Da
CS Status: I <3 Heavy Metal
SteamID: dogseatmypancreas
Reputatie: Fost moderator ajutator
Fost Membru Club eXtreamCS (doua luni)
Fond eXtream: 0
Location: Republica Moldova, Chișinău
Has thanked: 9 times
Been thanked: 12 times

19 Oct 2018, 09:03

DevilBoy.eXe wrote:ii multumesc autorului original
Adica mie :D
Mero^
Membru, skill +1
Membru, skill +1
Posts: 132
Joined: 17 Dec 2017, 22:41
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Detinator server CS: bromybro1
SteamID: bromybro1
Fond eXtream: 0
Has thanked: 4 times
Been thanked: 3 times
Contact:

08 Jun 2020, 08:13

User avatar
levin
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 3844
Joined: 24 Aug 2011, 12:24
Detinator Steam: Da
CS Status:
Detinator server CS: ☯∴
SteamID: riseofevo
Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy
Location: ҳ̸Ҳ̸ҳ
Discord: devilclass
Has thanked: 36 times
Been thanked: 594 times
Contact:

08 Jun 2020, 18:23

change port of nginx, port isn't important for dwd, just to not be firewalled
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
Mero^
Membru, skill +1
Membru, skill +1
Posts: 132
Joined: 17 Dec 2017, 22:41
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Detinator server CS: bromybro1
SteamID: bromybro1
Fond eXtream: 0
Has thanked: 4 times
Been thanked: 3 times
Contact:

09 Jun 2020, 01:22

L E V I N wrote:
08 Jun 2020, 18:23
change binded port for nginx, port isn't important, just to not be firewalled
Can you explain more please?
Mero^
Membru, skill +1
Membru, skill +1
Posts: 132
Joined: 17 Dec 2017, 22:41
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Detinator server CS: bromybro1
SteamID: bromybro1
Fond eXtream: 0
Has thanked: 4 times
Been thanked: 3 times
Contact:

09 Jun 2020, 05:41

WickeDCSX
Membru, skill +1
Membru, skill +1
Posts: 114
Joined: 15 Mar 2015, 23:13
Detinator Steam: Da
CS Status: linux
Detinator server CS: GO.ELDERS.RO
SteamID: DA
Fond eXtream: 0
Location: Suceava
Contact:

03 Apr 2022, 17:36

singura problema e ca fisierele .ini pot fi accesate mai ales users.ini !
Image
User avatar
d e a l e r -
Membru eXtream
Membru eXtream
Posts: 2462
Joined: 13 Feb 2016, 16:52
Detinator Steam: Da
CS Status: Connection lost
Reputatie: Fost eXtream Mod
Fost Membru Club eXtreamCS (1 luna)
Fond eXtream: 0
Location: Mediaş, Sibiu, România
Discord: dealer1945
Has thanked: 33 times
Been thanked: 79 times
Contact:

07 Apr 2022, 19:43

WickeDCSX wrote:
03 Apr 2022, 17:36
singura problema e ca fisierele .ini pot fi accesate mai ales users.ini !
Încearcă să adaugi în nginx.conf linia

Code: Select all

        location ~ /(.*)/.*\.ini { # interzice descărcarea fișierelor .ini
                deny all;
        }
User avatar
Mutex
Fost administrator
Fost administrator
Posts: 4726
Joined: 24 Mar 2011, 22:32
Detinator Steam: Da
Reputatie: Fost administrator
Location: Bucuresti
Discord: mutex21
Has thanked: 108 times
Been thanked: 167 times
Contact:

07 Apr 2022, 20:16

d e a l e r - wrote:
07 Apr 2022, 19:43
WickeDCSX wrote:
03 Apr 2022, 17:36
singura problema e ca fisierele .ini pot fi accesate mai ales users.ini !
Încearcă să adaugi în nginx.conf linia

Code: Select all

        location ~ /(.*)/.*\.ini { # interzice descărcarea fișierelor .ini
                deny all;
        }

Code: Select all

	# Allowing folders
	location ~/(materials|models|particles|sprites|resource|sound|fonts|maps|gamemodes|overviews|gfx) {
		# Allowing files with that file extensions
		location ~\.(ain|bsp|nav|bz2|vtf|vmt|vtx|vvd|mdl|phy|pcf|wav|mp3|otf|ttf|png|txt|wad|bmp|tga|lst|lmp|spr|svg)$ {
			allow all;
		}
		
		deny all;
	}
User avatar
d e a l e r -
Membru eXtream
Membru eXtream
Posts: 2462
Joined: 13 Feb 2016, 16:52
Detinator Steam: Da
CS Status: Connection lost
Reputatie: Fost eXtream Mod
Fost Membru Club eXtreamCS (1 luna)
Fond eXtream: 0
Location: Mediaş, Sibiu, România
Discord: dealer1945
Has thanked: 33 times
Been thanked: 79 times
Contact:

08 Apr 2022, 17:06

Mutex wrote:
07 Apr 2022, 20:16
d e a l e r - wrote:
07 Apr 2022, 19:43
WickeDCSX wrote:
03 Apr 2022, 17:36
singura problema e ca fisierele .ini pot fi accesate mai ales users.ini !
Încearcă să adaugi în nginx.conf linia

Code: Select all

        location ~ /(.*)/.*\.ini { # interzice descărcarea fișierelor .ini
                deny all;
        }

Code: Select all

	# Allowing folders
	location ~/(materials|models|particles|sprites|resource|sound|fonts|maps|gamemodes|overviews|gfx) {
		# Allowing files with that file extensions
		location ~\.(ain|bsp|nav|bz2|vtf|vmt|vtx|vvd|mdl|phy|pcf|wav|mp3|otf|ttf|png|txt|wad|bmp|tga|lst|lmp|spr|svg)$ {
			allow all;
		}
		
		deny all;
	}
Sau așa :)))
Eu i-am dat linia aceea pentru că în conf-ul din primul post se regăsește acea linie care blochează downloadarea fișierelor .cfg.
Dar ce ai lăsat tu e mai ok, nu trebuie să faci pentru fiecare extensie câte o linie separată.
WickeDCSX
Membru, skill +1
Membru, skill +1
Posts: 114
Joined: 15 Mar 2015, 23:13
Detinator Steam: Da
CS Status: linux
Detinator server CS: GO.ELDERS.RO
SteamID: DA
Fond eXtream: 0
Location: Suceava
Contact:

23 Apr 2022, 03:52

Daca cunosc cu exactitate locatia fisierului .ini il pot deschide in browser si vad toti admini adaugati . Chiar si cu setarea lui Mutex eu tot pot accesa acel fisier .ini in browser
Image
[M]Maasym
Membru, skill 0
Membru, skill 0
Posts: 41
Joined: 23 Sep 2015, 22:56
Detinator Steam: Da
CS Status: Nimic interesant
Detinator server CS: Zm.CsBlackDevil.Com
Reputatie: Membru Club eXtreamCS (exp: Iunie 2023)
Fond eXtream: 0
Location: Bucharest
Has thanked: 8 times
Been thanked: 1 time
Contact:

23 Apr 2022, 05:59

Intrebare:
1. Daca se face FastDLL-ul pe un VPS separat fata de cel unde sunt serverele in sine special doar pentru asta se evita accesarea fisierelor nedorite precum users.ini?
2. E posibil asa ceva si in acelasi timp este exista o modalitate ceva de a nu urca resursele manual? mai functioneaza asa zis-ul simlink?
Zm.CsBlackDevil.Com
Post Reply

Return to “Tutoriale”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 10 guests