Skip to content

Commit 9b7d36c

Browse files
authored
Add files via upload
1 parent eb8f7bb commit 9b7d36c

File tree

6 files changed

+205
-8
lines changed

6 files changed

+205
-8
lines changed

distrorepo.py

Lines changed: 163 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,163 @@
1+
#-*- coding: UTF-8 -*-
2+
#!/usr/bin/env python3
3+
4+
import sys
5+
import os
6+
from bs4 import BeautifulSoup
7+
import urllib.request
8+
from prettytable import PrettyTable
9+
import ssl
10+
11+
class distro(object):
12+
13+
def basla(self):
14+
self.headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.3"}
15+
self.context = ssl._create_unverified_context()
16+
self.distrolar = []
17+
self.kontrol = 0
18+
self.isimler = []
19+
self.isimler1 = []
20+
self.isimler2 = []
21+
self.adresler = []
22+
self.adresler1 = []
23+
self.kaladr = "http://http.kali.org/kali/pool/"
24+
self.paradr = "http://deb.parrot.sh/parrot/pool/"
25+
self.bolumler = ["main/","contrib/","non-free/"]
26+
self.isim = input("\nAramak istediğiniz aracın ismini giriniz: ")
27+
self.isim = self.isim.lower()
28+
print("\n1- Aracı Parrot Linux depolarından ara.\n2- Aracı Kali Linux depolarından ara.\n3- Aracı her iki depodan da ara.")
29+
while True:
30+
self.distrosecim = int(input("\nDepo seçiniz (Sayısal): "))
31+
if self.distrosecim < 1 or self.distrosecim > 3:
32+
print("Lütfen 1 ile 3 arasında bir seçim yapınız!")
33+
else:
34+
break
35+
if self.distrosecim == 1:
36+
self.distrolar.append(self.paradr)
37+
elif self.distrosecim == 2:
38+
self.distrolar.append(self.kaladr)
39+
else:
40+
self.distrolar.append(self.kaladr)
41+
self.distrolar.append(self.paradr)
42+
self.arama()
43+
44+
def felisindir(self):
45+
self.debadres = self.adresler2[self.secim-1]
46+
print("\nAraç İndiriliyor...")
47+
self.istek = urllib.request.Request(url=self.debadres, headers = self.headers)
48+
self.veri = urllib.request.urlopen(self.istek, context = self.context)
49+
f = open(self.isimler4[self.secim-1], 'wb')
50+
f.write(self.veri.read())
51+
f.close()
52+
os.system("sudo dpkg -i "+self.isimler4[self.secim-1])
53+
self.soru = input("\nİndirilen dosya saklansın mı? E/H: ")
54+
if self.soru == "E" or self.soru == "e":
55+
print("\nDosyanız şu dizine kaydedildi ---> "+os.getcwd()+"\\"+self.isimler4[self.secim-1])
56+
pass
57+
else:
58+
os.system("rm "+self.isimler4[self.secim-1])
59+
print("\nAraç başarıyla indirildi ve yüklendi.")
60+
print("Vazgeçme :D.\n")
61+
sys.exit(0)
62+
63+
def listele(self):
64+
self.isimler3 = []
65+
self.isimler4 = []
66+
self.adresler2 = []
67+
self.baglan = urllib.request.urlopen(self.adresler[self.secim-1], context = self.context)
68+
self.sayfa1 = BeautifulSoup(self.baglan, 'html.parser')
69+
self.sayfa1 = self.sayfa1.find_all("a")
70+
for i in self.sayfa1:
71+
self.isimler3.append(i.text)
72+
for i in self.isimler3:
73+
if i[-4:] == ".deb":
74+
self.isimler4.append(i)
75+
self.adresler2.append(self.adresler[self.secim-1]+i)
76+
else:
77+
pass
78+
self.sirala(self.isimler4, 1)
79+
print("""\n1- Felis ile indir.\n2- Listeye dön.\n""")
80+
while True:
81+
self.secenek = int(input("İşlem seçiniz (Sayısal): "))
82+
if self.secenek > 2 or self.secenek < 1:
83+
print("Hatalı girdi!\n")
84+
else:
85+
break
86+
if self.secenek == 1:
87+
while True:
88+
self.secim = int(input("\nİndirmek istediğiniz dosyayı seçiniz (Sayısal): "))
89+
if self.secim < 1 or self.secim > len(self.isimler4):
90+
print("Sonuç sayısından fazla ya da eksik bir sayı girdiniz!")
91+
else:
92+
break
93+
self.felisindir()
94+
else:
95+
self.sirala(self.isimler1, 0)
96+
97+
def sirala(self, isimler, durum):
98+
self.basliklar = ["S.No", "Başlık"]
99+
t = PrettyTable(self.basliklar)
100+
sz = len(isimler)
101+
sys.setrecursionlimit(100000)
102+
if sz != 0:
103+
print("\nSonuçlar bulundu =",sz)
104+
for i in range(sz):
105+
t.add_row([i + 1, isimler[i]])
106+
print("\nSonuçlar : ")
107+
print(t)
108+
if durum == 0:
109+
while True:
110+
self.secim = int(input("\nSeçiminizi girin (Sayısal): "))
111+
if self.secim > sz or self.secim < 1:
112+
print("Sonuç sayısından fazla ya da eksik bir sayı girdiniz!")
113+
else:
114+
break
115+
self.listele()
116+
else:
117+
pass
118+
else:
119+
self.kontrol += 1
120+
if self.kontrol > 2:
121+
print("\nAraç Bulunamadı.\n")
122+
else:
123+
self.arama()
124+
125+
def arama(self):
126+
for distro in self.distrolar:
127+
self.baglan = urllib.request.urlopen(distro+self.bolumler[self.kontrol]+self.isim[0], context = self.context)
128+
self.sayfa = BeautifulSoup(self.baglan, 'html.parser')
129+
self.sayfa = self.sayfa.find_all("a")
130+
if distro == self.kaladr:
131+
for i in self.sayfa:
132+
self.isimler.append(i.text)
133+
for i in self.isimler:
134+
self.ara = i.find(self.isim)
135+
if self.ara != -1:
136+
self.isimler1.append("Kali --> "+i)
137+
self.adresler.append(distro+self.bolumler[self.kontrol]+self.isim[0]+"/"+i)
138+
else:
139+
pass
140+
self.isimler.clear()
141+
else:
142+
for i in self.sayfa:
143+
self.isimler.append(i.text)
144+
for i in self.isimler:
145+
self.ara = i.find(self.isim)
146+
if self.ara != -1:
147+
self.isimler2.append("Parrot --> "+i)
148+
self.adresler1.append(distro+self.bolumler[self.kontrol]+self.isim[0]+"/"+i)
149+
else:
150+
pass
151+
self.isimler1 += self.isimler2
152+
self.adresler += self.adresler1
153+
self.sirala(self.isimler1, 0)
154+
155+
if __name__ == '__main__':
156+
k = distro()
157+
try:
158+
try:
159+
k.basla()
160+
except EOFError as e:
161+
print("\n\nİyi Akşamlarr :D")
162+
except KeyboardInterrupt as e:
163+
pass

