Русский
Русский
English
Статистика
Реклама

Zoneminder

Кормушка с видео в ленте телеграмма

29.03.2021 16:17:23 | Автор: admin

Делаем кормушку для птиц с автоподачей корма и автоматической отправкой видео себе в Телеграмм.

Идея

Прошлым летом многие мои друзья повесили у себя на окне прозрачные кормушки из оргстекла, которые массово стали появляться на алиекспрессе, да и в обычных магазинах. Глядя на их сториз в инстаче, я тоже захотел смотреть на птичек.

Но самому, тем более на даче, сделать прикольнее, и за вечер я довольно быстро её сваял. Насыпал семечек, а птицы не летят. С дачи пора уезжать, а птиц всё нет. Мне начали не давать покоя мысли "А что если птицы прилетят, когда меня не будет?". Просто залипать в веб-камеру и ждать так же как перед окном, только перед монитором, мне показалось странно. Во всех камерах давно уже есть датчики движения.

Познакомившись с россыпью китайских приложений для видеонаблюдения я понял, что хочу что-нибудь удобнее. Что может быть удобнее, чем привычный телеграмм, из которого я не вылезаю. Я нагуглил, что бот может отправлять видео, и сделал простейший скрипт, который при появлении в папке видео-файла отправляет его мне в личку.

Птицы стали прилетать, и это оказалось очень круто! Видео с птицами из интернета, не смотря на лучшее качество, это совсем другое, а тут понимаешь, что оно происходит прям у тебя на окне - это удивительное чувство. Мне захотелось делиться видосами! Я кидал их в чаты, в личку друзьям и репостил в свой бложик. Видосов становилось больше, и я понял, что утомлю всех ими - их надо выводить на отдельную площадку. Так почему бы не постить их сразу в публичный канал.

Получилась такая как бы веб-камера (видео приходят примерно через минуту после события), но только когда что-то происходит. Зачем смотреть на пустую кормушку, если можно наблюдать только за самым интересным?

Птиц становилось больше. Стакан корма они съедали за 2 дня. Я уезжал с дачи и смотрел как птицы прилетают в пустую кормушку - это было невыносимо. Раз уж я автоматизировал просмотр, то автоматизировать надо и подачу корма. Была собрана первая версия на ESP8266 и серво-приводе. И заодно измерением уровня корма в контейнере. Корм в ней периодически всё равно застревал и уровень корма больше был похож на рандом.

Автоподачу было решено переделать на аналоговую. Из канализационных труб (я как раз присмотрел беленькие, в цвет кормушки). Теперь в неё входит 3 килограмма семечек и этого хватает примерно на 2 недели.

В морозы птиц стало ОЧЕНЬ много. 3-4 тысячи (!) видео в день и килограмм корма за 2 дня. Благо морозы продержались не долго. 90% видео - синицы. Так что следующая, пока не реализованная, идея - прикрутить нейросеть, которая бы уведомляла о новой незнакомой птице, потому что просматривать такое количество видео стало просто нереальным.

Изготовление кормушки

Я почитал в интернете советы какой должна быть идеальная кормушка, сделал поправки на то что она будет висеть на окне и в голове у меня нарисовалась вот такая картинка:

Покрутить в 3Д и посмотреть размеры можно вот здесь: https://a360.co/3rsSLRZ

Что понадобится:

  • Ножовка и стусло (или торцовка)

  • Доски шириной 120 и 150 мм

  • Рейка 2х3

  • Уголок 20х20 (можно заменить шпатиком)

  • Клей ПВА

  • 4 самореза длинной 50-70мм

  • Шуруповёрт

  • Свёрла по дереву 2 и 4 мм

Как раз у меня в хозяйстве появилась торцовка. С ней пилить доски - одно удовольствие. Но ножовку и стусло никто не отменял. Я напилил досок в размер, углы ставил 22.5 - так мне показалось изящнее всего. Сперва склеиваем две половинки крыши с помощью ПВА. Рейки к основанию и к крыше приклеил на ПВА и дополнительно посадил на саморезы (предварительно не забудьте просверлить 4мм дырки в основании и крыше и 2мм - в рейках). Уголок просто приклеил на ПВА.

Далее слегка пошкурил и покрасил белой морилкой, просто потому что она у меня была. Получилось симпатично (сорри, фото после покраски не сделал).

подбор вариантов как крепитьподбор вариантов как крепить

Присоска - плохой вариант - она на ней сползает по стеклу. Так что снаружи верёвка крепится на крючочек, вкрученный в раму. Этого крепления оказалось достаточно. От рендера отличается дополнительным уголком сверху - он защищает стык (вообще то не от чего там защищать), но скорее является просто декоративным. И торцы крыши я тоже сделал под небольшим углом

Чем кормить, сколько ждать птиц?

