from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtGui import QCursor
from PyQt5.QtWidgets import QMessageBox
import requests
from lxml.html import fromstring
import lxml.html
class Ui_UltraByte(object):
def worker1(self):
global keyword
keyword = self.textEdit.toPlainText()
self.label_3.setText("Running...")
self.label_3.setStyleSheet("color: rgb(0, 170, 0);")
self.label_7.setText("Running...")
self.label_7.setStyleSheet("color: rgb(0, 170, 0);")
self.label_5.setText("Running...")
self.label_5.setStyleSheet("color: rgb(0, 170, 0);")
self.label_9.setText("Running...")
self.label_9.setStyleSheet("color: rgb(0, 170, 0);")
self.thread[1] = ThreadClass(parent=None,index=1)
self.thread[1].start()
self.thread[1].any_signal.connect(self.start_reporting)
self.buttontarget.setEnabled(False)
def stopReporting(self):
self.thread[1].stop()
self.buttontarget.setEnabled(True)
self.label_5.setText("Stop...")
self.label_5.setStyleSheet("color: rgb(225, 0, 0);")
self.label_9.setText("Stop...")
self.label_9.setStyleSheet("color: rgb(225, 0, 0);")
def start_reporting(self):
self.questions.setPlainText(infos)
def __init__(self):
super().__init__() #pour le lancement pour le premier fonction
def openUrl(self):
url = QtCore.QUrl('https://ultrabyte.agency')
if not QtGui.QDesktopServices.openUrl(url):
QtGui.QMessageBox.warning(self, 'Open Url', 'Could not open url')
def setupUi(self, UltraByte):
self.thread={}
UltraByte.setObjectName("UltraByte")
UltraByte.setFixedSize(574, 572)
UltraByte.setWindowFlags(QtCore.Qt.WindowCloseButtonHint | QtCore.Qt.WindowMinimizeButtonHint)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap("./res/log.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
UltraByte.setWindowIcon(icon)
UltraByte.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(255, 255, 255);")
self.centralwidget = QtWidgets.QWidget(UltraByte)
self.centralwidget.setObjectName("centralwidget")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(20, 10, 171, 101))
self.label.setText("")
self.label.setPixmap(QtGui.QPixmap("./res/log.png"))
self.label.setObjectName("label")
self.groupBox = QtWidgets.QGroupBox(self.centralwidget)
self.groupBox.setGeometry(QtCore.QRect(210, 0, 351, 111))
self.groupBox.setObjectName("groupBox")
self.label_2 = QtWidgets.QLabel(self.groupBox)
self.label_2.setGeometry(QtCore.QRect(20, 20, 71, 21))
self.label_2.setObjectName("label_2")
self.label_3 = QtWidgets.QLabel(self.groupBox)
self.label_3.setGeometry(QtCore.QRect(90, 20, 241, 21))
self.label_3.setObjectName("label_3")
self.label_4 = QtWidgets.QLabel(self.groupBox)
self.label_4.setGeometry(QtCore.QRect(20, 40, 51, 21))
self.label_4.setObjectName("label_4")
self.label_5 = QtWidgets.QLabel(self.groupBox)
self.label_5.setGeometry(QtCore.QRect(80, 40, 251, 21))
self.label_5.setObjectName("label_5")
self.label_6 = QtWidgets.QLabel(self.groupBox)
self.label_6.setGeometry(QtCore.QRect(20, 60, 51, 21))
self.label_6.setObjectName("label_6")
self.label_7 = QtWidgets.QLabel(self.groupBox)
self.label_7.setGeometry(QtCore.QRect(60, 60, 261, 21))
self.label_7.setObjectName("label_7")
self.label_8 = QtWidgets.QLabel(self.groupBox)
self.label_8.setGeometry(QtCore.QRect(20, 80, 51, 21))
self.label_8.setObjectName("label_8")
self.label_9 = QtWidgets.QLabel(self.groupBox)
self.label_9.setGeometry(QtCore.QRect(70, 80, 261, 21))
self.label_9.setStyleSheet("")
self.label_9.setObjectName("label_9")
self.label_10 = QtWidgets.QLabel(self.groupBox)
self.label_10.setGeometry(QtCore.QRect(140, 110, 51, 21))
self.label_10.setObjectName("label_10")
self.groupBox_2 = QtWidgets.QGroupBox(self.centralwidget)
self.groupBox_2.setGeometry(QtCore.QRect(20, 180, 541, 321))
self.groupBox_2.setObjectName("groupBox_2")
self.questions = QtWidgets.QPlainTextEdit(self.groupBox_2)
self.questions.setGeometry(QtCore.QRect(10, 20, 521, 291))
self.questions.setObjectName("questions")
self.buttontarget = QtWidgets.QPushButton(self.centralwidget)
self.buttontarget.setEnabled(True)
self.buttontarget.setGeometry(QtCore.QRect(350, 130, 101, 31))
font = QtGui.QFont()
font.setFamily("Segoe Print")
font.setBold(True)
font.setWeight(75)
self.buttontarget.setFont(font)
self.buttontarget.setAcceptDrops(False)
self.buttontarget.setStyleSheet("QPushButton::chunk{\n"
" font: 8pt \"MS Shell Dlg 2\";\n"
" font: 75 8pt \"MS Shell Dlg 2\";\n"
" border-radius: 10px;\n"
" background-color: qlineargradient(spread:pad, x1:0, y1:0.511364, x2:1, y2:0.523, stop:0 rgba(254, 121, 199, 255), stop:1 rgba(170, 85, 255, 255));\n"
"}\n"
"\n"
"QPushButton {\n"
" background-color: rgb(255, 255, 255);\n"
" color: rgb(0,0,0);\n"
" border-style: none;\n"
" border-radius: 10px;\n"
" text-align: center;\n"
" height: 50px;\n"
"border: 2px solid black\n"
"}\n"
"\n"
"")
self.buttontarget.setObjectName("buttontarget")
self.buttontarget.setCursor(QCursor(QtCore.Qt.PointingHandCursor))
self.buttontarget_2 = QtWidgets.QPushButton(self.centralwidget)
self.buttontarget_2.setEnabled(True)
self.buttontarget_2.setGeometry(QtCore.QRect(460, 130, 101, 31))
font = QtGui.QFont()
font.setFamily("Segoe Print")
font.setBold(True)
font.setWeight(75)
self.buttontarget_2.setFont(font)
self.buttontarget_2.setAcceptDrops(False)
self.buttontarget_2.setStyleSheet("QPushButton::chunk{\n"
" font: 8pt \"MS Shell Dlg 2\";\n"
" font: 75 8pt \"MS Shell Dlg 2\";\n"
" border-radius: 10px;\n"
" background-color: qlineargradient(spread:pad, x1:0, y1:0.511364, x2:1, y2:0.523, stop:0 rgba(254, 121, 199, 255), stop:1 rgba(170, 85, 255, 255));\n"
"}\n"
"\n"
"QPushButton {\n"
" background-color: rgb(255, 255, 255);\n"
" color: rgb(0,0,0);\n"
" border-style: none;\n"
" border-radius: 10px;\n"
" text-align: center;\n"
" height: 50px;\n"
"border: 2px solid black\n"
"}\n"
"\n"
"")
self.buttontarget_2.setObjectName("buttontarget_2")
self.buttontarget_2.setCursor(QCursor(QtCore.Qt.PointingHandCursor))
self.textEdit = QtWidgets.QTextEdit(self.centralwidget)
self.textEdit.setGeometry(QtCore.QRect(120, 130, 211, 31))
self.textEdit.setObjectName("textEdit")
self.label_11 = QtWidgets.QLabel(self.centralwidget)
self.label_11.setGeometry(QtCore.QRect(50, 130, 61, 31))
self.label_11.setObjectName("label_11")
self.label_12 = QtWidgets.QLabel(self.centralwidget)
self.label_12.setGeometry(QtCore.QRect(290, 510, 281, 21))
self.label_12.setStyleSheet("")
self.label_12.setObjectName("label_12")
UltraByte.setCentralWidget(self.centralwidget)
self.statusbar = QtWidgets.QStatusBar(UltraByte)
self.statusbar.setObjectName("statusbar")
UltraByte.setStatusBar(self.statusbar)
self.menubar = QtWidgets.QMenuBar(UltraByte)
self.menubar.setGeometry(QtCore.QRect(0, 0, 574, 21))
self.menubar.setObjectName("menubar")
self.menuMenu = QtWidgets.QMenu(self.menubar)
self.menuMenu.setObjectName("menuMenu")
self.menuHelp_2 = QtWidgets.QMenu(self.menubar)
self.menuHelp_2.setObjectName("menuHelp_2")
UltraByte.setMenuBar(self.menubar)
self.actionClose = QtWidgets.QAction(UltraByte)
self.actionClose.setObjectName("actionClose")
self.actionContact_Us = QtWidgets.QAction(UltraByte)
self.actionContact_Us.setObjectName("actionContact_Us")
self.menuMenu.addAction(self.actionClose)
self.menuHelp_2.addAction(self.actionContact_Us)
self.menubar.addAction(self.menuMenu.menuAction())
self.menubar.addAction(self.menuHelp_2.menuAction())
self.retranslateUi(UltraByte)
QtCore.QMetaObject.connectSlotsByName(UltraByte)
def retranslateUi(self, UltraByte):
_translate = QtCore.QCoreApplication.translate
UltraByte.setWindowTitle(_translate("UltraByte", "PAA GENERATOR"))
self.groupBox.setTitle(_translate("UltraByte", "System Infos: "))
self.label_2.setText(_translate("UltraByte", "Server-node : "))
self.label_3.setText(_translate("UltraByte", "Ready "))
self.label_4.setText(_translate("UltraByte", "- Process : "))
self.label_5.setText(_translate("UltraByte", "Ready "))
self.label_6.setText(_translate("UltraByte", "- Sys : "))
self.label_7.setText(_translate("UltraByte", "Ready "))
self.label_8.setText(_translate("UltraByte", "- Script : "))
self.label_9.setText(_translate("UltraByte", "Ready "))
self.label_10.setText(_translate("UltraByte", "- Script : "))
self.groupBox_2.setTitle(_translate("UltraByte", "PAA Generator : "))
self.buttontarget.setText(_translate("UltraByte", "Launch"))
self.buttontarget_2.setText(_translate("UltraByte", "Stop"))
self.label_11.setText(_translate("UltraByte", "KEYWORD : "))
self.label_12.setText(_translate("UltraByte", "Powered By xDyablo"))
self.menuMenu.setTitle(_translate("UltraByte", "File"))
self.menuHelp_2.setTitle(_translate("UltraByte", "Help"))
self.actionClose.setText(_translate("UltraByte", "Close"))
self.actionContact_Us.setText(_translate("UltraByte", "Contact Us"))
self.buttontarget.clicked.connect(self.worker1)
self.buttontarget_2.clicked.connect(self.stopReporting)
self.actionClose.triggered.connect(self.openUrl)
self.actionContact_Us.triggered.connect(self.openUrl)
#Thread Class
# should be in the run function and the main function
#
class ThreadClass(QtCore.QThread):
any_signal = QtCore.pyqtSignal(str)
#result of the op1
def __init__(self, parent=None,index=0):
super(ThreadClass, self).__init__(parent)
self.index=index
self.is_running = True
def TargetEmail(self):
quotefile = open('./data/Email_Target.txt','r')
for line in quotefile:
Target = line.strip()
return Target
def run(self):
global infos
query = keyword
# main function (paa generator)
header = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36',
'Accept-Language': 'en-US,en;q=0.9',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9'
}
response = requests.get(f'https://www.google.com/search?q={query}&start=0', headers=header).text
tree = lxml.html.fromstring(response)
yourList = tree.xpath('//@data-q')
butFirst = yourList[1:]
infos = "\n".join(butFirst)
self.any_signal.emit(infos)
def stop(self):
self.is_running = False
print('Stopping thread...',self.index)
self.terminate()
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
UltraByte = QtWidgets.QMainWindow()
ui = Ui_UltraByte()
ui.setupUi(UltraByte)
UltraByte.show()
sys.exit(app.exec_())