# OpenVPN Profiler - Обновленная версия ## Основные улучшения ### 1. Поддержка массивов для маршрутов и DNS - Теперь можно задавать любое количество маршрутов для SPLIT туннелирования - Поддержка любого количества DNS серверов - Обратная совместимость со старым форматом ### 2. Улучшенная безопасность - Безопасная обработка шаблонов (экранирование спецсимволов) - Строгий режим выполнения скрипта - Проверка зависимостей ### 3. Логирование - Все действия логируются в файл `profiler.log` - Подробные сообщения об ошибках ### 4. Гибкость конфигурации - Поддержка CIDR формата для маршрутов (192.168.0.0/24) - Возможность загрузки маршрутов из файла - Автоматическое определение IP адресов с fallback ## Установка обновлений 1. **Создайте резервную копию текущей конфигурации:** ```bash cp -r templates/ templates.backup/ cp profiler.sh profiler.sh.backup cp confvars confvars.backup ``` 2. **Используйте скрипт миграции (если нужно сохранить старые настройки):** ```bash bash chmod +x migrate_config.sh ./migrate_config.sh ``` 3. **Или скопируйте новые файлы вручную:** ```bash cp templates/server.txt templates/server.txt.new cp templates/user.txt templates/user.txt.new cp profiler.sh profiler.sh.new cp confvars confvars.new # Просмотрите изменения и примените их diff templates/server.txt templates/server.txt.new diff profiler.sh profiler.sh.new ``` ## Использование новых возможностей 1. **Конфигурация SPLIT туннелирования с массивами:** ```bash # В файле confvars TTUNNETS=( "192.168.5.0/24" "10.0.0.0/8" "172.16.0.0/12" ) # Или используйте файл со списком маршрутов TTUNNETS_FILE="split_routes.txt" ``` 2. **Конфигурация DNS с массивами:** ```bash TDNS=( "192.168.5.253" "8.8.8.8" "1.1.1.1" ) ``` ## Новые функции скрипта 1. Безопасная подстановка в шаблоны - защита от спецсимволов 2. Расширенное логирование - все действия записываются в лог 3. Проверка зависимостей - автоматическая проверка необходимых программ 4. Обработка ошибок - информативные сообщения об ошибках 5. Поддержка CIDR - автоматическое преобразование CIDR в маску ## Обратная совместимость Скрипт поддерживает старый формат конфигурации. Если вы используете старые переменные `TTUNNET1-5` и `TDNS1-3`, они будут автоматически преобразованы в массивы. # Команды ```bash ./profiler.sh build # Создать новый профиль ./profiler.sh list # Показать список профилей ./profiler.sh revoke # Отозвать профиль ./profiler.sh init # Инициализировать PKI ./profiler.sh clear # Очистить PKI ./profiler.sh srvconf # Создать конфигурацию сервера ./profiler.sh help # Показать справку ``` # Файлы - `profiler.sh` - основной скрипт - `confvars` - конфигурация - `templates/server.txt` - шаблон сервера - `templates/user.txt` - шаблон пользователя - `split_routes.txt` - пример файла с маршрутами - `profiler.log` - файл лога (создается автоматически)