[PR #11046] fix: сделать обновления IPSet и hosts атомарными #299

Open
opened 2026-07-19 00:43:42 +03:00 by mirror-bot · 0 comments

📋 Pull Request Information

Original PR: https://github.com/Flowseal/zapret-discord-youtube/pull/11046
Author: @bigclawBin
Created: 3/8/2026
Status: 🔄 Open

Base: main ← Head: fix/atomic-updates


📝 Commits (1)

  • 61b3e84 fix: сделать обновления IPSet и hosts атомарными

📊 Changes

3 files changed (+822 additions, -152 deletions)

View changed files

📝 service.bat (+16 -115)
➕ utils/service-state.ps1 (+788 -0)
📝 utils/test zapret.ps1 (+18 -37)

📄 Description

Сделать обновления IPSet и hosts атомарными и безопасными к откату


Что изменено

  • обновление IPSet переведено на:

    • временный файл
    • валидацию
    • бэкап
    • атомарную замену
  • режим IPSet вынесен в отдельный state-файл
    вместо кодирования через содержимое ipset-all.txt

  • загруженный список IPSet хранится отдельно от активного файла

  • hosts обновляется через управляемый блок:


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/Flowseal/zapret-discord-youtube/pull/11046 **Author:** [@bigclawBin](https://github.com/bigclawBin) **Created:** 3/8/2026 **Status:** 🔄 Open **Base:** `main` ← **Head:** `fix/atomic-updates` --- ### 📝 Commits (1) - [`61b3e84`](https://github.com/Flowseal/zapret-discord-youtube/commit/61b3e845761ad60ff8daa7164bd62bcd3d51a93e) fix: сделать обновления IPSet и hosts атомарными ### 📊 Changes **3 files changed** (+822 additions, -152 deletions) <details> <summary>View changed files</summary> 📝 `service.bat` (+16 -115) ➕ `utils/service-state.ps1` (+788 -0) 📝 `utils/test zapret.ps1` (+18 -37) </details> ### 📄 Description # Сделать обновления IPSet и hosts атомарными и безопасными к откату --- ## Что изменено - обновление **IPSet** переведено на: - временный файл - валидацию - бэкап - атомарную замену - режим **IPSet** вынесен в отдельный **state-файл** вместо кодирования через содержимое `ipset-all.txt` - загруженный список **IPSet** хранится отдельно от активного файла - `hosts` обновляется через управляемый блок: --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
mirror-bot added the pull-request label 2026-07-19 00:43:42 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Utilities/zapret-discord-youtube#299