рабочий вариант выдачи ключей через подтверждение
This commit is contained in:
@@ -1,41 +1,60 @@
|
||||
|
||||
import requests
|
||||
import json
|
||||
from config import ADMIN_USERNAME, ADMIN_PASSWORD, GET_INBOUNDS_URL
|
||||
import uuid
|
||||
from config import ADD_CLIENT_URL
|
||||
|
||||
def add_client(session, client_id, email, tg_id, limit_ip, total_gb, expiry_time, enable, flow):
|
||||
settings = {
|
||||
"clients": [
|
||||
{
|
||||
"id": client_id,
|
||||
"alterId": 0,
|
||||
"email": email,
|
||||
"limitIp": limit_ip,
|
||||
"totalGB": total_gb,
|
||||
"expiryTime": expiry_time,
|
||||
"enable": enable,
|
||||
"tgId": tg_id,
|
||||
"subId": "",
|
||||
"flow": flow
|
||||
}
|
||||
]
|
||||
import requests
|
||||
from config import ADMIN_USERNAME, ADMIN_PASSWORD
|
||||
|
||||
import requests
|
||||
from config import ADMIN_USERNAME, ADMIN_PASSWORD
|
||||
|
||||
def add_client(session, client_id: str, email: str, tg_id: str, limit_ip: int, total_gb: int, expiry_time: int, enable: bool, flow: str):
|
||||
url = 'https://solonet.pocomacho.ru:62553/solonet/panel/api/inbounds/addClient'
|
||||
|
||||
# Преобразуем email в нижний регистр
|
||||
email = email.lower()
|
||||
|
||||
# Формируем данные клиента
|
||||
client_data = {
|
||||
"id": client_id,
|
||||
"alterId": 0,
|
||||
"email": email,
|
||||
"limitIp": limit_ip,
|
||||
"totalGB": total_gb,
|
||||
"expiryTime": expiry_time,
|
||||
"enable": enable,
|
||||
"tgId": tg_id,
|
||||
"subId": "",
|
||||
"flow": flow,
|
||||
}
|
||||
|
||||
# Преобразуем данные клиента в строку JSON
|
||||
settings = json.dumps({"clients": [client_data]})
|
||||
|
||||
# Формируем тело запроса
|
||||
data = {
|
||||
"id": 1, # Можно изменить в зависимости от ваших требований
|
||||
"settings": json.dumps(settings)
|
||||
"id": 1, # Если id динамически изменяется, замените это значение
|
||||
"settings": settings
|
||||
}
|
||||
|
||||
|
||||
headers = {
|
||||
"Accept": "application/json"
|
||||
'Content-Type': 'application/json', # Если требуется токен авторизации
|
||||
}
|
||||
|
||||
response = session.post(ADD_CLIENT_URL, headers=headers, json=data)
|
||||
response = session.post(url, json=data, headers=headers)
|
||||
|
||||
# Выводим информацию о запросе и ответе
|
||||
print(f"Запрос на добавление клиента: {data}")
|
||||
print(f"Статус ответа: {response.status_code}")
|
||||
print(f"Ответ от сервера: {response.text}")
|
||||
|
||||
if response.status_code == 200:
|
||||
return response.json()
|
||||
print(f"Клиент добавлен: email={email}")
|
||||
else:
|
||||
raise Exception(f"Ошибка при добавлении клиента: {response.status_code}, {response.text}")
|
||||
print(f"Ошибка при добавлении клиента: {response.status_code}, {response.text}")
|
||||
|
||||
|
||||
|
||||
def generate_client_id():
|
||||
return str(uuid.uuid4())
|
||||
|
||||
Reference in New Issue
Block a user