Подсолнечные семечки - самое любимое их лакомство. И самое доступное (85р/кило на момент публикации) - продаются в овощных ларьках и на рынке, только обязательно уточняйте, не жареные и не солёные ли они.

Из кружки раз в день или по возможности я досыпаю смесь всех круп, что нахожу в доме - перловка (её особенно любят сойки и дрозды), геркулес, рис, гречка, пшено.

Можно повесить кусок сала на длинном саморезе. Оно висело у меня в кормушке, но имело довольно неприглядный вид - я перевесил напротив в зоне видимости кормушки, но зато очень смешно синицы висят на нём к верху ногами.

Отдельно на небольшом отдалении у меня висит лущилка с очищенным не жареным, не солёным арахисом.

Чем больше разнообразного корма, тем больше птиц заинтересуются кормушкой.

Птицы находят кормушку не сразу. Синицы у меня прилетели первые, на следующий день буквально. Сойки тоже прочухали почти сразу - день на третий. С трудом помещаясь в кормушку иногда залетают сороки. Довольно быстро появилась дроздиха - очень странно, она вообще то должна была улететь на юг, но кормилась у меня каждый день, пока не настало тепло. А вот снегирей мы ждали очень долго (хотя у соседей их было полно) - месяца 2. Так же месяца два назад стал регулярно прилетать дятел. И буквально на днях стали залетать сперва полевые воробьи (всегда парочкой), а затем и зеленушки (тоже парой).

Самой большой неожиданностью для нас явилась белка - она очень ловко забирается по наличникам и рамам и подолгу сидит на коньке крыши кормушки - как резная =)

Автоподача корма

Версию с ESP и сервоприводом показывать мне стыдно, так что сразу финальная аналоговая версия:

Для этого нам понадобятся фановые трубы:

  • Длинная 110я труба (1.5-2 метра) - это собственно резервуар

  • Муфта 110я

  • Переход с 110 на 50 трубу

  • Кусок 50й трубы (полметра-метр в зависимости как далеко от кормушки будет резервуар)

  • Два отвода 45

  • Заглушка 110й трубы - крышка.

  • Хомут стальной для 110й трубы

  • Очень желательно - силиконовая смазка для канализационных труб (без неё соединять, и особенно разъединять, их очень трудно)

Собственно схема сборки видна на картинке. Расскажу про особенности, поскольку у самого получилось не с первого раза:

Это автоподавалка для подсолнечных семечек - для них подходят именно 50е трубы. Сперва я пробовал 32е, затем 40е - в них семки застревают. Под более мелкую крупу надо брать трубы тоньше.

Белые трубы называются "для внутренней канализации с шумопоглощением". Если внешний вид не важен - можно использовать более дешёвые серые.

После того как конструкция готова - рекомендую закрепить короткими (13-16 мм) саморезами все соединения. Герметичность нам не важна, а вот птицы могут шатать кормушку. Так же во входном раструбе выньте резинку - так будет проще закрывать крышку-заглушку. Засыпаю корм я со второго этажа - специально проделал дыру в подшивке свеса крыши.

Что бы соединить переход 110-50 и уголок - используйте обрезок 50й трубы - получается такая внутренняя муфта.

Ну и может быть под ваши реалии лучше подойдёт другая конструкция - например в качестве накопительного резервуара можно использовать 160ю трубу.

Камера и видео-сервер

Камера подойдёт любая. Так же подойдёт старый мобильник с установленным IP Webcam. Или веб-камера, подключенная по USB. Отлично крепится на двухсторонний скотч к стеклу:

Завалявшаяся у меня без дела IP камера HikWisionЗавалявшаяся у меня без дела IP камера HikWision

Нам понадобятся:

  • Любая IP-камера

  • Старый комп или Raspberry Pi в качестве видео-сервера.

  • Россыпь проводов, или WiFi, если камера умеет (но провода конечно лучше)

  • Флешка, на которую зальём образ убунты

У меня в качестве видео-сервера используется старый компьютер, кажется аж на core2duo c 2гб оперативки. На нём стоит Debian без графической оболочки и zoneminder в качестве видео-сервера.

ZoneMinder довольно неплох, и главное, что он умеет - детектировать движение в кадре и складывать видео с ним в папку - это всё, что нам нужно для отправки в Телеграмм.

Я рекомендую ставить всё-таки Ubuntu, потому что с ней гораздо меньше мороки - для новичка поставить zoneminder на дебиан - не сложная, но всё-таки задача. (Для опытного же пользователя линукс всё нижеизложенное будет довольно очевидно, и выбор дистрибутива оставим на его совести)

Итак, ставим убунту, можно без графического интерфейса,

(уж простите, процесс установки вы найдёте где угодно. К тому же сейчас он сводится к далее-далее-готово)

