90 Commits
4.3.0 ... 5.0.0

Author SHA1 Message Date
egor-white
c92b3a1b19 Update customize.sh 2025-08-21 13:08:15 +03:00
white
afed7b1122 update customize.sh structure and bring back zaprettdir 2025-08-21 13:06:54 +03:00
CherretGit
1fa0e306ac Add files via upload 2025-08-21 16:53:40 +07:00
egor-white
fece7149e3 Update workflow.yml 2025-08-20 18:54:15 +03:00
egor-white
751788feb8 Update README.md 2025-07-15 16:42:12 +03:00
egor-white
cc3500635f Update README.md 2025-07-15 16:40:53 +03:00
egor-white
b01c5dc95f Update workflow.yml 2025-07-11 13:39:07 +03:00
CherretGit
bf69249e12 Update update's.json and changelog 2025-07-11 10:31:41 +00:00
CherretGit
63c45d8a2a Update workflow.yml 2025-07-11 17:31:17 +07:00
CherretGit
26325b79f1 Update customize.sh 2025-07-11 17:24:53 +07:00
egor-white
2cee0712c3 Merge branch 'main' of github.com:egor-white/zaprett 2025-07-11 13:23:09 +03:00
egor-white
79b63ec5e9 update customize 2025-07-11 13:21:12 +03:00
CherretGit
c230f4876c Update update's.json and changelog 2025-07-09 11:12:25 +00:00
egor-white
531c403ce2 Update update's.json and changelog 2025-06-22 08:16:59 +00:00
egor-white
70d3b3e28d fix bin-ver 2025-06-22 11:15:55 +03:00
CherretGit
cf507f059b Update update_extended.json 2025-06-21 23:12:36 +07:00
CherretGit
bf81100acb Update update's.json and changelog 2025-06-21 16:08:40 +00:00
CherretGit
5ac9234ca2 Update workflow.yml 2025-06-21 23:02:08 +07:00
CherretGit
156cedb080 Update update's.json and changelog 2025-06-21 16:01:03 +00:00
CherretGit
f59ec45e9f Update workflow_without_post.yml 2025-06-21 23:00:19 +07:00
CherretGit
45b25dd1ee Update workflow_without_post.yml 2025-06-21 22:58:35 +07:00
CherretGit
e967dc12d7 Rename src/system/etc/hosts to hosts/hosts 2025-06-21 22:44:47 +07:00
CherretGit
6e1b3f12d9 Update update's.json and changelog 2025-06-20 12:51:03 +00:00
CherretGit
6f395b1df9 Update workflow_without_post.yml 2025-06-20 19:50:04 +07:00
CherretGit
638c45b243 Update workflow.yml 2025-06-20 19:49:21 +07:00
CherretGit
78af1977fd Update workflow_without_post.yml 2025-06-20 19:48:40 +07:00
CherretGit
97f495a56a Update update's.json and changelog 2025-06-20 12:47:16 +00:00
egor-white
63b279114e Update workflow_without_post.yml 2025-06-20 15:46:11 +03:00
egor-white
f1d3ec0b5e Update workflow.yml 2025-06-20 15:45:29 +03:00
CherretGit
ffb296744b Update update_tv.json 2025-06-20 19:43:25 +07:00
CherretGit
7966bbaebf Update update_extended.json 2025-06-20 19:43:07 +07:00
CherretGit
f162004b56 Update update.json 2025-06-20 19:42:52 +07:00
CherretGit
71a5df5356 Update update's.json and changelog 2025-06-20 12:14:54 +00:00
CherretGit
bcf0aa2b50 Update service.sh 2025-06-20 19:08:35 +07:00
CherretGit
8248d43f67 Update zaprett 2025-06-20 19:05:47 +07:00
CherretGit
f3d26d5677 Create workflow_without_post.yml 2025-06-18 21:43:59 +07:00
CherretGit
2ef9ac91be Update zaprett 2025-06-18 21:40:46 +07:00
CherretGit
b16b9e4d7a Update zaprett 2025-06-18 21:20:13 +07:00
CherretGit
aa3dd6cce5 Update update's.json and changelog 2025-06-18 13:51:50 +00:00
CherretGit
092cc65bbe Update zaprett 2025-06-18 20:48:04 +07:00
CherretGit
6679a9c71a Update zaprett 2025-06-18 20:45:45 +07:00
egor-white
ac815f62a0 update readme.md 2025-06-18 09:18:24 +03:00
egor-white
a71baaa98b удаление notmalware из списка авторов в customize.sh 2025-06-18 09:08:50 +03:00
CherretGit
db69426185 Update README.md 2025-06-18 13:08:23 +07:00
CherretGit
6f7eb991a7 Update README.md 2025-06-18 13:07:00 +07:00
CherretGit
65ff8f0661 Update update's.json and changelog 2025-06-14 16:57:12 +00:00
CherretGit
c843494c8a Update workflow.yml 2025-06-14 23:56:32 +07:00
egor-white
1acb992344 Update workflow.yml 2025-06-14 19:51:47 +03:00
CherretGit
ca10ed0a7a Update workflow.yml 2025-06-14 23:50:03 +07:00
CherretGit
c4d1724ace Update workflow.yml 2025-06-14 23:47:57 +07:00
CherretGit
89a457da84 Update update's.json and changelog 2025-06-14 16:46:05 +00:00
CherretGit
8069ae43fc Update workflow.yml 2025-06-14 23:45:14 +07:00
CherretGit
02d3d2fb1c Update workflow.yml 2025-06-14 23:37:58 +07:00
CherretGit
0ad93a2c94 Update service.sh 2025-06-14 23:30:27 +07:00
egor-white
a1a3db7a94 update workflow 2025-06-14 18:05:28 +03:00
egor-white
80bea7d472 update workflow 2025-06-14 18:01:23 +03:00
egor-white
27192c15a3 update workflow 2025-06-14 18:00:03 +03:00
egor-white
2ccf9e909b update workflow 2025-06-14 17:57:20 +03:00
egor-white
428392033d update workflow 2025-06-14 17:53:50 +03:00
egor-white
baf209317d update workflow 2025-06-14 17:52:02 +03:00
egor-white
114dc16ffd update workflow 2025-06-14 17:50:23 +03:00
egor-white
57b0b820f7 update workflow 2025-06-14 17:48:03 +03:00
egor-white
c3117c24e1 Update update's.json and changelog 2025-06-14 14:42:48 +00:00
egor-white
3ba0b39464 update workflow 2025-06-14 17:41:59 +03:00
egor-white
08e6f1a588 Update update's.json and changelog 2025-06-14 14:40:05 +00:00
egor-white
cb4d956929 update workflow 2025-06-14 17:39:12 +03:00
egor-white
94ae3dfa5c update workflow 2025-06-14 17:37:27 +03:00
egor-white
044bc08601 Update update's.json and changelog 2025-06-14 14:33:27 +00:00
egor-white
a9b6beb58b update workflow 2025-06-14 17:32:01 +03:00
CherretGit
df43ad221a Update update's.json and changelog 2025-06-14 14:29:29 +00:00
CherretGit
e547dcb01f Update workflow.yml 2025-06-14 21:27:05 +07:00
GitHub Action
66e1243c87 update update.json and changelog 2025-06-14 14:26:41 +00:00
egor-white
2dabb61c27 update workflow 2025-06-14 17:25:40 +03:00
egor-white
43e8da1a6f update workflow 2025-06-14 17:23:45 +03:00
egor-white
7a31d2d71c update customize 2025-06-14 16:57:32 +03:00
egor-white
ba03ad017f update customize 2025-06-14 16:50:31 +03:00
GitHub Action
230241eccc update update.json and changelog 2025-06-14 13:33:09 +00:00
egor-white
b9e2915c11 update customize 2025-06-14 16:31:47 +03:00
GitHub Action
a9433ab7eb update update.json and changelog 2025-06-14 13:20:29 +00:00
egor-white
c98eef39a5 update zaprett 2025-06-14 16:16:45 +03:00
GitHub Action
b102a95b06 update update.json and changelog 2025-06-14 13:00:36 +00:00
egor-white
1992f0a0d7 update customize.sh 2025-06-14 15:59:12 +03:00
GitHub Action
af95cc36b2 update update.json and changelog 2025-06-14 12:48:30 +00:00
egor-white
703137c3dd update customize.sh 2025-06-14 15:47:17 +03:00
egor-white
7788a61a2b update action 2025-06-14 15:40:08 +03:00
egor-white
e2231dafba update action 2025-06-14 15:37:49 +03:00
egor-white
ac9b39c95c update action 2025-06-14 15:37:49 +03:00
GitHub Action
93ad791dc6 update update.json and changelog 2025-06-14 12:30:12 +00:00
egor-white
7ef462f6e9 add meta-inf and update action 2025-06-14 15:29:17 +03:00
GitHub Action
9d968fcea5 update update.json and changelog 2025-06-14 12:21:28 +00:00
14 changed files with 374 additions and 162 deletions

