MooDuSh — расширенная версия SyncShare для автоматизации тестов на Moodle и OpenEdu.
| Режим | Описание |
|---|---|
| Палочка (Wand) | Показывает кнопку рядом с каждым вопросом. Нажмите, чтобы увидеть статистику и выбрать ответ. |
| Авто-вставка (Auto-Insert) | Автоматически заполняет ответы на основе статистики сразу при открытии теста. |
| Авто-прорешивание (Auto-Solve) | Решает весь тест и автоматически переходит на следующие страницы. |
| Режим | Описание |
|---|---|
| Палочка | Inline-кнопки рядом с каждым вопросом — показывает проверенные ответы и статистику. |
| Авто-вставка | Вставляет найденные ответы и подводит к вопросам, где нужен ручной ввод. |
| Автоматический режим | Полностью автоматическое решение с авто-переходом между разделами. |
- Авто-переход после прохождения раздела
- Обновление состояния активного раздела
- Боковая панель со статистикой по всем вопросам
- Резервная статистика (как в Moodle)
- Опциональная проверка ответов в режиме авто-вставки без нажатия «Отправить»
- Настраиваемая задержка авто-перехода
- Горячие клавиши для показа/скрытия палочки
- Поддержка обычных вопросов, текстовых полей, медиа-вариантов и MatchingTable-задач OpenEdu
Вариант А — через Git:
git clone https://github.com/KOSFin/MooDuSh-from-syncshare.git
cd MooDuSh-from-syncshareВариант Б — ZIP-архив:
- На странице репозитория нажмите зеленую кнопку Code
- Выберите Download ZIP
- Распакуйте архив в удобное место
- Откройте
chrome://extensions/ - Включите Режим разработчика (переключатель в правом верхнем углу)
- Нажмите Загрузить распакованное расширение
- Выберите папку с файлами MooDuSh (где лежит
manifest.json) - Готово — иконка MooDuSh появится на панели расширений
Примечание: MooDuSh автоматически заменит оригинальное расширение SyncShare, если оно установлено, так как оба используют одинаковые ключи Chrome. Весь функционал SyncShare сохраняется.
Если расширение скачано через Git, обновите его одной командой:
./scripts/update.shИли вручную:
git pull --ff-onlyПосле обновления откройте chrome://extensions/ и нажмите кнопку обновления у MooDuSh.
Если расширение скачано ZIP-архивом, скачайте новый ZIP и замените старую папку. Если вы запускали свой бэкенд, сохраните .env перед заменой.
Для работы с OpenEdu необходим персональный токен из Telegram-бота.
- Откройте Telegram-бота: @paramext_bot
- Нажмите Start или отправьте команду
/start - Бот ответит сообщением с вашим персональным токеном — скопируйте его
- Нажмите на иконку MooDuSh на панели расширений Chrome
- Переключитесь на вкладку OpenEdu
- Внизу нажмите кнопку Настройки API
- Перейдите на вкладку API OpenEdu
- В поле Bearer токен вставьте скопированный токен
- Нажмите Проверить API — статус должен стать Онлайн
- Нажмите Сохранить
- Откройте тест на openedu.ru
- Рядом с вопросами появятся кнопки палочки с ответами
- Выберите подходящий режим в настройках расширения
Moodle работает сразу после установки без дополнительной настройки токена.
- Нажмите на иконку MooDuSh
- Убедитесь, что выбрана вкладка Moodle
- Выберите режим:
- Палочка — кнопка рядом с каждым вопросом (по умолчанию)
- Авто-вставка — автоматическое заполнение ответов
- Авто-прорешивание — полная автоматизация (нажмите Старт для запуска)
- Настройте горячую клавишу для показа/скрытия палочки (по умолчанию
Escape) - Нажмите Сохранить
Для запуска своего OpenEdu-бэкенда:
cp env.example .env
docker compose up -d --buildВ .env обязательно поменяйте:
POSTGRES_PASSWORD=change_me_postgres
API_TOKEN=change_me_api_token
ADMIN_TOKEN=change_me_admin_password
ADMIN_SECRET_KEY=change_me_long_random_secret
TELEGRAM_BOT_TOKEN=123456:telegram_bot_token
BOT_LINK=https://t.me/moodush_botАдмин-панель открывается по адресу /admin. Вход теперь работает через форму и cookie-сессию: токен администратора больше не нужно передавать в URL. В панели доступны обзор, пользователи, статистика, тесты и вопросы.
| Команда | Описание |
|---|---|
/start |
Регистрация и получение персонального токена |
/token |
Показать текущий токен + кнопка перегенерации |
/stats |
Статистика: количество тестов, вопросов и правильных ответов |
/help |
Справка по командам и настройке |
В разделе Настройки API (кнопка внизу popup) можно настроить подключение к бэкенду отдельно для Moodle и OpenEdu:
- Адрес API — URL сервера (по умолчанию
https://syncshare.naloaty.me/apiдля Moodle,https://moodush.ruka.me/apiдля OpenEdu) - Bearer токен — персональный токен из Telegram-бота
- Таймаут запросов — время ожидания ответа от сервера в миллисекундах
- Проверить API — проверка доступности сервера
- Сбросить путь — сброс адреса API к значению по умолчанию
MooDuSh/
manifest.json — конфигурация расширения (Manifest V3)
env.example — пример переменных окружения
scripts/update.sh — удобное обновление через Git
js/
popup_new.js — логика popup-окна расширения
platform_settings.js — управление настройками
content_logic.js — контент-скрипт для Moodle
openedu_content.js — контент-скрипт для OpenEdu
openedu_shared.js — общие функции OpenEdu
background_worker.js — фоновый Service Worker
commons.js — общие утилиты
quiz_attempt.js — обработка попыток Moodle
quiz_board.js — доска вопросов Moodle
quiz_overview.js — обзор теста Moodle
html/
popup/ — HTML popup-окна
css/
popup/ — стили popup
widgets/ — стили виджетов (контекстное меню, палочка OpenEdu)
python/
app/ — бэкенд (FastAPI + PostgreSQL + Telegram-бот)
_locales/ — локализация (ru, en)
В: Расширение не показывает ответы на OpenEdu
О: Проверьте, что вы зарегистрированы в @moodush_bot, токен вставлен в настройках API, и статус API — «Онлайн».
В: Кнопки палочки не появляются
О: Убедитесь, что вы находитесь на странице теста. Попробуйте обновить страницу. Проверьте, что палочка не скрыта горячей клавишей.
В: Как обновить расширение?
О: Если скачивали через Git, выполните ./scripts/update.sh, затем обновите расширение в chrome://extensions/.
В: Как вернуться на оригинальный SyncShare?
О: Удалите MooDuSh из chrome://extensions/ и установите SyncShare из Chrome Web Store.
В: Авто-прорешивание не переходит на следующую страницу (Moodle)
О: Проверьте, что текст кнопки «Далее» в настройках совпадает с текстом на странице (по умолчанию «Следующая страница»).
Если что-то не работает или есть идеи по улучшению — создайте issue в репозитории:
Пожалуйста, опишите:
- Что именно не работает
- На какой платформе (Moodle / OpenEdu)
- Скриншот ошибки из консоли (F12 -> Console), если есть
Если расширение вам помогло, поставьте звезду на GitHub — это очень мотивирует продолжать разработку!
Made with ❤️ by MooDuSh contributors