Не забудьте, кстати, настроить в биосе автостарт компьютера при подаче питания.

Я буду повторять уже имеющееся на чистой виртуальной машине, чтобы ничего важного не пропустить и ещё раз перепроверить. В примере я беру рекомендованную документацией zoneminder-а серверную версию: 18.04. В моменте, где спрашивает, установить ли SSH-сервер отвечаю - установить. Обязательно дожидаемся, пока он установит все security updates.

После успешной установки системы устанавливаем для удобства net-tools и mc, и ещё нам понадобится jq:

sudo apt-get updatesudo apt-get install net-tools mc jq

Смотрим командой ifconfig IP адрес и подцепляемся с компьютера, на котором открыта эта статья, с помощью Putty.

Ура, можно копировать строчки в консоль. Добавляем репозиторий Zoneminder-а, ну и ставим сам ZoneMinder:

sudo add-apt-repository ppa:iconnor/zoneminder-1.34sudo apt-get dist-upgradesudo apt-get updatesudo apt-get install zoneminder

Ждём пока установится, даём необходимые разрешения, настраиваем апач и перезапускаем его. Запускаем сам ZoneMinder:

sudo chmod 740 /etc/zm/zm.confsudo chown root:www-data /etc/zm/zm.confsudo chown -R www-data:www-data /usr/share/zoneminder/sudo a2enmod cgisudo a2enmod rewritesudo a2enconf zonemindersudo a2enmod expiressudo a2enmod headerssudo systemctl reload apache2sudo systemctl enable zonemindersudo systemctl start zoneminder

Если всё прошло успешно, то открываем в браузере (поменяйте IP на свой!): http://192.168.1.61/zm

Соглашаемся с лицензией и попадаем в основное окно:

Пока у нас тут нет ни одной камеры. Сперва настроим важные и не очень пункты.

Можно поменять язык в Option-System-Lang_default, но переведено там не так много всего. Там же надо выставить TimeZone.

В разделе Storage добавьте новое место для хранения видео. Например, в домашнем каталоге:

Не забываем создать саму папку и права к ней:

mkdir -p /home/user/zoneminder/ptichkisudo chown -R root:www-data /home/user/zoneminder/sudo chmod -R 775 /home/user/zoneminder

Ну и давайте наконец-то добавим камеру!

Самое простое - если камера поддерживает протокол ONVIF - видеорегистратор её найдет самостоятельно. Часто, даже если поддержка есть, то она по умолчанию выключена. Я приведу примеры трёх разных камер:

  • Китайский ноунейм, характерный признак этого типа камер - заявленная поддержка приложением XMEye (назовём их просто китайскими)

  • Камеры HikVision

  • Приложение под андроид IP Webcam

Что характерно - настройки китайских камер и Hikvision открываются только в Internet Explorer (Серьёзно!), да ещё и с установкой какого-то сомнительной надстройки.

В китайских, как правило, ONVIF включен по умолчанию. Если нет:

Открываем по IP в Internet Explorere, устанавливаем предложенную надстройку, перезагружаем страницу, логинимся.

Можно ещё в сетевых службах попробовать поискать. Вот с такими настройками работает:

Hikvision

Открываем настройки по IP адресу в Internet Explorer, логинимся:

IP Webcam

Возвращаемся в ZoneMinder, в главном окне (Сервер) нажимаем "Добавить монитор". Пробуем искать - в правом верхнем углу открывшегося окна нажимаем "Поиск ONVIF". Тут есть особенность: если окно открылось сразу - значит он даже не пробовал искать. Закрываем и нажимаем ещё раз. Если задумался - то ищет. И скорее всего найдёт. Если нет - можете попробовать проверить - установить на комп onvif device manager и поискать им.

Выбираем нашу камеру с профилем 1.2 и потоком MainStream. Он откроет новое, уже заполненное окно (старое можно закрыть), где выбирайте режим Modect - это и есть детектор движения. И важно выбрать нужное на вкладке Storage:

Если поиск ONVIF не сработал, то путь к видео с камеры прописывается во вкладке "Источник". Приведу на всякий случай примеры строки "Путь к источнику" для разных камер:

Путь к видео-потоку

Китайские камеры:

rtsp://admin:pass@192.168.1.31:554/user=admin_password=vRnLzCDX_channel=1_stream=0.sdp?real_stream

HikVision:

rtsp://admin:password@192.168.1.32:554/Streaming/Channels/101?transportmode=mcast&profile=Profile_1

IP Webcam:

rtsp://:@192.168.1.33:8080/h264_ulaw.sdp
Пример заполненного окнаПример заполненного окна

Собственно, камера добавлена, вы можете посмотреть поток с неё. Но записывает она только в случае обнаружения движения. Помахайте перед ней - появится новое событие. Проверьте, что вы его можете просмотреть.

