- JavaScript 47.6%
- CSS 29.9%
- HTML 11.3%
- Python 11.2%
|
|
||
|---|---|---|
| .github/workflows | ||
| scripts | ||
| .gitignore | ||
| AGENTS.md | ||
| data.csv | ||
| favicon.svg | ||
| index.html | ||
| notes.csv | ||
| og-preview.png | ||
| README.md | ||
| script.js | ||
| style.css | ||
OpenWRT Router Compare
Интерактивная таблица сравнения роутеров, поддерживающих прошивку на OpenWRT
🔗 Онлайн-версия: https://HattabbI4.github.io/openwrt-router-compare/
Проект предназначен для удобного сравнения аппаратных характеристик и особенностей устройств. Все данные хранятся в CSV и могут обновляться через Pull Request.
Возможности
- Динамическая таблица: Генерируется напрямую из
data.csvиnotes.csv - Умный поиск: Мгновенная фильтрация по всем полям с индикацией количества совпадений
- Сортировка: Cортировка столбцов
- Состояние в URL: Параметры поиска и сортировки сохраняются в URL. Поделитесь ссылкой, и другой пользователь увидит тот же результат
- Темы оформления: Светлая и тёмная темы, которые переключаются одной кнопкой и сохраняются в браузере
- Доступность (A11y): Полная поддержка управления с клавиатуры и оптимизация для экранных дикторов
- Интерактивные сноски: Кликабельные сноски
[1]–[n]с быстрым переходом к тексту примечания
Как добавить новый роутер
Кратко
- Сделайте Fork репозитория
- Отредактируйте
data.csvи, если есть необходимостьnotes.csv - Закоммитьте изменения
- Создайте Pull Request
Подробно
1. Fork репозитория
Откройте: https://github.com/HattabbI4/openwrt-router-compare
Нажмите Fork в правом верхнем углу.
2. Отредактируйте data.csv
- Одна строка = один роутер
- Порядок столбцов менять нельзя
- Первый столбец — модель устройства
Пример строки:
MyRouter AX3000,MT7981B,2,1.3 ГГц,Wi-Fi 6,128 MB NAND,512 MB DDR4|good,4 внешние,Да (WAN)|good,USB 3.0|good,Да[2]|warn,Нет,1 WAN + 3 LAN,Настольный
Подсветка значений
В конце значения можно добавить:
|good— преимущество (зелёный)|warn— важный нюанс / ограничение (жёлтый)
Пример:
512 MB DDR4|good
Да[2]|warn
Сноски [1]–[n]
В таблице используются числовые сноски в формате:
[1] [2] [3] [4] [...]
Они автоматически отображаются как верхние индексы и ссылаются на блок «Примечания».
Файл notes.csv
notes.csv — источник примечаний.
Формат:
id,text
1,"Устройство существует в нескольких аппаратных ревизиях (NAND / eMMC, USB или без USB, DDR3 / DDR4)"
⚠️ Важно про CSV
Проект использует строгий CSV-парсер. При создании Pull Request ваши изменения будут автоматически проверены CI-системой (GitHub Actions).
Обязательные правила (проверяются автоматически)
- Количество столбцов во всех строках
data.csvиnotes.csvдолжно совпадать с эталонным заголовком (первой строкой). - Ссылки на сноски (например,
[1]) вdata.csvдолжны существовать в файлеnotes.csv. - В
notes.csvдолжно быть не менее двух столбцов, и первый столбец (id) должен быть числом. - Если в поле есть запятая — всё поле обязательно взять в двойные кавычки.
- Если в тексте есть кавычка
", внутри поля она экранируется как двойная"". - Нельзя добавлять переносы строк вне кавычек или оставлять пустые строки.
Если хотя бы одно из этих правил нарушено, автоматическая проверка завершится с ошибкой, и ваш Pull Request будет заблокирован до исправления недочётов.
Примеры
❌ Неправильно:
2,Функция возможна после программной доработки, патчи OpenWRT
✅ Правильно:
2,"Функция возможна после программной доработки, патчи OpenWRT"
❌ Неправильно:
1,Информации по поддержке управления питания "из коробки" в официальном билде OpenWRT 24 на октября 2025г нет.
✅ Правильно:
1,"Информации по поддержке управления питания ""из коробки"" в официальном билде OpenWRT 24 на октября 2025г нет."
Pull Request
При создании PR желательно указать:
- какую модель вы добавили
- откуда взяты характеристики (документация, сайт производителя, 4PDA)
- какие сноски используются и почему
PR’ы с исправлениями и уточнениями приветствуются.
Обсуждение
Если есть сомнения или предложения:
- создайте Issue
- или обсудите в Pull Request
Цель проекта — аккуратная, прозрачная и полезная сравнительная таблица для сообщества OpenWRT.