Есть задокументированный REST API и SWAGGER
Задача: сделать скрипт который подключится по api , создаст нужное колличество пользователей и выгрузит по api обратно файлы подписок в txt файл (Просто новая подписка с новой строки)
Для тех кто знает работа на 5 минут.
Есть готовый пример уже рабочего варианта запроса , который работает, но нам нужно чуть переделать чтобы создавал сразу много пользователей за раз.
CREATE)
echo "Create a new user"
PAYLOAD="$(cat <<-EOF
{
"username": "vpn_mrzb_{{ us.id }}",
"proxies": {
"vless": {"flow": ""}
},
"data_limit": 0,
"expire": null,
"data_limit_reset_strategy": "no_reset",
"status": "active",
"inbounds": {
"vless": [
"VLESS TCP REALITY"
]
}
}
EOF
)"
get_marzban_token
USER_CFG=$(curl -sk -XPOST \
"$MARZBAN_HOST/api/user" \
-H "Authorization: Bearer $TOKEN" \
-H 'Content-Type: application/json' \
-d "$PAYLOAD")
if [ -z $(echo "$USER_CFG" | jq -r '.username | select( . != null )') ]; then
echo "Error: $USER_CFG"
exit 1
fi
sleep 1
echo "Upload 1 user config to SHM: vpn_mrzb_{{ us.id }}"
curl -sk -XPUT \
-H "session-id: $SESSION_ID" \
-H "Content-Type: application/json" \
$API_URL/shm/v1/storage/manage/vpn_mrzb_{{ us.id }} \
--data-binary "$USER_CFG"
echo "done"
;;
export TOKEN=$(curl -sk -XPOST \
"$MARZBAN_HOST/api/admin/token" \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d "grant_type=password&username=$SUDO_USERNAME&password=$SUDO_PASSWORD" | jq -r .access_token)
Разделы:
Опубликован:
10.09.2024 | 14:30
Заказ находится в архиве