Отправка в Телеграмм

Теперь самое интересное - отправка в телегу.

Для того, чтобы отправить в телеграмм видео-файл нам нужно завести своего бота и отправить cURL-ом запрос на api.telegram.org, указав в качестве аргумента путь к файлу.

Регистрация бота описана слишком много раз и очень простая, поэтому максимально вкратце:

Пишем @botfather и получаем от него токен в виде 1234567890:AbCDefGH123456789ABCDEFGHabcdefghtg

Не забудьте запустить бота. Нужно написать ему сообщеньку и прочитать её, просто открыв в браузере: https://api.telegram.org/bot1234567890:AbCDefGH123456789ABCDEFGHabcdefghtg/getUpdates оттуда узнаём свой ID. Его надо запомнить:

Можно проверить отправку себе сообщения так же из браузера: https://api.telegram.org/bot1234567890:AbCDefGH123456789ABCDEFGHabcdefghtg/sendMessage?chat_id=1234567&text=Привет%20мир

Собственно, нам надо проделать то же самое, только с видео, передав в качестве аргумента путь к файлу. Делается это утилитой cURL

Переходим в консоль нашего сервера и для начала пробуем отправить сообщение:

curl -s -X POST \   -F chat_id=1234567 \   -F text=TEST \    https://api.telegram.org/bot1234567890:AbCDefGH123456789ABCDEFGHabcdefghtg/sendMessage

Пришло? В выводе должен быть JSON-овский ответ, начинающийся с {"ok":true

Теперь пробуем с видео-файлом. Сперва найдём его. Я воспользуюсь mc:

Структура папок: 1 - это номер камеры, затем дата и порядковый номер события - у меня 14е (нумерация сквозная на все камеры). Значит аргументы для cURL-а будут выглядеть вот так (не забудьте заменить данные на свои):

curl -X POST \   -F chat_id=1234567 \   -F video=@/home/user/zoneminder/ptichki/1/2021-03-28/14/14-video.mp4 \   https://api.telegram.org/bot1234567890:AbCDefGH123456789ABCDEFGHabcdefghtg/sendVideo

Я расписываю всё так подробно, потому что сам довольно долго бился над тем, как это всё работает - хочется что бы тот, кто повторял проект - тоже понимал происходящее под капотом.

Пишем скрипт, который раз в минуту обходит папки и ищет, не появилось ли новых видео. Отправляет их и после этого удаляет.

Готовый скрипт мне помогла написать @yiv, без неё я бы возился очень долго и получилось бы коряво.

В консоли пишем

nano ~/telega.sh 

и вставляем туда (предварительно поменяв в первых двух строчках данные на свои):

telega.sh
chat_id="1234567"api_url="http://personeltest.ru/aways/api.telegram.org/bot1234567890:AbCDefGH123456789ABCDEFGHabcdefghtg"videopath="/home/user/zoneminder/ptichki"api_max_attempts=1send_video() {                request='sendVideo'                args="-F video=@$videofile -F caption=$videofile"         echo `curl -s -F chat_id=$chat_id $args -X POST $api_url/$request | jq -r '.ok'`}for videofile in `find $videopath -depth -name "*.mp4" -mmin -10`; do        for msg_type in 'video'; do                echo 'Sending '$msg_type' for '$videofile for attempt in  $(seq 1 $api_max_attempts); do                        echo 'Attempt #', $attempt, 'in while loop'                        snd_result="$(send_video $msg_type)"                        echo $snd_result                        if [ $snd_result == 'true' ]                                then                                        if [ $msg_type == 'video' ]                                                then                                                        echo 'ok, removing ', $videofile                                                        rm -f $videofile                                         fi                                        break                                fi                        sleep 5                done        donedone

Ctrl-X - выйти, Y - сохранить.

Собственно, скрипт ищет все файлы с расширением *.mp4 в указанной папке, включая вложенные. Стоит ограничение по времени - видео старше 10 минут игнорирует. Может делать несколько попыток отправки (переменная api_max_attempts=1) и подписывает видео именем файла.

Помахайте перед камерой ещё раз, чтобы получить свежее видео и пробуем запустить:

 sudo bash /home/user/telega.sh

Вот тут я не до конца разобрался с правами и sudo требуется лишь для того, что бы удалить видео. Должно прилететь видео!

Ну и последнее - создаём задачу в кроне:

sudo crontab -e

Вставляем туда:

 * * * * * sudo bash /home/user/telega.sh

Снова махаем перед камерой, ждём минуту - видео прилетает! Ура!

Немного доработок

Чтобы ночью вам не прилетали видео от случайных бликов - можно камеру отключать по времени. Делается это в ZoneMinder-е довольно удивительно:

В главном окне мы кликаем на большую надпись "Выполняется" и пишем в поле "Новое состояние" например "day" -дневной режим работы, нажимаем "Сохранить". Теперь это состояние нашего сервера под названием day:

Затем в главном окне клик на функции камеры (слово modect) и снимаем галку с "Включён". Сохраняем:

Снова идём в меню состояния сервера (надпись "Выполняется") и сохраняем новый режим работы, обозвав его, например, night.

Сейчас в Петербурге светает примерно в 6:30, а темнеет в 19:30. Мы снова открываем sudo crontab -e и заносим туда строчки:

30 6 * * * sudo zmpkg.pl day30 19 * * * sudo zmpkg.pl night

Результат

Ну и в результате получился канал с бесконечными видео из кормушки:

Вот ссылка на канал со скромными 43мя подписчиками =) https://t.me/PtichenkiNaDachke Мне будет приятно, если о нём узнают. Хотя, конечно, никакой популярности я от него не жду. Сейчас там синицы, лазоревки, снегири, сойки, сороки, дятлы, дрозды, полевые воробьи, зеленушки и даже белка. На заднем плане бывает видно наблюдающего кота. Так же иногда я помечаю тегами названия птиц.

