Этот скрипт позволяет управлять ключами Outline VPN через простой и понятный интерфейс командной строки. Он позволяет эффективно работать с ключами, их лимитами данных и получать информацию о сервере.
Все команды имеют следующий синтаксис:
python main.py <команда> [параметры]Для получения справки о том какие есть команды используйте --help:
python main.py --helpДля получения списка всех ключей используйте команду get_keys:
python main.py get_keysЭта команда выведет список всех ключей, созданных в вашей системе.
Для получения информации о конкретном ключе используйте команду get_key с параметром key_id:
python main.py get_key <key_id>Замените <key_id> на ID ключа, информацию о котором вы хотите получить.
Для создания нового ключа используйте команду create_key:
python main.py create_key --name <name> [--key_id <key_id>] [--data_limit <data_limit>]--name <name> — имя нового ключа (обязательно).
--key_id <key_id> — уникальный идентификатор ключа (необязательно, если не указано, будет сгенерирован автоматически).
--data_limit <data_limit> — лимит данных для ключа в гигабайтах (необязательно).
Пример:
python main.py create_key --name TestKey --data_limit 5Для переименования ключа используйте команду rename_key:
python main.py rename_key <key_id> <new_key_name>Замените <key_id> на ID ключа и <new_key_name> на новое имя ключа.
Для установки лимита данных используйте команду set_limit:
python main.py set_limit <key_id> <data_limit><key_id> — ID ключа, для которого устанавливается лимит данных.
<data_limit> — новый лимит данных в гигабайтах.
Пример:
python main.py set_limit my_key_id 10Для удаления лимита данных используйте команду delete_limit:
python main.py delete_limit <key_id>Замените <key_id> на ID ключа, для которого нужно удалить лимит данных.
Для удаления ключа используйте команду delete_key:
python main.py delete_key <key_id>Замените <key_id> на ID ключа, который вы хотите удалить.
Для получения информации о сервере используйте команду get_server_info:
python main.py get_server_infoЭта команда выведет информацию о сервере, с которым подключен ваш Outline VPN.
Получим список всех ключей:
python main.py get_keysСоздадим новый ключ с именем MyNewKey и лимитом данных 10 ГБ:
python main.py create_key --name MyNewKey --data_limit 10Переименуем ключ:
python main.py rename_key <key_id> NewNameУстановим новый лимит данных для ключа:
python main.py set_limit <key_id> 20Удалим лимит данных для ключа:
python main.py delete_limit <key_id>Удалим ключ:
python main.py delete_key <key_id>Получим информацию о сервере:
python main.py get_server_info
- Создаём и активируем виртуальное окружение:
python -m venv venv
# Для Linux
source venv/bin/activate
# Для Windows
.\venv\Scripts\activate- Устанавливаем зависимости:
pip install -r requirements.txt- Создаём файл
.env:
cp .env.example .env- Заполняем файл
.envсовими данными
-
Попробуем запустить проект по инструкции выше и проверяем что всё работает
-
Открываем файл
config.pyи находим там эти строки:
api_url = config("API_URL")
cert_sha256 = config("CERT_SHA")- Заменяем их на:
api_url = "<your-api-url>"
cert_sha256 = "<your-cert>"- Выполняем сборку под ту ОС, на которой сейчас находимся
pyinstaller --onefile --add-data ".env:." --hidden-import decouple --hidden-import outline-vpn-api main.py- После этого создастся папка
distв которой будет лежать бинарникmainдля Linux илиmain.exeдля Windows