gigaevil Posted August 13, 2011 Report Posted August 13, 2011 (edited) Pentru ca toata lumea de pe Romanian Security Team vor baze de date cu email pentru a creea spam, m-am gandit astazi sa fac un crawler multi-paralel. Se introduc toate linkurile pentru a fi indexate, fiecare link e scos pe cate un thread separat, astfel daca initial am introdus 10 siteuri de indexat, vor fi scanate concurent de 10 thread-uri. Se pot introduce atatea cat fi executate de procesor.Baza de date, este un fisier txt, in care se salveaza, dar nu se verifica daca mai a existat vreodata .http://www.multiupload.com/QUP96IQXTASoft-ul reuseste sa indentice si sales[@]q2m[.]net sau andrei[at]realitatea dot net. Lucreaza asincron pe fiecare thread, doar pentru afisare se foloseste sectiune critica si se folosesc semafoare Edited August 13, 2011 by gigaevil 3 Quote
XandZero Posted August 13, 2011 Report Posted August 13, 2011 The file link that you requested is not valid. Please contact link publisher or try to make a search. uploadeaza pe multiupload.. Quote
gigaevil Posted August 13, 2011 Author Report Posted August 13, 2011 (edited) The file link that you requested is not valid. Please contact link publisher or try to make a search. uploadeaza pe multiupload..Ce serviciu web de 2 bani.... Multiupload.com - upload your files to multiple file hosting sites!Edit2: Ideea e ca e limitat un thread(sa nu manance mult procesor, ideea e ca sa deschizi foarte multe threaduri, si atunci lucreaza bine... trebuie specificat la orice link http://Facut in 12-13 ore Edited August 13, 2011 by gigaevil Quote
Gabriel87 Posted August 13, 2011 Report Posted August 13, 2011 (edited) E clean ?l-a verificat cinevaEdit : Ok , multumesc gigaevil merge perfect Edited August 13, 2011 by Gabriel87 Quote
gigaevil Posted August 13, 2011 Author Report Posted August 13, 2011 Daca nu am ceva in compilator(adica sa faca un binding automat) nu ar trebui... ca e dabia scos de la cuptor.File InfoReport date: 2011-08-13 19:40:56 (GMT 1)File name: gicrawler-exeFile size: 1470976 bytesMD5 Hash: 9e84eb44951fa608a13b283a9d16c743SHA1 Hash: 24e47f49bdf6093255989dac0a9600b8f9d42882Detection rate: 0 on 5 (0%) Status: CLEAN DetectionsAVG - Avira AntiVir - ClamAV - Emsisoft - TrendMicro - Quote
MagicThunder Posted August 13, 2011 Report Posted August 13, 2011 Antivirus Version Last Update ResultAhnLab-V3 2011.08.13.00 2011.08.13 -AntiVir 7.11.13.37 2011.08.12 -Antiy-AVL 2.0.3.7 2011.08.13 -Avast 4.8.1351.0 2011.08.13 -Avast5 5.0.677.0 2011.08.13 -AVG 10.0.0.1190 2011.08.13 -BitDefender 7.2 2011.08.13 -CAT-QuickHeal 11.00 2011.08.13 -ClamAV 0.97.0.0 2011.08.13 -Commtouch 5.3.2.6 2011.08.13 -Comodo 9732 2011.08.13 -DrWeb 5.0.2.03300 2011.08.13 -Emsisoft 5.1.0.8 2011.08.13 -eSafe 7.0.17.0 2011.08.10 -eTrust-Vet 36.1.8499 2011.08.12 -F-Prot 4.6.2.117 2011.08.13 -F-Secure 9.0.16440.0 2011.08.13 -Fortinet 4.2.257.0 2011.08.13 -GData 22 2011.08.13 -Ikarus T3.1.1.107.0 2011.08.13 -Jiangmin 13.0.900 2011.08.13 -K7AntiVirus 9.109.5010 2011.08.12 -Kaspersky 9.0.0.837 2011.08.13 -McAfee 5.400.0.1158 2011.08.13 -McAfee-GW-Edition 2010.1D 2011.08.13 -Microsoft 1.7104 2011.08.13 -NOD32 6374 2011.08.13 -Norman 6.07.10 2011.08.12 -nProtect 2011-08-13.02 2011.08.13 -Panda 10.0.3.5 2011.08.13 -PCTools 8.0.0.5 2011.08.13 -Prevx 3.0 2011.08.13 -Rising 23.70.04.03 2011.08.12 -Sophos 4.67.0 2011.08.13 -SUPERAntiSpyware 4.40.0.1006 2011.08.13 -Symantec 20111.2.0.82 2011.08.13 -TheHacker 6.7.0.1.276 2011.08.13 -TrendMicro 9.500.0.1008 2011.08.13 -TrendMicro-HouseCall 9.500.0.1008 2011.08.13 -VBA32 3.12.16.4 2011.08.13 -VIPRE 10150 2011.08.12 -ViRobot 2011.8.13.4621 2011.08.13 -VirusBuster 14.0.167.0 2011.08.13 -E clean nu a detectat nimic. Quote
gigaevil Posted August 13, 2011 Author Report Posted August 13, 2011 Mai incerc o data sa explic ideea:Ideea e ca daca veti pune doar un singur URL(adica doar un site de indexare) o sa fie deschis un singur thread care crawlereaza destul de greu, am si modificat prioritatile thread-urile sa fie low, sa nu foloseasca procesorul mare.Ideea e ca sa aveti 50 de URL-uri diferite deoarece el indexeaza 50 de siteuri in acelasi timp asincron astfel viteza de procesare creste de 50 de ori.Adresele de email sunt salvate in cate un fisier, si deoarece le scriu imediat cum le gasesc(adica le scriu in parcurs) nu verific daca a mai fost introdus, in urmatorul update o sa le sortez si sa le verific cu cautari binare daca mai exista sau nu aceea adresa de email. In numai un 2 minute am gasit 5000 de adrese de email de pe 30 de siteuri diferite.Cateodata la anumite pagini se mai blocheaza(din cauza ca nu reuseste sa downloadeze pagina respectiva) data viitoare ca nu mai am chef sa citesc ceva o sa ma uit pe functia de downloadeaza pagina de pe URL respectiv. Quote
GarryOne Posted August 13, 2011 Report Posted August 13, 2011 in ce limbaj l-ai facut si care e modul de functionare Quote
gigaevil Posted August 13, 2011 Author Report Posted August 13, 2011 (edited) Initial l-am inceput in IDE Borland C++ Builder 6.0 nu am stiut sa fac functia de a lua continutul de la un anumit URL asincron, si dupa aceea am scris unitul in Borland Delphi 6.0 si am avut problele cand am incercat sa import functia din pascal in C++(eu vroiam asincron) de niste threaduri. Si ca nu am reusit sa ma prind din ce cauza era problema de incompatibilitati, este scris in totalitate in Borland Delphi 6.0, limbaj Pascal.PS: De ce l-am facut? Tu imi trebuia mie un crawler pentru a putea creea o baza de cunostinte mare, eu incerc sa scriu un sistem expert.... bine o sa sterg functia cu cautarea dupa adrese de email. Edited August 13, 2011 by gigaevil Quote
gigaevil Posted August 13, 2011 Author Report Posted August 13, 2011 Soft-ul este facut doar in 12 ore, codul sursa se poate descarca de aici : Multiupload.com - upload your files to multiple file hosting sites! Quote
robertutzu Posted August 13, 2011 Report Posted August 13, 2011 E misto ca mai vine cineva si cu cate ceva facut in totalitate de el ...numai munca depusa...respect pt asta! Quote
gigaevil Posted August 13, 2011 Author Report Posted August 13, 2011 E misto ca mai vine cineva si cu cate ceva facut in totalitate de el ...numai munca depusa...respect pt asta!Soft-ul pentru mine a fost gandit in felul urmator.... eu incerc sa fac un sistem expert in guru, iar pentru asta incerc sa fac o baza mare de cunostinte, iar pentru a o creea imi trebuie sa fac un crawler, si dupa aia reprezentare relationala sub forma de reguli/clauze nu sub forma de mostenire. Si am modificat sursa pentru email-uri. Quote
XgaMeR Posted August 22, 2011 Report Posted August 22, 2011 Asi vrea sa stiu daca trebuie sa folosesti proxy ? Quote
gigaevil Posted August 22, 2011 Author Report Posted August 22, 2011 Nu permite sa folosesti proxy-uri. Nici nu as vedea rostu de proxy pentru un astfel de soft. Quote
Andrei Posted August 22, 2011 Report Posted August 22, 2011 Oaaaa, de ce nu ai ales un limbaj mai web friendly? Sistemul expert va fi tot in Delphi? Ai nevoie de proxy-uri pentru ca majoritatea API-urilor (spre exemplu cele de la Google) sunt limitate si e posibil sa te confrunti cu o chestie similara si la crawling. Eu daca as vedea ca-mi faci 100 de requesturi intr-o secunda ti-ai lua ban. Pentru asta-i necesar. Elimina duplicate content? P.S: Ai inceput sa faci si chestii Open Source? :> Quote
aphex Posted August 22, 2011 Report Posted August 22, 2011 Ce fac functiile EnterCirticalSection si LeaveCriticalSection ?? Quote
gigaevil Posted August 22, 2011 Author Report Posted August 22, 2011 (edited) @Andrei sistemul expert e scris in C++ Builder, nu elimina chestile duplicate ca atunci cum gasesc adresa de email o scriu intr-un stream, fara sa cautat daca mai e... l-am facut in delphi ca nu stiam sincronizare in c++Ma cautat cineva sa ii dau sursa si m-am gandit sa postez codul sursa. Ideea era sa ai paralel 100 de sit-uri diferite.@aphex, Threadurile lucreaza asincron adica proceseaza singure paralel, si cand vreau sa accesez niste variabile comune(nu mai stiu care) se pot nimeri ca in acelasi timp threadurile citesc si scriu o variabila, si va trebui sa le sincronizez, si ceea mai simpla metoda era printr-o sectiune critica. O alta solutie mult mai simpla era prin mutex-uri dar pierdea ceva timp cu mutex-urileDintr-un cod paralel se transforma intr-un cod neparalel, si sunt executate ca intr-o coada. Sistemul de operare face rezolvarea sectiunilor critice cu problema filozofilor Edited August 22, 2011 by gigaevil Quote