docs(cascade): pin ru.zone fallback URL to the release tag (#164)
Some checks failed
Docs consistency / docs-consistency (push) Has been cancelled
ShellCheck / Lint and syntax check (push) Has been cancelled
Tests / unit-tests (push) Has been cancelled

The awg-routing.sh fallback fetched cascade/ru.zone from main, so a
copied script depended on the mutable main branch - a future restructure
could 404 it or silently change the list. Pin it to the vX.Y.Z release
tag for an immutable snapshot, and add CASCADE.md/.en.md to the
check-docs-consistency raw-URL check so the tag bumps every release.
This commit is contained in:
Ivan Bondarev 2026-07-06 20:04:52 +03:00 committed by GitHub
parent 4f8d01fa8d
commit f85f1f9e7d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 10 additions and 3 deletions

View file

@ -168,7 +168,7 @@ TABLE_ID=100 # routing table number for "to the exit"
FWMARK="0x1" # mark for traffic leaving via awg1
RULE_PRIO=10000 # ip rule priority (uncommon, to avoid collisions)
RU_ZONE_URL="https://www.ipdeny.com/ipblocks/data/aggregated/ru-aggregated.zone"
RU_ZONE_FALLBACK_URL="https://raw.githubusercontent.com/bivlked/amneziawg-installer/main/cascade/ru.zone"
RU_ZONE_FALLBACK_URL="https://raw.githubusercontent.com/bivlked/amneziawg-installer/v5.18.4/cascade/ru.zone"
AWG_DIR="/root/awg"
# =============================================

View file

@ -168,7 +168,7 @@ TABLE_ID=100 # номер таблицы маршру
FWMARK="0x1" # метка для трафика, уходящего через awg1
RULE_PRIO=10000 # приоритет правила ip rule (нестандартный, чтобы не конфликтовать)
RU_ZONE_URL="https://www.ipdeny.com/ipblocks/data/aggregated/ru-aggregated.zone"
RU_ZONE_FALLBACK_URL="https://raw.githubusercontent.com/bivlked/amneziawg-installer/main/cascade/ru.zone"
RU_ZONE_FALLBACK_URL="https://raw.githubusercontent.com/bivlked/amneziawg-installer/v5.18.4/cascade/ru.zone"
AWG_DIR="/root/awg"
# ==================================================

View file

@ -15,6 +15,8 @@
- Сетей: 8626 (IPv4 CIDR, по одной на строку, окончания строк LF)
- Данные агрегированы из публичных записей о распределении адресов RIR, редистрибуция разрешена.
Скрипт `awg-routing.sh` из [CASCADE.md](../CASCADE.md) тянет этот файл по URL, закреплённому на тег релиза (`raw.githubusercontent.com/.../vX.Y.Z/cascade/ru.zone`), а не на `main` - так снимок иммутабелен для уже развёрнутых установок. Этот тег обновляется каждый релиз (проверяется `scripts/check-docs-consistency.sh`).
### Как обновить снимок
Обновляйте примерно раз в 6-12 месяцев (российские диапазоны меняются медленно):
@ -40,6 +42,8 @@ with a working RU network list.
- Networks: 8626 (IPv4 CIDR, one per line, LF line endings)
- The data is aggregated from public RIR allocation records; redistribution is allowed.
The `awg-routing.sh` script in [CASCADE.en.md](../CASCADE.en.md) fetches this file via a URL pinned to the release tag (`raw.githubusercontent.com/.../vX.Y.Z/cascade/ru.zone`), not `main`, so the snapshot is immutable for already-deployed installs. That tag is bumped every release (enforced by `scripts/check-docs-consistency.sh`).
### Refreshing the snapshot
Refresh roughly every 6-12 months (RU allocations change slowly):

View file

@ -241,8 +241,11 @@ if [[ "$stale_fail" -eq 0 ]]; then _ok "SECURITY/CONTRIBUTING не протух
# указывать на текущий релиз, иначе copy-paste из README ставит прошлую версию
# (регрессия, ради которой добавлена эта проверка). CHANGELOG исключён намеренно -
# там теги исторические (точки появления функций/прошлые релизы).
# CASCADE.md/.en.md включены: awg-routing.sh закрепляет тег в fallback-URL снимка
# ru.zone (raw .../vX.Y.Z/cascade/ru.zone). Пин на тег = иммутабельный снимок, а не
# подвижный main; проверка не даёт ему протухнуть на новом релизе (бампать каждый релиз).
url_fail=0
URL_DOCS=(README.md README.en.md ADVANCED.md ADVANCED.en.md INSTALL_VPS.md)
URL_DOCS=(README.md README.en.md ADVANCED.md ADVANCED.en.md INSTALL_VPS.md CASCADE.md CASCADE.en.md)
for f in "${URL_DOCS[@]}"; do
[[ -f "$f" ]] || continue
while IFS= read -r tag; do