Objasnit ću ti što jednostavnije jer ne znaju baš svi stručne stvari pa da ne zbunim nekog ko tek uči ove stvari. Global Timeout sam stavio jer su se jedno vrijeme (a možda još uvijek) mogli skenirati neki serveri ako usporiš skeniranje tj. da ne bombarduješ server sa zahtjevima toliko brzo inače će ti banovat IP adresu. Radilo je savršeno sa xtv.satarabia.com. Timeout = 1500 možeš da vidiš i u salezli i mislim i u losmijevom skeneru. Ne znam kako bi ga objasnio jednostavno da razumješ šta se dešava. Pa ajd ovako ću, sve ispod 1500 će preskočit neke liste jer se skener neće puno zadržavat na tom zahtjevu ako bi tako mogao da kažem.
Losmij bi to bolje objasnio.
btw. Što se tiče debug ako se radi u mom skeneru, to je VB net problem. Listbox u koji se zalijepi kombo je ograničen na 32.000. Mislio sam ubacit listview koji je ograničen na količinu RAM memorije al' je užasno spor. Znam da losmij i salezli ne učitavaju kombo liste u aplikaciju i po tome su bolji jer nema limita. Davno sam isto uradio i sa svojim sa samo jednim redom koji čita line by line bez da učitava kompletan fajl u aplikaciju al' za sad nemam vremena da ažuriram sve jer sam ispravio veliki dio koda i dodao 50 multiple simultaneous connections da nešto provjerim
ma nebi losmij bolje objasnio...
...on ovako objasnjava...
na brzinu...
Da samo na brzinu objasnim sta je sta:
servers_file(target)
-je putanja do liste sa url od servera na koji(e) se povezujes, vodi racuna da je url ispravan da ti ne bi dzabe skripta radila a nista ne pronalazila.
na mjesto gdje hoces da ti se mjenja rijec iz rijecnika stavi samo *
global_timeout
-je vrijeme u sekundama koje se pravi izmedju kraja prvog i pocetka novog pokusaja
(samo vrijeme pokusaja 'konekcije' se ne ubraja ovde zato je ono ograniceno sa socket_timeout), to je ono ako te banuju jer perbrzo napadas
ili se kacis samo na jedan server pa ides sa pauzama (global_timeout)
socket_timeout
-je vrijeme u sekundama zauzeca mrezne karte (ne dopusta da vrti u beskonacno),
ukoliko server na koji pokusavas da se konektujes banuje tvoju ip ili ne dopusta da se spojis i citas url adresu ovo ce nakon tog vremena da preskoci taj upit.
Ovo je osigurac da se postavi gornja granica za jednu konekciju ( ako server ima dobar odaziv stavis na 1 ili 0.3 ili cak manje .
Pazi da ima vremena da se konektuje da ne bi preskaklo validne liste.
Ako koristis proxy onda moze i na 2 jer proxy zna da bude spor.
proxies_file
-je lista http ili https proxija
proxies=proxies.ini (apsolutna ili relativna putanja)
proxy je proxy server i stavlja se u obliku bez protokola
Znaci samo ip
ort ili user
ass@ip
ort
Nesto ovako:
user-cid-39458980-uuid-937b670ca2f2102734086ce58bcbb6dd:e18984465b97@178.209.50.243:22222
user-cid-39458980-uuid-937b670ca2f2102734086ce58bcbb6dd:e18984465b97@46.101.78.152:24158
ili ako proxy ne treba user i pass samo ovako jedan ispod drugog
213.136.79.124:80
108.59.10.135:55555
ukoliko se ne navede proxies_file ili je velicina fajla=0 (prazana datoteka)
proxies=
onda se konektujes bez proxy (logicno)
ukoliko koristite proxy koji (u zavisnosti od transparentnosti samog proxy) u vecini slucajeva nije moguece
da se koristi match_response_header(trigger) jer ne prepoznaje headers, taad koristite samo match_word(trigger)
http_headers
-kako samo ime kaze su http header-i, vise o tom vidi na google da ja sad ne pametujem,
imas raznih headera i neki su neophodni pri konekciji jer posluzitelj server to zahtijeva.
Najcese se provjera User-agent, X-Forwarded-For, Referer , ..itd
znaci dodajes u ( ) uredjeni par ime,vrijednost pod navodne znakove i svaki novi odvajas zapetom.
znaci ovako:
[('ime','vrijednost'),('ime','vrijednost'),('ime','vrijednost')]
http_headers=[('User-agent', 'Android),('X-Forwarded-For','212.42.255.255')]
input_file(dictionary)
-je rijecnik (combo lista) koja ce se nakaciti umjesto * na target server
u zavisnosti kako ti je rijec u listi tako formiraj i taget url
npr:
u servers_file(target) je ovako>
http://xtream.iptv-streamer.com:8000/get.php?username=*&password=*&type=m3u
onda u input_file(dictionary) treba da je ovako>
maja
ivana
milica
jelena
slobodanka
......
u servers_file(target) je ovako>
http://xtream.iptv-streamer.com:8000/*
onda u input_file(dictionary) treba da je ovako>
get.php?username=maja&password=maja&type=m3u
get.php?username=ivana&password=ivana&type=m3u
.....
ovom drugom mozes razne kombinacije user
ass da koristite a ne samo iste >>get.php?username=milica&password=jelena&type=m3u
Vodi racuna da su rijeci u rijecniku 'stripovane' tj da nemas viska praznih mijesta ili tabova poslije rijeci jer url nece biti validan.
output_file(working) mislim da ti je jasno
-kreira se i u njega se dopisuju (stari se nikad ne brise) adrese tek nakon sto se nadje validna lista.
lista se ne skida jer moze da se skeniraju i razne api adrese, xml fajlovi pa to ostavljam na volju da kasnije sam skines i snimis
match_word(trigger)
-je rijec koja se mora da nalazi u http odgovoru nakon citanja url adrese. nije bitno gdje i na kom mjestu i koliko puta
match_response_header(trigger)
je header koja se mora da nalazi u http response headerima nakon citanja url adrese.
moze da se koristi u kombinaciji sa match_word(trigger) al u tom slucaju oba uslova moraju da budu ispunjena da bi
se rezultat okerakterisao kao pozitivan.
header se stavlja u istom formatu kao i prethodni http_headers,s tim da moze samo jedan uredjeni par>>
match_response_header(trigger)=[('Content-Type', 'application/vnd.apple.mpegurl')]
To se moze da koristi kod skeniranja kanala a ne lista, jer neki kanali su ott i ne mogu da se citaju jer se dinamicki preuzimaju sa neta
ili kod skeniranja kanala na astrama ili m3u8 kanala>>
http://fr.nstrim.com/ss2hd/index.m3u8
gdje u dictionary.ini ide ss2hd
a u servers.ini ide
http://fr.nstrim.com/*/index.m3u8
uglavnom ovo koristi bas ako nije moguce citati listu, tj naci listu preko match_word(trigger) jer nema potrebe
Vodi samo racuna da je ovako poredano u config.ini fajlu, ovim redoslijedon jedno ispod drugog jer tako ih cita po rednom broju a ne imenu
servers_file(target)=
global_timeout=
socket_timeout=
proxies_file=
http_headers=
input_file(dictionary)=
output_file(working)=
match_word(trigger)=
match_response_header(trigger)=
ukoliko se neki od podataka ne navede, defaultne vrijednosti ce biti upisane
ukoliko jedan od trigger nije naveden ili nije naveden pravilno match_word(trigger) ima prioritet i postavlja se defaulno na rijec http
Jedino proxy= moze da ostane prazno i u tom slucaju ides mreko svoje IP adrese dok ostale vrijednosti moraju biti validne.
Ako se ne mozes sjetiti kako ide ili nesto zabrljas samo obrisi config.ini skripta ce da napravi novi u kome onda podesavaj nanovo.