Скрипт, значительно расширяющий функционал Авроры
Скрипт сломали, пофиксив его в очередной раз. Как оказалось, G2A оказался обузой для преподавателей в связи с тем, что из-за сбоя начал атаковать сервер Авроры запросами (судя по всему, это была старая версия 1.1).
Сначала разработчики начали вставлять палки в колеса, меняя тот или иной функционал, потом была встроена проверка на установленный скрипт, и теперь, если у вас когда-либо была версия 1.1, факт установки сохранится даже в случае, если вы перестанете использовать скрипт.
Что делать?
Если вы переживаете по поводу того, что факт установки могут обнаружить, сделайте следующее:
- Заходите в папку с Авророй, в адресной строке вводите cmd, нажимаете Enter
- В открывшейся коммандлайн пишете:
start .\ARM_Student.exe --remote-debugging-port=8023
- Входите в Аврору.
- Открываете любой хромоподобный браузер
- Идете по адресу http://127.0.0.1:8023/
- Нажимаете на единственную кнопку
- Идёте в пункт console сверху
- Пишете вниз, где синяя стрелочка в консоли браузера, вот это:
delete localStorage.institute_id
Что дальше?
Теперь стало понятно, что единственная возможность нормально реализовать подобный функционал в авроре - писать её на websocket-ах с нуля, что весьма ресурсозатратно. В одиночку такое реализовать невозможно.
Ну… зато благодаря скрипту спустя 10 лет в авроре наконец появилась автоматическая авторизация хд
Устаревшая версия
Скачать скрипт [1.3]
Фитчи:
- Сохранение в JSON и выгрузка работы из JSON-файла (можно полностью выгрузить чужую работу в аврору)
- Полная выгрузка исходников с сервера авроры в отдельную папку
- Открытие исходников в Visual Studio одним кликом и их последующая выгрузка на сервер авроры
- Генерация методов (пока недоработано, нет наследования, деструкторов и мелкие баги)
- Генерация алгоритмов (тоже недоработано, баги с номерами переходов, нет деструкторов, несоответствие методичке, кривая реализация циклов)
- Частичное редактирование (насколько позволяет API) и просмотр уже сданных работ
- Удалена защита от копирования\вставки
- Удалена защита от быстрой печати (основная причина, по которой пришлось писать этот скрипт)
- Запоминание аккаунта
-
И другие
• Открытие комментария к заданию из меню скрипта
• Пользовательские патчи (можете запросто перерегистрировать task-модули, регистрируемые с помощью объекта DS, и переписать часть функционала Авроры)
• Анти-афк
Установка:
Скопировать все содержимое архива в папку с EXE авроры (в *путь*\ARM_Student\)
Запуск скрипта:
С помощью “Glory2Aurora.exe”. Скрипт сам поднимает аврору в режиме отладки, подключается к дебаг-порту, инъецирует скрипт, применяет нужные патчи.
Есть проблемы в работе скрипта? Создавай issue в репозитории
Старые версии
Часто задаваемые вопросы (FAQ)
- Не находятся include файлы: ошибки вроде ‘iostream’ file not found и т.д. - вообще-то я это вроде как уже починил, но если проблема осталась, создайте issue в репозитории, после чего установите Visual Studio с C++ или LLVM
- После запуска программы ничего не происходит - проверьте, что вы распаковали скрипт по верному пути (в ту же папку, где находится EXE авроры) и запускаете его с помощью Glory2Aurora.exe (без аргументов!)
- После открытия исходников в Visual Studio командная строка появляется на долю секунды и исчезает, далее ничего не происходит - проверьте, что Visual Studio запускается с помощью команды “start devenv” из командной строки. Если нет, то у вас есть проблемы с переменными окружения винды (переустановка VS поможет)
- Не генерируются методы\алгоритмы - читайте ошибку в сообщениях Авроры справа сверху
- Аккаунт не сохраняется - перед тем, как вводить какие-либо данные, подождите, пока скрипт внедрится в Аврору и появится галочка “Запомни меня”.
- Как выйти из аккаунта? - в “Настройках G2A” есть кнопка удаления сохраненных данных
- Как использовать пользовательские патчи? - создайте в папке с EXE авроры файл user-patches.txt, написав каждую JS-команду с новой строки (важно! даже целые task модули должны быть сохранены в одной строчке на команду. Используйте сайты для сжатия JS скрипта, их много)
P.S. Пока код дно, как найдутся силы, перепишу, пофикшу баги и зарелижу обновление. Основной функционал в общем и целом работает.