Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Multithreading Sock's Cheker [Python Script] (https://forum.antichat.xyz/showthread.php?t=96862)

De-visible 17.12.2008 23:10

Multithreading Sock's Cheker [Python Script]
 
Multithreading Sock's Cheker



PHP код:

#!/usr/bin/env python2.5
#c0ded by De-visible
import pycurl
import urllib
import time
import threading
import Queue
from cStringIO import StringIO
import signal

WORKERS 
250 # максимальное число потоков
Queue.Queue()
good_prox = []

def AboutScript(): 
    print 
"""
                ###############About################ 
                #                                  # 
                #   [Sock's cheker]Script v        # 
                #                                  # 
                #___c0ded by De-visible____________#       
                #___GreetZ to antichat.ru__________# 
                #___ICQ: 22-3333-575_______________# 
                #___special for antichat's users___# 
                #___(c)2008________________________# 
                #################################### 
\n\n""" 

def check_socks5(targetptype=None):
    
ipport target.split(':')
    
curl pycurl.Curl()
    
io StringIO()
    
curl.setopt(pycurl.URL'http://ya.ru/')# сайт для коннекта(проверка сокса)
    #curl.setopt(pycurl.VERBOSE, 1)
    
curl.setopt(pycurl.CONNECTTIMEOUT5)
    
curl.setopt(pycurl.TIMEOUT100)# таймаут
    
curl.setopt(pycurl.USERAGENT'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11')
    
curl.setopt(pycurl.WRITEFUNCTIONio.write)
    
curl.setopt(pycurl.NOSIGNAL1)
    if 
ptype:
        if 
ptype == 'socks5':
            
curl.setopt(pycurl.PROXYTYPEpycurl.PROXYTYPE_SOCKS5)
        
elif ptype == 'socks4':
            
curl.setopt(pycurl.PROXYTYPEpycurl.PROXYTYPE_SOCKS4)
        
elif ptype == 'http':
            
curl.setopt(pycurl.PROXYTYPEpycurl.PROXYTYPE_HTTP)
        
curl.setopt(pycurl.PROXYip)
        
curl.setopt(pycurl.PROXYPORT,int(port) )
    try:
        
curl.perform()
    
except pycurl.errormsg:
        
pass
    
else:
        
res ':'.join((ipport.strip()))
        
good_prox.append(res)
    finally:
        
curl.close()
        
io.close()

def chek_sock(ptype=None):
    global 
q
    
while True:
        try:
            
item q.get_nowait()
        
except Queue.Empty:
            break
        
check_socks5(itemptype)

def check_proxy(serversptype):
    global 
q
    
global good_prox
    
for item in servers:
        
q.put(item)

    for 
i in xrange(WORKERS):
        
threading.Thread(target=chek_sockargs=(ptype,))
        
t.setDaemon(False)
        
t.start()
    while 
threading.activeCount() != 1:
        
time.sleep(5)
    else:
        return 
good_prox

AboutScript
()
if 
__name__ == '__main__':
    
#import sys #после подключения модуля можно получать путь к файлу через
    #командную строку
    
open('sock.txt''r')#список sock's, здесь можно использовать
    #получение пути к файлу через командную строку, модуль sys
    
good check_proxy(f.readlines(), ptype='socks5')
    for 
p in good :
        print 


P.S. задание....

BlackSun 17.12.2008 23:13

Теперь все релизы будем в закрытом разделе публиковать? на приват не тянет, никак.

.Slip 17.12.2008 23:16

Переезд.

Spyder 17.12.2008 23:17

как бы раздел то не для привата. Приват вон удаляют только так. Раздел что бы свои знания показать. Разве шелл от d_x'a можно назвать приватом? шелл как шелл

De-visible 17.12.2008 23:17

перемещайте)

alextoun 17.12.2008 23:41

+ как почитателю питона......тока думаю, жто всё таки надо было кидать в паблик

Tigger 18.12.2008 01:50

Молодец! Ждем еще релизов от тебя =))


Время: 22:55