Skip to content

Commit c19b593

Browse files
committed
feat(web): 🔥 新增 web 界面可显示和删除已安装的证书...
1 parent 65b86d5 commit c19b593

8 files changed

Lines changed: 36 additions & 26 deletions

File tree

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
*.zip
2-
.DS_Store
2+
.DS_Store
3+
webdev

changelog.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
1-
- fix(update): :fire: 修复更新链接
1+
- feat(web): :fire: 新增 web 界面可显示和删除已安装的证书...
2+
- feat(web): :fire: New web interface to display and delete installed certificates.
3+
- chore(log): :loud_sound: 日志优化.
4+
- chore(log): :loud_sound: Log optimization.
5+
---
6+
- fix(update): :fire: 修复更新链接.
27
---
38
- fix(sh): :bug: #21 修复用户证书目录可能不存在导致模块无效.
49
- fix(sh): :bug: #21 Fix user certificate directory may not exist resulting in invalid module.

module.prop

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
id=MoveCertificate
22
name=MoveCertificate
3-
version=v1.4.11
4-
versionCode=15
3+
version=v1.5
4+
versionCode=16
55
author=iyue
66
description=Supports magiskv20.4+/kernelsu/APatch Android 7-14 move certificates
7-
updateJson=https://ys1231.cn:82/modules/MoveCertificate/update.json
7+
updateJson=https://pfile.ys1231.cn:/modules/MoveCertificate/update.json

post-fs-data.sh

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ sdk_version_number=$(expr "$sdk_version" + 0)
1515

1616
# add logcat
1717
LOG_PATH="$MODDIR/install.log"
18-
LOG_TAG="iyue_MoveCertificate"
18+
LOG_TAG="iyue"
1919

2020
# Keep only one up-to-date log
2121
echo "[$LOG_TAG] Keep only one up-to-date log" >$LOG_PATH
@@ -25,40 +25,34 @@ print_log() {
2525
}
2626