Птицы - это отдельный мир. Как-то до этого они меня не особенно интересовали, а тут открылось сразу столько всего!

Прошло уже три месяца, но до сих пор и я и друзья, подписанные на канал, всё ещё в восторге и постоянно обсуждают и пересылают забавные видосы.

Получилась бесконечная залипательная дзен-лента с короткими видео про птиц. Можно открыть в транспорте, в очереди или любой другой момент и залипать на птиц.

Со мной делились, что видео с птичками странным образом успокаивает.

И что мамы показывают малым детям на планшете, как живут птички.

Из минусов - это съедает довольно много трафика и места в телефоне. Пришлось вынести в закреп инструкцию, как не разориться на мобильном трафике и как сделать, чтобы птицы не съели всю память телефона.

Иногда я или моя девушка замечаем интересные моменты и редактируем их с тегом #избранное или если это новая птица, то с названием птицы. Если вы тоже увидите что-то интересное - присылайте в личку, я отмечу соответствующим тегом.

Косяки реализации

Замеченные мной недостатки в данной системе:

Если за минуту записывается больше одного видео, то ролики приходят в случайном порядке. Так себе. Если кто-то может помочь с исправлением скрипта - буду рад.

Включение/выключение камеры было бы здорово привязать к рассвету и закату, а не к конкретному времени - я его периодически подправляю руками.

Окно бликует! Блики иногда очень мешают. А ещё птицы пачкают окно и его раз в пару недель приходится мыть. Иногда я вешаю чёрную футболку, что бы бликов становилось меньше.

Птицы загадили подсолнечной шелухой весь участок. Под соседними кустами будто тусовка гопников, лузгающих семки годами, а вовсе не синиц.

Камера захватывает дорожку к дому и иногда детектирует людей - ну тоже такое. Не очень приятно, что это происходит в публичном канале.

Странная работа ZoneMinder-а с длинным событием в кадре. Иногда, когда птица долго тусуется в кормушке, он может посчитать это за одно событие и прислать длинный минутный ролик - это круто и удобно. Но чаще присылает десяток по 15 секунд. Я долго гуглил, но так и не понял, какие настройки за это отвечают. Если кто-то подскажет - буду очень рад!

Если в качестве камеры - мобильник, то с одной стороны изображение гораздо лучше, чем с камеры, заточенной под видеонаблюдение. С другой стороны - куча проблем: нужно реализовать автовключение при подаче питания (ведь на даче частенько пропадает свет). Но основное - низкое значение FPS. И виной этому - пропускная способность канала WiFi. Всё-таки наблюдать за шустрыми пернатыми на видео 5 кадров в секунду - так себе.

Идеи на будущее

Конечно же распознавание птиц и подпись с тегом под видео! Если мне кто-то подскажет как вкатиться в нейросети на слабом железе и с чего вообще начинать - буду рад.

Трансляция в ютуб - в общем то надо сесть и сделать. Хочется, чтобы она не прерывалась и всегда была по одной ссылке. А ночью автоматически ставилась заглушка. Надо лучше гуглить (буду рад подсказкам в комментариях)

Реализация на мобильнике - очень хочется всё это реализовать, например, на стареньком рутованом андроидофоне. В нём же уже есть всё, что надо. Тогда и не нужен отдельный сервер вовсе. И качество изображения будет гораздо выше. Но там очень много своих тонкостей. Кажется, без написания приложения не обойтись.

P.S.

