Releases: kzolotarev95/luci-app-sub-sync666
666
Podcop Sub v666
Подписки • Мониторинг • xHTTP • HY2 • URL Test • LuCI UI • ProtoByZKS95 Theme
✅ Возможности
- 🔗 Добавление и обработка подписок
- 🧪 URL Test / проверка серверов
- 🚀 Поддержка xHTTP для Podkop
- ⚡ Поддержка HY2 / Hysteria2
- 🧩 Интеграция прямо в
Services → Podkop - 🎨 Автоустановка темы
ProtoByZKS95 / proton2025 - 🛡 ACL fallback, чтобы LuCI-доступ не ломался
- 🔁 Retry installer/uninstaller для нестабильного GitHub-соединения
- 🧹 Полное удаление без мусора
- 🧼 Удаление темы, ACL, cron, helpers,
/etc/sub-sync, LuCI cache - 📊 Системные виджеты и статус-блоки
- 🧠 Guard для восстановления важных патчей
- 🚫 Без сохранения приватных подписок в GitHub
🚀 Быстрая установка
Рекомендуемый способ установки — через retry-скрипт.
Он сначала скачивает файл, проверяет маркеры и синтаксис, и только потом запускает установку.
wget -O /tmp/install-podcop-sub-v666.sh "https://raw.githubusercontent.com/kzolotarev95/luci-app-sub-sync666/main/install-retry.sh?v=$(date +%s)" && sh /tmp/install-podcop-sub-v666.shПосле установки:
- Выйдите из LuCI.
- Зайдите обратно.
- Сделайте
Ctrl + F5. - Откройте:
Services → Podkop
🧹 Полное удаление
Удаление также лучше запускать через retry-скрипт.
Он скачивает проверенный uninstall и полностью чистит файлы модуля.
wget -O /tmp/uninstall-podcop-sub-v666.sh "https://raw.githubusercontent.com/kzolotarev95/luci-app-sub-sync666/main/uninstall-retry.sh?v=$(date +%s)" && sh /tmp/uninstall-podcop-sub-v666.shПосле удаления очищаются:
- LuCI JS-файлы модуля
- ACL
- menu files
- helpers
- guard
- cron
/etc/sub-sync- theme
proton2025 - временные файлы
- public backups темы
- LuCI cache
📦 Что устанавливается
Основные файлы:
/www/luci-static/resources/view/sub_sync/sub_sync.js
/www/luci-static/resources/view/sub_sync/sub_sync_v221.js
/usr/share/rpcd/acl.d/luci-app-sub-sync.json
/usr/bin/sub-sync
/usr/bin/sub-sync.real
/usr/bin/sub-sync-autoadd
/usr/bin/sub-sync-subs-info
/usr/bin/sub-sync-urltest
/usr/bin/podcop-sub-v666-xhttp-patch
/usr/bin/podcop-sub-v666-guard
/etc/init.d/podcop-sub-v666-guard
/etc/sub-sync/
Интеграция в LuCI:
/usr/share/luci/menu.d/luci-app-podkop.json
Тема:
/www/luci-static/proton2025
🔁 Почему используется retry installer
На некоторых роутерах GitHub Raw иногда может отвечать ошибками:
Failed to send request: Operation not permitted
SSL error: SSL - The connection indicated an EOF
Connection timed out
HTTP error 404
Поэтому обычный способ:
wget -O- URL | shможет оборваться на середине.
Retry installer делает безопаснее:
- Скачивает файл в
/tmp. - Проверяет маркер версии.
- Проверяет синтаксис через
sh -n. - Только потом запускает файл.
- При ошибке повторяет попытку.
🧪 Проверка после установки
Выполните:
echo "--- module files ---"
ls -l /www/luci-static/resources/view/sub_sync/sub_sync.js
ls -l /www/luci-static/resources/view/sub_sync/sub_sync_v221.js
echo "--- ACL ---"
ls -l /usr/share/rpcd/acl.d/luci-app-sub-sync.json
echo "--- menu refs ---"
grep -RsnE 'sub_sync|Подписки|Мониторинг' /usr/share/luci/menu.d/*.json 2>/dev/null || true
echo "--- theme ---"
uci get luci.main.mediaurlbase 2>/dev/null || true
ls -ld /www/luci-static/proton2025 2>/dev/null || true
echo "--- guard ---"
grep -nE 'PODCOP_SUB_V666_PERSISTENT_GUARD|removed duplicate standalone|restoring Подписки' /usr/bin/podcop-sub-v666-guard 2>/dev/null || true
echo "--- hidden update button ---"
grep -Rsn 'SUBSYNC_HIDE_UPDATE_CHECK_BUTTON_V269B' /www/luci-static/resources/view/sub_sync/sub_sync*.js 2>/dev/null | headНормальный результат:
sub_sync.js есть
sub_sync_v221.js есть
ACL есть
menu refs показывает luci-app-podkop.json
/luci-static/proton2025
PODCOP_SUB_V666_PERSISTENT_GUARD есть
SUBSYNC_HIDE_UPDATE_CHECK_BUTTON_V269B есть
📋 Логи для диагностики
logread | grep -Ei 'sub-sync|subsync|theme|protobyzks95|proton2025|podcop-sub-v666-guard|podkop|rpcd|uhttpd|luci|SyntaxError|TypeError|ReferenceError|Access denied|Доступ запрещ|fatal|configuration invalid|Unknown transport|403|Operation not permitted|Connection timed out|download failed|Segmentation fault|duplicate standalone|ACL missing|ACL fallback' | tail -n 300Критичные ошибки:
SyntaxError
TypeError
ReferenceError
Access denied
Доступ запрещ
fatal
configuration invalid
Unknown transport
ACL missing
Некритичные сетевые ошибки, если retry потом сработал:
Failed to send request: Operation not permitted
Connection timed out
SSL EOF
🧼 Что делает uninstall
Uninstall v275 выполняет полную чистку:
Удаляет модульные LuCI JS-файлы
Удаляет ACL
Удаляет menu-файлы модуля
Удаляет helper scripts
Удаляет guard
Удаляет cron guard
Удаляет /etc/sub-sync
Удаляет тему proton2025
Возвращает LuCI на bootstrap
Удаляет временные файлы
Удаляет public backups темы
Очищает LuCI cache
Проверка после удаления:
ls -ld /www/luci-static/resources/view/sub_sync 2>/dev/null || echo "OK: no sub_sync dir"
ls -l /usr/share/rpcd/acl.d/luci-app-sub-sync.json 2>/dev/null || echo "OK: no ACL"
ls -l /usr/share/luci/menu.d/luci-app-sub-sync.json 2>/dev/null || echo "OK: no duplicate menu"
ls -ld /etc/sub-sync 2>/dev/null || echo "OK: no /etc/sub-sync"
ls -ld /www/luci-static/proton2025 2>/dev/null || echo "OK: no proton2025 theme"
grep -n 'podcop-sub-v666-guard' /etc/crontabs/root 2>/dev/null || echo "OK: no guard cron"🧩 xHTTP / Podkop patch
Модуль добавляет поддержку xHTTP в Podkop через helper:
/usr/bin/podcop-sub-v666-xhttp-patch
Проверка:
grep -RsnE 'xhttp|sing_box_cm_set_xhttp_transport' \
/usr/lib/podkop/sing_box_config_facade.sh \
/usr/lib/podkop/sing_box_config_manager.sh 2>/dev/null || trueПри удалении модуль пытается восстановить файлы Podkop обратно.
🎨 Тема ProtoByZKS95 / proton2025
При установке модуль ставит тему:
ProtoByZKS95 / proton2025
Активная тема проверяется так:
uci get luci.main.mediaurlbaseОжидаемый результат:
/luci-static/proton2025
После uninstall тема удаляется, а LuCI возвращается на:
/luci-static/bootstrap
🔐 Приватность
В публичном GitHub-репозитории нет приватных подписок, приватных серверов, ключей или пользовательских конфигов.
Публично хранятся только:
- код модуля
- LuCI UI
- helper scripts
- public donor state
- installer/uninstaller
- retry scripts
Личные подписки и серверы создаются локально на роутере пользователя.
🛠 Ручные команды для опытных пользователей
Установка напрямую, без retry:
wget -O- "https://raw.githubusercontent.com/kzolotarev95/luci-app-sub-sync666/main/install.sh?v=$(date +%s)" | shУдаление напрямую, без retry:
wget -O /tmp/subsync-uninstall.sh "https://raw.githubusercontent.com/kzolotarev95/luci-app-sub-sync666/main/uninstall.sh?v=$(date +%s)"
sh /tmp/subsync-uninstall.shНо для обычных пользователей рекомендуется использовать retry-команды.
🧭 После установки
Открыть в LuCI:
Services → Podkop
Если страница не появилась:
rm -rf /tmp/luci-modulecache /tmp/luci-modulecache/* /tmp/luci-indexcache /tmp/luci-indexcache* /tmp/luci-sessions /tmp/luci-sessions/* 2>/dev/null || true
/etc/init.d/rpcd restart
/etc/init.d/uhttpd restartЗатем:
Logout/Login LuCI + Ctrl + F5
⚠️ Важно
- Не ставьте несколько разных версий подряд без uninstall.
- После установки обязательно перелогиньтесь в LuCI.
- При временных ошибках GitHub используйте retry installer.
- Public install/uninstall не делает большие backup-архивы, чтобы не забивать flash-память роутера.
❤️ Поддержка проекта
Если модуль оказался полезен — Подержать Донатом Сбербанк : 4817760258323256