109 Commits
4.3.0 ... 5.2.0

Author SHA1 Message Date
CherretGit
c7271b2825 update hosts 2025-10-19 14:47:19 +07:00
CherretGit
71e918bd13 Revert "Update service.sh"
This reverts commit 3a7c40f167.
2025-10-19 14:46:19 +07:00
egor-white
d3dbf4ddc5 Update update's.json and changelog 2025-10-16 13:28:26 +00:00
egor-white
0213c239fc Update workflow.yml 2025-10-16 16:27:40 +03:00
egor-white
2d90aea5ca Update workflow.yml 2025-10-16 16:25:56 +03:00
egor-white
e62336e253 Update workflow.yml 2025-10-16 16:22:15 +03:00
CherretGit
dd78b59a68 Update customize.sh 2025-10-12 14:16:55 +07:00
CherretGit
0a0c3fd80b Update customize.sh 2025-10-12 14:12:46 +07:00
CherretGit
3a7c40f167 Update service.sh 2025-10-12 14:10:05 +07:00
CherretGit
9ef7c70f78 ipsets 2025-09-30 22:27:19 +07:00
CherretGit
534f3a733a fix autostart 2025-09-30 22:24:49 +07:00
egor-white
ccaac37b52 Update README.md 2025-09-18 18:50:36 +03:00
egor-white
c2db7fbdac Update README.md 2025-09-18 18:49:37 +03:00
CherretGit
ea92b6cf6f Update workflow_without_post.yml 2025-08-21 17:52:15 +07:00
CherretGit
0fbcd24088 Update workflow.yml 2025-08-21 17:51:40 +07:00
CherretGit
45017d35b2 Update changelog.md 2025-08-21 17:47:01 +07:00
CherretGit
718ed43ef8 Update update's.json and changelog 2025-08-21 10:43:50 +00:00
CherretGit
6318977857 Add files via upload 2025-08-21 17:43:01 +07:00
CherretGit
e3effc3292 Update update's.json and changelog 2025-08-21 10:41:45 +00:00
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
15 changed files with 688 additions and 208 deletions

View File

