199 Commits
2.1.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
egor-white
046afedd65 update actions 2025-06-14 15:20:40 +03:00
egor-white
d2dcdebe5b update workflow 2025-06-14 15:03:30 +03:00
egor-white
2f9658f7c0 refactoring 2025-06-14 13:53:10 +03:00
egor-white
f452f250ed refactoring 2025-06-14 13:50:13 +03:00
egor-white
063db1c312 refactoring 2025-06-14 13:47:26 +03:00
egor-white
e06921d4e2 refactoring 2025-06-14 13:47:20 +03:00
egor-white
d44922fa5c refactoring 2025-06-14 13:42:11 +03:00
egor-white
54371df71d refactoring 2025-06-14 13:38:54 +03:00
egor-white
f18842fd05 Update workflow.yml 2025-06-14 13:37:00 +03:00
egor-white
f7291945b3 Update workflow.yml 2025-06-14 13:24:37 +03:00
egor-white
218d5a835d Update workflow.yml 2025-06-14 13:23:42 +03:00
egor-white
b08109d91a refactoring 2025-06-14 13:05:46 +03:00
egor-white
7279be91c3 Update workflow.yml 2025-06-14 13:01:34 +03:00
egor-white
f757c20d63 Update workflow.yml 2025-06-14 12:57:23 +03:00
egor-white
1312bd04d6 Update workflow.yml 2025-06-14 12:55:38 +03:00
egor-white
93f1975629 refactoring 2025-06-14 12:51:53 +03:00
egor-white
0558b4b619 restructuring 2025-06-14 12:49:46 +03:00
egor-white
8b137cd210 Update workflow.yml 2025-06-14 12:47:53 +03:00
egor-white
84b2817842 Update workflow.yml 2025-06-14 12:43:59 +03:00
egor-white
79f9c8ab43 Update workflow.yml 2025-06-14 12:43:00 +03:00
egor-white
1116899c74 Update workflow.yml 2025-06-14 12:41:05 +03:00
egor-white
895412e6dd add files 2025-06-14 12:39:42 +03:00
egor-white
152002bb34 Update workflow.yml 2025-06-14 12:38:54 +03:00
egor-white
ed0197ce43 Update workflow.yml 2025-06-14 12:32:03 +03:00
egor-white
9a416e7ba5 Update workflow.yml 2025-06-14 12:31:53 +03:00
egor-white
98f96103bd Update workflow.yml 2025-06-14 12:29:54 +03:00
egor-white
755a5c3862 Update workflow.yml 2025-06-14 12:28:28 +03:00
egor-white
27e57c0b8f Update workflow.yml 2025-06-14 12:25:19 +03:00
egor-white
66f36d7c56 Update workflow.yml 2025-06-14 12:24:39 +03:00
egor-white
5f18c82a93 Update workflow.yml 2025-06-14 12:24:08 +03:00
egor-white
b696e93d19 Update workflow.yml 2025-06-14 12:17:42 +03:00
egor-white
4451d78913 move files 2025-06-14 12:15:56 +03:00
egor-white
0d8148d781 Update workflow.yml 2025-06-14 12:14:01 +03:00
egor-white
1f3fd3b2f6 Update workflow.yml 2025-06-14 12:08:48 +03:00
egor-white
1d59e6ae9a inital 2025-06-14 11:08:41 +03:00
egor-white
aed27e80d0 Update workflow.yml 2025-06-14 10:36:54 +03:00
egor-white
ab4f590358 Update workflow.yml 2025-06-14 10:05:56 +03:00
egor-white
7b80a5881b Update workflow.yml 2025-06-14 09:59:14 +03:00
egor-white
7b87215460 Update workflow.yml 2025-06-14 09:57:11 +03:00
egor-white
bd41635291 Update workflow.yml 2025-06-14 09:50:04 +03:00
CherretGit
8931550f83 Update workflow.yml 2025-06-14 13:33:00 +07:00
CherretGit
a138572257 Update workflow.yml 2025-06-14 13:30:21 +07:00
CherretGit
f27049ec55 Update and rename blank.yml to workflow.yml 2025-06-14 13:27:13 +07:00
CherretGit
e6be2ea05e Create workflow.yml 2025-06-14 13:15:21 +07:00
egor-white
426269a66a Update changelog.md 2025-06-13 20:22:32 +03:00
egor-white
20c01d55f8 Update update_tv.json 2025-06-13 20:22:05 +03:00
egor-white
8244d750a8 Update update_extended.json 2025-06-13 20:21:50 +03:00
egor-white
beb1be3b13 Update update.json 2025-06-13 20:21:30 +03:00
egor-white
d9fe9a25b4 Update update.json 2025-06-13 20:21:22 +03:00
egor-white
f3fd0477cd Update update_tv.json 2025-05-31 14:16:49 +03:00
egor-white
f61679a20e Update update_extended.json 2025-05-31 14:16:37 +03:00
egor-white
1068fa8d98 Update update.json 2025-05-31 14:16:19 +03:00
egor-white
6535922576 Update changelog.md 2025-05-31 14:16:00 +03:00
egor-white
3fc4e388bc Update changelog.md 2025-05-31 14:15:48 +03:00
CherretGit
64f3ec397c Update update_tv.json 2025-05-26 02:19:19 +07:00
CherretGit
ea1b82a483 Update update_extended.json 2025-05-26 02:18:21 +07:00
CherretGit
24731284f4 Update update.json 2025-05-26 02:17:07 +07:00
CherretGit
52a2287c00 Update changelog.md 2025-05-26 02:16:21 +07:00
egor-white
fa8b798943 Update update_tv.json 2025-05-18 10:35:19 +00:00
egor-white
f3c918de80 Update update_extended.json 2025-05-18 10:34:58 +00:00
egor-white
e55df9bf31 Update update.json 2025-05-18 10:34:36 +00:00
egor-white
885aa16736 Update changelog.md 2025-05-18 10:34:15 +00:00
CherretGit
c7fda1faba Update update_tv.json 2025-05-14 11:38:49 +07:00
CherretGit
f69ce002c3 Update update_extended.json 2025-05-14 11:38:40 +07:00
CherretGit
157d05d21e Update update.json 2025-05-14 11:38:07 +07:00
CherretGit
907f6db57f Update changelog.md 2025-05-14 11:38:03 +07:00
CherretGit
80941e4b8c Update update_extended.json 2025-05-14 11:10:56 +07:00
egor-white
c2d3ea25a0 Update update_tv.json 2025-05-12 20:22:04 +03:00
egor-white
6057c726d7 Update update_extended.json 2025-05-12 20:21:44 +03:00
egor-white
e44d04033e Update update.json 2025-05-12 20:21:29 +03:00
egor-white
4403b8d57a Update changelog.md 2025-05-12 20:21:10 +03:00
egor-white
e304e8c79b Update update_tv.json 2025-05-10 11:45:01 +03:00
egor-white
dee3311289 Update update_extended.json 2025-05-10 11:44:42 +03:00
egor-white
499b75f391 Update update.json 2025-05-10 11:44:25 +03:00
egor-white
2b4683f8f9 Update changelog.md 2025-05-10 11:44:04 +03:00
egor-white
2cf05e8600 Update update_tv.json 2025-05-07 23:15:08 +03:00
egor-white
4e631f638d Update update_extended.json 2025-05-07 23:14:49 +03:00
egor-white
e6755c0e68 Update changelog.md 2025-05-07 23:14:33 +03:00
egor-white
b34b223261 Update update.json 2025-05-07 23:13:47 +03:00
CherretGit
5c04b16408 Update README.md 2025-05-04 22:03:33 +07:00
CherretGit
9bd3a7e93d Update README.md 2025-05-04 20:57:34 +07:00
CherretGit
64646885d6 Update README.md 2025-05-04 17:43:17 +07:00
CherretGit
228871c7d3 Update update_tv.json 2025-05-02 20:27:42 +07:00
CherretGit
34d79a9f4b Update update_extended.json 2025-05-02 20:27:38 +07:00
CherretGit
c37cca684d Update update.json 2025-05-02 20:27:34 +07:00
CherretGit
7654294c18 Update changelog.md 2025-05-02 20:27:31 +07:00
egor-white
59bea9f644 Update update_extended.json 2025-04-20 23:23:10 +03:00
egor-white
8fce9f4a6d Update changelog.md 2025-04-20 23:22:47 +03:00
egor-white
5a0068fad6 Update update.json 2025-04-20 23:22:25 +03:00
egor-white
db83adb442 Create update_tv.json 2025-04-20 23:20:08 +03:00
egor-white
3bde37684a Update update_extended.json 2025-04-11 00:02:51 +03:00
egor-white
856711543b Update changelog.md 2025-04-11 00:02:24 +03:00
egor-white
97402d9eb6 Update update_extended.json 2025-04-10 00:29:16 +03:00
egor-white
cb9055f001 Update update.json 2025-04-10 00:28:51 +03:00
egor-white
c94661dc81 Update changelog.md 2025-04-10 00:28:24 +03:00
egor-white
9e5fb19adf Update update_extended.json 2025-03-26 19:24:05 +03:00
egor-white
6aeab9558e Update update.json 2025-03-26 19:23:34 +03:00
egor-white
d97d6a109d Update changelog.md 2025-03-26 19:23:05 +03:00
egor-white
220f0ad0f2 Update update_extended.json 2025-03-25 20:04:55 +03:00
egor-white
cc35b7bfb9 Update update.json 2025-03-25 20:04:31 +03:00
egor-white
c818d58c0a Update changelog.md 2025-03-25 20:04:12 +03:00
egor-white
68938e4df3 Update update_extended.json 2025-03-23 14:36:28 +03:00
egor-white
88814c2b73 Update update.json 2025-03-23 14:35:54 +03:00
egor-white
1b7f3149fe Update changelog.md 2025-03-23 14:35:25 +03:00
egor-white
cd21a9f5ba Update update_extended.json 2025-03-22 23:57:01 +03:00
egor-white
04cf4e7692 Update changelog.md 2025-03-22 23:55:55 +03:00
egor-white
5a6a455c0f Update update_extended.json 2025-03-18 22:15:20 +03:00
egor-white
0063cb4066 Update update.json 2025-03-18 22:14:49 +03:00
egor-white
7ef7c02c97 Update changelog.md 2025-03-18 22:12:29 +03:00
16 changed files with 646 additions and 15 deletions

