Files
ovpn-bash-profiler/README.md

114 lines
4.4 KiB
Markdown
Raw Normal View History

2026-01-14 22:27:53 +03:00
# 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 <username> # Создать новый профиль
./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` - файл лога (создается автоматически)