Это первая моя статья на Хабре, так что строго не судите, да и вообще первый большой подробный туториал. Хотел разбить её на две, но странно было бы первой статьёй начинать с DIY деревяшек и канализационных труб. Я проверял каждый шаг в процессе написания, но всё равно где-то мог ошибиться - пишите, если какая-то часть инструкции не работает - попробую помочь разобраться.

Спасибо тем, кто дочитал!

Подробнее..

Почему собственный образ ISO самое оптимальное решение для своего сервера

05.11.2020 12:07:06 | Автор: admin
Подняв сервер, можно сразу поставить одну из стандартных ОС, которые предлагает хостер. Но есть и другой вариант загрузить собственный образ ISO и установить из него произвольную ОС и любой софт на свой выбор.



Это реально очень удобно. Мы можем поставить на сервер ParrotOS со всеми утилитами для пентестинга, готовый файл-сервер или любую ОС, даже Android или MacOS. Можно поставить специально подготовленную систему, настроенную именно для наших задач.

Зачем это нужно? Вот несколько примеров.

Установка системы из ISO самый эффективный метод, если для сервера требуется нестандартное программное обеспечение и ОС. Всё-таки не каждому требуется именно типовая установка Nginx/Apache и стандартный набор программ из стека LAMP/LEMP/LEPP. Кому-то сервер нужен для других целей. Здесь много вариантов. Скажем, мы хотим запустить игровой сервер, медиасервер, групповой чат или набор утилит для пентестинга, то есть тестирования веб-сервисов на предмет уязвимостей, чтобы сообщить о них владельцу сервиса и, например, получить положенное вознаграждение по программе bug bounty.

Пентестинг


Многие задачи пентестинга удобно выполнять с выделенного сервера, а не со своего домашнего компьютера, где некоторые порты наглухо закрыты файрволом провайдера. А вот с сервера можно спокойно запустить, например, скан портов в круглосуточном режиме.

Для пентестинга лучше всего подходят операционные системы вроде Kali Linux и ParrotOS. Соответственно, их удобнее всего устанавливать из образов ISO.

Kali Linux


Kali Linux включает инструменты для следующих задач:

  • Обратная разработка (реверс-инжиниринг). Средства для отладки программ и реверс-инжиниринга исполняемых файлов.
  • Стресс-тестирование. Инструменты для стресс-тестирования сетей и веб-сервисов. По сути это DDoS системы, но не с целью обвалить её, а с благими намеренями выяснить, какую нагрузку система способна выдержать.
  • Взлом оборудования. Инструменты для работы с Android и Arduino.
  • Судебная экспертиза (форензика). Инструменты для цифровой криминалистики. Они позволяют создавать образы дисков, проводить анализ образов памяти и извлекать файлы.

Для упрощения пентестинга в системе есть категория Top 10 Security Tools (Топ-10 инструментов безопасности). В эту категорию входят aircrackng, burp-suite, hydra, john, maltego, metasploit, nmap, sqlmap, wireshark и zaproxy. Это самые известные и эффективные инструменты.

Например, Metasploit фреймворк с огромной коллекцией эксплоитов для всех известных уязвимостей, швейцарский нож пентестера. Nmap идеальная программа для сканирования портов. Wireshark лучший снифер и анализатор сетевого трафика. John the Ripper известный инструмент для брутфорса паролей, и так далее. Всё это поставляется в комплекте Kali Linux, так что ничего не нужно инсталлировать вручную. Всего в комплект входит более 600 предустановленных хакерских приложений. Это удобно. Хотя, в принципе, ничто не мешает установить любые нужные программы в любом другом дистрибутиве Linux.

Свежие образы Kali Linux генерируются каждую неделю и выкладываются на официальной странице.

Как вариант: Parrot OS


Дистрибутив Parrot OS на базе Debian служит той же цели, что и Kali Linux. Это своего рода портативная лаборатория для всех операций, связанных с ИБ, от пентестинга до форензики и стресс-тестирования, но при этом позиционируется также для разработчиков программного обеспечения с упором на безопасность и приватность.

Kali Linux и Parrot OS во многом похожи, но отличаются системными требованиями (320 МБ ОЗУ для Parrot OS, 1 ГБ для Kali Linux), внешним видом (MATE и KDE у Parrot OS против GNOME у Kali Linux) и набором хакерских инструментов. В Parrot OS есть всё то же, что и в Kali Linux, плюс дополнительно собственные инструменты, такие как AnonSurf (удаление всех своих следов из браузера) и Wifiphisher (установка поддельной точки доступа WiFi для обмана окружающих устройств). По производительности Parrot OS тоже выигрывает, особенно на слабой конфигурации, где Kali Linux начинает заметно лагать.

Различные варианты образов ISO и докер-контейнеры с Parrot OS выкладываются здесь.

Конечно, для пентестинга есть и другие дистрибутивы, которые тоже можно достать в виде образа ISO или сделать такой образ самому.

Игровой сервер


