Skip to content

Commit a17dace

Browse files
author
pikachuren
committed
Updated20221227153836
1 parent 221e00c commit a17dace

22 files changed

+124
-100
lines changed

CertRep/cn-all.zip

-9.34 KB
Binary file not shown.

Client.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,17 @@ def cleanCache(close=True):
2929
menuSub2 = tkinter.Menu(menuMain)
3030
menuSub3 = tkinter.Menu(menuMain)
3131
# 子菜单栏---------------------------------------
32-
menuSub1.add_command(label='打开')
33-
menuSub1.add_command(label='保存')
34-
menuSub2.add_command(label='复制')
35-
menuSub2.add_command(label='删除')
32+
menuSub1.add_command(label='[阻止证书]更新云端源')
33+
menuSub1.add_command(label='[阻止证书]从本地加载')
34+
menuSub1.add_command(label='[阻止证书]保存到本地')
35+
menuSub1.add_command(label='[提交源]打开证书/EXE')
36+
menuSub2.add_command(label='[阻止证书]全选')
37+
menuSub2.add_command(label='[阻止证书]反选')
38+
menuSub2.add_command(label='[阻止证书]应用')
39+
menuSub2.add_command(label='[提交]上传证书')
3640
menuSub3.add_command(label='关于')
41+
menuSub3.add_command(label='更新')
42+
menuSub3.add_command(label='退出')
3743
# 创建顶级菜单栏,并关联子菜单---------------------
3844
menuMain.add_cascade(label='文件', menu=menuSub1)
3945
menuMain.add_cascade(label='编辑', menu=menuSub2)
123 Bytes
Binary file not shown.
42 Bytes
Binary file not shown.
48 Bytes
Binary file not shown.

Modules/ban.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,15 @@
55

66

77
# 禁用证书模块 ----------------------------------------------------------------------------------------
8-
def ban_cert(in_path, in_name, log=None):
8+
def ban_cert(in_path, in_name, log=None, processbar=None, size=1):
99
name_list = os.listdir(in_path)
10+
lens = 0
11+
size = 1 if size <= 0 else size
1012
for name_item in name_list:
13+
# 进度条操作
14+
if processbar is not None:
15+
lens = lens + 1
16+
processbar['value'] = lens * 100 / size
1117
if name_item in in_name:
1218
subs_path = os.path.join(in_path, name_item)
1319
try:
@@ -17,9 +23,6 @@ def ban_cert(in_path, in_name, log=None):
1723
for subs_item in subs_name:
1824
if subs_item.find("cer") > 0:
1925
cert_path = os.path.join(subs_path, subs_item)
20-
result = os.popen("certutil -addstore -user -f \"Disallowed\" " + cert_path).read()
26+
result = os.popen("certutil -addstore -user -f \"Disallowed\" \"" + cert_path + "\"").read()
2127
if log is not None:
2228
log.log(result.replace("\n", " "))
23-
24-
25-

Modules/get.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@
44
import os
55
import hashlib
66
import requests
7+
from tqdm import tqdm
78

89

910
def get(url, log=None):
1011
try:
11-
html = requests.get(url)
12+
html = requests.get(url, stream=True)
13+
1214
except requests.exceptions.MissingSchema as e:
1315
log.log("无法下载,错误: " + str(e), "GET")
1416
return None
@@ -41,6 +43,9 @@ def get(url, log=None):
4143
data_path = os.path.join(data_path, data_hash.hexdigest() + ".zip")
4244
with open(data_path, "wb+") as file:
4345
file.write(data_file)
46+
# with open(data_path, "wb") as f:
47+
# for data in tqdm(html.iter_content(chunk_size=1024)):
48+
# f.write(data)
4449
# 文件解压 -------------------------------------------------------
4550
exec_path = os.path.join(path_text, "cache")
4651
exec_path = os.path.join(exec_path, data_hash.hexdigest())

Modules/log.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,14 @@ def cut(obj, sec):
3030
return data_main
3131

3232

33-
def dat(info, mod="MSG", level=0):
33+
def dat(info, mod="MSG", level=0, date=True):
3434
time_text = time.strftime("%y%m%d %H:%M:%S", time.localtime())
3535
temp_text = info.replace(" ", "").replace("\t", "")
3636
if len(temp_text) > 0:
37-
return "[" + time_text + "][" + status[level] + "][" + mod + "]" + temp_text
37+
if date:
38+
return "[" + time_text + "][" + status[level] + "][" + mod + "]" + temp_text
39+
else:
40+
return "[" + mod + "]" + temp_text
3841
else:
3942
return None
4043