felis

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ elif [[ $1 == "-s" ]]; then
2020
elif [[ $1 == "-git" ]]; then
2121
python3 /usr/share/felis/felis.py $1
2222

23+
elif [[ $1 == "-depo" ]]; then
24+
python3 /usr/share/felis/felis.py $1
25+
2326
else
2427
python3 /usr/share/felis/felis.py -y
2528
fi

felis.py

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,15 @@ def internet_kontrol():
1717
timeout=5
1818
try:
1919
test = requests.get(url, timeout=timeout)
20-
return True
2120
except requests.ConnectionError:
2221
print("\nLütfen İnternet Bağlantınızı Kontrol Ediniz!\n")
2322
sys.exit(0)
24-
return False
2523

2624
internet_kontrol()
2725

2826
if sys.argv[1]=="-y":
29-
print("\nKullanım: felis [klon URL, -y, -g, -git, -s, -mp3, -mp4]")
30-
print("\n-y: Felis'in kullanımını ve parametreleri gösterir.\n-g: Felis'in güncellemelerini kontrol eder.\n-git: Github üzerinden araç arama moduna geçmenizi sağlar.\n-s: Felis'i siler.\nklon: Araç indirme parametresidir.\n-mp3 şarkı_adı: Verilen şarkının mp3 dosyası indirir.\n-mp4 şarkı_adı: Verilen şarkının mp4 dosyası indirir.\n\nBu uygulama ile indirilecek dosya .zip, .deb veya .tar.gz uzantılı olmalıdır. İsterseniz felis ile GitHub'dan repo da indirebilirsiniz.\n")
27+
print("\nKullanım: felis [klon URL, -y, -g, -git, -depo, -s, -mp3, -mp4]")
28+
print("\n-y: Felis'in kullanımını ve parametreleri gösterir.\n-g: Felis'in güncellemelerini kontrol eder.\n-git: Github üzerinden araç arama moduna geçmenizi sağlar.\n-depo: Kali Linux ve Parrot Linux depoları üzerinden araç arama moduna geçmenizi sağlar.\n-s: Felis'i siler.\nklon: Araç indirme parametresidir.\n-mp3 şarkı_adı: Verilen şarkının mp3 dosyası indirir.\n-mp4 şarkı_adı: Verilen şarkının mp4 dosyası indirir.\n\nklon parametresi ile indirilecek dosya .zip, .deb veya .tar.gz uzantılı olmalıdır. İsterseniz klon parametresi ile GitHub'dan repo da indirebilirsiniz.\n")
3129
print("<======KernelBlog.org======>\nKernelBlog Developer Team\nKernelBlog Geliştirici Ekibi\n")
3230

3331
elif sys.argv[1]=="-g":
@@ -39,14 +37,37 @@ def internet_kontrol():
3937
os.system("sudo rm -r /usr/share/felis/")
4038