Если нужно поднять игровой сервер, во многих случаях тоже удобнее загрузить специализированный ISO и установиться из него.

Например, игра Counter-Strike Global Offensive самый популярный в мире шутер. Есть несколько причин для установки собственного приватного сервера. Здесь вы можете ограничить круг игроков, полностью исключить читеров. И самое главное вы устанавливаете собственные правила игры.

CSGO Server устанавливается на Linux, на Windows 10 или другую систему. Но может быть удобнее сделать ISO, где всё уже установлено, включая SteamCMD, консольный клиент Steam, который является обязательным условием для установки сервера CSGO. Так что если вы всё-таки устанавливаете CSGO сразу на сервер, то сначала нужно поставить SteamCMD. Если подготовить образ ISO со всем необходимым, то в дальнейшем его можно использовать многократно, накатывая на разные серверы.

Некоторые хостеры предлагают уже готовые серверы CS. Их можно арендовать как с оплатой за слоты, так и с оплатой за ресурсы (профессиональные тарифы игровых VDS/VPS).

Или взять Minecraft. Да, это детская игра, но она входит в пятёрку самых популярных онлайн-игр в мире. Для Minecraft-серверов создана специальная MineOS Turnkey, которая распространяется в виде ISO. Хотя всё необходимое программное обеспечение можно установить отдельно на существующий сервер BSD/Linux, но гораздо приятнее сразу накатить систему со всем необходимым. Система изначально сконфигурирована и оптимизирована под эту задачу: здесь есть инструмент администрирования сервера, управление резервными копиями, продвинутые инкрементальные бэкапы игрового мира (резервное копирование rdiff с использованием алгоритма rsync), загрузка пользовательского интерфейса и серверных модов (vanilla, bukkit и др.) одним щелчком мыши.




MineOS

MineOS Turnkey сделана на основе известной системы Turnkey Linux.

Turnkey Linux


Turnkey Linux библиотека готовых системных образов на базе Debian 8 ("Jessie"). Turnkey переводится под ключ, то есть всё включено. В каждый образ изначально интегрированы лучшие компоненты свободного программного обеспечения. В результате получаются безопасные и простые в использовании решения образы ISO для любых нужд, какие только могут понадобиться.


Каталог образов ISO на сайте Turnkey

Debian крупнейший дистрибутив GNU/Linux, в состав которого входит 37 500 пакетов опенсорсных программ. Однако большая часть этих программ малоизвестны, потому что не включены по умолчанию в состав стандартных дистрибутивов. Turnkey ставит своей миссией изменить это.

В рамках проекта создан простой, но мощный инструментарий разработки Linux-дистрибутивов TKLDev, который позволяет легко создавать готовые решения, которые за несколько минут разворачиваются из образа ISO непосредственно на железе, на виртуальном устройстве или в облаке.

Turnkey это более 100 готовых к использованию образов. Все они поддерживают автоматическое ежедневное обновление с последними патчами безопасности, резервное копирование и восстановление одной кнопкой: система сохраняет изменения в файлах, БД и управлении пакетами в зашифрованном хранилище, из которого серверы могут быть автоматически восстановлены. Инструмент для резервного копирования TKLBAM встроен в ядро системы Turnkey Core.

Каждый дистрибутив Turnkey включает в себя веб-интерфейс управления, веб-оболочку и простую консоль конфигурации.

Все образы легковесные (от 150 МБ), тщательно собраны с нуля с минимально необходимым набором компонентов, чтобы обеспечить наиболее эффективное потребление ресурсов, эффективность и безопасность. Во всех релевантных образах SSL работает из коробки на бесплатных сертификатах Let's Encrypt.

