02-05-2016, Saat: 16:18
Pc bölümündeki ProxyChecker.exe uygulamasının kodudur. Programı geliştirmek isteyenler editleyip pyinstaller ile tekrar derleme yapabilirler. Örnek Tkinter ile ilgili örnek bir konu olsun diye vermek istedim. Ama pc'den python ile çalıştırmak isteyenler içerisindeki bazı Tkinter ek modülleri yüklemelidir. Zaten çalıştırılınca eksik modüller konsolda karşınıza çıkacaktır. Tabiki de bu geliştirme aşamasına gelenler için bir örnektir.
PHP Kod:
# -*- coding: utf-8 -*-
from Tkinter import *
from tkMessageBox import *
from tkFileDialog import askopenfilename
import ImageTk
import wckToolTips
import tkMessageBox
import os
import sys
import httplib
import urllib2
import time
from contextlib import closing
from random import shuffle
import re, threading
import win32clipboard
pencere4=Tk()
pencere4.title("Python Proxy Tarama")
#pencere4.transient(pencere)
pencere4.resizable(width=FALSE, height=FALSE)
pgen = 400
pyuks = 400
ekrangen = pencere4.winfo_screenwidth()
x = (ekrangen - pgen) / 2
pencere4.geometry("%dx%d+%d+%d"%(pgen, pyuks, x, 70))
liste = Listbox(pencere4, font="DejaVuSans 12")
liste.pack(side=LEFT,fil=BOTH, expand=1)
try:
for i in open("ProxyListe.txt").read().split("\n"):
liste.insert(END, i)
except:
open("ProxyListe.txt","w").close()
liste.delete(END, 0)
###################### PROXY TARAMA FONKSIYONLARI (sabit) ################################
tbl = [] ##
ValidIPRegex = '(\d+\.\d+\.\d+\.\d+).*?(\d{2,5})' ##
tekrarsayisi = 1 ##
maxthreads = 200 ##
LOADURL = 'http://plai.de' ##
time_out = 3 ##
network = True ##
##
def wtf(yaz): ##
liste.insert(END, yaz) ##
def is_OK(ip): ##
global network ##
try: ##
proxy_handler = urllib2.ProxyHandler({'http': ip}) ##
opener = urllib2.build_opener(proxy_handler) ##
urllib2.install_opener(opener) ##
req = urllib2.Request(LOADURL) ##
t = time.time() ##
res = urllib2.urlopen(req, timeout=time_out) ##
t2 = time.time() - t ##
if res.read() == 'NOthing\n': ##
print ip, 'çalışıyor', t2, 'saniye' ##
wtf(ip) ##
else: ##
print ip, 'proxy gereken cevabı yollamadı, atlanıyor.' ##
network = True ##
except Exception as e: ##
if str(e) == '<urlopen error [Errno 101] Network is unreachable>': ##
print 'Ağ hatası, 1 saniye sonra tekrar denenecek' ##
network = False ##
time.sleep(1) ##
is_OK(ip) ##
else: ##
network = True ##
##
def baslat(): ##
sayac = 0 ##
while sayac < tekrarsayisi: ##
print str(sayac + 1) + '. deneme başlatıldı' ##
for x in tbl: ##
while not network: ##
time.sleep(1) ##
while threading.activeCount() >= maxthreads: ##
time.sleep(0.1) ##
threading.Thread(target=is_OK,args=(x,)).start() ##
sayac = sayac + 1 ##
##
##########################################################################################
def proxyrox():
try:
urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler({})))
oku = urllib2.urlopen("http://www.sslproxies.org/").read()
liste.insert(END,"Top Proxies")
sayi = len(liste.get(0, END))
clp = oku.replace(' ', ':')
clp2 = re.findall(ValidIPRegex, clp)
for x in clp2:
a = x[0] + ':' + x[1]
if not a in tbl:
tbl.append(a)
baslat()
time.sleep(4)
tbl[0:] = []
if len(liste.get(0, END)) == sayi:
showinfo("hata","Çalışan proxy bulunamadı.")
else:
print "Tamamdir moruk."
except:
showerror("hata","internet bağlantısı yok!")
def gather():
pencere6 = Toplevel()
pencere6.title("GatherProxy Menu")
pencere6.transient(pencere4)
pencere6.resizable(width=FALSE, height=FALSE)
pgen = 300
pyuks = 200
ekrangen = pencere4.winfo_screenwidth()
x = (ekrangen - pgen) / 2
pencere6.geometry("%dx%d+%d+%d"%(pgen, pyuks, x, 70))
gport = ["3128","8080","80"]
country = []
def tara():
try:
if v.get() == 0 and y.get() == 0 and z.get() == 0:
showwarning("Uyari","En Az Bir Port Secmelisiniz!")
else:
urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler({})))
oku = urllib2.urlopen("http://gatherproxy.com/proxylist/country/?c="+country[0]).read()
liste.insert(END,country[0])
country[0:] = []
sayi = len(liste.get(0, END))
clp = oku.replace(' ', ':')
clp2 = re.findall(ValidIPRegex, clp)
for x in clp2:
for i in gport:
a = x[0] + ':' + i
if not a in tbl:
tbl.append(a)
baslat()
time.sleep(4)
tbl[0:] = []
if len(liste.get(0, END)) == sayi:
showinfo("hata","Çalışan proxy bulunamadı.")
liste.delete(END,0)
else:
print "Tamamdir moruk."
pencere6.destroy()
except:
showerror("hata","internet bağlantısı yok!")
pencere6.destroy()
def turkey():
country.append("Turkey")
tara()
def germany():
country.append("Germany")
tara()
def france():
country.append("France")
tara()
def netherlands():
country.append("Netherlands")
tara()
def vport():
if v.get() == 1:
gport.append("3128")
else:
gport.remove("3128")
def yport():
if y.get() == 1:
gport.append("8080")
else:
gport.remove("8080")
def zport():
if z.get() == 1:
gport.append("80")
else:
gport.remove("80")
v=IntVar()
v.set(1)
y=IntVar()
y.set(1)
z=IntVar()
z.set(1)
TR = Button(pencere6, text="Turkey", width=23,font="bold",command=turkey).pack(pady=5)
DE = Button(pencere6, text="Germany", width=23, font="bold",command=germany).pack(pady=5)
FR = Button(pencere6, text="France", width=23, font="bold",command=france).pack(pady=5)
NL = Button(pencere6, text="Netherlands", width=23, font="bold",command=netherlands).pack(pady=5)
port1 = Checkbutton(pencere6,text="3128",variable=v,command=vport).pack(side=LEFT,padx=40)
port2 = Checkbutton(pencere6,text="8080",variable=y,command=yport).pack(side=LEFT)
port3 = Checkbutton(pencere6,text="80",variable=z,command=zport).pack(side=LEFT,padx=40)
def pnova():
pencere7 = Toplevel()
pencere7.title("ProxyNova Menu")
pencere7.transient(pencere4)
pencere7.resizable(width=FALSE, height=FALSE)
pgen = 300
pyuks = 200
ekrangen = pencere4.winfo_screenwidth()
x = (ekrangen - pgen) / 2
pencere7.geometry("%dx%d+%d+%d"%(pgen, pyuks, x, 70))
gport = ["3128","8080","80"]
country = []
def tara():
try:
if v.get() == 0 and y.get() == 0 and z.get() == 0:
showwarning("Uyari","En Az Bir Port Secmelisiniz!")
else:
urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler({})))
oku = urllib2.urlopen("http://www.proxynova.com/proxy-server-list/country-"+country[0]).read()
liste.insert(END,country[0])
country[0:] = []
sayi = len(liste.get(0, END))
clp = re.findall('>(\d+\.\d+\.\d+\.\d+)<', oku)
for x in clp:
for i in gport:
a = x + ':' + i
if not a in tbl:
tbl.append(a)
baslat()
time.sleep(4)
tbl[0:] = []
if len(liste.get(0, END)) == sayi:
showinfo("hata","Çalışan proxy bulunamadı.")
liste.delete(END,0)
else:
print "Tamamdir moruk."
pencere7.destroy()
except:
showerror("hata","internet bağlantısı yok!")
pencere7.destroy()
def turkey():
country.append("tr")
tara()
def germany():
country.append("de")
tara()
def france():
country.append("fr")
tara()
def netherlands():
country.append("nl")
tara()
def vport():
if v.get() == 1:
gport.append("3128")
else:
gport.remove("3128")
def yport():
if y.get() == 1:
gport.append("8080")
else:
gport.remove("8080")
def zport():
if z.get() == 1:
gport.append("80")
else:
gport.remove("80")
v=IntVar()
v.set(1)
y=IntVar()
y.set(1)
z=IntVar()
z.set(1)
TR = Button(pencere7, text="Turkey", width=23,font="bold",command=turkey).pack(pady=5)
DE = Button(pencere7, text="Germany", width=23, font="bold",command=germany).pack(pady=5)
FR = Button(pencere7, text="France", width=23, font="bold",command=france).pack(pady=5)
NL = Button(pencere7, text="Netherlands", width=23, font="bold",command=netherlands).pack(pady=5)
port1 = Checkbutton(pencere7,text="3128",variable=v,command=vport).pack(side=LEFT,padx=40)
port2 = Checkbutton(pencere7,text="8080",variable=y,command=yport).pack(side=LEFT)
port3 = Checkbutton(pencere7,text="80",variable=z,command=zport).pack(side=LEFT,padx=40)
def manuel():
pencere5 = Toplevel()
pencere5.title("Manuel Tarama")
pencere5.transient(pencere4)
pencere5.resizable(width=FALSE, height=FALSE)
pgen = 400
pyuks = 400
ekrangen = pencere4.winfo_screenwidth()
x = (ekrangen - pgen) / 2
pencere5.geometry("%dx%d+%d+%d"%(pgen, pyuks, x, 70))
def ypstr():
win32clipboard.OpenClipboard()
List.insert(END, win32clipboard.GetClipboardData())
win32clipboard.CloseClipboard()
def mtara():
sayi = len(liste.get(0, END))
L = List.get(0.0, END)
L2 = re.findall(ValidIPRegex, L)
for i in L2:
a = i[0]+':'+i[1]
if not a in tbl:
tbl.append(a)
baslat()
time.sleep(4)
tbl[0:] = []
if len(liste.get(0, END)) == sayi:
showerror("hata","calisan proxy bulunamadi veya baglanti kurulamadi.")
else:
showinfo("Bilgi","Calisan proxy'ler listeye eklenmistir.")
pencere5.destroy()
def sil():
List.delete(0.0, END)
def bilgi():
showinfo("Bilgi", "Kopyaladiginiz proxy iceren text sayfasini 'Yapistir' butonu ile yapistirin "
"ve ardindan 'Listeyi Tara' butonuna basin. Ayrica bu islemi yaparken listedeki proxylerin "
"düzgün yerlestirilmesine gerek yoktur.")
kaydirma = Scrollbar(pencere5)
kaydirma.pack(side=LEFT, fill=Y)
List = Text(pencere5, yscrollcommand=kaydirma.set, width=20)
List.pack(side=LEFT, fil=BOTH, expand=1)
kaydirma.config(command=List.yview)
Paste = Button(pencere5, text="Yapistir", command=ypstr, width=15).pack()
ListeTara = Button(pencere5, text="Listeyi Tara", command=mtara, width=15)
ListeTara.pack(pady=1)
ListeSil = Button(pencere5, text="Listeyi Sil",command=sil, width=15)
ListeSil.pack()
bilgi = Button(pencere5,text="Kullanim?", command=bilgi, width=15).pack(side=BOTTOM)
def kopyall():
pencere4.clipboard_clear()
for i in liste.get(0,END):
pencere4.clipboard_append(i+"\n")
def temizle():
liste.delete(0, END)
def kayit():
dosya = open("ProxyListe.txt","w")
dosya.close()
for i in liste.get(0, END):
y = open("ProxyListe.txt","ab")
y.write(i+"\n")
y.close()
showinfo("Bilgi","'ProxyListe.txt' dosyasına kaydedildi.")
def gosterici(event):
pencere8 = Toplevel()
pencere8.title("İşlem Seçıniniz")
pencere8.transient(pencere4)
pencere8.resizable(width=FALSE, height=FALSE)
pgen = 250
pyuks = 90
ekrangen = pencere4.winfo_screenwidth()
x = (ekrangen - pgen) / 2
pencere8.geometry("%dx%d+%d+%d"%(pgen, pyuks, x,100))
def sil():
liste.delete(ACTIVE)
pencere8.destroy()
def kopya():
pencere8.clipboard_clear()
pencere8.clipboard_append(liste.get(ACTIVE))
pencere8.destroy()
psil = Button(pencere8, text="Sil",command=sil,width=23,font="bold").pack(pady=6)
kopyala = Button(pencere8, text="Kopyala",command=kopya,width=23,font="bold").pack(pady=6)
liste["relief"] = "raised"
liste.bind("<Double-Button-1>", gosterici)
tara = Button(pencere4, text="SSLproxies.org", command=proxyrox, width=17, height=2,font="dejaVuSans 12 bold").pack()
tara2 = Button(pencere4, text="GatherProxy.com", command=gather, width=17,height=2, font="dejaVuSans 12 bold").pack()
tara3 = Button(pencere4, text="ProxyNova.com", command=pnova, width=17,height=2, font="dejaVuSans 12 bold").pack()
ManuelTara = Button(pencere4, text="Manuel Tarama", command=manuel, width=19,height=2, font="bold").pack()
info = Label(pencere4, text="\n\nDeveloped by\n gecemor",font="Arial 7 italic").pack()
kaydet = Button(pencere4, text="Kaydet", command=kayit, width=19, height=2,font="bold", fg="white",bg="green").pack(side=BOTTOM)
ListeTemizle = Button(pencere4, text="Listeyi Temizle", command=temizle, width=19,height=1, font="bold",fg="red").pack(side=BOTTOM)
kopyalafull = Button(pencere4, text="Listeyi Kopyala",command=kopyall,width=19,height=1,font="bold",fg="blue").pack(side=BOTTOM,padx=4)
mainloop()
Turbobit Premium Link Çeviri | Turbobit Link Generator | http://turbobit.qpython.club