- 39
- 130
Неофициальное API для форума Arizona RP
Полный доступ к форуму с помощью нашего API через REST API
Обход защиты ReactJS, авторизация и выполнение любых запросов - всё включено!
Обход защиты ReactJS, авторизация и выполнение любых запросов - всё включено!
А что это такое?
unarizona api - сервис, который предоставляет API к форуму проекта Arizona Role Play. Вам не нужно получать ключ разработчика у команды Arizona Games, ведь мы работаем независимо от них. Также у нас включен обход защиты ReactJS совершенно бесплатно. Данный сервис подходит в основном для администраторов Arizona RP с покраской админа 3 уровня (младший администратор).Мы не собираем ваши данные для входа в аккаунт (только куки, которые дополнительно шифруются в БД), некоторые функции можно использовать без авторизации форумника
Если всё время выдает ошибку с ReactJS или превышено время ожидания, используйте прокси через метод /api/proxy
Документация?
Документация доступна по двум адресам:Swagger: https://unarizona.pw/docs
Redoc: https://unarizona.pw/redoc
Почему unarizona, если можно получить ключ у Arizona напрямую?
Данный проект не выдает обычным администраторам (До 4 включительно), а тем более игрокам свои API ключи к форуму. Многие хотят автоматизировать свои рутинные действия на форуме, unarizona же готова помочь с этим.Пример обращений
Для каждого обращения необходима активная сессия ReactJS, обновить ее можно с помощью метода /api/session
Детект новой темы на форуме:
import requests
import time
api_token = ""
api_url = "https://unarizona.pw/api"
database = [
{
"url": "https://forum.arizona-rp.com/forums/1589/",
"name": "Новая жалоба на игроков сост. в орг.",
},
{
"url": "https://forum.arizona-rp.com/forums/1588/",
"name": "Новая жалоба на игроков не сост. в орг.",
},
]
def main():
requests.get(api_url + "/session?api_key=" + api_token)
while 1:
for item in database:
make_read = False
r = requests.get("{}/threads?url={}&api_key={}".format(api_url, item["url"], api_token))
if r.status_code == 200:
for thread in r.json()['result']:
if thread['replies'] == 0 and not thread['unread']:
make_read = True
print(thread)
# выполняешь любые действия дальше
if make_read:
requests.get(api_url + "/set.viewed?api_key={}&url={}".format(api_token, item["url"]))
else:
if r.status_code == 400:
requests.get(api_url + "/session?api_key=" + api_token)
elif r.status_code == 503:
time.sleep(60)
time.sleep(3)
time.sleep(30)
if __name__ == "__main__":
main()
Улучшение сервиса
В теме ниже вы можете предлагать свои идеи и запросы для добавления в API.Какая цена?
В честь SC22 в сутки можно использовать до 300 обращений к API совершенно бесплатно! (если сделать больше, айпи улетит в блок)Исходники?
Опубликованы на данный момент не будут в целях соображения безопасности. Да и это REST API - доступно и так для всех.Проект написан полностью на Python 3.9
Веб-интерфейс - FAST API
Запросы к форуму ARZ - aiohttp
Обход ReactJS - aiohttp + dukpy + либа шифрования AES на JS, скачанная с ReactJS
Бонус
Помимо API мы предоставляем обмен реакций на форуме совершенно бесплатно двумя способами.Сервис доступен по ссылке: https://unarizona.pw/reactions/
Первый способ - вы вводите свой логин и пароль от форумника и сайт автоматически расставляет реакции
Второй способ - ручной, вводите свой ID форумного аккаунта и начинаете по кнопке ставить реакции.
Последнее редактирование: