update readme && updater example
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing

This commit is contained in:
Pavel 2023-11-11 22:34:30 +03:00
parent 90cda33c37
commit f45297afe2
2 changed files with 33 additions and 2 deletions

View File

@ -1,4 +1,4 @@
# GeoIP & GeoSite with RU blacklist # GeoIP & GeoSite with RU Blacklist
Generates `geoip.dat` and `geosite.dat` for Xray with additional data: Generates `geoip.dat` and `geosite.dat` for Xray with additional data:
- Category with sites blocked in Russia (`geosite:category-ru-blocked-domains`). - Category with sites blocked in Russia (`geosite:category-ru-blocked-domains`).
@ -6,4 +6,22 @@ Generates `geoip.dat` and `geosite.dat` for Xray with additional data:
Data sources: Data sources:
- [v2fly/geoip](https://github.com/v2fly/geoip) for `geoip.dat`. - [v2fly/geoip](https://github.com/v2fly/geoip) for `geoip.dat`.
- [v2fly/domain-list-community](https://github.com/v2fly/domain-list-community) for `geosite.dat`. - [v2fly/domain-list-community](https://github.com/v2fly/domain-list-community) for `geosite.dat`.
You can replace original `geoip.dat` and `geosite.dat` with the ones from this repo and route only blocked traffic through the proxy.
# GeoIP Categories
- `geoip:ru-blocked-ips-all` - IP's and IP ranges blocked in Russia.
- `geoip:ru-blocked-ips-directblock` - IP's blocked in Russia directly by address.
- `geoip:ru-blocked-ips-noid2971` - IP's and IP ranges blocked in Russia excluding those blocked by 33а-5536/2019.
# GeoSite Categories
- `geosite:category-ru-blocked-domains` - domains and subdomains blocked in Russia.
- `geosite:category-ru-blocked-zones` - only second-level domains blocked in Russia (even if only subdomain was blocked).
# Automatic Update
There is no universal recipe. Just download `geoip.dat` and `geosite.dat` from latest release daily and replace old files with the new ones.
You can find an example of how to get the latest files in the [`update.sh`](./update.sh). And please, for the love of all that is holy, **don't put** `curl -fsSL ... | bash` to your crontab, **it's not safe**.

13
update.sh Executable file
View File

@ -0,0 +1,13 @@
#!/bin/bash
set -euxo pipefail;
current=`curl 'https://gitea.neur0tx.site/api/v1/repos/xray-addons/geoip-geosite-with-ru-blocklist/releases/latest'`
geoipUrl=`echo "$current" | jq -r '.assets | map( { (.name|tostring): . } ) | add | ."geoip.dat".browser_download_url'`
geositeUrl=`echo "$current" | jq -r '.assets | map( { (.name|tostring): . } ) | add | ."geosite.dat".browser_download_url'`
[ -f geoip.dat ] && mv geoip.dat geoip.dat.bak
[ -f geosite.dat ] && mv geosite.dat geosite.dat.bak
curl -fsSL "$geoipUrl" -o geoip.dat
curl -fsSL "$geositeUrl" -o geosite.dat
[ -f geoip.dat ] && [ -f geoip.dat.bak ] && rm geoip.dat.bak
[ -f geosite.dat ] && [ -f geosite.dat.bak ] && rm geosite.dat.bak
[ ! -f geoip.dat ] && mv geoip.dat.bak geoip.dat
[ ! -f geosite.dat ] && mv geosite.dat.bak geosite.dat