Kanka acaba kaynak kodunu verme şansın var miTeşekkürler
Follow along with the video below to see how to install our site as a web app on your home screen.
Not: This feature may not be available in some browsers.
Kanka acaba kaynak kodunu verme şansın var miTeşekkürler
kanka dosyayi tam olarak calistiramadim hata aliyorum nasil kurudugunu anlatabilirmisin python kurulu cmd uzerinden de calistiramadimMASK LİNK (Link Maskleme) Aracı
Merhaba Değerli Forum üyeleri
Bu konumda sizlere yazmış olduğum bir Link Maskeleme Aracını tanıtıcam.
Bu arada py dosyasını şifrelemek zorunda kaldım exe'de bazı sorunlar yaşadım.
NE İŞE YARAR?
Genellikle Oltalama linklerde çok kullanılır.
Hedefi normal bir linkmiş gibi kandırarak asıl tuzaklı linke göndermeye yarar.
KULLANIMI
![]()
DOSYA İNDİR
Virüs Total
Kanka acaba kaynak kodunu verme şansın var mi
Eline saglik
Eline sağlık hocam.
kanka dosyayi tam olarak calistiramadim hata aliyorum nasil kurudugunu anlatabilirmisin python kurulu cmd uzerinden de calistiramadim
yardimci olursan sevinirim
Eline sağlık
Dostlar kaynak kodları şifrelememin amacı eğer kodları gerçekten isteyen birisi varsa onu çözmesi için yaptım ve işinizi kolaylaştırmak için içine key koydum birnevi ödev gibikod neden şifreli ?
Teşekkürlereline sağlık
Özelden ulaş banakanka dosyayi tam olarak calistiramadim hata aliyorum nasil kurudugunu anlatabilirmisin python kurulu cmd uzerinden de calistiramadim
yardimci olursan sevinirim
import sys
import requests
import pyperclip
from PyQt5.QtWidgets import (QApplication, QWidget, QLabel, QVBoxLayout, QHBoxLayout,
QPushButton, QLineEdit, QMessageBox, QTextEdit, QRadioButton,
QFrame, QGridLayout, QDialog, QFileDialog, QProgressBar)
from PyQt5.QtCore import Qt, QPoint, QThread, pyqtSignal, QRect, QUrl
from PyQt5.QtGui import QPainter, QPen, QColor, QPixmap, QFont, QImage, QDesktopServices, QBrush, QLinearGradient
from io import BytesIO
import ctypes
if sys.platform == "win32":
ctypes.windll.user32.ShowWindow(ctypes.windll.kernel32.GetConsoleWindow(), 0)
class WelcomeDialog(QDialog):
def __init__(self, parent=None):
super(WelcomeDialog, self).__init__(parent)
self.setWindowTitle("Hoş Geldiniz")
self.setGeometry(500, 200, 400, 300)
self.setWindowFlags(Qt.FramelessWindowHint)
self.setStyleSheet("background-color: #0f0f0f; color: #FFFFFF;")
layout = QVBoxLayout(self)
image_label = QLabel(self)
image_url = "https://i.hizliresim.com/4io58t2.png" # Uygulamanın logosu veya görseli
self.set_image_from_url(image_label, image_url)
layout.addWidget(image_label, alignment=Qt.AlignCenter)
welcome_label = QLabel("<span style='color: white;'>Link Kısaltma Uygulamasına Hoş Geldiniz.</span><br><br>"
"<span style='color: #00bcd4;'>Kısa linkler oluşturmak için hazırlanın!</span><br><br>"
"<span style='color: orange;'>Yapımcı:<span style='color: white;'> Aytlogo_ Luxer</span>", self)
welcome_label.setAlignment(Qt.AlignCenter)
welcome_label.setStyleSheet("font-size: 14pt;")
layout.addWidget(welcome_label)
self.devam_et_button = QPushButton("Devam Et", self)
self.devam_et_button.setStyleSheet(
"""
QPushButton {
background-color: #444444; /* Gri */
color: #ffffff;
border: 2px solid #1DB954; /* Turkuaz */
border-radius: 5px;
font-size: 14pt;
font-weight: bold;
width: 150px;
}
QPushButton:hover {
background-color: #1DB954; /* Turkuaz */
color: #444444; /* Gri */
}"""
)
self.devam_et_button.setFont(QFont("Arial", 10, QFont.Bold))
self.devam_et_button.clicked.connect(self.accept)
layout.addWidget(self.devam_et_button)
layout.addSpacing(20)
icon_layout = QHBoxLayout()
# Sosyal medya ikonları ve bağlantıları
discord_icon_url = "https://www.iconsdb.com/icons/preview/red/telegram-xxl.png"
self.discord_label = QLabel(self)
self.discord_label.setPixmap(self.get_icon_from_url(discord_icon_url).scaledToWidth(30))
self.discord_label.mousePressEvent = lambda event: self.open_url("https://t.me/Aytlogo_Luxer")
icon_layout.addWidget(self.discord_label, alignment=Qt.AlignLeft)
instagram_icon_url = "https://cdn-icons-png.flaticon.com/512/2504/2504918.png"
self.instagram_label = QLabel(self)
self.instagram_label.setPixmap(self.get_icon_from_url(instagram_icon_url).scaledToWidth(30))
self.instagram_label.mousePressEvent = lambda event: self.open_url("https://www.instagram.com/0aytlogo0_luxerhacker")
icon_layout.addWidget(self.instagram_label, alignment=Qt.AlignCenter)
youtube_icon_url = "https://static-00.iconduck.com/assets.00/youtube-icon-512x364-iqs00mng.png"
self.youtube_label = QLabel(self)
self.youtube_label.setPixmap(self.get_icon_from_url(youtube_icon_url).scaledToWidth(30))
self.youtube_label.mousePressEvent = lambda event: self.open_url("https://www.youtube.com/channel/UCew6GoOGWTRLiXzJHv525cA")
icon_layout.addWidget(self.youtube_label, alignment=Qt.AlignRight)
layout.addLayout(icon_layout)
def set_image_from_url(self, label, url):
response = requests.get(url)
image = QPixmap()
image.loadFromData(response.content)
label.setPixmap(image)
def get_icon_from_url(self, url):
response = requests.get(url)
return QPixmap().loadFromData(response.content)
def open_url(self, url):
import webbrowser
webbrowser.open(url)
def get_icon_from_url(self, url):
response = requests.get(url)
icon_data = BytesIO(response.content)
image = QImage()
image.loadFromData(icon_data.getvalue())
return QPixmap(image)
def set_image_from_url(self, label, url):
response = requests.get(url)
image_data = BytesIO(response.content)
image = QPixmap()
image.loadFromData(image_data.getvalue())
label.setPixmap(image.scaledToWidth(150))
def open_url(self, url):
QDesktopServices.openUrl(QUrl(url))
def closeEvent(self, event):
sys.exit(0)
def load_and_set_background_image(self, url, label):
try:
response = requests.get(url, stream=True)
response.raise_for_status()
pixmap = QPixmap()
pixmap.loadFromData(response.content)
pixmap_scaled = pixmap.scaled(self.size(), Qt.KeepAspectRatio, Qt.SmoothTransformation)
label.setPixmap(pixmap_scaled)
label.setGeometry(0, 0, self.width(), self.height())
except requests.exceptions.RequestException as e:
print(f"Error downloading background image: {e}")
def paintEvent(self, event):
painter = QPainter(self)
pen = QPen(QColor("#1DB954"), 4)
painter.setPen(pen)
width = self.width()
height = self.height()
painter.drawLine(0, 0, 50, 0)
painter.drawLine(0, 0, 0, 50)
painter.drawLine(width, 0, width - 50, 0)
painter.drawLine(width, 0, width, 50)
painter.drawLine(0, height, 50, height)
painter.drawLine(0, height, 0, height - 50)
painter.drawLine(width, height, width - 50, height)
painter.drawLine(width, height, width, height - 50)
class LinkShortenerApp(QWidget):
def __init__(self):
super().__init__()
self.dark_theme = True # Temayı başlat
self.init_ui()
self.is_dragging = False # Dragging state
self.drag_start_position = QPoint() # Start position for dragging
self.platform_colors = {
"Google": "#4285F4", # Mavi
"Instagram": "#C13584", # Mor
"Youtube": "#bf0000", # Kırmızı
"Spotify": "#1DB954", # Yeşil
"Facebook": "#0076bf", # Mavi
"Bing": "#f25022", # Turuncu
"LinkedIn": "#0077B5", # Mavi
"Twitter": "#1DA1F2", # Mavi
"TikTok": "#69C9D0" # Mavi
}
def init_ui(self):
self.setWindowTitle('Link Kısaltıcı')
self.setGeometry(200, 50, 800, 500) # Genişlik ve yükseklik artırıldı
self.setWindowFlags(Qt.FramelessWindowHint)
self.apply_theme()
top_frame = QFrame(self)
top_frame.setFixedHeight(30)
minimize_button = QPushButton("")
minimize_button.setFixedSize(20, 20)
minimize_button.setStyleSheet("""
QPushButton {
background-color: #00bcd4; /* Turkuaz */
border-radius: 10px;
color: #ffffff;
font-weight: bold;
}
QPushButton:hover {
background-color: #0097a7; /* Koyu turkuaz */
}
""")
minimize_button.clicked.connect(self.showMinimized)
close_button = QPushButton("")
close_button.setFixedSize(20, 20)
close_button.setStyleSheet("""
QPushButton {
background-color: #ff5252; /* Kırmızı */
border-radius: 10px;
color: #ffffff;
font-weight: bold;
}
QPushButton:hover {
background-color: #d50000; /* Koyu kırmızı */
}
""")
close_button.clicked.connect(self.close)
fullscreen_button = QPushButton("")
fullscreen_button.setFixedSize(20, 20)
fullscreen_button.setStyleSheet("""
QPushButton {
background-color: #4caf50; /* Yeşil */
border-radius: 10px;
color: #ffffff;
font-weight: bold;
}
QPushButton:hover {
background-color: #388e3c; /* Koyu yeşil */
}
""")
fullscreen_button.clicked.connect(self.toggle_fullscreen)
top_layout = QHBoxLayout(top_frame)
top_layout.addWidget(minimize_button)
top_layout.addWidget(fullscreen_button)
top_layout.addWidget(close_button)
top_layout.setAlignment(Qt.AlignRight)
layout = QVBoxLayout()
layout.addWidget(top_frame)
self.title = QLabel("🔪Link Maskeleme🔪")
self.title.setStyleSheet("font-size: 30pt; font-weight: bold; color: #1db954;")
self.title.setAlignment(Qt.AlignCenter)
layout.addWidget(self.title)
# Eklenen platformlar
self.platform_radiobuttons = [
QRadioButton("Google"),
QRadioButton("Instagram"),
QRadioButton("Youtube"),
QRadioButton("Spotify"),
QRadioButton("Facebook"),
QRadioButton("Bing"),
QRadioButton("LinkedIn"),
QRadioButton("Twitter"),
QRadioButton("TikTok")
]
# 5x5 düzen için grid layout
grid_layout = QGridLayout()
for i, radio in enumerate(self.platform_radiobuttons):
row = i // 5
col = i % 5
radio.setStyleSheet("""
QRadioButton {
color: #FFFFFF;
font-size: 18pt;
padding: 10px;
}
QRadioButton::indicator {
width: 20px;
height: 20px;
border: 2px solid #1db954; /* Yeşil */
border-radius: 10px;
}
QRadioButton::indicator:checked {
background-color: #1db954; /* Yeşil */
border: 2px solid #1db954; /* Yeşil */
}
""")
radio.toggled.connect(self.update_styles) # Radyonun durumu değiştiğinde stilleri güncelle
grid_layout.addWidget(radio, row, col)
layout.addLayout(grid_layout)
self.link_input = QLineEdit(self)
self.link_input.setPlaceholderText("Kısaltılacak linki girin...")
self.link_input.setStyleSheet("background-color: #2a2a2a; color: #fff; padding: 10px; border-radius: 5px;")
layout.addWidget(self.link_input)
self.custom_word_input = QLineEdit(self)
self.custom_word_input.setPlaceholderText("Özel kelimeler (Kelimeleri '-' ile ayırarak yazınız)...")
self.custom_word_input.setStyleSheet("background-color: #2a2a2a; color: #fff; padding: 10px; border-radius: 5px;")
layout.addWidget(self.custom_word_input)
self.shorten_button = QPushButton("Kısalt")
self.shorten_button.setStyleSheet(self.button_style())
self.shorten_button.clicked.connect(self.shorten_link)
layout.addWidget(self.shorten_button)
self.result_textbox = QTextEdit(self)
self.result_textbox.setReadOnly(True) # Sadece okunabilir
self.result_textbox.setStyleSheet("background-color: #2a2a2a; color: #fff; padding: 10px; border-radius: 5px;")
layout.addWidget(self.result_textbox)
self.copy_button = QPushButton("Kopyala")
self.copy_button.setStyleSheet(self.button_style())
self.copy_button.clicked.connect(self.copy_to_clipboard)
layout.addWidget(self.copy_button)
layout.addStretch() # Aşağıda boşluk bırakmak için
self.setLayout(layout)
def button_style(self, color="#1db954"):
return f"""
QPushButton {{
background-color: {color}; /* Seçilen rengi kullan */
color: #ffffff;
border: 2px solid {color}; /* Seçilen rengi kullan */
border-radius: 5px;
font-size: 16pt;
font-weight: bold;
width: 150px;
}}
QPushButton:hover {{
background-color: #ffffff; /* Beyaz */
color: {color}; /* Seçilen rengi kullan */
}}
"""
def apply_theme(self):
if self.dark_theme:
self.setStyleSheet("background-color: #1e1e1e; color: #FFFFFF;")
else:
self.setStyleSheet("background-color: #FFFFFF; color: #000000;")
def update_styles(self):
selected_platform = ""
for radio in self.platform_radiobuttons:
if radio.isChecked():
selected_platform = radio.text()
break
if selected_platform: # Seçilen platform varsa
color = self.platform_colors[selected_platform]
self.shorten_button.setStyleSheet(self.button_style(color))
self.copy_button.setStyleSheet(self.button_style(color))
self.title.setStyleSheet(f"font-size: 30pt; font-weight: bold; color: {color};") # Başlık rengi değişimi
for radio in self.platform_radiobuttons:
radio.setStyleSheet(f"""
QRadioButton {{
color: #FFFFFF;
font-size: 18pt;
padding: 10px;
}}
QRadioButton::indicator {{
width: 20px;
height: 20px;
border: 2px solid {color}; /* Seçilen platform rengi */
border-radius: 10px;
}}
QRadioButton::indicator:checked {{
background-color: {color}; /* Seçilen platform rengi */
border: 2px solid {color}; /* Seçilen platform rengi */
}}
""")
def shorten_link(self):
link = self.link_input.text().strip()
custom_word = self.custom_word_input.text().strip()
selected_platform = ""
for radio in self.platform_radiobuttons:
if radio.isChecked():
selected_platform = radio.text()
break
if not link:
QMessageBox.warning(self, "Uyarı", "Lütfen bir link girin!")
return
if selected_platform:
# Burada kısaltma işlemini yapacak API çağrısını yap
try:
response = requests.get(f"https://is.gd/create.php?format=simple&url={link}")
if response.status_code == 200:
shortened_url = response.text
formatted_url = f"https://{selected_platform.lower()}.com-{custom_word}@{shortened_url[8:]}" if custom_word else shortened_url
self.result_textbox.setPlainText(formatted_url) # Kısaltılmış bağlantıyı metin kutusuna yaz
else:
QMessageBox.warning(self, "Hata", "Kısaltma işlemi başarısız oldu.")
except Exception as e:
QMessageBox.critical(self, "Hata", f"Bir hata oluştu: {e}")
def copy_to_clipboard(self):
text = self.result_textbox.toPlainText()
if text:
pyperclip.copy(text)
QMessageBox.information(self, "Başarılı", "Kısaltılmış bağlantı panoya kopyalandı!")
def toggle_fullscreen(self):
if self.isFullScreen():
self.showNormal()
else:
self.showFullScreen()
def mousePressEvent(self, event):
if event.button() == Qt.LeftButton:
self.is_dragging = True
self.drag_start_position = event.globalPos() - self.frameGeometry().topLeft()
def mouseMoveEvent(self, event):
if self.is_dragging:
self.move(event.globalPos() - self.drag_start_position)
def mouseReleaseEvent(self, event):
self.is_dragging = False
def paintEvent(self, event):
painter = QPainter(self)
pen = QPen(QColor("white"), 4)
painter.setPen(pen)
width = self.width()
height = self.height()
painter.drawLine(0, 0, 50, 0)
painter.drawLine(0, 0, 0, 50)
painter.drawLine(width, 0, width - 50, 0)
painter.drawLine(width, 0, width, 50)
painter.drawLine(0, height, 50, height)
painter.drawLine(0, height, 0, height - 50)
painter.drawLine(width, height, width - 50, height)
painter.drawLine(width, height, width, height - 50)
if __name__ == '__main__':
app = QApplication(sys.argv)
welcome_dialog = WelcomeDialog()
if welcome_dialog.exec_() == QDialog.Accepted:
ex = LinkShortenerApp()
ex.show()
sys.exit(app.exec_()
???Python:import sys import requests import pyperclip from PyQt5.QtWidgets import (QApplication, QWidget, QLabel, QVBoxLayout, QHBoxLayout, QPushButton, QLineEdit, QMessageBox, QTextEdit, QRadioButton, QFrame, QGridLayout, QDialog, QFileDialog, QProgressBar) from PyQt5.QtCore import Qt, QPoint, QThread, pyqtSignal, QRect, QUrl from PyQt5.QtGui import QPainter, QPen, QColor, QPixmap, QFont, QImage, QDesktopServices, QBrush, QLinearGradient from io import BytesIO import ctypes if sys.platform == "win32": ctypes.windll.user32.ShowWindow(ctypes.windll.kernel32.GetConsoleWindow(), 0) class WelcomeDialog(QDialog): def __init__(self, parent=None): super(WelcomeDialog, self).__init__(parent) self.setWindowTitle("Hoş Geldiniz") self.setGeometry(500, 200, 400, 300) self.setWindowFlags(Qt.FramelessWindowHint) self.setStyleSheet("background-color: #0f0f0f; color: #FFFFFF;") layout = QVBoxLayout(self) image_label = QLabel(self) image_url = "https://i.hizliresim.com/4io58t2.png" # Uygulamanın logosu veya görseli self.set_image_from_url(image_label, image_url) layout.addWidget(image_label, alignment=Qt.AlignCenter) welcome_label = QLabel("<span style='color: white;'>Link Kısaltma Uygulamasına Hoş Geldiniz.</span><br><br>" "<span style='color: #00bcd4;'>Kısa linkler oluşturmak için hazırlanın!</span><br><br>" "<span style='color: orange;'>Yapımcı:<span style='color: white;'> Aytlogo_ Luxer</span>", self) welcome_label.setAlignment(Qt.AlignCenter) welcome_label.setStyleSheet("font-size: 14pt;") layout.addWidget(welcome_label) self.devam_et_button = QPushButton("Devam Et", self) self.devam_et_button.setStyleSheet( """ QPushButton { background-color: #444444; /* Gri */ color: #ffffff; border: 2px solid #1DB954; /* Turkuaz */ border-radius: 5px; font-size: 14pt; font-weight: bold; width: 150px; } QPushButton:hover { background-color: #1DB954; /* Turkuaz */ color: #444444; /* Gri */ }""" ) self.devam_et_button.setFont(QFont("Arial", 10, QFont.Bold)) self.devam_et_button.clicked.connect(self.accept) layout.addWidget(self.devam_et_button) layout.addSpacing(20) icon_layout = QHBoxLayout() # Sosyal medya ikonları ve bağlantıları discord_icon_url = "https://www.iconsdb.com/icons/preview/red/telegram-xxl.png" self.discord_label = QLabel(self) self.discord_label.setPixmap(self.get_icon_from_url(discord_icon_url).scaledToWidth(30)) self.discord_label.mousePressEvent = lambda event: self.open_url("https://t.me/Aytlogo_Luxer") icon_layout.addWidget(self.discord_label, alignment=Qt.AlignLeft) instagram_icon_url = "https://cdn-icons-png.flaticon.com/512/2504/2504918.png" self.instagram_label = QLabel(self) self.instagram_label.setPixmap(self.get_icon_from_url(instagram_icon_url).scaledToWidth(30)) self.instagram_label.mousePressEvent = lambda event: self.open_url("https://www.instagram.com/0aytlogo0_luxerhacker") icon_layout.addWidget(self.instagram_label, alignment=Qt.AlignCenter) youtube_icon_url = "https://static-00.iconduck.com/assets.00/youtube-icon-512x364-iqs00mng.png" self.youtube_label = QLabel(self) self.youtube_label.setPixmap(self.get_icon_from_url(youtube_icon_url).scaledToWidth(30)) self.youtube_label.mousePressEvent = lambda event: self.open_url("https://www.youtube.com/channel/UCew6GoOGWTRLiXzJHv525cA") icon_layout.addWidget(self.youtube_label, alignment=Qt.AlignRight) layout.addLayout(icon_layout) def set_image_from_url(self, label, url): response = requests.get(url) image = QPixmap() image.loadFromData(response.content) label.setPixmap(image) def get_icon_from_url(self, url): response = requests.get(url) return QPixmap().loadFromData(response.content) def open_url(self, url): import webbrowser webbrowser.open(url) def get_icon_from_url(self, url): response = requests.get(url) icon_data = BytesIO(response.content) image = QImage() image.loadFromData(icon_data.getvalue()) return QPixmap(image) def set_image_from_url(self, label, url): response = requests.get(url) image_data = BytesIO(response.content) image = QPixmap() image.loadFromData(image_data.getvalue()) label.setPixmap(image.scaledToWidth(150)) def open_url(self, url): QDesktopServices.openUrl(QUrl(url)) def closeEvent(self, event): sys.exit(0) def load_and_set_background_image(self, url, label): try: response = requests.get(url, stream=True) response.raise_for_status() pixmap = QPixmap() pixmap.loadFromData(response.content) pixmap_scaled = pixmap.scaled(self.size(), Qt.KeepAspectRatio, Qt.SmoothTransformation) label.setPixmap(pixmap_scaled) label.setGeometry(0, 0, self.width(), self.height()) except requests.exceptions.RequestException as e: print(f"Error downloading background image: {e}") def paintEvent(self, event): painter = QPainter(self) pen = QPen(QColor("#1DB954"), 4) painter.setPen(pen) width = self.width() height = self.height() painter.drawLine(0, 0, 50, 0) painter.drawLine(0, 0, 0, 50) painter.drawLine(width, 0, width - 50, 0) painter.drawLine(width, 0, width, 50) painter.drawLine(0, height, 50, height) painter.drawLine(0, height, 0, height - 50) painter.drawLine(width, height, width - 50, height) painter.drawLine(width, height, width, height - 50) class LinkShortenerApp(QWidget): def __init__(self): super().__init__() self.dark_theme = True # Temayı başlat self.init_ui() self.is_dragging = False # Dragging state self.drag_start_position = QPoint() # Start position for dragging self.platform_colors = { "Google": "#4285F4", # Mavi "Instagram": "#C13584", # Mor "Youtube": "#bf0000", # Kırmızı "Spotify": "#1DB954", # Yeşil "Facebook": "#0076bf", # Mavi "Bing": "#f25022", # Turuncu "LinkedIn": "#0077B5", # Mavi "Twitter": "#1DA1F2", # Mavi "TikTok": "#69C9D0" # Mavi } def init_ui(self): self.setWindowTitle('Link Kısaltıcı') self.setGeometry(200, 50, 800, 500) # Genişlik ve yükseklik artırıldı self.setWindowFlags(Qt.FramelessWindowHint) self.apply_theme() top_frame = QFrame(self) top_frame.setFixedHeight(30) minimize_button = QPushButton("") minimize_button.setFixedSize(20, 20) minimize_button.setStyleSheet(""" QPushButton { background-color: #00bcd4; /* Turkuaz */ border-radius: 10px; color: #ffffff; font-weight: bold; } QPushButton:hover { background-color: #0097a7; /* Koyu turkuaz */ } """) minimize_button.clicked.connect(self.showMinimized) close_button = QPushButton("") close_button.setFixedSize(20, 20) close_button.setStyleSheet(""" QPushButton { background-color: #ff5252; /* Kırmızı */ border-radius: 10px; color: #ffffff; font-weight: bold; } QPushButton:hover { background-color: #d50000; /* Koyu kırmızı */ } """) close_button.clicked.connect(self.close) fullscreen_button = QPushButton("") fullscreen_button.setFixedSize(20, 20) fullscreen_button.setStyleSheet(""" QPushButton { background-color: #4caf50; /* Yeşil */ border-radius: 10px; color: #ffffff; font-weight: bold; } QPushButton:hover { background-color: #388e3c; /* Koyu yeşil */ } """) fullscreen_button.clicked.connect(self.toggle_fullscreen) top_layout = QHBoxLayout(top_frame) top_layout.addWidget(minimize_button) top_layout.addWidget(fullscreen_button) top_layout.addWidget(close_button) top_layout.setAlignment(Qt.AlignRight) layout = QVBoxLayout() layout.addWidget(top_frame) self.title = QLabel("🔪Link Maskeleme🔪") self.title.setStyleSheet("font-size: 30pt; font-weight: bold; color: #1db954;") self.title.setAlignment(Qt.AlignCenter) layout.addWidget(self.title) # Eklenen platformlar self.platform_radiobuttons = [ QRadioButton("Google"), QRadioButton("Instagram"), QRadioButton("Youtube"), QRadioButton("Spotify"), QRadioButton("Facebook"), QRadioButton("Bing"), QRadioButton("LinkedIn"), QRadioButton("Twitter"), QRadioButton("TikTok") ] # 5x5 düzen için grid layout grid_layout = QGridLayout() for i, radio in enumerate(self.platform_radiobuttons): row = i // 5 col = i % 5 radio.setStyleSheet(""" QRadioButton { color: #FFFFFF; font-size: 18pt; padding: 10px; } QRadioButton::indicator { width: 20px; height: 20px; border: 2px solid #1db954; /* Yeşil */ border-radius: 10px; } QRadioButton::indicator:checked { background-color: #1db954; /* Yeşil */ border: 2px solid #1db954; /* Yeşil */ } """) radio.toggled.connect(self.update_styles) # Radyonun durumu değiştiğinde stilleri güncelle grid_layout.addWidget(radio, row, col) layout.addLayout(grid_layout) self.link_input = QLineEdit(self) self.link_input.setPlaceholderText("Kısaltılacak linki girin...") self.link_input.setStyleSheet("background-color: #2a2a2a; color: #fff; padding: 10px; border-radius: 5px;") layout.addWidget(self.link_input) self.custom_word_input = QLineEdit(self) self.custom_word_input.setPlaceholderText("Özel kelimeler (Kelimeleri '-' ile ayırarak yazınız)...") self.custom_word_input.setStyleSheet("background-color: #2a2a2a; color: #fff; padding: 10px; border-radius: 5px;") layout.addWidget(self.custom_word_input) self.shorten_button = QPushButton("Kısalt") self.shorten_button.setStyleSheet(self.button_style()) self.shorten_button.clicked.connect(self.shorten_link) layout.addWidget(self.shorten_button) self.result_textbox = QTextEdit(self) self.result_textbox.setReadOnly(True) # Sadece okunabilir self.result_textbox.setStyleSheet("background-color: #2a2a2a; color: #fff; padding: 10px; border-radius: 5px;") layout.addWidget(self.result_textbox) self.copy_button = QPushButton("Kopyala") self.copy_button.setStyleSheet(self.button_style()) self.copy_button.clicked.connect(self.copy_to_clipboard) layout.addWidget(self.copy_button) layout.addStretch() # Aşağıda boşluk bırakmak için self.setLayout(layout) def button_style(self, color="#1db954"): return f""" QPushButton {{ background-color: {color}; /* Seçilen rengi kullan */ color: #ffffff; border: 2px solid {color}; /* Seçilen rengi kullan */ border-radius: 5px; font-size: 16pt; font-weight: bold; width: 150px; }} QPushButton:hover {{ background-color: #ffffff; /* Beyaz */ color: {color}; /* Seçilen rengi kullan */ }} """ def apply_theme(self): if self.dark_theme: self.setStyleSheet("background-color: #1e1e1e; color: #FFFFFF;") else: self.setStyleSheet("background-color: #FFFFFF; color: #000000;") def update_styles(self): selected_platform = "" for radio in self.platform_radiobuttons: if radio.isChecked(): selected_platform = radio.text() break if selected_platform: # Seçilen platform varsa color = self.platform_colors[selected_platform] self.shorten_button.setStyleSheet(self.button_style(color)) self.copy_button.setStyleSheet(self.button_style(color)) self.title.setStyleSheet(f"font-size: 30pt; font-weight: bold; color: {color};") # Başlık rengi değişimi for radio in self.platform_radiobuttons: radio.setStyleSheet(f""" QRadioButton {{ color: #FFFFFF; font-size: 18pt; padding: 10px; }} QRadioButton::indicator {{ width: 20px; height: 20px; border: 2px solid {color}; /* Seçilen platform rengi */ border-radius: 10px; }} QRadioButton::indicator:checked {{ background-color: {color}; /* Seçilen platform rengi */ border: 2px solid {color}; /* Seçilen platform rengi */ }} """) def shorten_link(self): link = self.link_input.text().strip() custom_word = self.custom_word_input.text().strip() selected_platform = "" for radio in self.platform_radiobuttons: if radio.isChecked(): selected_platform = radio.text() break if not link: QMessageBox.warning(self, "Uyarı", "Lütfen bir link girin!") return if selected_platform: # Burada kısaltma işlemini yapacak API çağrısını yap try: response = requests.get(f"https://is.gd/create.php?format=simple&url={link}") if response.status_code == 200: shortened_url = response.text formatted_url = f"https://{selected_platform.lower()}.com-{custom_word}@{shortened_url[8:]}" if custom_word else shortened_url self.result_textbox.setPlainText(formatted_url) # Kısaltılmış bağlantıyı metin kutusuna yaz else: QMessageBox.warning(self, "Hata", "Kısaltma işlemi başarısız oldu.") except Exception as e: QMessageBox.critical(self, "Hata", f"Bir hata oluştu: {e}") def copy_to_clipboard(self): text = self.result_textbox.toPlainText() if text: pyperclip.copy(text) QMessageBox.information(self, "Başarılı", "Kısaltılmış bağlantı panoya kopyalandı!") def toggle_fullscreen(self): if self.isFullScreen(): self.showNormal() else: self.showFullScreen() def mousePressEvent(self, event): if event.button() == Qt.LeftButton: self.is_dragging = True self.drag_start_position = event.globalPos() - self.frameGeometry().topLeft() def mouseMoveEvent(self, event): if self.is_dragging: self.move(event.globalPos() - self.drag_start_position) def mouseReleaseEvent(self, event): self.is_dragging = False def paintEvent(self, event): painter = QPainter(self) pen = QPen(QColor("white"), 4) painter.setPen(pen) width = self.width() height = self.height() painter.drawLine(0, 0, 50, 0) painter.drawLine(0, 0, 0, 50) painter.drawLine(width, 0, width - 50, 0) painter.drawLine(width, 0, width, 50) painter.drawLine(0, height, 50, height) painter.drawLine(0, height, 0, height - 50) painter.drawLine(width, height, width - 50, height) painter.drawLine(width, height, width, height - 50) if __name__ == '__main__': app = QApplication(sys.argv) welcome_dialog = WelcomeDialog() if welcome_dialog.exec_() == QDialog.Accepted: ex = LinkShortenerApp() ex.show() sys.exit(app.exec_()
Neden konuların altına python kodları yazıyorsunuz anlamadım.
Merhaba,attığım python kodu konudaki kodun kaynak kodudur.İyi forumlar dilerim.Neden konuların altına python kodları yazıyorsunuz anlamadım.
Virüs yok mu yani?Denendi onaylandı
Çözmen güzel, güle güle kullanınPython:import sys import requests import pyperclip from PyQt5.QtWidgets import (QApplication, QWidget, QLabel, QVBoxLayout, QHBoxLayout, QPushButton, QLineEdit, QMessageBox, QTextEdit, QRadioButton, QFrame, QGridLayout, QDialog, QFileDialog, QProgressBar) from PyQt5.QtCore import Qt, QPoint, QThread, pyqtSignal, QRect, QUrl from PyQt5.QtGui import QPainter, QPen, QColor, QPixmap, QFont, QImage, QDesktopServices, QBrush, QLinearGradient from io import BytesIO import ctypes if sys.platform == "win32": ctypes.windll.user32.ShowWindow(ctypes.windll.kernel32.GetConsoleWindow(), 0) class WelcomeDialog(QDialog): def __init__(self, parent=None): super(WelcomeDialog, self).__init__(parent) self.setWindowTitle("Hoş Geldiniz") self.setGeometry(500, 200, 400, 300) self.setWindowFlags(Qt.FramelessWindowHint) self.setStyleSheet("background-color: #0f0f0f; color: #FFFFFF;") layout = QVBoxLayout(self) image_label = QLabel(self) image_url = "https://i.hizliresim.com/4io58t2.png" # Uygulamanın logosu veya görseli self.set_image_from_url(image_label, image_url) layout.addWidget(image_label, alignment=Qt.AlignCenter) welcome_label = QLabel("<span style='color: white;'>Link Kısaltma Uygulamasına Hoş Geldiniz.</span><br><br>" "<span style='color: #00bcd4;'>Kısa linkler oluşturmak için hazırlanın!</span><br><br>" "<span style='color: orange;'>Yapımcı:<span style='color: white;'> Aytlogo_ Luxer</span>", self) welcome_label.setAlignment(Qt.AlignCenter) welcome_label.setStyleSheet("font-size: 14pt;") layout.addWidget(welcome_label) self.devam_et_button = QPushButton("Devam Et", self) self.devam_et_button.setStyleSheet( """ QPushButton { background-color: #444444; /* Gri */ color: #ffffff; border: 2px solid #1DB954; /* Turkuaz */ border-radius: 5px; font-size: 14pt; font-weight: bold; width: 150px; } QPushButton:hover { background-color: #1DB954; /* Turkuaz */ color: #444444; /* Gri */ }""" ) self.devam_et_button.setFont(QFont("Arial", 10, QFont.Bold)) self.devam_et_button.clicked.connect(self.accept) layout.addWidget(self.devam_et_button) layout.addSpacing(20) icon_layout = QHBoxLayout() # Sosyal medya ikonları ve bağlantıları discord_icon_url = "https://www.iconsdb.com/icons/preview/red/telegram-xxl.png" self.discord_label = QLabel(self) self.discord_label.setPixmap(self.get_icon_from_url(discord_icon_url).scaledToWidth(30)) self.discord_label.mousePressEvent = lambda event: self.open_url("https://t.me/Aytlogo_Luxer") icon_layout.addWidget(self.discord_label, alignment=Qt.AlignLeft) instagram_icon_url = "https://cdn-icons-png.flaticon.com/512/2504/2504918.png" self.instagram_label = QLabel(self) self.instagram_label.setPixmap(self.get_icon_from_url(instagram_icon_url).scaledToWidth(30)) self.instagram_label.mousePressEvent = lambda event: self.open_url("https://www.instagram.com/0aytlogo0_luxerhacker") icon_layout.addWidget(self.instagram_label, alignment=Qt.AlignCenter) youtube_icon_url = "https://static-00.iconduck.com/assets.00/youtube-icon-512x364-iqs00mng.png" self.youtube_label = QLabel(self) self.youtube_label.setPixmap(self.get_icon_from_url(youtube_icon_url).scaledToWidth(30)) self.youtube_label.mousePressEvent = lambda event: self.open_url("https://www.youtube.com/channel/UCew6GoOGWTRLiXzJHv525cA") icon_layout.addWidget(self.youtube_label, alignment=Qt.AlignRight) layout.addLayout(icon_layout) def set_image_from_url(self, label, url): response = requests.get(url) image = QPixmap() image.loadFromData(response.content) label.setPixmap(image) def get_icon_from_url(self, url): response = requests.get(url) return QPixmap().loadFromData(response.content) def open_url(self, url): import webbrowser webbrowser.open(url) def get_icon_from_url(self, url): response = requests.get(url) icon_data = BytesIO(response.content) image = QImage() image.loadFromData(icon_data.getvalue()) return QPixmap(image) def set_image_from_url(self, label, url): response = requests.get(url) image_data = BytesIO(response.content) image = QPixmap() image.loadFromData(image_data.getvalue()) label.setPixmap(image.scaledToWidth(150)) def open_url(self, url): QDesktopServices.openUrl(QUrl(url)) def closeEvent(self, event): sys.exit(0) def load_and_set_background_image(self, url, label): try: response = requests.get(url, stream=True) response.raise_for_status() pixmap = QPixmap() pixmap.loadFromData(response.content) pixmap_scaled = pixmap.scaled(self.size(), Qt.KeepAspectRatio, Qt.SmoothTransformation) label.setPixmap(pixmap_scaled) label.setGeometry(0, 0, self.width(), self.height()) except requests.exceptions.RequestException as e: print(f"Error downloading background image: {e}") def paintEvent(self, event): painter = QPainter(self) pen = QPen(QColor("#1DB954"), 4) painter.setPen(pen) width = self.width() height = self.height() painter.drawLine(0, 0, 50, 0) painter.drawLine(0, 0, 0, 50) painter.drawLine(width, 0, width - 50, 0) painter.drawLine(width, 0, width, 50) painter.drawLine(0, height, 50, height) painter.drawLine(0, height, 0, height - 50) painter.drawLine(width, height, width - 50, height) painter.drawLine(width, height, width, height - 50) class LinkShortenerApp(QWidget): def __init__(self): super().__init__() self.dark_theme = True # Temayı başlat self.init_ui() self.is_dragging = False # Dragging state self.drag_start_position = QPoint() # Start position for dragging self.platform_colors = { "Google": "#4285F4", # Mavi "Instagram": "#C13584", # Mor "Youtube": "#bf0000", # Kırmızı "Spotify": "#1DB954", # Yeşil "Facebook": "#0076bf", # Mavi "Bing": "#f25022", # Turuncu "LinkedIn": "#0077B5", # Mavi "Twitter": "#1DA1F2", # Mavi "TikTok": "#69C9D0" # Mavi } def init_ui(self): self.setWindowTitle('Link Kısaltıcı') self.setGeometry(200, 50, 800, 500) # Genişlik ve yükseklik artırıldı self.setWindowFlags(Qt.FramelessWindowHint) self.apply_theme() top_frame = QFrame(self) top_frame.setFixedHeight(30) minimize_button = QPushButton("") minimize_button.setFixedSize(20, 20) minimize_button.setStyleSheet(""" QPushButton { background-color: #00bcd4; /* Turkuaz */ border-radius: 10px; color: #ffffff; font-weight: bold; } QPushButton:hover { background-color: #0097a7; /* Koyu turkuaz */ } """) minimize_button.clicked.connect(self.showMinimized) close_button = QPushButton("") close_button.setFixedSize(20, 20) close_button.setStyleSheet(""" QPushButton { background-color: #ff5252; /* Kırmızı */ border-radius: 10px; color: #ffffff; font-weight: bold; } QPushButton:hover { background-color: #d50000; /* Koyu kırmızı */ } """) close_button.clicked.connect(self.close) fullscreen_button = QPushButton("") fullscreen_button.setFixedSize(20, 20) fullscreen_button.setStyleSheet(""" QPushButton { background-color: #4caf50; /* Yeşil */ border-radius: 10px; color: #ffffff; font-weight: bold; } QPushButton:hover { background-color: #388e3c; /* Koyu yeşil */ } """) fullscreen_button.clicked.connect(self.toggle_fullscreen) top_layout = QHBoxLayout(top_frame) top_layout.addWidget(minimize_button) top_layout.addWidget(fullscreen_button) top_layout.addWidget(close_button) top_layout.setAlignment(Qt.AlignRight) layout = QVBoxLayout() layout.addWidget(top_frame) self.title = QLabel("🔪Link Maskeleme🔪") self.title.setStyleSheet("font-size: 30pt; font-weight: bold; color: #1db954;") self.title.setAlignment(Qt.AlignCenter) layout.addWidget(self.title) # Eklenen platformlar self.platform_radiobuttons = [ QRadioButton("Google"), QRadioButton("Instagram"), QRadioButton("Youtube"), QRadioButton("Spotify"), QRadioButton("Facebook"), QRadioButton("Bing"), QRadioButton("LinkedIn"), QRadioButton("Twitter"), QRadioButton("TikTok") ] # 5x5 düzen için grid layout grid_layout = QGridLayout() for i, radio in enumerate(self.platform_radiobuttons): row = i // 5 col = i % 5 radio.setStyleSheet(""" QRadioButton { color: #FFFFFF; font-size: 18pt; padding: 10px; } QRadioButton::indicator { width: 20px; height: 20px; border: 2px solid #1db954; /* Yeşil */ border-radius: 10px; } QRadioButton::indicator:checked { background-color: #1db954; /* Yeşil */ border: 2px solid #1db954; /* Yeşil */ } """) radio.toggled.connect(self.update_styles) # Radyonun durumu değiştiğinde stilleri güncelle grid_layout.addWidget(radio, row, col) layout.addLayout(grid_layout) self.link_input = QLineEdit(self) self.link_input.setPlaceholderText("Kısaltılacak linki girin...") self.link_input.setStyleSheet("background-color: #2a2a2a; color: #fff; padding: 10px; border-radius: 5px;") layout.addWidget(self.link_input) self.custom_word_input = QLineEdit(self) self.custom_word_input.setPlaceholderText("Özel kelimeler (Kelimeleri '-' ile ayırarak yazınız)...") self.custom_word_input.setStyleSheet("background-color: #2a2a2a; color: #fff; padding: 10px; border-radius: 5px;") layout.addWidget(self.custom_word_input) self.shorten_button = QPushButton("Kısalt") self.shorten_button.setStyleSheet(self.button_style()) self.shorten_button.clicked.connect(self.shorten_link) layout.addWidget(self.shorten_button) self.result_textbox = QTextEdit(self) self.result_textbox.setReadOnly(True) # Sadece okunabilir self.result_textbox.setStyleSheet("background-color: #2a2a2a; color: #fff; padding: 10px; border-radius: 5px;") layout.addWidget(self.result_textbox) self.copy_button = QPushButton("Kopyala") self.copy_button.setStyleSheet(self.button_style()) self.copy_button.clicked.connect(self.copy_to_clipboard) layout.addWidget(self.copy_button) layout.addStretch() # Aşağıda boşluk bırakmak için self.setLayout(layout) def button_style(self, color="#1db954"): return f""" QPushButton {{ background-color: {color}; /* Seçilen rengi kullan */ color: #ffffff; border: 2px solid {color}; /* Seçilen rengi kullan */ border-radius: 5px; font-size: 16pt; font-weight: bold; width: 150px; }} QPushButton:hover {{ background-color: #ffffff; /* Beyaz */ color: {color}; /* Seçilen rengi kullan */ }} """ def apply_theme(self): if self.dark_theme: self.setStyleSheet("background-color: #1e1e1e; color: #FFFFFF;") else: self.setStyleSheet("background-color: #FFFFFF; color: #000000;") def update_styles(self): selected_platform = "" for radio in self.platform_radiobuttons: if radio.isChecked(): selected_platform = radio.text() break if selected_platform: # Seçilen platform varsa color = self.platform_colors[selected_platform] self.shorten_button.setStyleSheet(self.button_style(color)) self.copy_button.setStyleSheet(self.button_style(color)) self.title.setStyleSheet(f"font-size: 30pt; font-weight: bold; color: {color};") # Başlık rengi değişimi for radio in self.platform_radiobuttons: radio.setStyleSheet(f""" QRadioButton {{ color: #FFFFFF; font-size: 18pt; padding: 10px; }} QRadioButton::indicator {{ width: 20px; height: 20px; border: 2px solid {color}; /* Seçilen platform rengi */ border-radius: 10px; }} QRadioButton::indicator:checked {{ background-color: {color}; /* Seçilen platform rengi */ border: 2px solid {color}; /* Seçilen platform rengi */ }} """) def shorten_link(self): link = self.link_input.text().strip() custom_word = self.custom_word_input.text().strip() selected_platform = "" for radio in self.platform_radiobuttons: if radio.isChecked(): selected_platform = radio.text() break if not link: QMessageBox.warning(self, "Uyarı", "Lütfen bir link girin!") return if selected_platform: # Burada kısaltma işlemini yapacak API çağrısını yap try: response = requests.get(f"https://is.gd/create.php?format=simple&url={link}") if response.status_code == 200: shortened_url = response.text formatted_url = f"https://{selected_platform.lower()}.com-{custom_word}@{shortened_url[8:]}" if custom_word else shortened_url self.result_textbox.setPlainText(formatted_url) # Kısaltılmış bağlantıyı metin kutusuna yaz else: QMessageBox.warning(self, "Hata", "Kısaltma işlemi başarısız oldu.") except Exception as e: QMessageBox.critical(self, "Hata", f"Bir hata oluştu: {e}") def copy_to_clipboard(self): text = self.result_textbox.toPlainText() if text: pyperclip.copy(text) QMessageBox.information(self, "Başarılı", "Kısaltılmış bağlantı panoya kopyalandı!") def toggle_fullscreen(self): if self.isFullScreen(): self.showNormal() else: self.showFullScreen() def mousePressEvent(self, event): if event.button() == Qt.LeftButton: self.is_dragging = True self.drag_start_position = event.globalPos() - self.frameGeometry().topLeft() def mouseMoveEvent(self, event): if self.is_dragging: self.move(event.globalPos() - self.drag_start_position) def mouseReleaseEvent(self, event): self.is_dragging = False def paintEvent(self, event): painter = QPainter(self) pen = QPen(QColor("white"), 4) painter.setPen(pen) width = self.width() height = self.height() painter.drawLine(0, 0, 50, 0) painter.drawLine(0, 0, 0, 50) painter.drawLine(width, 0, width - 50, 0) painter.drawLine(width, 0, width, 50) painter.drawLine(0, height, 50, height) painter.drawLine(0, height, 0, height - 50) painter.drawLine(width, height, width - 50, height) painter.drawLine(width, height, width, height - 50) if __name__ == '__main__': app = QApplication(sys.argv) welcome_dialog = WelcomeDialog() if welcome_dialog.exec_() == QDialog.Accepted: ex = LinkShortenerApp() ex.show() sys.exit(app.exec_()