2727
move_custom_cert() {
28-
print_log "Backup user custom certificates"
2928
if [ "$(ls -A /data/local/tmp/cert)" ]; then
3029
cp -f /data/local/tmp/cert/* $MODDIR/certificates
3130
cp -f /data/local/tmp/cert/* /data/misc/user/0/cacerts-added/
3231
else
3332
print_log "The directory '/data/local/tmp/cert' is empty."
3433
fi
35-
print_log "Backup user custom certificates status:$?"
34+
print_log "Install /data/local/tmp/cert status:$?"
3635
}
3736

3837
fix_user_permissions() {
3938
# "Fix permissions of the system certificate directory"
40-
print_log "fix user permissions: /data/misc/user/0/cacerts-added/"
4139
chown -R root:root /data/misc/user/0/cacerts-added/
4240
chmod -R 666 /data/misc/user/0/cacerts-added/
4341
chown system:system /data/misc/user/0/cacerts-added
4442
chmod 755 /data/misc/user/0/cacerts-added
45-
print_log "fix user permissions status:$?"
43+
print_log "fix user certificate permissions status:$?"
4644
}
4745

4846
fix_system_permissions() {
49-
# diff
50-
print_log "fix permissions /system/etc/security/cacerts"
5147
chown root:root /system/etc/security/cacerts
5248
chown -R root:root /system/etc/security/cacerts/
5349
chmod -R 644 /system/etc/security/cacerts/
5450
chmod 755 /system/etc/security/cacerts
5551
chcon u:object_r:system_file:s0 /system/etc/security/cacerts/*
56-
print_log "move cert status:$?"
52+
print_log "fix permissions /system/etc/security/cacerts status:$?"
5753
}
5854

5955
fix_system_permissions14() {
60-
# diff
61-
print_log "fix permissions: $1"
6256
chown -R system:system "$1"
6357
chown root:shell "$1"
6458
chmod -R 644 "$1"
@@ -82,22 +76,20 @@ set_selinux_context(){
8276
if [ "$sdk_version_number" -le 33 ]; then
8377
print_log "start move cert !"
8478
print_log "current sdk version is $sdk_version_number"
85-
print_log "Backup system certificates"
79+
print_log "Backup /system/etc/security/cacerts"
8680
cp -u /system/etc/security/cacerts/* $MODDIR/certificates
81+
print_log "Backup /data/misc/user/0/cacerts-added"
8782
cp -u /data/misc/user/0/cacerts-added/* $MODDIR/certificates/
8883
# Android 13 or lower versions perform
89-
print_log "Backup user custom certificates"
9084
move_custom_cert
9185
fix_user_permissions
9286

93-
print_log "mount: /system/etc/security/cacerts"
9487
selinux_context=$(ls -Zd /system/etc/security/cacerts | awk '{print $1}')
9588
mount -t tmpfs tmpfs /system/etc/security/cacerts
96-
print_log "mount status:$?"
89+
print_log "mount /system/etc/security/cacerts status:$?"
9790

98-
print_log "move cert: /system/etc/security/cacerts"
9991
cp -f $MODDIR/certificates/* /system/etc/security/cacerts
100-
print_log "move cert status:$?"
92+
print_log "Install /system/etc/security/cacerts status:$?"
10193
fix_system_permissions
10294
print_log "certificates installed"
10395
[ "$(getenforce)" = "Enforcing" ] || return 0
@@ -111,11 +103,13 @@ else
111103

112104
print_log "start move cert !"
113105
print_log "current sdk version is $sdk_version_number"
114-
print_log "Backup system certificates"
106+
115107
mount -t tmpfs tmpfs $MODDIR/certificates
108+
print_log "mount $MODDIR/certificates status:$?"
109+
print_log "Backup /apex/com.android.conscrypt/cacerts"
116110
cp -u /apex/com.android.conscrypt/cacerts/* $MODDIR/certificates
111+
print_log "Backup /data/misc/user/0/cacerts-added"
117112
cp -u /data/misc/user/0/cacerts-added/* $MODDIR/certificates
118-
print_log "Backup user custom certificates"
119113
move_custom_cert
120114
fix_user_permissions
121115
fix_system_permissions14 $MODDIR/certificates
@@ -127,6 +121,8 @@ else
127121
set_selinux_context /apex/com.android.conscrypt/cacerts $MODDIR/certificates
128122
# These two directories are mapped to the same block
129123
mount -o bind $MODDIR/certificates /apex/com.android.conscrypt/cacerts
124+
print_log "mount bind $MODDIR/certificates /apex/com.android.conscrypt/cacerts status:$?"
130125
mount -o bind $MODDIR/certificates $apex_dir/cacerts
126+
print_log "mount bind $MODDIR/certificates $apex_dir/cacerts status:$?"
131127
print_log "certificates installed"
132128
fi

update.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"versionCode": 15,
3-
"version": "v1.4.11",
4-
"zipUrl": "https://pfile.ys1231.cn/modules/MoveCertificate/MoveCertificate-v1.4.11.zip",
2+
"versionCode": 16,
3+
"version": "v1.5",
4+
"zipUrl": "https://pfile.ys1231.cn/modules/MoveCertificate/MoveCertificate-v1.5.zip",
55
"changelog": "https://pfile.ys1231.cn/modules/MoveCertificate/changelog.md"
66
}

webroot/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"><title>MoveCertificate</title><style>body,html{height:100%;margin:0;padding:0;font-family:Arial,sans-serif;line-height:1.6;background-color:#f0f0f0}.container{display:flex;flex-direction:column;min-height:100vh;box-sizing:border-box}.content{flex:1;background-color:#fff;padding:20px;border-radius:5px;box-shadow:0 0 10px rgba(0,0,0,.1);overflow-y:auto}h1{text-align:left;color:#333;margin-bottom:20px}.groupbox{border:1px solid #ccc;border-radius:5px;padding:15px;margin-top:20px;position:relative}.groupbox-title{position:absolute;top:-10px;left:10px;background-color:#fff;padding:0 5px;font-weight:700;color:#333}ul{list-style-type:none;padding:0;margin:10px 0 0}li{display:flex;align-items:center;background-color:#f9f9f9;margin-bottom:5px;padding:10px;border-radius:3px;position:relative}li:last-child{margin-bottom:0}.status-dot{width:15px;height:15px;border-radius:50%;margin-right:10px}.status-dot.green{background-color:green}.status-dot.gray{background-color:grey}.delete-button{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:none;background-color:red;color:#fff;border:none;border-radius:5px;padding:5px}#logger,#versionInfo{margin:0;font-size:14px;word-wrap:break-word;word-break:break-all;white-space:pre-wrap}.modal{display:none;position:fixed;z-index:1;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000;background-color:rgba(0,0,0,.4);padding-top:60px}.modal-content{background-color:#fefefe;margin:5% auto;padding:20px;border:1px solid #888;width:80%;max-width:300px;border-radius:10px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-header h2{margin:0}.modal-footer{display:flex;justify-content:flex-end;gap:10px}.modal-footer button{padding:10px 20px;border:none;border-radius:5px;cursor:pointer}.modal-footer .cancel-btn{background-color:#ccc;color:#333}.modal-footer .confirm-btn{background-color:red;color:#fff}</style></head><body> <div class="container"> <div class="content"> <h1>MoveCertificate</h1> <div class="groupbox"> <span class="groupbox-title">模块信息</span> <p id="versionInfo">正在加载版本信息...</p> </div> <div class="groupbox"> <span class="groupbox-title">证书列表</span> <ul id="certificateList"></ul> </div> <div class="groupbox"> <span class="groupbox-title">安装日志</span> <p id="logger">正在加载版本信息...</p> </div> </div> </div> <div id="deleteModal" class="modal"> <div class="modal-content"> <div class="modal-header"> <h2>此操作不可逆</h2> </div> <p>确认要删除这个证书吗?</p> <div class="modal-footer"> <button class="cancel-btn" id="cancelDelete">取消</button> <button class="confirm-btn" id="confirmDelete">确认</button> </div> </div> </div> <script src="/script.d4ffbe2e.js"></script> </body></html>

webroot/script.d4ffbe2e.js

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

webroot/script.d4ffbe2e.js.map

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)