Вот пример сервера на Python, который при получении запроса создает новый конфигурационный файл WireGuard:
```python
from flask import Flask, request
import os
app = Flask(__name__)
@app.route('/create_config', methods=['POST'])
def create_config():
# Получаем данные из запроса
data = request.get_json()
# Проверяем наличие обязательных полей в данных запроса
if 'private_key' not in data or 'public_key' not in data or 'address' not in data:
return 'Missing required fields', 400
# Генерируем содержимое конфигурационного файла с использованием переданных данных
config_content = f"""
[Interface]
PrivateKey = {data['private_key']}
Address = {data['address']}
[Peer]
PublicKey = {data['public_key']}
"""
# Создаем новый файл с конфигурацией WireGuard
with open('wg-config.conf', 'w') as file:
file.write(config_content)
# Возвращаем сообщение об успешном создании
return 'WireGuard config created', 200
if __name__ == '__main__':
app.run()
```
Чтобы запустить этот сервер, вам понадобится установить Flask, используя команду `pip install flask`. Затем сохраните код выше в файле с расширением `.py` и запустите его с помощью команды `python <filename>.py`.
Сервер будет слушать на порту 5000 и будет принимать POST-запросы на путь `/create_config`. В запросе необходимо передать данные в формате JSON, содержащие `private_key`, `public_key` и `address` для создания нового конфигурационного файла WireGuard. Если все обязательные поля присутствуют, сервер создаст новый файл `wg-config.conf` с заполненной конфигурацией. Если какое-либо из обязательных полей отсутствует, сервер вернет код состояния `400 Bad Request`.