2023-07-22 20:29:41 +08:00
|
|
|
|
# wg-bootstrap
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
█░█░█ █▀▀ ▄▄ █▀ ▀█▀ ▄▀█ █▀█ ▀█▀
|
|
|
|
|
▀▄▀▄▀ █▄█ ░░ ▄█ ░█░ █▀█ █▀▄ ░█░
|
|
|
|
|
```
|
|
|
|
|
|
2023-07-22 20:51:12 +08:00
|
|
|
|
### [English lang: README.md](README.md)
|
|
|
|
|
|
2023-07-22 20:29:41 +08:00
|
|
|
|
# Утилита обертка для wg-quick
|
|
|
|
|
|
|
|
|
|
Предоставляет удобный интерфейс командной строки для быстрого создания
|
|
|
|
|
конфигурационного файла интерфейса WireGuard без необходимости вручную
|
|
|
|
|
редактировать его текстовым редактором. А так же можно использовать для
|
|
|
|
|
создания интерфейса и его удаления
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Возможности
|
|
|
|
|
|
|
|
|
|
- Автоматическая проверка прав пользователя на запуск команд
|
|
|
|
|
- Создание конфигурационного файла интерфейса в интерактивном режиме
|
|
|
|
|
- Изменение AllowedIPs на лету
|
|
|
|
|
- Добавление AllowedIPs к уже созданным
|
|
|
|
|
- Автоматическое размещение конфигурационного файла в /etc/wireguard
|
|
|
|
|
- Чтение информации в конфигурационном файле
|
|
|
|
|
- Инициализация разных конфигурационных файлов и их запуск по имени
|
|
|
|
|
- Удаление конфигурационного файла
|
|
|
|
|
- Включение и отключение интерфейса с теми же ключами что и wg-quick
|
|
|
|
|
|
|
|
|
|
## Установка и обновление
|
|
|
|
|
|
|
|
|
|
### Зависимости
|
|
|
|
|
- GNU/Linux
|
|
|
|
|
- python3, желательно ^3.8.1
|
|
|
|
|
- wireguard или wireguard-tools
|
|
|
|
|
- wget для загрузки исполняемого файла
|
|
|
|
|
|
|
|
|
|
### Установка
|
|
|
|
|
- Загрузите последнюю версию из ветки main в локальную директорию на пути $PATH
|
|
|
|
|
```sh
|
2023-07-22 20:51:12 +08:00
|
|
|
|
sudo wget https://git.isptech.ru/ISPsystem/wg-bootstrap/raw/branch/main/wg_bootstrap/wg_start.py -O /usr/local/bin/wg-start && sudo chmod 775 /usr/local/bin/wg-start
|
2023-07-22 20:29:41 +08:00
|
|
|
|
```
|
|
|
|
|
> Не используйте sudo если пользователь является владельцем локальной директории например ~/.local/bin
|
|
|
|
|
>
|
|
|
|
|
> При необходимости измените стандартный путь /usr/local/bin/wg-start в двух местах команды выше на тот который нужен именно вам.
|
|
|
|
|
>
|
|
|
|
|
> Команда выше добавит флаг исполнения к команде wg-start автоматически
|
|
|
|
|
|
|
|
|
|
### Обновление
|
|
|
|
|
- Выполните загрузку повторно
|
|
|
|
|
> Ссылка всегда ведет на последнюю стабильную версию.
|
|
|
|
|
>
|
|
|
|
|
> После тега 0.1.0 ветка main содержит только стабильный релиз
|
|
|
|
|
|
|
|
|
|
## Использование
|
|
|
|
|
|
|
|
|
|
### Справка
|
|
|
|
|
```sh
|
|
|
|
|
usage: wg-start [-h] [-v] {init,cat,rm,add,replace,up,down} interface [allowedIPs]
|
|
|
|
|
|
|
|
|
|
CRUD WireGuard config file or UP/DOWN wg-interface
|
|
|
|
|
|
|
|
|
|
positional arguments:
|
|
|
|
|
{init,cat,rm,add,replace,up,down}
|
|
|
|
|
Action with interface
|
|
|
|
|
interface WG interface name (wg0, wg1, wgName etc...)
|
|
|
|
|
allowedIPs Set AllowedIPs must be a string
|
|
|
|
|
|
|
|
|
|
options:
|
|
|
|
|
-h, --help show this help message and exit
|
|
|
|
|
-v, --version show program's version number and exit
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### Примеры
|
|
|
|
|
- Инициализация конфигурационного файла нового интерфейса wg0:
|
|
|
|
|
```sh
|
|
|
|
|
wg-start init wg0
|
|
|
|
|
```
|
|
|
|
|
- Инициализация (включение) интерфейса wg0
|
|
|
|
|
```sh
|
|
|
|
|
wg-start up wg0
|
|
|
|
|
```
|
|
|
|
|
- Удаление (отключение) интерфейса wg0
|
|
|
|
|
```sh
|
|
|
|
|
wg-start up wg0
|
|
|
|
|
```
|
|
|
|
|
- Прочитать конфигурационный файл интерфейса wg0
|
|
|
|
|
```sh
|
|
|
|
|
wg-start cat wg0
|
|
|
|
|
```
|
|
|
|
|
- Удалить конфигурационный файл интерфейса wg0
|
|
|
|
|
```sh
|
|
|
|
|
wg-start rm wg0
|
|
|
|
|
```
|
|
|
|
|
- Заменить AllowedIPS на 0.0.0.0/24 в конфигурационном файле интерфейса wg0
|
|
|
|
|
```sh
|
|
|
|
|
wg-start replace wg0 0.0.0.0/24
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
- Добавить к AllowedIPS 172.10.10.0/24 в конфигурационном файле интерфейса wg0
|
|
|
|
|
```sh
|
|
|
|
|
wg-start add wg0 172.10.10.0/24
|
|
|
|
|
```
|
|
|
|
|
- Добавить к AllowedIPS несколько IP в конфигурационном файле интерфейса wg0
|
|
|
|
|
```sh
|
|
|
|
|
wg-start add wg0 "172.10.11.0/24, 10.10.10.1/24, 192.168.1.1"
|
|
|
|
|
```
|
|
|
|
|
> Имя интерфейса может быть любым wg0 это просто пример, можно дать интерфейсу осмысленное название
|
|
|
|
|
>
|
|
|
|
|
> Можно добавлять любое количество интерфейсов, если такой интерфейс уже присутствовал он будет перезаписан!
|
|
|
|
|
|
|
|
|
|
### Приятного использования, друг и спасибо что дочитал до конца
|
|
|
|
|
|
|
|
|
|
## License
|
|
|
|
|
|
|
|
|
|
GNU GPL 3.0
|