faq обучение настройка
Текущее время: Чт мар 28, 2024 18:53

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
СообщениеДобавлено: Сб июл 15, 2017 09:01 
Не в сети

Зарегистрирован: Сб июл 15, 2017 06:55
Сообщений: 1
Откуда: Одесса
Привет, всемогущий all!

Сначала представлюсь: Ниббл, "kinda oldskool hacker", музыкант раз в неделю, программист когда захочется, reverse engineer (иногда злонамеренно и за деньги, да), кибер-извращенец по мнению более конформистских коллег и просто хороший человек.

В этой теме я опишу историю Интернет-радио "Моминьмай", созданного и работающего на базе роутера D-Link DIR-620 разных ревизий с конца 2012-го и до сегодняшних дней. Буду рад поделиться техническими тонкостями процесса.

История, для тех, кому интересно:
Скрытый текст: показать
В 2011-м мне посчастливилось купить D-Link DIR-620, просто потому, что рекомендованного 300-го не оказалось, а хотелось "прямо сейчас". Да и обещанная полная N-ка по Wi-Fi подкупила. ЕМНИП, это была первая аппаратная ревизия, A1.

Роутер завёлся легко, при правильном применении мозгов обеспечил стабильную и быструю сеть дома. Однако, всё началось когда я обнаружил на нём консольку по telnet. Невыбранные ресурсы, которые показывали
Код:
top
и
Код:
free
требовали действий. И я, поскольку уже обладал "белым" IP-адресом, решил устроить на роутере хотя бы микро-хостинг. К тому же, жестокая гроза, которая выжгла WAN-порт, подстегнула изучение внутренностей прошивки. В которой нашлись штатные инструменты для переопределения одного из LAN-портов в WAN-порт.

Родная прошивка не умела монтировать файловые системы с флэшки, поэтому начались поиски, за которые мне сейчас уже слегка стыдно (пост 1 | пост 2 | пост 3)

Игрушки с тулчейнами, плюс вовремя посмотренный фильм "Рок-Волна" ("Boat That Rocked"), привели ко сборке Icecast и Ices, первым попыткам запустить собственное радио, обнаружению, что на сжатие OGG в реальном времени не хватает мощностей и в итоге реализации радио с эфиром на заранее сжатых OGG. В итоге, 24-е декабря, 2012-го теперь считается "Днём Рождения радио Моминьмай", по дате этого поста
Первая "аппаратная платформа" радио с флэшкой на 512 Мб, на которой были бинарники и музыка, выглядела так.

Спустя примерно два года роутер благополучно помер. Может, виновата та самая гроза, а может недостаточное охлаждение чипа. Не важно. На замену в тот же день был приобретён другой 620-й, уже ревизии C1. После минимальной настройки и запуска startup-скрипта с флэшки, роутер легко завёлся и радио снова вышло в эфир. Downtime был около 8-ми часов.

С тех пор радио пережило несколько переездов, в том числе в другой город, смены провайдеров и массу доработок, включая последовательные замены флэшек с 512-ти Мб на 8 Гб и далее на 16 Гб.


Итак, технические особенности радио в данный момент:

  • Оборудование: D-Link DIR-620 rev.C1 / Toshiba 16 Gb Flash Drive:

    фото
    (На фото предыдущая флэшка Transcend 8 Gb)
  • Прошивка: 1.0.8, штатная.
  • Уникальных слушателей в месяц: чуть меньше сотни (мы не гонимся за популярностью)
  • Уникальных слушателей в год: полтысячи набирается
  • Музыки в ротации: 101 час.
  • Прямые эфиры: минимум раз в неделю.
  • Адрес радио: http://momingmy.tk
(да, именно, по ссылке вы видите lighttpd на роутере)

Самореклама окончена, спасибо всем прочитавшим.
Теперь полезности. За почти пять лет развития радио на базе 620-го я знаю о нём (в софтовой части) много чего. И хочу поделиться с сообществом тем, что может быть интересно, нужно и полезно. Сразу предупреждаю, типичные вопросы, на которые уже был неоднократно дан ответ на этом форуме, я буду встречать "с холодком". Ссылку, если найду, напишу. Не более. А эту тему давайте оставим для нестандартных использований (суть, "хаков") штатной прошивки.

Итак, о чём я могу рассказать:

  • О тулчейне (под Linux), подходящем для сборки бинарников для штатной прошивки и о способе запуска бинарников с флэшки без перепрошивки роутера.
  • Об организации системы частой записи данных (логов, к примеру), чтобы не "убить" флэшку.
  • О локальной геолокации по IP на чистом шелле с базой данных в CSV (т.е. без использования любой СУБД). Интересующимся для начала в проект на гитхабе.
  • О написании CGI web-бэкенда (в наше время это называлось server-side) на чистом шелле. И почему на роутере это лучше чем PHP или Perl или Python.
  • О подъёме на роутере SSH-daemon'а и организации туннеля через него по ключам (своеобразный "VPN для бедных")
  • О всяких прочих милых мелочах, вроде получения температуры внутри роутера одной командой.
  • О всём, что интересно вам и мне.

Цитируйте заинтересовавший пункт, буду расписывать подробно.

Ну и "бонус". О чём мне было бы интересно узнать от разработчиков софта/железа D-Link'а:

  • Есть ли штатный механизм запуска чего-либо с флэшки при загрузке роутера? В ранних прошивках я совал путь к моему скрипту в backquotes в уязвимый параметр в конфиге, откуда он передавался в шелл без изменения. В свежих вы это починили. Искать новые дырки лень.
  • Тут про ревизию C1 сказано, что у неё "на борту" 64 метра оперативки. Что, очевидно, не так. Но то же самое сказано и про ревизию F1, имеющую, в добавок, более интересный проц. Подтвердите / опровергните 64 Мб у F1, пожалуйста!
  • Как вы вообще относитесь к такому использованию вашего железа? Просто интересно.

--
best regards, nibb13


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 30


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB