🇷🇺 Русская версия
Релиз v0.3.0 - Крупный рефакторинг и исправления ошибок
🎯 Обзор
Этот релиз включает крупный рефакторинг кода для улучшения поддерживаемости, исправления ошибок и опечаток по всему кодовому базе.
⚠️ КРИТИЧЕСКИЕ ИЗМЕНЕНИЯ
Важно: Этот релиз требует обновления ваших конфигурационных файлов!
- Изменилось имя блока конфигурации:
@ParcerConfig→@ParserConfig-
Вы должны обновить ваш файл
config.json: замените/** @ParcerConfigна/** @ParserConfig -
Старые конфиги с
@ParcerConfigне будут распознаны -
Пример:
/** @ParserConfig
{
"ParserConfig": {
...
}
}
*/✨ Основные изменения
-
🔧 Рефакторинг кода
- Сервисно-ориентированная архитектура: Разделение монолитного
AppControllerна специализированные сервисыProcessService: Управление жизненным циклом процесса sing-box (запуск, остановка, мониторинг, авто-перезапуск)ConfigService: Обработка парсинга конфигурации и обновления подписокLogging: Централизованное управление ротацией лог-файлов
- Улучшенная структура кода: Лучшее разделение ответственности и модульность
- 29 файлов изменено: 2,035 добавлений(+), 1,413 удалений(-)
🐛 Исправления ошибок
- Исправлено извлечение тегов: Теги теперь содержат полный label (включая часть после
|)- Пример:
{"tag":"🇭🇺Венгрия|Белые списки"}вместо{"tag":"🇭🇺Венгрия"}
- Пример:
- Исправлено определение процессов: Улучшена потокобезопасная проверка PID
- Исправлена проверка границ массива: Исправлена валидация длины при определении процессов
📝 Исправления опечаток
- Исправлена опечатка:
Parcer→Parserпо всему коду и документации- Имена функций:
ExtractParcerConfig→ExtractParserConfig - Блоки конфигурации:
@ParcerConfig→@ParserConfig - Обновлено в коде, документации и шаблонах конфигурации
- Имена функций:
- Исправлена опечатка:
Wisard→Wizardв сообщениях об ошибках
📦 Новые файлы
core/config_service.go- Интерфейс ConfigServicecore/config_service_impl.go- Реализация ConfigService (рефакторинг из parser.go)core/logging.go- Утилиты для логированияcore/parsers/node_parser.go- Логика парсинга узловcore/process_service.go- Сервис управления процессамиui/config_wizard_state.go- Управление состоянием визардаui/wizard/common.go- Общие утилиты визардаui/wizard/source_step.go- Компонент шага источника визарда
🔄 Удаленные файлы
core/updater.go- Функциональность перенесена в другие модули
📚 Обновления документации
- Обновлены README.md и README_RU.md с исправленной терминологией
- Обновлена документация ParserConfig.md
- Исправлены все примеры шаблонов конфигурации
🎨 Улучшения
- Улучшенная обработка ошибок и логирование
- Улучшенная читаемость и поддерживаемость кода
- Более последовательная структура кода, следующая лучшим практикам Go
- Улучшена потокобезопасность в управлении процессами
🔄 Руководство по миграции
Перед обновлением обязательно обновите ваш config.json:
- Откройте ваш файл
config.json - Найдите строку:
/** @ParcerConfig - Замените её на:
/** @ParserConfig - Сохраните файл
- Обновите приложение
Примечание: Если вы используете Config Wizard, он автоматически использует правильный формат.
🙏 Благодарности
Спасибо за использование singbox-launcher! Если вы столкнулись с проблемами, пожалуйста, сообщите о них на GitHub.
🎯 Overview
This release includes a major code refactoring to improve maintainability, fix bugs, and correct typos throughout the codebase.
⚠️ BREAKING CHANGES
Important: This release requires updating your configuration files!
- Config block name changed:
@ParcerConfig→@ParserConfig-
You must update your
config.jsonfile: replace/** @ParcerConfigwith/** @ParserConfig -
Old configs with
@ParcerConfigwill not be recognized -
Example:
/** @ParserConfig
{
"ParserConfig": {
...
}
}
*/✨ Major Changes
-
🔧 Code Refactoring
- Service-Oriented Architecture: Decomposed monolithic
AppControllerinto specialized servicesProcessService: Manages sing-box process lifecycle (start, stop, monitor, auto-restart)ConfigService: Handles configuration parsing and subscription updatesLogging: Centralized log file rotation and management
- Improved Code Structure: Better separation of concerns and modularity
- 29 files changed: 2,035 insertions(+), 1,413 deletions(-)
🐛 Bug Fixes
- Fixed tag extraction: Tags now include full label (including part after
|separator)- Example:
{"tag":"🇭🇺Венгрия|Белые списки"}instead of{"tag":"🇭🇺Венгрия"}
- Example:
- Fixed process detection: Improved thread-safe PID checking
- Fixed array bounds checking: Corrected length validation in process detection
📝 Typo Fixes
- Fixed typo:
Parcer→Parserthroughout codebase and documentation- Function names:
ExtractParcerConfig→ExtractParserConfig - Config blocks:
@ParcerConfig→@ParserConfig - Updated in code, documentation, and config templates
- Function names:
- Fixed typo:
Wisard→Wizardin error messages
📦 New Files
core/config_service.go- ConfigService interfacecore/config_service_impl.go- ConfigService implementation (refactored from parser.go)core/logging.go- Centralized logging utilitiescore/parsers/node_parser.go- Node parsing logiccore/process_service.go- Process management serviceui/config_wizard_state.go- Wizard state managementui/wizard/common.go- Wizard common utilitiesui/wizard/source_step.go- Wizard source step component
🔄 Removed Files
core/updater.go- Functionality moved to other modules
📚 Documentation Updates
- Updated README.md and README_RU.md with corrected terminology
- Updated ParserConfig.md documentation
- Fixed all config template examples
🎨 Improvements
- Better error handling and logging
- Improved code readability and maintainability
- More consistent code structure following Go best practices
- Enhanced thread safety in process management
🔄 Migration Guide
Before updating, make sure to update your config.json:
- Open your
config.jsonfile - Find the line:
/** @ParcerConfig - Replace it with:
/** @ParserConfig - Save the file
- Update the application
Note: If you're using Config Wizard, it will automatically use the correct format.
🙏 Thanks
Thank you for using singbox-launcher! If you encounter any issues, please report them on GitHub.