View File

@@ -31,7 +31,7 @@ jobs:
- uses: actions/checkout@v4
- name: Make build dirs
run: mkdir -p zaprett/system/bin zaprett-extended/system/bin zaprett-tv/system/bin zaprett/system/etc/zaprett/lists zapret-latest out lists zapret-extended/system/etc/zaprett/lists zapret-tv/system/etc/zaprett/lists
run: mkdir -p zaprett/system/bin zaprett-hosts/system/bin zaprett-tv/system/bin zaprett/system/etc/zaprett/lists zapret-latest out lists zapret-hosts/system/etc/zaprett/lists zapret-tv/system/etc/zaprett/lists
- name: Download latest zapret binaries
run: |
@@ -60,27 +60,25 @@ jobs:
cp zapret-latest/binaries/android-x86_64/nfqws zaprett/system/bin/nfqws_x86_64
cp zapret-latest/binaries/linux-mips/nfqws zaprett/system/bin/nfqws_mips
cp zapret-latest/binaries/linux-mipsel/nfqws zaprett/system/bin/nfqws_mipsel
#cp src/bin/zaprett zaprett/system/bin/
cp -r src/* zaprett/
cp -a src/* zaprett/
#copy all files to another distributions
cp -r zaprett/* zaprett-extended/
cp -r zaprett/* zaprett-hosts/
cp -r zaprett/* zaprett-tv/
- name: Download and copy actual lists
run: |
wget https://raw.githubusercontent.com/CherretGit/zaprett-hosts-repo/refs/heads/main/lists/list-youtube.txt -O lists/list-youtube.txt
wget https://raw.githubusercontent.com/CherretGit/zaprett-hosts-repo/refs/heads/main/lists/list-discord.txt -O lists/list-discord.txt
wget https://raw.githubusercontent.com/CherretGit/zaprett-hosts-repo/refs/heads/main/lists/list-extended.txt -O lists/list-extended.txt
cp lists/list-youtube.txt zaprett/system/etc/zaprett/lists/
cp lists/list-youtube.txt zaprett-extended/system/etc/zaprett/lists/
cp lists/list-youtube.txt zaprett-hosts/system/etc/zaprett/lists/
cp lists/list-youtube.txt zaprett-tv/system/etc/zaprett/lists/
cp lists/list-discord.txt zaprett/system/etc/zaprett/lists/
cp lists/list-discord.txt zaprett-extended/system/etc/zaprett/lists/
cp lists/list-discord.txt zaprett-hosts/system/etc/zaprett/lists/
cp lists/list-extended.txt zaprett-extended/system/etc/zaprett/lists/
cp hosts/hosts zaprett-hosts/system/etc
- name: Create module.prop
run: |
@@ -94,9 +92,9 @@ jobs:
updateJson=https://raw.githubusercontent.com/egor-white/zaprett/refs/heads/main/update.json
EOF
cat > zaprett-extended/module.prop <<EOF
cat > zaprett-hosts/module.prop <<EOF
id=zaprett
name=zaprett-extended
name=zaprett-hosts
version=${{ inputs.version }}
versionCode=${{ inputs.version_code }}
author=egor-white, Huananzhi X99, Cherret
@@ -116,15 +114,15 @@ jobs:
- name: Tree files
run: |
tree zaprett/ zaprett-extended/ zaprett-tv/
tree zaprett/ zaprett-hosts/ zaprett-tv/
- name: Create archives
run: |
zip zaprett.zip zaprett/* -r
zip zaprett-extended.zip zaprett-extended/* -r
zip zaprett-tv.zip zaprett-tv/* -r
cd zaprett && zip -r ../zaprett.zip ./* && cd ..
cd zaprett-hosts && zip -r ../zaprett-hosts.zip ./* && cd ..
cd zaprett-tv && zip -r ../zaprett-tv.zip ./* && cd ..
mv zaprett.zip out/
mv zaprett-extended.zip out/
mv zaprett-hosts.zip out/
mv zaprett-tv.zip out/
- name: Create release
@@ -137,44 +135,54 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Update changelog
run: |
echo ${{ inputs.release_changes}} > changelog.md
run: echo "${{ inputs.release_changes}}" > changelog.md
- name: Update update.json
run: |
cat > update.json <<EOF
{
"version": "${{ inputs.version }}",
"versionCode": ${{ inputs.versionCode }},
"zipUrl": "https://github.com/${{ github.repository }}/releases/download/${{ inputs.release_tag }}/zaprett.zip",
"versionCode": ${{ inputs.version_code }},
"zipUrl": "https://github.com/${{ github.repository }}/releases/download/${{ inputs.tag }}/zaprett.zip",
"changelog": "https://raw.githubusercontent.com/${{ github.repository }}/refs/heads/main/changelog.md"
}
EOF
cat > update_extended.json <<EOF
cat > update_hosts.json <<EOF
{
"version": "${{ inputs.version }}",
"versionCode": ${{ inputs.versionCode }},
"zipUrl": "https://github.com/${{ github.repository }}/releases/download/${{ inputs.release_tag }}/zaprett-extended.zip",
"versionCode": ${{ inputs.version_code }},
"zipUrl": "https://github.com/${{ github.repository }}/releases/download/${{ inputs.tag }}/zaprett-hosts.zip",
"changelog": "https://raw.githubusercontent.com/${{ github.repository }}/refs/heads/main/changelog.md"
}
EOF
cat > update_tv.json <<EOF
{
"version": "${{ inputs.version }}",
"versionCode": ${{ inputs.versionCode }},
"zipUrl": "https://github.com/${{ github.repository }}/releases/download/${{ inputs.release_tag }}/zaprett-tv.zip",
"versionCode": ${{ inputs.version_code }},
"zipUrl": "https://github.com/${{ github.repository }}/releases/download/${{ inputs.tag }}/zaprett-tv.zip",
"changelog": "https://raw.githubusercontent.com/${{ github.repository }}/refs/heads/main/changelog.md"
}
EOF
- name: Настроить git
run: |
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
- name: Закоммитить изменения
run: |
git add update.json update_extended.json update_tv.json changelog.md
git commit -m "update update.json and changelog" || echo "Нет изменений для коммита"
git push
- name: Commit jsons and changelog
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: "Update update's.json and changelog"
file_pattern: 'update.json update_hosts.json update_tv.json changelog.md'
- name: Send bot post
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
MESSAGE_TEXT: |
🔄 <b>Обновление модуля</b> ${{ inputs.version }}
📋 Изменения: ${{ inputs.release_changes }}
⬇️ <a href='https://github.com/egor-white/zaprett/releases/tag/${{ inputs.tag }}'>Скачать</a>
@zaprett_module <a href='mailru.pro'>[web]</a>
run: |
curl -X POST "https://api.telegram.org/bot${{ secrets.BOT_TOKEN }}/sendMessage" \
-d chat_id=-1002531270265 \
-d parse_mode=HTML \
-d disable_web_page_preview=true \
--data-urlencode "text=$MESSAGE_TEXT"

View File

@@ -0,0 +1,170 @@
name: Build module (Without telegram post)
on:
workflow_dispatch:
inputs:
tag:
description: 'Tag for the release (x.x.x)'
required: true
type: string
version:
description: 'Module version (x.x)'
required: true
type: string
version_code:
description: 'Module version code (xx)'
required: true
type: string
release_name:
description: 'Release Name'
required: true
type: string
release_changes:
description: 'Release Changes'
required: true
type: string
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Make build dirs
run: mkdir -p zaprett/system/bin zaprett-hosts/system/bin zaprett-tv/system/bin zaprett/system/etc/zaprett/lists zapret-latest out lists zapret-hosts/system/etc/zaprett/lists zapret-tv/system/etc/zaprett/lists
- name: Download latest zapret binaries
run: |
LATEST_RELEASE=$(curl -s https://api.github.com/repos/bol-van/zapret/releases/latest)
DOWNLOAD_URL=$(echo "$LATEST_RELEASE" | grep -o 'browser_download_url.*zapret-v.*\.zip"' | cut -d'"' -f3)
wget $DOWNLOAD_URL -O zapret-latest.zip
- name: Unzip zapret binaries
run: |
unzip -o zapret-latest.zip
ZAPRET_DIR=$(find . -maxdepth 1 -type d -name 'zapret-v*' | head -n 1)
if [ "$(ls -A "$ZAPRET_DIR")" ]; then
mv "$ZAPRET_DIR"/* zapret-latest/
else
echo "Warning: $ZAPRET_DIR is empty"
fi
rm -rf "${ZAPRET_DIR}"
rm zapret-latest.zip
- name: Copy files to dirs
run: |
#copy nfqws and zaprett
cp zapret-latest/binaries/android-arm/nfqws zaprett/system/bin/nfqws_arm32
cp zapret-latest/binaries/android-arm64/nfqws zaprett/system/bin/nfqws_arm64
cp zapret-latest/binaries/android-x86/nfqws zaprett/system/bin/nfqws_x86
cp zapret-latest/binaries/android-x86_64/nfqws zaprett/system/bin/nfqws_x86_64
cp zapret-latest/binaries/linux-mips/nfqws zaprett/system/bin/nfqws_mips
cp zapret-latest/binaries/linux-mipsel/nfqws zaprett/system/bin/nfqws_mipsel
cp -a src/* zaprett/
#copy all files to another distributions
cp -r zaprett/* zaprett-hosts/
cp -r zaprett/* zaprett-tv/
- name: Download and copy actual lists
run: |
wget https://raw.githubusercontent.com/CherretGit/zaprett-hosts-repo/refs/heads/main/lists/list-youtube.txt -O lists/list-youtube.txt
wget https://raw.githubusercontent.com/CherretGit/zaprett-hosts-repo/refs/heads/main/lists/list-discord.txt -O lists/list-discord.txt
cp lists/list-youtube.txt zaprett/system/etc/zaprett/lists/
cp lists/list-youtube.txt zaprett-hosts/system/etc/zaprett/lists/
cp lists/list-youtube.txt zaprett-tv/system/etc/zaprett/lists/
cp lists/list-discord.txt zaprett/system/etc/zaprett/lists/
cp lists/list-discord.txt zaprett-hosts/system/etc/zaprett/lists/
cp hosts/hosts zaprett-hosts/system/etc
- name: Create module.prop
run: |
cat > zaprett/module.prop <<EOF
id=zaprett
name=zaprett
version=${{ inputs.version }}
versionCode=${{ inputs.version_code }}
author=egor-white, Huananzhi X99, Cherret
description=Ускорение CDN серверов Google. ТГК: https://t.me/zaprett_module
updateJson=https://raw.githubusercontent.com/egor-white/zaprett/refs/heads/main/update.json
EOF
cat > zaprett-hosts/module.prop <<EOF
id=zaprett
name=zaprett-hosts
version=${{ inputs.version }}
versionCode=${{ inputs.version_code }}
author=egor-white, Huananzhi X99, Cherret
description=Ускорение CDN серверов Google. ТГК: https://t.me/zaprett_module
updateJson=https://raw.githubusercontent.com/egor-white/zaprett/refs/heads/main/update-extended.json
EOF
cat > zaprett-tv/module.prop <<EOF
id=zaprett
name=zaprett-tv
version=${{ inputs.version }}
versionCode=${{ inputs.version_code }}
author=egor-white, Huananzhi X99, Cherret
description=Ускорение CDN серверов Google. ТГК: https://t.me/zaprett_module
updateJson=https://raw.githubusercontent.com/egor-white/zaprett/refs/heads/main/update-tv.json
EOF
- name: Tree files
run: |
tree zaprett/ zaprett-hosts/ zaprett-tv/
- name: Create archives
run: |
cd zaprett && zip -r ../zaprett.zip ./* && cd ..
cd zaprett-hosts && zip -r ../zaprett-hosts.zip ./* && cd ..
cd zaprett-tv && zip -r ../zaprett-tv.zip ./* && cd ..
mv zaprett.zip out/
mv zaprett-hosts.zip out/
mv zaprett-tv.zip out/
- name: Create release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ inputs.tag }}
name: ${{ inputs.release_name }}
body: ${{ inputs.release_changes }}
files: out/*
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Update changelog
run: echo "${{ inputs.release_changes}}" > changelog.md
- name: Update update.json
run: |
cat > update.json <<EOF
{
"version": "${{ inputs.version }}",
"versionCode": ${{ inputs.version_code }},
"zipUrl": "https://github.com/${{ github.repository }}/releases/download/${{ inputs.tag }}/zaprett.zip",
"changelog": "https://raw.githubusercontent.com/${{ github.repository }}/refs/heads/main/changelog.md"
}
EOF
cat > update_hosts.json <<EOF
{
"version": "${{ inputs.version }}",
"versionCode": ${{ inputs.version_code }},
"zipUrl": "https://github.com/${{ github.repository }}/releases/download/${{ inputs.tag }}/zaprett-hosts.zip",
"changelog": "https://raw.githubusercontent.com/${{ github.repository }}/refs/heads/main/changelog.md"
}
EOF
cat > update_tv.json <<EOF
{
"version": "${{ inputs.version }}",
"versionCode": ${{ inputs.version_code }},
"zipUrl": "https://github.com/${{ github.repository }}/releases/download/${{ inputs.tag }}/zaprett-tv.zip",
"changelog": "https://raw.githubusercontent.com/${{ github.repository }}/refs/heads/main/changelog.md"
}
EOF
- name: Commit jsons and changelog
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: "Update update's.json and changelog"
file_pattern: 'update.json update_hosts.json update_tv.json changelog.md'

View File

@@ -7,9 +7,12 @@
Требования:
* Magisk 24.1+
* Прямые руки
* Termux или другой эмулятор терминала **И/ИЛИ** [приложение zaprett](https://github.com/egor-white/zaprett-app) **ИЛИ** [ремейк приложения zaprett от cherret](https://github.com/CherretGit/zaprett-app)
* Termux или другой эмулятор терминала **И/ИЛИ** [приложение zaprett](https://github.com/egor-white/zaprett-app) (не обновляется) **ИЛИ** [ремейк приложения zaprett от cherret](https://github.com/CherretGit/zaprett-app)
На данный момент модуль умеет:
+ Включать, выключать и перезапускать nfqws
+ Работать с листами и стратегиями
+ Предлагать обновления через Magisk/KSU/KSU Next/APatch
Оригинальный автор - [notmalware](https://t.me/notmalware). Отредактировано - [egor-white](https://t.me/cheesedroid), [MT6833](https://t.me/MT6833), [Mineralka](https://t.me/Program_dayn), [Cherret](https://t.me/Cherret).
Создано - [egor-white](https://t.me/cheesedroid), [Cherret](https://t.me/Cherret), [MT6833](https://t.me/MT6833).

View File

@@ -1 +1 @@
Исправление ошибок необъявленной функции clear_iptables_rules
Небольшие изменения в customize.sh

View File

@@ -32,4 +32,4 @@
89.108.98.20 www.googleapis.com
89.108.98.20 proactivebackend-pa.googleapis.com
89.108.98.20 grok.com
89.108.98.20 assets.grok.com
89.108.98.20 assets.grok.com

View File

@@ -0,0 +1,33 @@
#!/sbin/sh
#################
# Initialization
#################
umask 022
# echo before loading util_functions
ui_print() { echo "$1"; }
require_new_magisk() {
ui_print "*******************************"
ui_print " Please install Magisk v20.4+! "
ui_print "*******************************"
exit 1
}
#########################
# Load util_functions.sh
#########################
OUTFD=$2
ZIPFILE=$3
mount /data 2>/dev/null
[ -f /data/adb/magisk/util_functions.sh ] || require_new_magisk
. /data/adb/magisk/util_functions.sh
[ $MAGISK_VER_CODE -lt 20400 ] && require_new_magisk
install_module
exit 0

View File

@@ -0,0 +1 @@
#MAGISK

View File

@@ -7,18 +7,28 @@ ui_print " /___\__,_| .__/|_| \\___|\__|\__|"
ui_print " | | "
ui_print " |_| "
ui_print "(!) To download app, use Telegram chat"
ui_print "Module by: egorwhite, Huananzhi X99, not_malware"
ui_print "App by: egorwhite"
ui_print "Module by: egorwhite, Cherret, Huananzhi X99"
ui_print "Apps by: egorwhite, Cherret"
ui_print "####################"
ui_print "Unpacking archive..."
unzip -o "$ZIPFILE" -x 'META-INF/*' -d $MODPATH >&2
ui_print "Creating zaprett directory..."
mkdir /sdcard/zaprett; mkdir /sdcard/zaprett/lists; mkdir /sdcard/zaprett/bin; mkdir /sdcard/zaprett/strategies; touch /sdcard/zaprett/config
mkdir /sdcard/zaprett; mkdir /sdcard/zaprett/lists; mkdir /sdcard/zaprett/bin; mkdir /sdcard/zaprett/strategies;
ui_print "Filling configuration file..."
echo autorestart=true > /sdcard/zaprett/config; echo activelists=/storage/emulated/0/zaprett/lists/list-youtube.txt >> /sdcard/zaprett/config; echo zaprettdir=/sdcard/zaprett >> /sdcard/zaprett/config; echo strategy="" >> /sdcard/zaprett/config
ui_print "Removing old config (config structure changed)..."
rm -f /sdcard/zaprett/config
ui_print "Filling configuration file if not exist..."
if [ ! -f "/sdcard/zaprett/config" ]; then
echo start_on_boot=true > /sdcard/zaprett/config
echo active_lists=/storage/emulated/0/zaprett/lists/list-youtube.txt >> /sdcard/zaprett/config
echo active_exclude_lists= >> /sdcard/zaprett/config
echo list_type=whitelist
echo zaprettdir=/sdcard/zaprett >> /sdcard/zaprett/config
echo strategy="" >> /sdcard/zaprett/config
fi
ui_print "Copying lists and binaries to /sdcard/zaprett..."
cp -r $MODPATH/system/etc/zaprett/. /sdcard/zaprett/
@@ -49,13 +59,14 @@ case "$arch" in
abort
;;
esac
cp $nfqws /bin/nfqws
mv $MODPATH/system/bin/$nfqws $MODPATH/system/bin/nfqws
rm $MODPATH/system/bin/nfqws_*
mkdir $MODPATH/tmp
ui_print "Setting permissions..."
chmod 777 /sdcard/zaprett; chmod 777 $MODPATH/service.sh
ui_print "Cleaning temp files..."
rm -rf $MODPATH/system/etc/zaprett
rm -rf $MODPATH/system/bin
ui_print "Installation done. Telegram chat: https://t.me/zaprett_module"

View File

@@ -1,6 +1,6 @@
#!/system/bin/sh
while [ -z "$(getprop sys.boot_completed)" ]; do sleep 2; done
sleep 1
sleep 15
source /storage/emulated/0/zaprett/config
if [ "$autorestart" = "true" ]; then
su -c "zaprett start"

View File

@@ -1,6 +1,5 @@
#!/system/bin/sh
source /sdcard/zaprett/config
arch=$(uname -m)
clear_iptables_rules() {
iptables -t mangle -D POSTROUTING -j NFQUEUE --queue-num 200 --queue-bypass 2>/dev/null
@@ -8,121 +7,102 @@ clear_iptables_rules() {
iptables -t filter -D FORWARD -j NFQUEUE --queue-num 200 --queue-bypass 2>/dev/null
}
case "$arch" in
"x86_64")
nfqws="nfqws_x86_64"
;;
"i386"|"i686")
nfqws="nfqws_x86"
;;
"armv7l"|"arm")
nfqws="nfqws_arm32"
;;
"aarch64"|"armv8l")
nfqws="nfqws_arm64"
;;
"mips")
nfqws="nfqws_mips"
;;
"mipsel")
nfqws="nfqws_mipsel"
;;
*)
echo "Unknown arch: $arch"
exit 1
;;
esac
if [ "$1" == "start" ]; then
start_service() {
rm -f /data/adb/modules/zaprett/tmp/*
echo "Starting zaprett...";
hostlist=""
for itm in $(echo "$activelists" | tr ',' ' ' | sort -u); do
if [ -f "$itm" ]; then
dst="/data/adb/modules/zaprett/tmp/$(basename "$itm")"
cp "$itm" "$dst"
case "$hostlist" in
*"--hostlist=$dst"*) ;;
*) hostlist="$hostlist --hostlist=$dst" ;;
esac
fi
done
config=""
if [[ -n "$strategy" && -f "$strategy" ]]; then
config="$(eval "echo \"$(<"$strategy")\"")"
fi
if [[ -z "$config" ]]; then
config="--filter-tcp=80 --dpi-desync=fake,split2 --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig,badsum $hostlist --new"
config="$config --filter-tcp=443 $hostlist --dpi-desync=fake,split2 --dpi-desync-repeats=6 --dpi-desync-fooling=md5sig,badsum --dpi-desync-fake-tls=${zaprettdir}/bin/tls_clienthello_www_google_com.bin --new"
config="$config --filter-tcp=80,443 --dpi-desync=fake,disorder2 --dpi-desync-repeats=6 --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig,badsum $hostlist --new"
config="$config --filter-udp=50000-50100 --dpi-desync=fake --dpi-desync-any-protocol --dpi-desync-fake-quic=0xC30000000108 --new"
config="$config --filter-udp=443 $hostlist --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic=${zaprettdir}/bin/quic_initial_www_google_com.bin --new"
config="$config --filter-udp=443 --dpi-desync=fake --dpi-desync-repeats=6 $hostlist"
echo "Starting zaprett..."
hostlist=""
case "$list_type" in
whitelist)
lists="$active_lists"
opt="--hostlist"
;;
blacklist)
lists="$active_exclude_lists"
opt="--hostlist-exclude"
;;
*)
echo "Unknown list-type: $list_type" >&2
lists=""
opt=""
;;
esac
if [ -n "$lists" ] && [ -n "$opt" ]; then
for itm in $(echo "$lists" | tr ',' ' ' | sort -u); do
if [ -f "$itm" ]; then
dst="/data/adb/modules/zaprett/tmp/$(basename "$itm")"
cp "$itm" "$dst"
case "$hostlist" in
*"$opt=$dst"*) ;;
*) hostlist="$hostlist $opt=$dst" ;;
esac
fi
done
fi
config=""
if [[ -n "$strategy" && -f "$strategy" ]]; then
config="$(eval "echo \"$(<"$strategy")\"")"
fi
if [[ -z "$config" ]]; then
config="--filter-tcp=80 --dpi-desync=fake,split2 --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig,badsum $hostlist --new"
config="$config --filter-tcp=443 $hostlist --dpi-desync=fake,split2 --dpi-desync-repeats=6 --dpi-desync-fooling=md5sig,badsum --dpi-desync-fake-tls=${zaprettdir}/bin/tls_clienthello_www_google_com.bin --new"
config="$config --filter-tcp=80,443 --dpi-desync=fake,disorder2 --dpi-desync-repeats=6 --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig,badsum $hostlist --new"
config="$config --filter-udp=50000-50100 --dpi-desync=fake --dpi-desync-any-protocol --dpi-desync-fake-quic=0xC30000000108 --new"
config="$config --filter-udp=443 $hostlist --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic=${zaprettdir}/bin/quic_initial_www_google_com.bin --new"
config="$config --filter-udp=443 --dpi-desync=fake --dpi-desync-repeats=6 $hostlist"
fi
sysctl net.netfilter.nf_conntrack_tcp_be_liberal=1 > /dev/null
fi
sysctl net.netfilter.nf_conntrack_tcp_be_liberal=1 > /dev/null
iptables -t mangle -I POSTROUTING -j NFQUEUE --queue-num 200 --queue-bypass
iptables -t mangle -I PREROUTING -j NFQUEUE --queue-num 200 --queue-bypass
iptables -t filter -A FORWARD -j NFQUEUE --queue-num 200 --queue-bypass
$nfqws --uid=0:0 --qnum=200 $config > /dev/null &
echo "zaprett service started!"; return 0;
fi
nfqws --uid=0:0 --qnum=200 $config > /dev/null &
echo "zaprett service started!"
}
stop_service() {
echo "Stopping zaprett..."
clear_iptables_rules
kill "$(pidof nfqws)" 2>/dev/null
rm -f /data/adb/modules/zaprett/tmp/*
echo "zaprett service stopped!"
}
if [ "$1" == "start" ]; then
start_service
fi
if [ "$1" == "stop" ]; then
clear_iptables_rules
kill $(pidof $nfqws);
rm -f /data/adb/modules/zaprett/tmp/*
echo "zaprett service stopped!"; return 0; fi;
stop_service
fi
if [ "$1" == "status" ]; then
pidof "$nfqws" > /dev/null && echo "zaprett is working" || echo "zaprett is stopped"
pidof "nfqws" > /dev/null && echo "zaprett is working" || echo "zaprett is stopped"
fi
if [ "$1" == "restart" ]; then
echo "Stopping zaprett..."
clear_iptables_rules
kill "$(pidof $nfqws)" 2>/dev/null
rm -f /data/adb/modules/zaprett/tmp/*
echo "Starting zaprett..."
hostlist=""
for itm in $(echo "$activelists" | tr ',' ' ' | sort -u); do
if [ -f "$itm" ]; then
dst="/data/adb/modules/zaprett/tmp/$(basename "$itm")"
cp "$itm" "$dst"
case "$hostlist" in
*"--hostlist=$dst"*) ;;
*) hostlist="$hostlist --hostlist=$dst" ;;
esac
fi
done
config=""
if [[ -n "$strategy" && -f "$strategy" ]]; then
config="$(eval "echo \"$(<"$strategy")\"")"
fi
if [[ -z "$config" ]]; then
config="--filter-tcp=80 --dpi-desync=fake,split2 --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig,badsum $hostlist --new"
config="$config --filter-tcp=443 $hostlist --dpi-desync=fake,split2 --dpi-desync-repeats=6 --dpi-desync-fooling=md5sig,badsum --dpi-desync-fake-tls=${zaprettdir}/bin/tls_clienthello_www_google_com.bin --new"
config="$config --filter-tcp=80,443 --dpi-desync=fake,disorder2 --dpi-desync-repeats=6 --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig,badsum $hostlist --new"
config="$config --filter-udp=50000-50100 --dpi-desync=fake --dpi-desync-any-protocol --dpi-desync-fake-quic=0xC30000000108 --new"
config="$config --filter-udp=443 $hostlist --dpi-desync=fake --dpi-desync-repeats=6 --dpi-desync-fake-quic=${zaprettdir}/bin/quic_initial_www_google_com.bin --new"
config="$config --filter-udp=443 --dpi-desync=fake --dpi-desync-repeats=6 $hostlist"
fi
sysctl net.netfilter.nf_conntrack_tcp_be_liberal=1 > /dev/null
iptables -t mangle -I POSTROUTING -j NFQUEUE --queue-num 200 --queue-bypass
iptables -t mangle -I PREROUTING -j NFQUEUE --queue-num 200 --queue-bypass
iptables -t filter -A FORWARD -j NFQUEUE --queue-num 200 --queue-bypass
$nfqws --uid=0:0 --qnum=200 $config > /dev/null &
stop_service
start_service
echo "zaprett service restarted!"
fi
if [ "$1" == "help" ]; then
echo -e "Помощь по модулю zaprett:\nzaprett start - запуск сервиса\nzaprett stop - остановка сервиса\nzaprett restart - перезапуск сервиса\nzaprett status - статус сервиса\nzaprett module-ver - версия модуля\nzaprett bin-ver - версия бинарных файлов"
fi
if [ "$1" == "module-ver" ]; then
grep 'version=' /data/adb/modules/zaprett/module.prop | sed 's/version=//'
fi
if [ "$1" == "bin-ver" ]; then
nfqws --version | grep -o 'version v[0-9.]*' | head -n1 | cut -d' ' -f2
fi
if [[ -z $1 ]]; then
echo "zaprett installed. Telegram: t.me/zaprett_module"
fi
fi

View File

@@ -1,6 +1,6 @@
{
"version": "4.2",
"versionCode": 42,
"zipUrl": "https://github.com/egor-white/zaprett/releases/download/4.2.0/zaprett.zip",
"changelog": "https://raw.githubusercontent.com/egor-white/zaprett/refs/heads/main/changelog.md"
"version": "4.9",
"versionCode": 49,
"zipUrl": "https://github.com/egor-white/zaprett/releases/download/4.9.0/zaprett.zip",
"changelog": "https://raw.githubusercontent.com/egor-white/zaprett/refs/heads/main/changelog.md"
}

View File

@@ -1,6 +1,6 @@
{
"version": "4.2",
"versionCode": 42,
"zipUrl": "https://github.com/egor-white/zaprett/releases/download/4.2.0/zaprett-extended.zip",
"changelog": "https://raw.githubusercontent.com/egor-white/zaprett/refs/heads/main/changelog.md"
"version": "100",
"versionCode": 100,
"zipUrl": "https://github.com/egor-white/zaprett/releases/download/4.7.0/zaprett-hosts.zip",
"changelog": "https://raw.githubusercontent.com/egor-white/zaprett/refs/heads/main/changelog.md"
}

6
update_hosts.json Normal file
View File

@@ -0,0 +1,6 @@
{
"version": "4.9",
"versionCode": 49,
"zipUrl": "https://github.com/egor-white/zaprett/releases/download/4.9.0/zaprett-hosts.zip",
"changelog": "https://raw.githubusercontent.com/egor-white/zaprett/refs/heads/main/changelog.md"
}

View File

@@ -1,6 +1,6 @@
{
"version": "4.2",
"versionCode": 42,
"zipUrl": "https://github.com/egor-white/zaprett/releases/download/4.2.0/zaprett-tv.zip",
"changelog": "https://raw.githubusercontent.com/egor-white/zaprett/refs/heads/main/changelog.md"
"version": "4.9",
"versionCode": 49,
"zipUrl": "https://github.com/egor-white/zaprett/releases/download/4.9.0/zaprett-tv.zip",
"changelog": "https://raw.githubusercontent.com/egor-white/zaprett/refs/heads/main/changelog.md"
}