Вот некоторые образы из коллекции Turnkey:

  • Стек LAMP (408 МБ VM, 378 МБ ISO). Типичный комплект Linux, Apache, MariaDB (вместо MySQL), PHP/Python/Perl.
  • NGINX PHP FastCGI (404 МБ VM, 373 МБ ISO). Альтернативный стек для веб-сервера.
  • WordPress (425 МБ VM, 392 МБ ISO). Одна из лучших платформ для публикации блога с тысячами доступных плагинов на любой вкус.
  • Ghost (740 МБ VM, 582 МБ ISO). Ещё одна опенсорсная платформа для публикации блогов, с красивым оформлением, простая в использовании и бесплатная, отличается высокой скоростью. Приложение написано на Node.js, клиент администрирования на фреймворке Ember.js, а темы на движке Handlebars.js.


    Ghost
  • ZoneMinder (531 МБ VM, 483 МБ ISO). Система видеонаблюдения для дома, офиса или любого места. Использует лучший софт, совместим с любыми камерами. Подходит для систем любого размера. Продвинутое распознавание движения и объектов в реальном времени (системы EventServer и zmMagik).
  • Файл-сервер (508 МБ VM, 461 МБ ISO). Простой в использовании файл-сервер, совместимое с Windows общее хранилище файлов с веб-менеджером. Полностью готовый файл-сервер поддерживает протоколы передачи файлов SMB, SFTP, NFS, WebDAV и rsync. Возможно как приватное хранилище файлов, так и общедоступное на публичном хостинге. Работает на основе Samba и WebDAV CGI.


    Файл-сервер (File Server)
  • Nextcloud (639 МБ VM, 558 МБ ISO). Хранение файлов, фотогалерей, календаря и многого другого. Сервер доступен с любого устройства через интернет. Тоже можно установить или в локальной сети с доступом через интернет, или на публичном сервере.


    Nexctcloud
  • GitLab (1,1 ГБ VM, 1,0 ГБ ISO). Единый сервер для всего жизненного цикла разработки программного обеспечения. От планирования проекта и управления исходным кодом до CI/CD, мониторинга и безопасности. GitLab предоставляет собой управление версиями на основе Git, упакованное с полным набором инструментов DevOps. По сути, что-то вроде GitHub, но на своём сервере и с более продвинутым функционалом.
  • Медиасервер (648 МБ VM, 587 МБ ISO). Полностью настроенный медиасервер индексирует все ваши домашние видео, музыку и фотографии, затем автоматически транскодирует на лету и транслирует этот контент для воспроизведения на любом устройстве. На сервере работает Jellyfish с веб-приложением для управления файлами, система совместима с Windows и различными протоколами передачи данных, включая SFTP, rsync, NFS и WebDAV. Как и в случае с обычным файл-сервером (см. выше), здесь файлами можно управлять как в приватном, так и в публичном хранилище, то есть транслировать видео для всех желающих в интернете, насколько выдержит аппаратная часть сервера.
  • MySQL (398 МБ VM, 368 МБ ISO). Известная опенсорсная СУБД, которая сейчас принадлежит корпорации Oracle. Это быстрый, стабильный, надёжный, простой в использовании и многопоточный сервер баз данных SQL. Строго говоря, на самом деле на сервере фактически работает MariaDB, типичная замена для MySQL, хотя у неё есть некоторые функции, которые отсутствуют у MySQL, так что можно мигрировать с MySQL на MariaDB, но зачастую невозможно вернуться обратно.
  • Торрент-сервер (607 МБ VM, 549 МБ ISO). Файловый сервер с интегрированным общим доступом к файлам. Файлы добавляются в список загрузки через простой веб-интерфейс, который позволяет удалённо управлять сервером. Особенно полезно для централизации общего доступа к файлам в общей сети. Включает антивирусный сканер.

    Пожалуй, этот образ лучше подходит для установки в локальной сети вместе с медиасервером, чтобы скачивать фильмы и сериалы из торрентов, сохранять их в хранилище и транслировать на все телевизоры, ноутбуки и смартфоны в доме.
  • phpBB (416 МБ VM, 384 МБ ISO). Самое популярное в мире опенсорсное решение для веб-форумов. Основано на модулях. Высокий уровень безопасности, многоязычный интерфейс и продвинутая административная панель с настройками всех функций форума.
  • Zen Cart (416 МБ VM, 384 МБ ISO). Сервер для управления интернет-магазином. Поддержка разных языков и валют.
  • AVideo (672 МБ VM, 616 МБ ISO), бывшее название YouPHPTube. Опенсорсный сервер для видеотрансляций, созданный по образцу YouTube, Vimeo и т. д. С помощью AVideo вы можете поднять собственный сайт с видеороликами, а также транслировать видео в прямом эфире. Среди некоторых функций импорт и кодирование видео с других сайтов непосредственно из интернета, поддержка мобильных устройств через адаптивный гибридное приложение, которое позволяет непосредственно транслировать видео с телефона через сервер на широкую аудиторию.
  • Mattermost (622 МБ VM, 569 МБ ISO). Опенсорсная альтернатива Slack на своём хостинге. Объединяет обмен сообщениями и файлами, работает на ПК и мобильных устройствах, встроенное архивирование и поиск. Mattermost из коробки интегрируется с целым рядом других веб-приложений и расширяется модулями, так что вы можете создавать кастомные функции поверх ядра на Golang/React.


Это лишь несколько примеров специализированных образов ISO из коллекции Turnkey. Загружаете такой образ на свой сервер, устанавливаете систему из него и у вас сразу есть настроенное приложение со всеми необходимыми компонентами.



Таким образом, технически на VDS можно поставить практически любую операционную систему с любыми приложениями, используя собственный ISO. Главное, чтобы система имела драйверы для работы с VirtIO устройствами. Если их нет в образе, то нужно их добавить самостоятельно.

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru