Skip to content

Commit

Permalink
更新b1.6
Browse files Browse the repository at this point in the history
LYXOfficial committed May 27, 2023

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
1 parent 987887a commit 95a9d63
Showing 17 changed files with 615 additions and 198 deletions.
154 changes: 71 additions & 83 deletions NTD.ui
Original file line number Diff line number Diff line change
@@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>413</width>
<height>446</height>
<width>340</width>
<height>376</height>
</rect>
</property>
<property name="font">
@@ -58,6 +58,58 @@
<property name="bottomMargin">
<number>5</number>
</property>
<item row="0" column="3">
<widget class="QLabel" name="label_5">
<property name="maximumSize">
<size>
<width>40</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="StudentRunning">
<property name="text">
<string>极域:&lt;span style=&quot;color:grey&quot;&gt;检测中&lt;/span&gt;</string>
</property>
<property name="margin">
<number>0</number>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QLabel" name="GBing">
<property name="layoutDirection">
<enum>Qt::LeftToRight</enum>
</property>
<property name="text">
<string>广播:&lt;span style=&quot;color:grey&quot;&gt;检测中&lt;/span&gt;</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="margin">
<number>0</number>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_6">
<property name="maximumSize">
<size>
<width>20</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="2" column="0" colspan="4">
<widget class="QGroupBox" name="groupBox_2">
<property name="title">
@@ -151,58 +203,6 @@
</layout>
</widget>
</item>
<item row="0" column="2">
<widget class="QLabel" name="GBing">
<property name="layoutDirection">
<enum>Qt::LeftToRight</enum>
</property>
<property name="text">
<string>广播:&lt;span style=&quot;color:grey&quot;&gt;检测中&lt;/span&gt;</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="margin">
<number>0</number>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="StudentRunning">
<property name="text">
<string>极域:&lt;span style=&quot;color:grey&quot;&gt;检测中&lt;/span&gt;</string>
</property>
<property name="margin">
<number>0</number>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="QLabel" name="label_5">
<property name="maximumSize">
<size>
<width>40</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_6">
<property name="maximumSize">
<size>
<width>20</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="1" column="0" colspan="4">
<widget class="QGroupBox" name="groupBox">
<property name="title">
@@ -256,27 +256,8 @@
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QPushButton" name="EnableTDBar">
<property name="enabled">
<bool>false</bool>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>解禁工具栏</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QPushButton" name="KillTD">
<property name="enabled">
<bool>false</bool>
</property>
<property name="minimumSize">
<size>
<width>100</width>
@@ -291,7 +272,7 @@
<item row="0" column="2">
<widget class="QPushButton" name="KillCurrent">
<property name="enabled">
<bool>false</bool>
<bool>true</bool>
</property>
<property name="text">
<string>杀掉进程↓</string>
@@ -326,17 +307,17 @@
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QPushButton" name="CopyLink">
<property name="text">
<string>复制极域链接</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="3" column="1">
<widget class="QPushButton" name="UninstallTopDomain">
<property name="text">
<string>卸载极域</string>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QLineEdit" name="TDPasswd">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
@@ -352,6 +333,13 @@
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QPushButton" name="UninstallTopDomain">
<property name="text">
<string>卸载极域</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_3">
@@ -474,8 +462,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>413</width>
<height>26</height>
<width>340</width>
<height>22</height>
</rect>
</property>
</widget>
35 changes: 35 additions & 0 deletions NTDTools.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#include <windows.h>
#include <cstdio>
HOOKPROC HookProc(int nCode,WPARAM wParam,LPARAM lParam){
return 0;
}
@@ -28,6 +29,40 @@ void SetWindowNoPref(HWND hwnd){
SetWindowPos(hwnd,HWND_NOTOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
Sleep(20);
}
BOOL GetMythwarePasswordFromRegedit(char *str) {
HKEY retKey;
BYTE retKeyVal[MAX_PATH * 10] = { 0 };
DWORD nSize = MAX_PATH * 10;
LONG ret = RegOpenKeyEx(HKEY_LOCAL_MACHINE, L"SOFTWARE\\TopDomain\\e-Learning Class\\Student", 0, KEY_QUERY_VALUE | KEY_WOW64_32KEY, &retKey);
if (ret != ERROR_SUCCESS) {
return FALSE;
}
ret = RegQueryValueExA(retKey, "knock1", NULL, NULL, (LPBYTE)retKeyVal, &nSize);
RegCloseKey(retKey);
if (ret != ERROR_SUCCESS) {
return FALSE;
}
for (int i = 0; i < int(nSize); i += 4) {
retKeyVal[i + 0] = (retKeyVal[i + 0] ^ 0x50 ^ 0x45);
retKeyVal[i + 1] = (retKeyVal[i + 1] ^ 0x43 ^ 0x4c);
retKeyVal[i + 2] = (retKeyVal[i + 2] ^ 0x4c ^ 0x43);
retKeyVal[i + 3] = (retKeyVal[i + 3] ^ 0x45 ^ 0x50);
}
for (int i = 0; i < int(nSize); i += 1) {
printf("%x ", retKeyVal[i]);
if (i % 8 == 0) puts("");
}
int sum = 0;
for (int i = 0; i < int(nSize); i += 1) {
if (retKeyVal[i + 1] == 0) {
*(str + sum) = retKeyVal[i];
sum++;
if (retKeyVal[i] == 0) break;
}
}
return TRUE;
}

int main(){
return 0;
}
177 changes: 125 additions & 52 deletions NoTopDomain.py

Large diffs are not rendered by default.

69 changes: 33 additions & 36 deletions Ui_NTD.py → libs/Ui_NTD.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'e:\NoTopDomain\NTD.ui'
# Form implementation generated from reading ui file 'f:\Phigros\NoTopDomain\NTD.ui'
#
# Created by: PyQt5 UI code generator 5.15.9
#
@@ -14,7 +14,7 @@
class Ui_NoTopDomain(object):
def setupUi(self, NoTopDomain):
NoTopDomain.setObjectName("NoTopDomain")
NoTopDomain.resize(413, 446)
NoTopDomain.resize(340, 376)
font = QtGui.QFont()
font.setFamily("Microsoft YaHei UI Light")
font.setPointSize(9)
@@ -32,6 +32,24 @@ def setupUi(self, NoTopDomain):
self.gridLayout_4 = QtWidgets.QGridLayout(self.tab)
self.gridLayout_4.setContentsMargins(5, 5, 5, 5)
self.gridLayout_4.setObjectName("gridLayout_4")
self.label_5 = QtWidgets.QLabel(self.tab)
self.label_5.setMaximumSize(QtCore.QSize(40, 16777215))
self.label_5.setText("")
self.label_5.setObjectName("label_5")
self.gridLayout_4.addWidget(self.label_5, 0, 3, 1, 1)
self.StudentRunning = QtWidgets.QLabel(self.tab)
self.StudentRunning.setObjectName("StudentRunning")
self.gridLayout_4.addWidget(self.StudentRunning, 0, 1, 1, 1)
self.GBing = QtWidgets.QLabel(self.tab)
self.GBing.setLayoutDirection(QtCore.Qt.LeftToRight)
self.GBing.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.GBing.setObjectName("GBing")
self.gridLayout_4.addWidget(self.GBing, 0, 2, 1, 1)
self.label_6 = QtWidgets.QLabel(self.tab)
self.label_6.setMaximumSize(QtCore.QSize(20, 16777215))
self.label_6.setText("")
self.label_6.setObjectName("label_6")
self.gridLayout_4.addWidget(self.label_6, 0, 0, 1, 1)
self.groupBox_2 = QtWidgets.QGroupBox(self.tab)
self.groupBox_2.setObjectName("groupBox_2")
self.gridLayout_3 = QtWidgets.QGridLayout(self.groupBox_2)
@@ -73,24 +91,6 @@ def setupUi(self, NoTopDomain):
self.WebsiteYes.setObjectName("WebsiteYes")
self.gridLayout_3.addWidget(self.WebsiteYes, 1, 0, 1, 1)
self.gridLayout_4.addWidget(self.groupBox_2, 2, 0, 1, 4)
self.GBing = QtWidgets.QLabel(self.tab)
self.GBing.setLayoutDirection(QtCore.Qt.LeftToRight)
self.GBing.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.GBing.setObjectName("GBing")
self.gridLayout_4.addWidget(self.GBing, 0, 2, 1, 1)
self.StudentRunning = QtWidgets.QLabel(self.tab)
self.StudentRunning.setObjectName("StudentRunning")
self.gridLayout_4.addWidget(self.StudentRunning, 0, 1, 1, 1)
self.label_5 = QtWidgets.QLabel(self.tab)
self.label_5.setMaximumSize(QtCore.QSize(40, 16777215))
self.label_5.setText("")
self.label_5.setObjectName("label_5")
self.gridLayout_4.addWidget(self.label_5, 0, 3, 1, 1)
self.label_6 = QtWidgets.QLabel(self.tab)
self.label_6.setMaximumSize(QtCore.QSize(20, 16777215))
self.label_6.setText("")
self.label_6.setObjectName("label_6")
self.gridLayout_4.addWidget(self.label_6, 0, 0, 1, 1)
self.groupBox = QtWidgets.QGroupBox(self.tab)
self.groupBox.setObjectName("groupBox")
self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox)
@@ -113,18 +113,12 @@ def setupUi(self, NoTopDomain):
self.HangUpTD.setMaximumSize(QtCore.QSize(16777215, 16777215))
self.HangUpTD.setObjectName("HangUpTD")
self.gridLayout_2.addWidget(self.HangUpTD, 0, 1, 1, 1)
self.EnableTDBar = QtWidgets.QPushButton(self.groupBox)
self.EnableTDBar.setEnabled(False)
self.EnableTDBar.setMaximumSize(QtCore.QSize(16777215, 16777215))
self.EnableTDBar.setObjectName("EnableTDBar")
self.gridLayout_2.addWidget(self.EnableTDBar, 1, 0, 1, 1)
self.KillTD = QtWidgets.QPushButton(self.groupBox)
self.KillTD.setEnabled(False)
self.KillTD.setMinimumSize(QtCore.QSize(100, 0))
self.KillTD.setObjectName("KillTD")
self.gridLayout_2.addWidget(self.KillTD, 0, 0, 1, 1)
self.KillCurrent = QtWidgets.QPushButton(self.groupBox)
self.KillCurrent.setEnabled(False)
self.KillCurrent.setEnabled(True)
self.KillCurrent.setObjectName("KillCurrent")
self.gridLayout_2.addWidget(self.KillCurrent, 0, 2, 1, 1)
self.KillSome = QtWidgets.QLineEdit(self.groupBox)
@@ -138,15 +132,15 @@ def setupUi(self, NoTopDomain):
self.KillSome.setMaximumSize(QtCore.QSize(0, 16777215))
self.KillSome.setObjectName("KillSome")
self.gridLayout_2.addWidget(self.KillSome, 1, 2, 1, 1)
self.CopyLink = QtWidgets.QPushButton(self.groupBox)
self.CopyLink.setObjectName("CopyLink")
self.gridLayout_2.addWidget(self.CopyLink, 1, 0, 1, 1)
self.gridLayout_2.setColumnStretch(0, 1)
self.gridLayout_2.setColumnStretch(1, 1)
self.gridLayout_2.setColumnStretch(2, 1)
self.gridLayout_2.setRowStretch(0, 1)
self.gridLayout_2.setRowStretch(1, 1)
self.gridLayout_4.addWidget(self.groupBox, 1, 0, 1, 4)
self.UninstallTopDomain = QtWidgets.QPushButton(self.tab)
self.UninstallTopDomain.setObjectName("UninstallTopDomain")
self.gridLayout_4.addWidget(self.UninstallTopDomain, 3, 1, 1, 1)
self.TDPasswd = QtWidgets.QLineEdit(self.tab)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
@@ -155,7 +149,10 @@ def setupUi(self, NoTopDomain):
self.TDPasswd.setSizePolicy(sizePolicy)
self.TDPasswd.setReadOnly(True)
self.TDPasswd.setObjectName("TDPasswd")
self.gridLayout_4.addWidget(self.TDPasswd, 3, 2, 1, 1)
self.gridLayout_4.addWidget(self.TDPasswd, 3, 1, 1, 1)
self.UninstallTopDomain = QtWidgets.QPushButton(self.tab)
self.UninstallTopDomain.setObjectName("UninstallTopDomain")
self.gridLayout_4.addWidget(self.UninstallTopDomain, 3, 2, 1, 1)
self.PigeonGames.addTab(self.tab, "")
self.tab_3 = QtWidgets.QWidget()
self.tab_3.setObjectName("tab_3")
@@ -210,7 +207,7 @@ def setupUi(self, NoTopDomain):
self.gridLayout.addWidget(self.PigeonGames, 0, 0, 1, 1)
NoTopDomain.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(NoTopDomain)
self.menubar.setGeometry(QtCore.QRect(0, 0, 413, 26))
self.menubar.setGeometry(QtCore.QRect(0, 0, 340, 22))
self.menubar.setObjectName("menubar")
NoTopDomain.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(NoTopDomain)
@@ -236,6 +233,8 @@ def setupUi(self, NoTopDomain):
def retranslateUi(self, NoTopDomain):
_translate = QtCore.QCoreApplication.translate
NoTopDomain.setWindowTitle(_translate("NoTopDomain", "NoTopDomain v0.01 By LYX"))
self.StudentRunning.setText(_translate("NoTopDomain", "极域:<span style=\"color:grey\">检测中</span>"))
self.GBing.setText(_translate("NoTopDomain", "广播:<span style=\"color:grey\">检测中</span>"))
self.groupBox_2.setTitle(_translate("NoTopDomain", "限制解除"))
self.UnlockTDHook.setText(_translate("NoTopDomain", "解极域防杀"))
self.NoBlackScreen.setText(_translate("NoTopDomain", "屏蔽黑屏安静"))
@@ -249,17 +248,15 @@ def retranslateUi(self, NoTopDomain):
self.NoShutdown.setText(_translate("NoTopDomain", "脱离远程关机"))
self.RestartExplorer.setText(_translate("NoTopDomain", "重启资源管理器"))
self.WebsiteYes.setText(_translate("NoTopDomain", "解除网站限制"))
self.GBing.setText(_translate("NoTopDomain", "广播:<span style=\"color:grey\">检测中</span>"))
self.StudentRunning.setText(_translate("NoTopDomain", "极域:<span style=\"color:grey\">检测中</span>"))
self.groupBox.setTitle(_translate("NoTopDomain", "常用功能"))
self.GBWindowed.setText(_translate("NoTopDomain", "解冻全屏"))
self.HangUpTD.setText(_translate("NoTopDomain", "挂起极域"))
self.EnableTDBar.setText(_translate("NoTopDomain", "解禁工具栏"))
self.KillTD.setText(_translate("NoTopDomain", "杀掉极域!!"))
self.KillCurrent.setText(_translate("NoTopDomain", "杀掉进程↓"))
self.KillSome.setPlaceholderText(_translate("NoTopDomain", "*.exe/进程PID"))
self.UninstallTopDomain.setText(_translate("NoTopDomain", "卸载极域"))
self.CopyLink.setText(_translate("NoTopDomain", "复制极域链接"))
self.TDPasswd.setPlaceholderText(_translate("NoTopDomain", "尝试获取密码..."))
self.UninstallTopDomain.setText(_translate("NoTopDomain", "卸载极域"))
self.PigeonGames.setTabText(self.PigeonGames.indexOf(self.tab), _translate("NoTopDomain", "极域"))
self.checkBox_2.setText(_translate("NoTopDomain", "修改窗口化时自动缩放窗口(实验性)"))
self.checkBox.setText(_translate("NoTopDomain", "隐藏托盘"))
71 changes: 71 additions & 0 deletions libs/Ui_feedback.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'e:\NoTopDomain\libs\feedback.ui'
#
# Created by: PyQt5 UI code generator 5.15.9
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.


from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_feedbacker(object):
def setupUi(self, feedbacker):
feedbacker.setObjectName("feedbacker")
feedbacker.setWindowModality(QtCore.Qt.ApplicationModal)
feedbacker.resize(399, 318)
font = QtGui.QFont()
font.setFamily("萍方0")
feedbacker.setFont(font)
self.gridLayout = QtWidgets.QGridLayout(feedbacker)
self.gridLayout.setObjectName("gridLayout")
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.gridLayout.addItem(spacerItem, 3, 1, 1, 1)
self.pushButton_2 = QtWidgets.QPushButton(feedbacker)
self.pushButton_2.setEnabled(False)
self.pushButton_2.setObjectName("pushButton_2")
self.gridLayout.addWidget(self.pushButton_2, 4, 1, 1, 1)
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.gridLayout.addItem(spacerItem1, 4, 0, 1, 1)
self.formLayout = QtWidgets.QFormLayout()
self.formLayout.setObjectName("formLayout")
self.label_3 = QtWidgets.QLabel(feedbacker)
self.label_3.setObjectName("label_3")
self.formLayout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.label_3)
self.textEdit = QtWidgets.QTextEdit(feedbacker)
self.textEdit.setObjectName("textEdit")
self.formLayout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.textEdit)
self.label = QtWidgets.QLabel(feedbacker)
self.label.setObjectName("label")
self.formLayout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.label)
self.lineEdit = QtWidgets.QLineEdit(feedbacker)
self.lineEdit.setObjectName("lineEdit")
self.formLayout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.lineEdit)
self.label_4 = QtWidgets.QLabel(feedbacker)
self.label_4.setObjectName("label_4")
self.formLayout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.label_4)
self.lineEdit_2 = QtWidgets.QLineEdit(feedbacker)
self.lineEdit_2.setObjectName("lineEdit_2")
self.formLayout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.lineEdit_2)
self.gridLayout.addLayout(self.formLayout, 2, 0, 1, 2)
self.label_2 = QtWidgets.QLabel(feedbacker)
self.label_2.setOpenExternalLinks(True)
self.label_2.setObjectName("label_2")
self.gridLayout.addWidget(self.label_2, 0, 0, 1, 2)