@@ -31,7 +31,7 @@ jobs:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Make build dirs - 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 - name: Download latest zapret binaries
run: | run: |
@@ -60,27 +60,25 @@ jobs:
cp zapret-latest/binaries/android-x86_64/nfqws zaprett/system/bin/nfqws_x86_64 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-mips/nfqws zaprett/system/bin/nfqws_mips
cp zapret-latest/binaries/linux-mipsel/nfqws zaprett/system/bin/nfqws_mipsel 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 #copy all files to another distributions
cp -r zaprett/* zaprett-extended/ cp -r zaprett/* zaprett-hosts/
cp -r zaprett/* zaprett-tv/ cp -r zaprett/* zaprett-tv/
- name: Download and copy actual lists - name: Download and copy actual lists
run: | 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-repo/refs/heads/main/lists/include/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-repo/refs/heads/main/lists/include/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/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-youtube.txt zaprett-tv/system/etc/zaprett/lists/
cp lists/list-discord.txt zaprett/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 - name: Create module.prop
run: | run: |
@@ -89,19 +87,19 @@ jobs:
name=zaprett name=zaprett
version=${{ inputs.version }} version=${{ inputs.version }}
versionCode=${{ inputs.version_code }} versionCode=${{ inputs.version_code }}
author=egor-white, Huananzhi X99, Cherret author=egor-white, Cherret
description=Ускорение CDN серверов Google. ТГК: https://t.me/zaprett_module description=Ускорение CDN серверов Google. ТГК: https://t.me/zaprett_module
updateJson=https://raw.githubusercontent.com/egor-white/zaprett/refs/heads/main/update.json updateJson=https://raw.githubusercontent.com/egor-white/zaprett/refs/heads/main/update.json
EOF EOF
cat > zaprett-extended/module.prop <<EOF cat > zaprett-hosts/module.prop <<EOF
id=zaprett id=zaprett
name=zaprett-extended name=zaprett-hosts
version=${{ inputs.version }} version=${{ inputs.version }}
versionCode=${{ inputs.version_code }} versionCode=${{ inputs.version_code }}
author=egor-white, Huananzhi X99, Cherret author=egor-white, Cherret
description=Ускорение CDN серверов Google. ТГК: https://t.me/zaprett_module description=Ускорение CDN серверов Google. ТГК: https://t.me/zaprett_module
updateJson=https://raw.githubusercontent.com/egor-white/zaprett/refs/heads/main/update-extended.json updateJson=https://raw.githubusercontent.com/egor-white/zaprett/refs/heads/main/update-hosts.json
EOF EOF
cat > zaprett-tv/module.prop <<EOF cat > zaprett-tv/module.prop <<EOF
@@ -109,22 +107,22 @@ jobs:
name=zaprett-tv name=zaprett-tv
version=${{ inputs.version }} version=${{ inputs.version }}
versionCode=${{ inputs.version_code }} versionCode=${{ inputs.version_code }}
author=egor-white, Huananzhi X99, Cherret author=egor-white, Cherret
description=Ускорение CDN серверов Google. ТГК: https://t.me/zaprett_module description=Ускорение CDN серверов Google. ТГК: https://t.me/zaprett_module
updateJson=https://raw.githubusercontent.com/egor-white/zaprett/refs/heads/main/update-tv.json updateJson=https://raw.githubusercontent.com/egor-white/zaprett/refs/heads/main/update-tv.json
EOF EOF
- name: Tree files - name: Tree files
run: | run: |
tree zaprett/ zaprett-extended/ zaprett-tv/ tree zaprett/ zaprett-hosts/ zaprett-tv/
- name: Create archives - name: Create archives
run: | run: |
zip zaprett.zip zaprett/* -r cd zaprett && zip -r ../zaprett.zip ./* && cd ..
zip zaprett-extended.zip zaprett-extended/* -r cd zaprett-hosts && zip -r ../zaprett-hosts.zip ./* && cd ..
zip zaprett-tv.zip zaprett-tv/* -r cd zaprett-tv && zip -r ../zaprett-tv.zip ./* && cd ..
mv zaprett.zip out/ mv zaprett.zip out/
mv zaprett-extended.zip out/ mv zaprett-hosts.zip out/
mv zaprett-tv.zip out/ mv zaprett-tv.zip out/
- name: Create release - name: Create release
@@ -137,44 +135,54 @@ jobs:
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Update changelog - name: Update changelog
run: | run: echo "${{ inputs.release_changes}}" > changelog.md
echo ${{ inputs.release_changes}} > changelog.md
- name: Update update.json - name: Update update.json
run: | run: |
cat > update.json <<EOF cat > update.json <<EOF
{ {
"version": "${{ inputs.version }}", "version": "${{ inputs.version }}",
"versionCode": ${{ inputs.versionCode }}, "versionCode": ${{ inputs.version_code }},
"zipUrl": "https://github.com/${{ github.repository }}/releases/download/${{ inputs.release_tag }}/zaprett.zip", "zipUrl": "https://github.com/${{ github.repository }}/releases/download/${{ inputs.tag }}/zaprett.zip",
"changelog": "https://raw.githubusercontent.com/${{ github.repository }}/refs/heads/main/changelog.md" "changelog": "https://raw.githubusercontent.com/${{ github.repository }}/refs/heads/main/changelog.md"
} }
EOF EOF
cat > update_extended.json <<EOF cat > update_hosts.json <<EOF
{ {
"version": "${{ inputs.version }}", "version": "${{ inputs.version }}",
"versionCode": ${{ inputs.versionCode }}, "versionCode": ${{ inputs.version_code }},
"zipUrl": "https://github.com/${{ github.repository }}/releases/download/${{ inputs.release_tag }}/zaprett-extended.zip", "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" "changelog": "https://raw.githubusercontent.com/${{ github.repository }}/refs/heads/main/changelog.md"
} }
EOF EOF
cat > update_tv.json <<EOF cat > update_tv.json <<EOF
{ {
"version": "${{ inputs.version }}", "version": "${{ inputs.version }}",
"versionCode": ${{ inputs.versionCode }}, "versionCode": ${{ inputs.version_code }},
"zipUrl": "https://github.com/${{ github.repository }}/releases/download/${{ inputs.release_tag }}/zaprett-tv.zip", "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" "changelog": "https://raw.githubusercontent.com/${{ github.repository }}/refs/heads/main/changelog.md"
} }
EOF EOF
- name: Настроить git - name: Commit jsons and changelog
run: | uses: stefanzweifel/git-auto-commit-action@v5
git config --local user.email "action@github.com" with:
git config --local user.name "GitHub Action" commit_message: "Update update's.json and changelog"
file_pattern: 'update.json update_hosts.json update_tv.json changelog.md'
- name: Закоммитить изменения
run: | - name: Send bot post
git add update.json update_extended.json update_tv.json changelog.md
git commit -m "update update.json and changelog" || echo "Нет изменений для коммита"
git push
env: 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-hosts.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,33 @@
Требования: Требования:
* Magisk 24.1+ * 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 + Включать, выключать и перезапускать nfqws
+ Работать с листами и стратегиями
+ Предлагать обновления через Magisk/KSU/KSU Next/APatch
## Какую версию модуля выбрать?
В актуальных релизах есть 3 версии модуля, а именно:
- zaprett.zip
- zaprett-hosts.zip
- zaprett-tv.zip
Основные их отличия представленны в таблице ниже.
Для устройств на Android TV **рекомендуется использовать именно TV версию** из-за некоторых особенностей работы этой ОС.
|Версия|Списки|/etc/hosts|
|------|------|----------|
|zaprett|list-youtube.txt, list-discord.txt|:x: Нет|
|zaprett-tv|list-youtube.txt|:x: Нет|
|zaprett-hosts|list-youtube.txt,list-discord.txt|:white_check_mark: Есть|
## Что такое /etc/hosts?
Говоря грубо, это файл, который влияет на работу нейросетей и других недоступных сервисов, перенаправляя ваш траффик на сторонние сервера.
Если вы используете модули, которые подменяют этот файл (например, всевозможные блокировщики рекламы и разблокировщики нейросетей), выбирайте версию <big>**без hosts**</big>, иначе модули будут конфликтовать друг с другом.
::: warning
Сервера, используемые в качестве прокси и указанные в файле hosts нам неподконтрольны, мы не несём за них отвественность, используйте с осторожностью
:::
Оригинальный автор - [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).

View File

@@ -1 +1 @@
Исправление ошибок необъявленной функции clear_iptables_rules Список изменений: ● Обновление бинарников zapret до версии 72.1 ● Добавлена поддержка ipset ● Исправление автозапуска

246
hosts/hosts Normal file
View File

@@ -0,0 +1,246 @@
### dns.malw.link: hosts file
# Последнее обновление: 17 октября 2025
# Дополнение к zapret:
157.240.245.174 instagram.com
157.240.245.174 www.instagram.com
157.240.245.174 b.i.instagram.com
157.240.245.174 z-p42-chat-e2ee-ig.facebook.com
157.240.245.174 help.instagram.com
3.66.189.153 protonmail.com
3.66.189.153 mail.proton.me
64.233.164.198 yt3.ggpht.com
64.233.164.132 yt4.ggpht.com
52.223.13.41 tracker.openbittorrent.com
130.255.77.28 ntc.party
172.64.33.155 rutor.info
173.245.59.155 rutor.is
185.87.51.182 controlplane.tailscale.com
# ChatGPT, OpenAI:
185.246.223.127 chatgpt.com
185.246.223.127 ab.chatgpt.com
185.246.223.127 auth.openai.com
185.246.223.127 auth0.openai.com
185.246.223.127 platform.openai.com
185.246.223.127 cdn.oaistatic.com
185.246.223.127 files.oaiusercontent.com
185.246.223.127 cdn.auth0.com
185.246.223.127 tcr9i.chat.openai.com
185.246.223.127 webrtc.chatgpt.com
185.246.223.127 android.chat.openai.com
185.246.223.127 api.openai.com
45.95.233.23 operator.chatgpt.com
185.246.223.127 sora.chatgpt.com
185.246.223.127 sora.com
185.246.223.127 videos.openai.com
# Сервисы Google:
185.246.223.127 gemini.google.com
134.0.118.88 aistudio.google.com
134.0.118.88 generativelanguage.googleapis.com
185.246.223.127 aitestkitchen.withgoogle.com
134.0.118.88 aisandbox-pa.googleapis.com
134.0.118.88 webchannel-alkalimakersuite-pa.clients6.google.com
134.0.118.88 alkalimakersuite-pa.clients6.google.com
134.0.118.88 assistant-s3-pa.googleapis.com
134.0.118.88 proactivebackend-pa.googleapis.com
185.246.223.127 o.pki.goog
185.246.223.127 labs.google
185.246.223.127 notebooklm.google
185.246.223.127 notebooklm.google.com
185.246.223.127 jules.google.com
185.246.223.127 stitch.withgoogle.com
# Microsoft Copilot, Microsoft Rewards, Xbox, Xbox Cloud Gaming:
185.246.223.127 copilot.microsoft.com
185.246.223.127 sydney.bing.com
185.246.223.127 edgeservices.bing.com
45.95.233.23 rewards.bing.com
185.246.223.127 xsts.auth.xboxlive.com
185.246.223.127 xgpuwebf2p.gssv-play-prod.xboxlive.com
185.246.223.127 xgpuweb.gssv-play-prod.xboxlive.com
# Spotify:
185.246.223.127 api.spotify.com
185.246.223.127 xpui.app.spotify.com
185.246.223.127 appresolve.spotify.com
185.246.223.127 login5.spotify.com
185.246.223.127 login.app.spotify.com
185.246.223.127 encore.scdn.co
185.246.223.127 ap-gew1.spotify.com
185.246.223.127 gew1-spclient.spotify.com
185.246.223.127 spclient.wg.spotify.com
185.246.223.127 api-partner.spotify.com
185.246.223.127 aet.spotify.com
185.246.223.127 www.spotify.com
185.246.223.127 accounts.spotify.com
45.95.233.23 open.spotify.com
# GitHub Copilot:
50.7.87.84 api.github.com
185.246.223.127 api.individual.githubcopilot.com
185.246.223.127 proxy.individual.githubcopilot.com
# JetBrains:
50.7.85.221 datalore.jetbrains.com
107.150.34.100 plugins.jetbrains.com
185.246.223.127 download.jetbrains.com
185.246.223.127 api.jetbrains.ai
185.246.223.127 account.jetbrains.com
# ElevenLabs:
185.246.223.127 elevenlabs.io
185.246.223.127 api.us.elevenlabs.io
185.246.223.127 elevenreader.io
185.246.223.127 api.elevenlabs.io
185.246.223.127 help.elevenlabs.io
# Truth Social
204.12.192.219 truthsocial.com
204.12.192.219 static-assets-1.truthsocial.com
# Grok
185.246.223.127 grok.com
185.246.223.127 accounts.x.ai
185.246.223.127 assets.grok.com
# Tidal
185.246.223.127 api.tidal.com
185.246.223.127 listen.tidal.com
185.246.223.127 login.tidal.com
185.246.223.127 auth.tidal.com
185.246.223.127 link.tidal.com
185.246.223.127 dd.tidal.com
185.246.223.127 resources.tidal.com
45.95.233.23 images.tidal.com
185.246.223.127 fsu.fa.tidal.com
185.246.223.127 geolocation.onetrust.com
185.246.223.127 api.squareup.com
185.246.223.127 api-global.squareup.com
# Supercell
185.246.223.127 cdn.id.supercell.com
185.246.223.127 security.id.supercell.com
45.95.233.23 accounts.supercell.com
185.246.223.127 game-assets.clashroyaleapp.com
185.246.223.127 game-assets.clashofclans.com
185.246.223.127 clashofclans.inbox.supercell.com
185.246.223.127 game-assets.brawlstarsgame.com
185.246.223.127 store.supercell.com
45.95.233.23 game.clashroyaleapp.com
64.188.98.242 gamea.clashofclans.com
185.246.223.127 game.brawlstarsgame.com
108.61.167.26 game.squadbustersgame.com
45.95.233.23 game.mocogame.com
# DeepL
185.246.223.127 deepl.com
185.246.223.127 www.deepl.com
185.246.223.127 www2.deepl.com
185.246.223.127 login-wall.deepl.com
185.246.223.127 w.deepl.com
185.246.223.127 s.deepl.com
185.246.223.127 dict.deepl.com
185.246.223.127 ita-free.www.deepl.com
185.246.223.127 write-free.www.deepl.com
185.246.223.127 experimentation.deepl.com
185.246.223.127 experimentation-grpc.deepl.com
185.246.223.127 ita-free.app.deepl.com
185.246.223.127 shield.deepl.com
185.246.223.127 ott.deepl.com
185.246.223.127 api-free.deepl.com
185.246.223.127 backend.deepl.com
185.246.223.127 clearance.deepl.com
185.246.223.127 errortracking.deepl.com
185.246.223.127 auth.deepl.com
185.246.223.127 oneshot-free.www.deepl.com
# Deezer
185.246.223.127 deezer.com
185.246.223.127 www.deezer.com
185.246.223.127 dzcdn.net
185.246.223.127 payment.deezer.com
# Weather.com
185.246.223.127 weather.com
185.246.223.127 upsx.weather.com
# Guilded
204.12.192.219 guilded.gg
204.12.192.219 www.guilded.gg
# Fitbit
185.246.223.127 api.fitbit.com
185.246.223.127 fitbit-pa.googleapis.com
185.246.223.127 fitbitvestibuleshim-pa.googleapis.com
185.246.223.127 fitbit.google.com
# Claude
185.246.223.127 claude.ai
185.246.223.127 console.anthropic.com
185.246.223.127 auth.anthropic.com
185.246.223.127 api.anthropic.com
#4PDA
185.246.223.127 4pda.to
185.246.223.127 app.4pda.to
185.246.223.127 s.4pda.to
185.246.223.127 appbk.4pda.to
# Trae.ai
185.246.223.127 trae-api-sg.mchost.guru
185.246.223.127 api.trae.ai
185.246.223.127 api-sg-central.trae.ai
185.246.223.127 api16-normal-alisg.mchost.guru
# Другое:
185.246.223.127 www.notion.so
50.7.85.222 www.canva.com
185.246.223.127 www.intel.com
185.246.223.127 www.dell.com
50.7.85.219 www.tiktok.com # Только на сайте. Приложение определяет регион по оператору, а не по IP. Поэтому есть моды.
142.54.189.106 web.archive.org # Блокирует от российских IP некоторые сайты
185.246.223.127 developer.nvidia.com
107.150.34.99 builds.parsec.app
185.246.223.127 tria.ge
185.246.223.127 api.imgur.com
45.95.233.23 www.dyson.com
45.95.233.23 www.dyson.fr
45.95.233.23 usher.ttvnw.net
64.188.98.242 api.manus.im
185.246.223.127 profile.broadcom.com
45.95.233.23 test.dns.malw.link
45.95.233.23 eu.posthog.com
185.246.223.127 www.qwant.com
185.246.223.127 guidedhacking.com
# Блокировка реально плохих сайтов
# Скримеры:
0.0.0.0 only-fans.uk
0.0.0.0 only-fans.me
0.0.0.0 onlyfans.wtf
# IP Logger'ы:
0.0.0.0 iplogger.org
0.0.0.0 wl.gl
0.0.0.0 ed.tc
0.0.0.0 bc.ax
0.0.0.0 maper.info
0.0.0.0 2no.co
0.0.0.0 yip.su
0.0.0.0 iplis.ru
0.0.0.0 ezstat.ru
0.0.0.0 iplog.co
0.0.0.0 grabify.org
# Мусор/реклама:
0.0.0.0 log16-platform-ycru.tiktokv.com
0.0.0.0 adfox.yandex.ru
0.0.0.0 adfstat.yandex.ru
0.0.0.0 ads-api.tiktok.com
0.0.0.0 ads-api.twitter.com
0.0.0.0 ads-dev.pinterest.com
0.0.0.0 ads-sg.tiktok.com
0.0.0.0 an.yandex.ru
0.0.0.0 appmetrica.yandex.ru
0.0.0.0 mc.yandex.ru
0.0.0.0 amc.yandex.ru
### dns.malw.link: end hosts file

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

@@ -6,19 +6,25 @@ ui_print " / / (_| | |_) | | | __/ |_| |_ "
ui_print " /___\__,_| .__/|_| \\___|\__|\__|" ui_print " /___\__,_| .__/|_| \\___|\__|\__|"
ui_print " | | " ui_print " | | "
ui_print " |_| " ui_print " |_| "
ui_print "(!) To download app, use Telegram chat" ui_print "(!) To download app, use Telegram channel"
ui_print "Module by: egorwhite, Huananzhi X99, not_malware" ui_print "Module by: egor-white, Cherret, Huananzhi X99"
ui_print "App by: egorwhite" ui_print "App by: egor-white, Cherret"
ui_print "####################" ui_print "####################"
ui_print "Unpacking archive..." ui_print "Unpacking archive..."
unzip -o "$ZIPFILE" -x 'META-INF/*' -d $MODPATH >&2 unzip -o "$ZIPFILE" -x 'META-INF/*' -d $MODPATH >&2
ui_print "Creating zaprett directory..." 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..." ui_print "Filling configuration file if not exist..."
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 if [ ! -f "/sdcard/zaprett/config" ]; then
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..." ui_print "Copying lists and binaries to /sdcard/zaprett..."
cp -r $MODPATH/system/etc/zaprett/. /sdcard/zaprett/ cp -r $MODPATH/system/etc/zaprett/. /sdcard/zaprett/
@@ -49,13 +55,14 @@ case "$arch" in
abort abort
;; ;;
esac 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..." ui_print "Setting permissions..."
chmod 777 /sdcard/zaprett; chmod 777 $MODPATH/service.sh chmod 777 /sdcard/zaprett; chmod 777 $MODPATH/service.sh
ui_print "Cleaning temp files..." ui_print "Cleaning temp files..."
rm -rf $MODPATH/system/etc/zaprett rm -rf $MODPATH/system/etc/zaprett
rm -rf $MODPATH/system/bin
ui_print "Installation done. Telegram chat: https://t.me/zaprett_module" ui_print "Installation done. Telegram channel: https://t.me/zaprett_module"

View File

@@ -1,11 +1,9 @@
#!/system/bin/sh #!/system/bin/sh
while [ -z "$(getprop sys.boot_completed)" ]; do sleep 2; done while [ -z "$(getprop sys.boot_completed)" ]; do sleep 2; done
sleep 1 if [ -f "/data/adb/modules/zaprett/autostart" ]; then
source /storage/emulated/0/zaprett/config
if [ "$autorestart" = "true" ]; then
su -c "zaprett start" su -c "zaprett start"
while true; do while true; do
sleep 3600 sleep 3600
su -c "zaprett restart" su -c "zaprett restart"
done done
fi fi

View File

@@ -1,6 +1,5 @@
#!/system/bin/sh #!/system/bin/sh
source /sdcard/zaprett/config source /sdcard/zaprett/config
arch=$(uname -m)
clear_iptables_rules() { clear_iptables_rules() {
iptables -t mangle -D POSTROUTING -j NFQUEUE --queue-num 200 --queue-bypass 2>/dev/null iptables -t mangle -D POSTROUTING -j NFQUEUE --queue-num 200 --queue-bypass 2>/dev/null
@@ -8,121 +7,144 @@ clear_iptables_rules() {
iptables -t filter -D FORWARD -j NFQUEUE --queue-num 200 --queue-bypass 2>/dev/null iptables -t filter -D FORWARD -j NFQUEUE --queue-num 200 --queue-bypass 2>/dev/null
} }
case "$arch" in start_service() {
"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
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 &
echo "zaprett service started!"; return 0;
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;
if [ "$1" == "status" ]; then
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/* rm -f /data/adb/modules/zaprett/tmp/*
echo "Starting zaprett..." echo "Starting zaprett..."
hostlist=""
for itm in $(echo "$activelists" | tr ',' ' ' | sort -u); do hostlist=""
if [ -f "$itm" ]; then ipset=""
dst="/data/adb/modules/zaprett/tmp/$(basename "$itm")"
cp "$itm" "$dst" case "$list_type" in
case "$hostlist" in whitelist)
*"--hostlist=$dst"*) ;; lists="$active_lists"
*) hostlist="$hostlist --hostlist=$dst" ;; ipsets="$active_ipsets"
esac opt="--hostlist"
ipopt="--ipset"
;;
blacklist)
lists="$active_exclude_lists"
ipsets="$active_exclude_ipsets"
opt="--hostlist-exclude"
ipopt="--ipset-exclude"
;;
*)
echo "Unknown list-type: $list_type" >&2
lists=""
ipsets=""
opt=""
ipopt=""
;;
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 fi
done
config="" if [ -n "$ipsets" ] && [ -n "$ipopt" ]; then
if [[ -n "$strategy" && -f "$strategy" ]]; then for ipt in $(echo "$ipsets" | tr ',' ' ' | sort -u); do
config="$(eval "echo \"$(<"$strategy")\"")" if [ -f "$ipt" ]; then
fi dst="/data/adb/modules/zaprett/tmp/$(basename "$ipt")"
cp "$ipt" "$dst"
case "$ipset" in
*"$ipopt=$dst"*) ;;
*) ipset="$ipset $ipopt=$dst" ;;
esac
fi
done
fi
if [[ -z "$config" ]]; then config=""
config="--filter-tcp=80 --dpi-desync=fake,split2 --dpi-desync-autottl=2 --dpi-desync-fooling=md5sig,badsum $hostlist --new" if [[ -n "$strategy" && -f "$strategy" ]]; then
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="$(eval "echo \"$(<"$strategy")\"")"
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" fi
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" if [[ -z "$config" ]]; then
config="$config --filter-udp=443 --dpi-desync=fake --dpi-desync-repeats=6 $hostlist" 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
fi
sysctl net.netfilter.nf_conntrack_tcp_be_liberal=1 > /dev/null 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 POSTROUTING -j NFQUEUE --queue-num 200 --queue-bypass
iptables -t mangle -I PREROUTING -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 iptables -t filter -A FORWARD -j NFQUEUE --queue-num 200 --queue-bypass
$nfqws --uid=0:0 --qnum=200 $config > /dev/null & 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
stop_service
fi
if [ "$1" == "status" ]; then
pidof "nfqws" > /dev/null && echo "zaprett is working" || echo "zaprett is stopped"
fi
if [ "$1" == "restart" ]; then
stop_service
start_service
echo "zaprett service restarted!" echo "zaprett service restarted!"
fi fi
if [ "$1" == "help" ]; then
echo -e "Помощь по модулю zaprett:\nzaprett start - запуск сервиса\nzaprett stop - остановка сервиса\nzaprett restart - перезапуск сервиса\nzaprett status - статус сервиса\nzaprett module-ver - версия модуля\nzaprett bin-ver - версия бинарных файлов\nzaprett autostart - переключение автозапуска модуля\nzaprett get-autostart - получить активен ли автозапуск"
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 [ "$1" == "autostart" ]; then
FILE="/data/adb/modules/zaprett/autostart"
if [ -f "$FILE" ]; then
rm "$FILE"
echo "false"
else
touch "$FILE"
echo "true"
fi
fi
if [ "$1" == "get-autostart" ]; then
FILE="/data/adb/modules/zaprett/autostart"
if [ -f "$FILE" ]; then
echo "true"
else
echo "false"
fi
fi
if [[ -z $1 ]]; then if [[ -z $1 ]]; then
echo "zaprett installed. Telegram: t.me/zaprett_module" echo "zaprett installed. Telegram: t.me/zaprett_module"
fi fi

View File

@@ -1,35 +0,0 @@
127.0.0.1 localhost
::1 ip6-localhost
89.108.98.20 chatgpt.com
134.0.118.88 ab.chatgpt.com
89.108.98.20 auth.openai.com
89.108.98.20 auth0.openai.com
89.108.98.20 platform.openai.com
89.108.98.20 cdn.oaistatic.com
89.108.98.20 files.oaiusercontent.com
89.108.98.20 cdn.auth0.com
89.108.98.20 tcr9i.chat.openai.com
89.108.98.20 webrtc.chatgpt.com
89.108.98.20 android.chat.openai.com
89.108.98.20 gemini.google.com
89.108.98.20 aistudio.google.com
89.108.98.20 ai.google
89.108.98.20 assistant-s3-pa.googleapis.com
89.108.98.20 generativelanguage.googleapis.com
89.108.98.20 alkalimakersuite-pa.clients6.google.com
64.233.162.188 mtalk.google.com
89.108.98.20 copilot.microsoft.com
89.108.98.20 sydney.bing.com
89.108.98.20 edgeservices.bing.com
89.108.98.20 claude.ai
89.108.98.20 aitestkitchen.withgoogle.com
89.108.98.20 aisandbox-pa.googleapis.com
89.108.98.20 o.pki.goog
89.108.98.20 labs.google
89.108.98.20 notebooklm.google
89.108.98.20 notebooklm.google.com
89.108.98.20 www.notion.so
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

View File

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

View File

@@ -1,6 +1,6 @@
{ {
"version": "4.2", "version": "100",
"versionCode": 42, "versionCode": 100,
"zipUrl": "https://github.com/egor-white/zaprett/releases/download/4.2.0/zaprett-extended.zip", "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" "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": "5.1",
"versionCode": 51,
"zipUrl": "https://github.com/egor-white/zaprett/releases/download/5.1.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", "version": "5.1",
"versionCode": 42, "versionCode": 51,
"zipUrl": "https://github.com/egor-white/zaprett/releases/download/4.2.0/zaprett-tv.zip", "zipUrl": "https://github.com/egor-white/zaprett/releases/download/5.1.0/zaprett-tv.zip",
"changelog": "https://raw.githubusercontent.com/egor-white/zaprett/refs/heads/main/changelog.md" "changelog": "https://raw.githubusercontent.com/egor-white/zaprett/refs/heads/main/changelog.md"
} }