Этот скрипт позволяет управлять ключами 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