self.retranslateUi(feedbacker)
QtCore.QMetaObject.connectSlotsByName(feedbacker)

def retranslateUi(self, feedbacker):
_translate = QtCore.QCoreApplication.translate
feedbacker.setWindowTitle(_translate("feedbacker", "反馈"))
self.pushButton_2.setText(_translate("feedbacker", "发送反馈"))
self.label_3.setText(_translate("feedbacker", "反馈内容:"))
self.textEdit.setPlaceholderText(_translate("feedbacker", "作者建议你去github issue上提交呢...(必填)"))
self.label.setText(_translate("feedbacker", "反馈标题"))
self.lineEdit.setPlaceholderText(_translate("feedbacker", "必填"))
self.label_4.setText(_translate("feedbacker", "联系方式/昵称"))
self.lineEdit_2.setPlaceholderText(_translate("feedbacker", "选填"))
self.label_2.setText(_translate("feedbacker", "<a href=\"https://github.com/LYXOfficial/notopdomain/issues\">去Github提交Issue</a href>"))
Empty file added libs/__init__.py
Empty file.
101 changes: 78 additions & 23 deletions b64.py → libs/b64.py

Large diffs are not rendered by default.

47 changes: 47 additions & 0 deletions libs/feedback.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from threading import *
import sys,base64
import datetime
from . import mail,b64,Ui_feedback
class Feedbacker(QWidget,Ui_feedback.Ui_feedbacker):
ok=pyqtSignal()
def __init__(self):
super().__init__()
self.setupUi(self)
self.retranslateUi(self)
self.setup()
def Ok(self):
QMessageBox.information(self,"提示","发送成功,感谢您的反馈!")
self.close()
def setup(self):
self.ok.connect(self.Ok)
self.icon=QPixmap()
self.icon.loadFromData(base64.b64decode(b64.icon))
self.setWindowIcon(QIcon(self.icon))
self.pushButton_2.clicked.connect(lambda:Thread(target=self.send).start())
self.textEdit.textChanged.connect(self.sete)
def sete(self):
if self.textEdit.toPlainText().replace(" ","")=="" and self.lineEdit.text().replace(" ","")=="":
self.pushButton_2.setDisabled(True)
else:
self.pushButton_2.setEnabled(True)
def send(self):
self.pushButton_2.setText("发送中...")
self.pushButton_2.setEnabled(0)
self.lineEdit.setEnabled(0)
self.lineEdit_2.setEnabled(0)
self.textEdit.setEnabled(0)
mail.mail(c=self.textEdit.toPlainText(),t=self.lineEdit.text(),f=self.lineEdit_2.text())
self.ok.emit()
def start(message):
global window
window=Feedbacker()
window.textEdit.setText("我在使用NoTopDomain时,遇到了如下这个bug:\n"+message+"\n希望修复!!!")
window.show()
if __name__=="__main__":
app = QApplication(sys.argv)
window=Feedbacker()
window.show()
sys.exit(app.exec_())
121 changes: 121 additions & 0 deletions libs/feedback.ui
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>feedbacker</class>
<widget class="QWidget" name="feedbacker">
<property name="windowModality">
<enum>Qt::ApplicationModal</enum>
</property>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>399</width>
<height>318</height>
</rect>
</property>
<property name="font">
<font>
<family>萍方0</family>
</font>
</property>
<property name="windowTitle">
<string>反馈</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="3" column="1">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="4" column="1">
<widget class="QPushButton" name="pushButton_2">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>发送反馈</string>
</property>
</widget>
</item>
<item row="4" column="0">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="2" column="0" colspan="2">
<layout class="QFormLayout" name="formLayout">
<item row="1" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>反馈内容:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QTextEdit" name="textEdit">
<property name="placeholderText">
<string>作者建议你去github issue上提交呢...(必填)</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>反馈标题</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="lineEdit">
<property name="placeholderText">
<string>必填</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>联系方式/昵称</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="lineEdit_2">
<property name="placeholderText">
<string>选填</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="0" column="0" colspan="2">
<widget class="QLabel" name="label_2">
<property name="text">
<string>&lt;a href=&quot;https://github.com/LYXOfficial/notopdomain/issues&quot;&gt;去Github提交Issue&lt;/a href&gt;</string>
</property>
<property name="openExternalLinks">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
30 changes: 30 additions & 0 deletions libs/mail.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import smtplib
from email.mime.text import MIMEText
from email.header import Header
from email.utils import formataddr
import os
def mail(c="test",t="test",f=""):
mail_host = "smtp-mail.outlook.com"
mail_user = "ariasakafeedbacksforprogram@hotmail.com"
mail_pass = "misakaMikoto0502"
mail_nick = "NoTopDomain Feedback System"
sender = 'ariasakafeedbacksforprogram@hotmail.com'
receivers = ['lyx2010official@outlook.com']
content = c
if f:
content+="\nFrom %s"%f
title = t
message = MIMEText(content, 'plain', 'utf-8')
message['From'] = formataddr([mail_nick, mail_user])
message['To'] = ",".join(receivers)
message['Subject'] = title
try:
smtpObj = smtplib.SMTP(mail_host, 587)
smtpObj.starttls()
smtpObj.login(mail_user, mail_pass)
smtpObj.sendmail(sender, receivers, message.as_string())
print("mail has been send successfully.")
except smtplib.SMTPException as e:
print(e)
if __name__=="__main__":
mail()
1 change: 1 addition & 0 deletions libs/system_hotkey/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from .system_hotkey import *
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
6 changes: 3 additions & 3 deletions shellsMaybeYouUse
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//使用Nuitka打包程序
nuitka NoTopDomain.py --mingw64 --standalone --enable-plugin=pyqt5 --follow-import-to=pyqt5,sys,os,psutil,subprocess,b64,base64,random,webbrowser,math,json,hashlib,threading,win32api,win32con,win32gui,win32gui_struct,win32process,ctypes,Ui_NTD,system_hotkey --windows-icon-from-ico=app.ico --onefile --nofollow-imports --windows-disable-console
//编译C++工具包动态链接库
# 使用Nuitka打包程序
nuitka NoTopDomain.py --mingw64 --standalone --windows-uac-admin --windows-uac-uiaccess --enable-plugin=pyqt5 --windows-icon-from-ico=app.ico --onefile --nofollow-imports --windows-disable-console
# 编译C++工具包动态链接库
g++ -std=c++14 -o2 NTDTools.cpp -shared -o -s NTDTools.dll
g++ -std=c++14 -o2 NTDTools.cpp -m32 -shared -o -s NTDTools32.dll
1 change: 0 additions & 1 deletion system_hotkey/__init__.py

This file was deleted.

0 comments on commit 95a9d63

Please sign in to comment.