From 1512fee93475c43687ce4f481ad4e70c05daeac6 Mon Sep 17 00:00:00 2001 From: Nahida <53059854+NahidaBuer@users.noreply.github.com> Date: Sat, 2 Dec 2023 04:09:01 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20add=20android=2014=20support?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- module.prop | 4 ++-- post-fs-data.sh | 39 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+), 3 deletions(-) create mode 100644 post-fs-data.sh diff --git a/README.md b/README.md index 28cf293..1ef70be 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # ProxyPin Certificate -这是一个Magisk 模块 用于安装ProxyPin系统证书, 安装完后需要重启手机. +这是一个 Magisk 模块 用于安装ProxyPin系统证书, 安装完后需要重启手机. 抓包下载地址 https://github.com/wanghongenpin/network_proxy_flutter \ No newline at end of file diff --git a/module.prop b/module.prop index fe228ab..0fb72b3 100644 --- a/module.prop +++ b/module.prop @@ -1,6 +1,6 @@ id=ProxyPinCA name=ProxyPinCA -version=1.0.0 -versionCode=1 +version=1.1.0 +versionCode=2 author=ProxyPin description=ProxyPin certificate. diff --git a/post-fs-data.sh b/post-fs-data.sh new file mode 100644 index 0000000..4536f73 --- /dev/null +++ b/post-fs-data.sh @@ -0,0 +1,39 @@ +#!/system/bin/sh + +if [ -d /apex/com.android.conscrypt/cacerts ]; then + # 检测到 android 14 以上,存在该证书目录 + CERT_HASH=243f0bfb + MODDIR=${0%/*} + NEW_CERT_FILE=${MODDIR}/system/etc/security/cacerts/${CERT_HASH}.0 + LOG_PATH="/cache/ProxyPinCA.log" + echo "Found /apex/com.android.conscrypt/cacerts." >> ${LOG_PATH} + echo "Adding new certificate to /apex/com.android.conscrypt/cacerts." >> ${LOG_PATH} + + # 创建一个临时目录 + TEMP_DIR="/data/local/tmp/proxypin-ca-certs" + mkdir -p "$TEMP_DIR" + + # 挂载临时文件系统 + mount -t tmpfs tmpfs "$TEMP_DIR" + + # 复制原始证书到临时目录 + cp -f /apex/com.android.conscrypt/cacerts/* "$TEMP_DIR" + + # 添加新证书到临时目录 + cp -f "$NEW_CERT_FILE" "$TEMP_DIR" + + # 检查新证书是否成功添加 + if [ -f "$TEMP_DIR/$(basename "$NEW_CERT_FILE")" ]; then + # 如果新证书成功添加,则挂载回原始目录 + mount --bind "$TEMP_DIR" /apex/com.android.conscrypt/cacerts + echo "Mount success!" >> ${LOG_PATH} + else + echo "Failed to add new certificate." >> ${LOG_PATH} + fi + + # 卸载临时目录 + umount "$TEMP_DIR" + rmdir "$TEMP_DIR" +else + echo "/apex/com.android.conscrypt/cacerts not exists." >> ${LOG_PATH} +fi \ No newline at end of file