@@ -46,16 +49,16 @@ def __init__(self, box=None):
4649

4750
# 调试输出 -------------------------------------------------
4851
def log(self,
49-
info="---------------------", # 消息内容
52+
info="--------------------------------------------",
5053
# 模块编号 事件等级 分割长度 保留换行符
51-
mod="MSG", level=0, lens=21, line=True,
54+
mod="MSG", level=0, lens=48, line=True,
5255
# 控制台输出 文件输出 文件输出的存储路径
5356
console=True, file=True, path="%temp%\\ban-cert\\"):
5457

5558
# 窗口内部输出 ---------------------------------------
5659
data_text = cut(info, lens)
5760
for item in data_text:
58-
main_text = dat(item.replace(" ", ""), mod, level)
61+
main_text = dat(item, mod, level, False)
5962
if self.box is not None and main_text is not None:
6063
self.box.configure(state='normal')
6164
self.box.insert(INSERT, main_text + "\n")
400 Bytes
Binary file not shown.

TKPages/block.py

Lines changed: 32 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
import tkinter
22
from tkinter import *
3-
from tkinter import scrolledtext
43

5-
import requests
64
from Modules import log
75
from Modules import ban
86
from Modules import get
97
from TKPages import views
10-
import os
8+
from tkinter import scrolledtext
119
import tkinter.ttk as ttk
10+
import threading
11+
import requests
12+
import os
1213

1314

1415
class Block(views.View):
@@ -33,38 +34,48 @@ def __init__(self, tabRoot):
3334
def action_get(self):
3435
self.processbar['value'] = 0
3536
try:
36-
self.path = get.get(url=self.text_links.get(), log=self.log)
37+
def sub_process():
38+
self.path = get.get(url=self.text_links.get(), log=self.log)
39+
40+
sub_process = threading.Thread(target=sub_process, args=())
41+
sub_process.start()
3742
except requests.exceptions.ConnectionError:
3843
tkinter.messagebox.showerror(title='出错了!',
3944
message='获取证书源失败,请检查网络或者修改证书源URL')
4045
return False
4146
self.processbar['value'] = 50
42-
if self.path is not None:
43-
self.list_certs.delete(0, END)
44-
temp_data = os.listdir(self.path)
45-
lens = 0
46-
self.processbar['value'] = 0
47-
for item in temp_data:
48-
lens = lens + 1
49-
self.processbar['value'] = 50 + lens * 50 / len(temp_data)
50-
temp_path = os.path.join(self.path, item)
51-
if not os.path.isdir(temp_path):
47+
48+
def deal_certs():
49+
while sub_process.is_alive():
50+
pass
51+
if self.path is not None:
52+
self.list_certs.delete(0, END)
53+
temp_data = os.listdir(self.path)
54+
lens = 0
55+
self.processbar['value'] = 0
56+
for item in temp_data:
57+
lens = lens + 1
58+
self.processbar['value'] = 50 + lens * 50 / len(temp_data)
59+
temp_path = os.path.join(self.path, item)
5260
self.list_certs.insert(END, item) # END表示每插入一个都是在最后一个位置
5361
self.log.log(item)
5462

63+
del_process = threading.Thread(target=deal_certs, args=())
64+
del_process.start()
65+
5566
def action_exe(self):
5667
data_path = []
57-
lens = 0
5868
self.processbar['value'] = 0
5969
for item in range(0, self.list_certs.size() + 1):
60-
lens = lens + 1
61-
try:
62-
self.processbar['value'] = lens * 100 / self.list_certs.size()
63-
except ZeroDivisionError:
64-
return False
6570
if self.list_certs.select_includes(item):
6671
data_path.append(self.list_certs.get(item))
67-
ban.ban_cert(self.path, data_path, self.log)
72+
sub_process = threading.Thread(target=ban.ban_cert,
73+
args=(self.path,
74+
data_path,
75+
self.log,
76+
self.processbar,
77+
self.list_certs.size()))
78+
sub_process.start()
6879

6980
def action_all(self):
7081
self.list_certs.select_set(0, END)

0 commit comments

Comments
 (0)