4139
elif sys.argv[1] == "-mp3":
40+
soru=input("\nGüncellemeler Kontrol Edilsin Mi? E/H: ")
41+
if soru == "e" or soru == "E":
42+
os.system("python3 /usr/share/felis/guncelleme.py")
43+
else:
44+
pass
4245
os.system("python3 /usr/share/felis/mp.py -mp3 "+sys.argv[2])
4346

4447
elif sys.argv[1] == "-mp4":
48+
soru=input("\nGüncellemeler Kontrol Edilsin Mi? E/H: ")
49+
if soru == "e" or soru == "E":
50+
os.system("python3 /usr/share/felis/guncelleme.py")
51+
else:
52+
pass
4553
os.system("python3 /usr/share/felis/mp.py -mp4 "+sys.argv[2])
4654

4755
elif sys.argv[1] == "-git":
56+
soru=input("\nGüncellemeler Kontrol Edilsin Mi? E/H: ")
57+
if soru == "e" or soru == "E":
58+
os.system("python3 /usr/share/felis/guncelleme.py")
59+
else:
60+
pass
4861
os.system("python3 /usr/share/felis/githubmodul.py")
4962

63+
elif sys.argv[1] == "-depo":
64+
soru=input("\nGüncellemeler Kontrol Edilsin Mi? E/H: ")
65+
if soru == "e" or soru == "E":
66+
os.system("python3 /usr/share/felis/guncelleme.py")
67+
else:
68+
pass
69+
os.system("python3 /usr/share/felis/distrorepo.py")
70+
5071
elif sys.argv[1]=="klon":
5172
context = ssl._create_unverified_context()
5273
try:

githubmodul.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,9 @@ def basitarama(self):
9999
if __name__ == '__main__':
100100
k = github()
101101
try:
102-
k.basla()
103-
except EOFError as e:
104-
print("\nİyi Akşamlarr :D\n")
102+
try:
103+
k.basla()
104+
except EOFError as e:
105+
print("\n\nİyi Akşamlarr :D")
106+
except KeyboardInterrupt as e:
107+
pass

guncelleme.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,15 @@
1212
url2 = "https://felis.kernelblog.org/felis/felis.zip"
1313
context = ssl._create_unverified_context()
1414

15+
os.system("sudo pip3 install youtube-dl bs4 PrettyTable requests --upgrade")
16+
1517
try:
1618
url_oku = urllib.request.urlopen(url)
1719
except urllib.error.URLError as e:
1820
print("\nLütfen İnternet Bağlantınızı Kontrol Ediniz!\n")
1921
sys.exit(0)
2022
soup = BeautifulSoup(url_oku, 'html.parser')
21-
if str(soup) == "22/09/2019":
23+
if str(soup) == "24/09/2019":
2224
print("\nFelis Aracı Güncel.\n")
2325
else:
2426
veri = urllib.request.urlopen(url2, context = context)
@@ -39,14 +41,17 @@
3941
os.system("sudo rm /usr/share/felis/felis.py")
4042
os.system("sudo rm /usr/share/felis/mp.py")
4143
os.system("sudo rm /usr/share/felis/githubmodul.py")
44+
os.system("sudo rm /usr/share/felis/distrorepo.py")
4245
os.system("sudo mv "+os.getcwd()+"/felis/felis /usr/bin/")
4346
os.system("sudo mv "+os.getcwd()+"/felis/felis.py /usr/share/felis/")
4447
os.system("sudo mv "+os.getcwd()+"/felis/mp.py /usr/share/felis/")
4548
os.system("sudo mv "+os.getcwd()+"/felis/githubmodul.py /usr/share/felis/")
49+
os.system("sudo mv "+os.getcwd()+"/felis/distrorepo.py /usr/share/felis/")
4650
os.system("sudo chmod 755 /usr/bin/felis")
4751
os.system("sudo chmod 755 /usr/share/felis/felis.py")
4852
os.system("sudo chmod 755 /usr/share/felis/mp.py")
4953
os.system("sudo chmod 755 /usr/share/felis/githubmodul.py")
54+
os.system("sudo chmod 755 /usr/share/felis/distrorepo.py")
5055
print("\nFelis Aracınız Başarıyla Güncellenmiştir.\n")
5156
os.system("sudo mv "+os.getcwd()+"/felis/guncelleme.py /usr/share/felis/")
5257
os.system("rm -r felis")

kur.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,13 @@ sudo cp felis /usr/bin/
1010
sudo cp felis.py /usr/share/felis/
1111
sudo cp mp.py /usr/share/felis/
1212
sudo cp githubmodul.py /usr/share/felis/
13+
sudo cp distrorepo.py /usr/share/felis/
1314
sudo cp guncelleme.py /usr/share/felis/
1415
sudo chmod 755 /usr/bin/felis
1516
sudo chmod 755 /usr/share/felis/felis.py
1617
sudo chmod 755 /usr/share/felis/githubmodul.py
1718
sudo chmod 755 /usr/share/felis/mp.py
1819
sudo chmod 755 /usr/share/felis/guncelleme.py
20+
sudo chmod 755 /usr/share/felis/distrorepo.py
1921

2022
echo "Yükleme başarıyla tamamlandı. Terminale felis yazarak kullanabilirsiniz."

0 commit comments

Comments
 (0)