215 Commits
2.0.0 ... 5.1.0

Author SHA1 Message Date
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
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 887 additions and 14 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-repo/refs/heads/main/lists/include/list-youtube.txt -O lists/list-youtube.txt
wget https://raw.githubusercontent.com/CherretGit/zaprett-repo/refs/heads/main/lists/include/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, 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, 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, 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-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

@@ -1,17 +1,39 @@
# 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)
В актуальных релизах есть 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,6 @@
Обвнолены бинарники zapret до версии 70.3
Список изменений:
1) Обновление бинарников zapret до версии 71.3
2) Добавлена поддержка черного списка доменов
3) Обновлен hosts файл Внимание!
**Данная версия модуля совместима с приложением версии 2.7**

215
hosts/hosts Normal file
View File

@@ -0,0 +1,215 @@
# Дополнение к 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
52.223.13.41 tracker.openbittorrent.com
# ChatGPT, OpenAI:
204.12.192.222 chatgpt.com
204.12.192.222 ab.chatgpt.com
204.12.192.222 auth.openai.com
204.12.192.222 auth0.openai.com
204.12.192.222 platform.openai.com
204.12.192.222 cdn.oaistatic.com
204.12.192.222 files.oaiusercontent.com
204.12.192.222 cdn.auth0.com
204.12.192.222 tcr9i.chat.openai.com
204.12.192.222 webrtc.chatgpt.com
204.12.192.219 android.chat.openai.com
204.12.192.222 api.openai.com
204.12.192.221 operator.chatgpt.com
204.12.192.222 sora.chatgpt.com
204.12.192.222 sora.com
204.12.192.222 sora.chatgpt.com
204.12.192.222 videos.openai.com
# Сервисы Google:
204.12.192.222 gemini.google.com
204.12.192.222 aistudio.google.com
204.12.192.222 generativelanguage.googleapis.com
204.12.192.222 aitestkitchen.withgoogle.com
204.12.192.219 aisandbox-pa.googleapis.com
204.12.192.222 webchannel-alkalimakersuite-pa.clients6.google.com
204.12.192.221 alkalimakersuite-pa.clients6.google.com
204.12.192.221 assistant-s3-pa.googleapis.com
204.12.192.222 proactivebackend-pa.googleapis.com
204.12.192.222 o.pki.goog
204.12.192.222 labs.google
204.12.192.222 notebooklm.google
204.12.192.222 notebooklm.google.com
204.12.192.222 jules.google.com
204.12.192.222 stitch.withgoogle.com
# Microsoft Copilot, Microsoft Rewards, Xbox, Xbox Cloud Gaming:
204.12.192.222 copilot.microsoft.com
204.12.192.222 sydney.bing.com
204.12.192.222 edgeservices.bing.com
204.12.192.221 rewards.bing.com
204.12.192.222 xsts.auth.xboxlive.com
204.12.192.222 xgpuwebf2p.gssv-play-prod.xboxlive.com
204.12.192.222 xgpuweb.gssv-play-prod.xboxlive.com
# Spotify:
204.12.192.222 api.spotify.com
204.12.192.222 xpui.app.spotify.com
204.12.192.222 appresolve.spotify.com
204.12.192.222 login5.spotify.com
204.12.192.222 login.app.spotify.com
204.12.192.222 encore.scdn.co
204.12.192.222 ap-gew1.spotify.com
204.12.192.222 gew1-spclient.spotify.com
204.12.192.222 spclient.wg.spotify.com
204.12.192.222 api-partner.spotify.com
204.12.192.222 aet.spotify.com
204.12.192.222 www.spotify.com
204.12.192.222 accounts.spotify.com
204.12.192.221 open.spotify.com
# GitHub Copilot:
204.12.192.222 api.github.com
204.12.192.222 api.individual.githubcopilot.com
204.12.192.222 proxy.individual.githubcopilot.com
# JetBrains:
50.7.85.221 datalore.jetbrains.com
107.150.34.100 plugins.jetbrains.com
204.12.192.222 download.jetbrains.com
# ElevenLabs:
204.12.192.222 elevenlabs.io
204.12.192.222 api.us.elevenlabs.io
204.12.192.222 elevenreader.io
204.12.192.222 api.elevenlabs.io
204.12.192.222 help.elevenlabs.io
# Truth Social
204.12.192.221 truthsocial.com
204.12.192.221 static-assets-1.truthsocial.com
# Grok
204.12.192.222 grok.com
204.12.192.222 accounts.x.ai
204.12.192.222 assets.grok.com
# Tidal
204.12.192.222 api.tidal.com
204.12.192.222 listen.tidal.com
204.12.192.222 login.tidal.com
204.12.192.222 auth.tidal.com
204.12.192.222 link.tidal.com
204.12.192.222 dd.tidal.com
204.12.192.222 resources.tidal.com
204.12.192.221 images.tidal.com
204.12.192.222 fsu.fa.tidal.com
204.12.192.222 geolocation.onetrust.com
204.12.192.222 api.squareup.com
204.12.192.222 api-global.squareup.com
# Clash Royale, Clash of Clans, Brawl Stars
3.160.212.81 cdn.id.supercell.com
18.172.112.81 security.id.supercell.com
45.95.233.23 accounts.supercell.com
18.66.195.96 game-assets.clashroyaleapp.com
51.158.190.98 game.clashroyaleapp.com
3.162.38.39 game-assets.clashofclans.com
70.34.251.56 gamea.clashofclans.com
108.157.194.81 clashofclans.inbox.supercell.com
179.43.168.109 game.brawlstarsgame.com
18.239.69.129 game-assets.brawlstarsgame.com
204.12.192.222 store.supercell.com
# DeepL
204.12.192.222 deepl.com
204.12.192.222 www.deepl.com
204.12.192.222 www2.deepl.com
204.12.192.222 login-wall.deepl.com
204.12.192.219 w.deepl.com
204.12.192.222 s.deepl.com
204.12.192.222 dict.deepl.com
204.12.192.222 ita-free.www.deepl.com
204.12.192.222 write-free.www.deepl.com
204.12.192.222 experimentation.deepl.com
# Deezer
204.12.192.220 deezer.com
204.12.192.220 www.deezer.com
204.12.192.220 dzcdn.net
204.12.192.220 payment.deezer.com
# Weather.com
204.12.192.220 weather.com
204.12.192.220 upsx.weather.com
# Guilded
204.12.192.219 guilded.gg
204.12.192.219 www.guilded.gg
# Fitbit
204.12.192.219 api.fitbit.com
204.12.192.219 fitbit-pa.googleapis.com
204.12.192.219 fitbitvestibuleshim-pa.googleapis.com
204.12.192.219 fitbit.google.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
45.81.252.72 cs11a0a.4pda.ws
185.234.59.26 cs7f6c.4pda.ws
217.182.194.171 cs4a0d.4pda.ws
141.94.143.110 cs3b2e.4pda.ws
54.36.104.75 cs2c9f.4pda.ws
# Другое:
204.12.192.222 claude.ai
204.12.192.220 console.anthropic.com
204.12.192.222 www.notion.so
50.7.85.222 www.canva.com
204.12.192.222 www.intel.com
204.12.192.219 www.dell.com
50.7.85.219 www.tiktok.com # Только на сайте. Приложение определяет регион по оператору, а не по IP. Поэтому есть моды.
142.54.189.106 web.archive.org # Блокирует от российских IP некоторые сайты
204.12.192.220 developer.nvidia.com
107.150.34.99 builds.parsec.app
204.12.192.220 tria.ge
204.12.192.220 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
# Блокировка реально плохих сайтов
# Скримеры:
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

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

