-
Notifications
You must be signed in to change notification settings - Fork 0
RU Release Checklist
Этот checklist дополняет автоматические Validate-Repository.ps1 и Build-Release.ps1. Release считается готовым только после автоматических и ручных smoke tests на Windows.
- При неработающем system DNS для
api.github.com, но рабочем Shadowsocks-туннеле, DNSCrypt Install/Check update всё равно получает GitHub через Cloudflare DoH (Google fallback) поверх SOCKS5; если туннельный upstream недоступен, исходное исключение записывается в Logs до показа локализованной ошибки UI. -
Directory.Build.propsсодержит правильнуюVersion. -
ApplicationInfo, manifests, CHANGES и published EXE согласованы по 5.2.31 / 5.2.31.0. - В source archive нет
.git,.github,bin,obj,artifacts. - В source archive нет release binaries.
- В publish directory ровно
Shadowsocks.exe.
.\packaging\Validate-Repository.ps1
.\packaging\Build-Release.ps1- Restore выполняется с
NuGetAudit=trueиNuGetAuditMode=all. - Compiler/analyzer warnings блокируют release.
- Unit/integration tests проходят.
- Final EXE FileVersion совпадает с requested release version.
- ZIP и SHA-256 создаются из проверенного one-file publish.
- Запускается без UAC.
- Не извлекает NetworkService/WinDivert без необходимости.
- Local PAC включает system proxy и направляет requests в managed proxy.
- C#
FilterEngineдаёт ожидаемые DIRECT/PROXY решения. - В Local PAC кнопка Open user-rule.txt создаёт/открывает активный файл пользовательских правил; изменение файла атомарно обновляет managed snapshot.
- При Online PAC карточки Local managed routing, Local user rules и локальных GeoSite sources скрыты; после возврата в Local PAC снова отображаются.
- Невалидный rebuild оставляет last-known-good snapshot.
- UAC запускает broker/helper.
- WinDivert 2.2.2 x64 скачивается и проверяется SHA-256.
- TCP/UDP capture активируется.
- HTTP Host и TLS SNI дают parity с User Mode rules.
- Нет TLS MITM/CA/certificate replacement.
- Application Direct/Proxy/Block выше по приоритету.
- ECH/no-SNI/non-HTTP fallback детерминирован.
- Game Mode приостанавливает Admin capture без нового UAC и восстанавливает его после выхода игры.
-
При первой установке DNSCrypt всё время загрузки/проверки/активации видны активные ProgressRing/ProgressBar и текст операции; временно недоступные DNS settings скрыты, а не выглядят зависшими disabled controls.
-
System,Direct,Proxy,CustomDoh,DnsCryptпроверены. -
UDP и TCP 53 работают в Administrator Mode.
-
DNSCrypt install/update/signature verification проходит.
-
Active DNSCrypt не имеет plaintext/system fallback.
-
Automatic resolver filters соблюдают DNSSEC/no-log/no-filter/IPv4/IPv6.
-
ODoH остаётся отключён.
-
Crash/restart DNSCrypt не оставляет plaintext window.
-
Импорт
ss://с известным built-in plugin, который ещё не установлен, предлагает Install, Import without plugin и Cancel; после успешной установки продолжается обычное подтверждение импорта сервера. -
Built-in plugin install работает и сохраняет trusted repository/release/asset provenance.
-
Automatic updates доступен для catalog plugin; Check updates запускает ручной проход.
-
Background maintenance выполняет успешный release-check не чаще раза в 24 часа, откладывает in-use plugin, повторяет неудачный network/release check позже без сдвига success timestamp и отвергает распознаваемую candidate-версию ниже установленной.
-
ZIP/TAR.GZ manual import работает и никогда не auto-update.
-
Traversal/rooted/Windows-ADS paths и link/special TAR entries отклоняются; download/extraction limits соблюдаются; GitHub SHA-256 asset digest проверяется, если опубликован.
-
Staging/rollback package replacement не оставляет transient dirs после нормального завершения.
-
Managed package хранится под active storage root.
-
Server resolves plugin через
PluginManager. -
Clean Mode хранит plugin внутри Temp session.
- Принимаются только
Shadowsocks-win-x64.zipи.sha256. - Draft releases игнорируются; prerelease зависит от setting.
- SHA-256, ZIP layout и payload FileVersion проверяются.
- Equal version и downgrade отклоняются.
-
.downloadstream закрыт до atomic promotion. - Staged updater проверяет собственный SHA-256.
- Replacement rollback-safe.
- Startup-copy обновляет primary EXE, затем refresh startup copy.
- Отмена UAC не завершает рабочее приложение.
- Mutable state не создаётся рядом с EXE.
- Normal root:
%LOCALAPPDATA%\Shadowsocks. - Clean root:
%TEMP%\Shadowsocks\Clean\.... - Clean session удаляется после Quit.
- Start with Windows отключён в Clean Mode.
- Stale startup entries дедуплицируются.
-
Переключить EN/RU/zh-CN/zh-TW/JA/KO/FR и проверить заголовки страниц, встроенный Settings, команды tray, косвенные Hotkey labels и tooltip статуса регистрации — всё следует выбранному языку приложения.
-
Для неочевидных интерактивных controls проверить локализованные ToolTip и accessibility HelpText; состояние не передаётся только цветом.
-
Нерелевантный контекстный UI скрыт: plugin-поля при Plugin=None, детали Forward Proxy при No proxy, локальные PAC-карточки при Online PAC, Admin diagnostics вне Admin/Game runtime.
-
Selection/dirty/busy состояния согласованы: Save/Discard и selection-actions отключены, когда неприменимы; Add отключён для дубликатов; долгие DNSCrypt/GeoSite/online-config/plugin/update операции показывают progress и блокируют конфликтующие действия.
-
Страница и tray одинаково отвергают Online PAC URL не HTTP/HTTPS; невалидный сохранённый URL требуется исправить до активации Online PAC.
-
Временный выбор Plugin=None скрывает plugin-specific поля, но не уничтожает несохранённые значения до Save.
-
На Plugins выбор уже установленного catalog plugin синхронно меняет и основное действие, и локализованный tooltip с Install на Reinstall; busy-state блокирует список установленных plugins и конфликтующие действия.
-
На PAC / GeoSite несохранённые изменения sources блокируют Download / refresh и показывают локализованное объяснение, что сначала нужно сохранить sources; во время refresh виден progress, а редактирование sources заблокировано.
-
Main pages открываются.
-
Tray работает.
-
Servers, Plugins, Traffic, DNS, PAC/GeoSite, Logs, About & updates проверены.
-
License и Third-party notices открываются из embedded resources.
-
EN/RU/zh-CN/zh-TW/JA/KO/FR user-visible strings не пусты.
-
Tooltips/HelpText проверены для новых controls.
- Windows 10 build 19041+.
- Windows 11.
- x64.
- Startup, import, proxy enable/disable, tray, quit.
- Exact release ZIP протестирован после упаковки.
-
Tag создаётся только после зелёного CI.
-
Release draft содержит ZIP и SHA-256.
-
Notes проверены.
-
Публикуется именно протестированный asset.
-
Обновление resolver-каталога DNSCrypt использует Cloudflare DoH по Shadowsocks с резервным Google DoH; HTTPS resolver-list также идёт через Shadowsocks, Minisign проверяется до публикации, а catalog TOML содержит
urls = [],bootstrap_resolvers = [],ignore_system_dns = true.