188
.github/workflows/workflow.yml vendored Normal file
View File

@@ -0,0 +1,188 @@
name: Build module
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'
- name: Send bot post
env:
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

@@ -1,17 +1,18 @@
# zaprett
### [Официальный Telegram-канал модуля](https://t.me/zaprett_module)
## О модуле
Представляет собой портированную версию [zapret](https://github.com/bol-van/zapret/) от [bol-van](https://github.com/bol-van/) для Android устройств.
Требования:
* Magisk 24.1+
* Прямые руки
* Termux или другой эмулятор терминала **И/ИЛИ** [приложение zaprett](https://github.com/egor-white/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
Планируемый функционал:
+ Автообновление модуля
Модуль разрабатывается при поддержке **Telegram чата** [Usb.mineralka #нахуйРКН](https://t.me/mineral_usb)
Оригинальный автор - [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 @@
Обвнолены бинарники zapret до версии 70.3
Небольшие изменения в customize.sh

35
hosts/hosts Normal file
View File

@@ -0,0 +1,35 @@
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

@@ -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

72
src/customize.sh Normal file
View File

@@ -0,0 +1,72 @@
ui_print " _ _ "
ui_print " | | | | "
ui_print " ______ _ _ __ _ __ ___| |_| |_ "
ui_print " |_ / _' | '_ \| '__/ _ \ __| __|"
ui_print " / / (_| | |_) | | | __/ |_| |_ "
ui_print " /___\__,_| .__/|_| \\___|\__|\__|"
ui_print " | | "
ui_print " |_| "
ui_print "(!) To download app, use Telegram chat"
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;
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/
ui_print "Copying files to /bin"
arch=$(uname -m)
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"
;;
*)
ui_print "Unknown arch: $arch"
abort
;;
esac
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
ui_print "Installation done. Telegram chat: https://t.me/zaprett_module"

11
src/service.sh Normal file
View File

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

108
src/system/bin/zaprett Normal file
View File

@@ -0,0 +1,108 @@
#!/system/bin/sh
source /sdcard/zaprett/config
clear_iptables_rules() {
iptables -t mangle -D POSTROUTING -j NFQUEUE --queue-num 200 --queue-bypass 2>/dev/null
iptables -t mangle -D PREROUTING -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
}
start_service() {
rm -f /data/adb/modules/zaprett/tmp/*
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
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!"
}
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!"
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

View File

@@ -1,6 +1,6 @@
{
"version": "2.5",
"versionCode": 25,
"zipUrl": "https://github.com/egor-white/zaprett/releases/download/Zapret_2_5_0/zapret.zip",
"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": "2.5",
"versionCode": 25,
"zipUrl": "https://github.com/egor-white/zaprett/releases/download/Zapret_2_5_0/zapret-extended.zip",
"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"
}

6
update_tv.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-tv.zip",
"changelog": "https://raw.githubusercontent.com/egor-white/zaprett/refs/heads/main/changelog.md"
}