68
src/customize.sh Normal file
View File

@@ -0,0 +1,68 @@
ui_print " _ _ "
ui_print " | | | | "
ui_print " ______ _ _ __ _ __ ___| |_| |_ "
ui_print " |_ / _' | '_ \| '__/ _ \ __| __|"
ui_print " / / (_| | |_) | | | __/ |_| |_ "
ui_print " /___\__,_| .__/|_| \\___|\__|\__|"
ui_print " | | "
ui_print " |_| "
ui_print "(!) To download app, use Telegram channel"
ui_print "Module by: egor-white, Cherret, Huananzhi X99"
ui_print "App by: egor-white, 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 "Filling configuration file if not exist..."
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..."
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 channel: https://t.me/zaprett_module"

9
src/service.sh Normal file
View File

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

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

@@ -0,0 +1,150 @@
#!/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=""
ipset=""
case "$list_type" in
whitelist)
lists="$active_lists"
ipsets="$active_ipsets"
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
if [ -n "$ipsets" ] && [ -n "$ipopt" ]; then
for ipt in $(echo "$ipsets" | tr ',' ' ' | sort -u); do
if [ -f "$ipt" ]; then
dst="/data/adb/modules/zaprett/tmp/$(basename "$ipt")"
cp "$ipt" "$dst"
case "$ipset" in
*"$ipopt=$dst"*) ;;
*) ipset="$ipset $ipopt=$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 - версия бинарных файлов\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
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": "5.0",
"versionCode": 50,
"zipUrl": "https://github.com/egor-white/zaprett/releases/download/5.0.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": "5.0",
"versionCode": 50,
"zipUrl": "https://github.com/egor-white/zaprett/releases/download/5.0.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": "5.0",
"versionCode": 50,
"zipUrl": "https://github.com/egor-white/zaprett/releases/download/5.0.0/zaprett-tv.zip",
"changelog": "https://raw.githubusercontent.com/egor-white/zaprett/refs/heads/main/changelog.md"
}