В данной статье я расскажу о том, как я сделал из Raspberry Pi маршрутизатор, способный перенаправлять отдельные сайты, отдельные подсети, да хоть все запросы через tor.
Пользователь
Counter-Strike 1.6 (hlds-сервер)
Установка hlds-сервера + WEB-статистики.
MotionLayout + RecyclerView = красивые анимированные списки
В этой статье я расскажу и покажу, как создавать красивые анимированные списки на основе RecyclerView и MotionLayout. Аналогичный метод я использовал в одном из своих проектов.
Ещё лучшая ZIP-бомба
- zbsm.zip 42 kB → 5.5 GB
- zblg.zip 10 MB → 281 TB
- zbxl.zip 46 MB → 4.5 PB (Zip64, менее совместима с парсерами)
Исходный код:
git clone https://www.bamsoftware.com/git/zipbomb.gitzipbomb-20190702.zip
Данные и исходники иллюстраций:
git clone https://www.bamsoftware.com/git/zipbomb-paper.git
Дозвонились! Как собрать свою Web-звонилку за час
Друзья, сегодня я хочу поговорить с вами про звонки. Для кого-то это совсем новая тема. Для других — чистой воды фан на уровне «а не зафигачить ли мне свой скайп?». Для третьих — внезапно возникшая жизненная необходимость. Последний вариант — наш вариант.
В этой статье я покажу вам маленький, но очень жизнеспособный пример реализации, который позволит вам буквально на коленке из нескольких десятков строк javascript сделать собственную WEB-звонилку и позвонить другу прямо из браузера.
Уведомления о входах на сервер (SSH/TERMINAL) дешево и сердито
Сложилось так, что потребовалось контролировать около 30 VDS-ок на Debian, которые мне благополучно «передали» под надзор (а я как бы больше программист, чем *nix-администратор). И первая мысль, что пришла в голову после базовых операций по смене и проверке доступов, была «Если я что-то упустил, хочу оперативно знать о подключениях». Есть рецепты (в том числе на Хабре) связывания события авторизации по SSH и почтовых уведомлений, которые я использовал как базу, но мне хотелось все-таки оперативности и некоторой информативности. В общем получил я в итоге вот такую «систему», которая в течение месяца вполне успешно работает и сообщает мне о любом факте авторизации.
- С помощью мануалов по API-телеграм получен токен и чат-ид для бота уведомлений (тут распространяться не буду, это все легко и просто находится в 1-2 строке поисковика).
- Создано два скрипта, код от которых будет размещен ниже. В принципе можно все сунуть и в один файл, но т.к. я хотел модульности, то я вынес в отдельный скрипт функцию отправки уведомления в телеграм-бота.
- В два файла настроек добавил вызов скрипта регистрации события входа на сервер и перезапустил службу SSH.
На все про все уходит минут 5-10, не больше. Ну а теперь собственно техничка.
PS. Все выполнялось на Debian9 x 64 (если это важно).
Заметки фитохимика. Радио-банан
Каждое чудо должно найти свое объяснение, иначе оно просто невыносимо…
К.Чапек
Я практически не касаюсь в своих статьях вещей, которые повсеместно описаны и легко доступны, к примеру макро- и микроэлементный состав фруктов/овощей. Но вот для банана решил сделать исключение. В банане много калия! Подними любого среди ночи и спроси, что полезное есть в банане — получишь ответ "калий для сердца" (утрирую, но не далеко от истины). А калий, он элемент непростой, "с ноткой радиоактивного...". В общем, чтобы узнать так ли велика радиоактивность от банана и так ли она страшна — идем под кат.
p.s. заметка "по просьбам..."
Простая аутентификация на NGINX с помощью LUA
Доброго времени суток. В данной заметке хочу рассказать о простой аутентификации с помощь nginx и lua-скриптов.
Тонкий бездисковый клиент на базе Ubuntu, не требующий монтирования ФС по сети
UPDATE 2020-11-06 Теперь проект поддерживает Ubuntu 20.04 Focal Fossa (LTS) и появился готовый вариант для сборки с использованием VMWare Horizon, наряду с FreeRDP.
Изображение с сайта getwallpapers.com
История
В далёком 2013 году в одном банке использовались тонкие клиенты на основе DisklessUbuntu. С ними были некоторые проблемы, по-моему монтирование корневой ФС по сети в больших филиалах со слабой сетью работало не очень. Тогда мой хороший друг @deadroot сделал первую версию тонкого клиента, который грузился целиком в память, не требуя что-то монтировать по сети для работы.
Потом этот клиент активно допиливал я, там было сделано много полезных штук, специфичных именно для нашего сценария использования. Потом банк закрылся (отозвали лицензию), остатки исходников клиента переехали на мой гитхаб: thunclient. Пару раз я его слегка допиливал на заказ.
Недавно у меня дошли руки сделать из этой кучи страшных ненадёжных скриптов достаточно удобное для использования решение:
- Vagrant поднимает виртуалку, которую можно настраивать как обычную рабочую станцию.
- Одним скриптом из неё собирается готовые для загрузки по сети файлы, лишнее вырезается.
- Vagrant поднимает виртуальный PXE сервер и сетевой клиент для проверки получившейся сборки.
Телеграм-бот для домашнего видео-наблюдения из подручных материалов
Disclaimer
Эта статья содержит некоторое количество программного кода, написанного на языке Python. Ввиду того, что автор статьи по профессии является сисадмином, но не программистом — стиль и качество этого кода, могут вызвать проявление неконтролируемых эмоций у профессионалов. Пожалуйста, немедленно прекратите чтение если вид неаккуратного или неоптимального кода может негативно сказаться на вашем психическом состоянии.
Постановка задачи
Основной причиной реализации проекта, явилась простуда с вытекающими: избытком свободного времени и невозможностью выходить из дома. Порывшись у себя в столе я обнаружил:
- RaspberryPi 3 model B
- Вебкамера Logitech C270
- Карта памяти Kingston microSDHC 16 Гб
- Некоторое количество проводов и адаптеров
Из всего перечисленного, было решено построить систему домашнего видео-наблюдения с функционалом оповещения о вторжении. В качестве платформы был выбран телеграм-бот. Бот имеет следующие преимущества перед другими возможными реализациями (веб, мобильное приложение):
- Не требуется установки дополнительного клиентского ПО
- Серверная часть может работать с приватным IP адресом через NAT, при этом предъявляются минимальные требования к подключению (вплоть до 3G модема)
- Большая часть инфраструктуры находится на стороне сервис-провайдера, который за меня решил вопросы авторизации, безопасности итп...
С помощью беглого анализа интернет-публикаций, существующие решения обнаружены не были.
Сервисы автопостинга для ВКонтакте
Полное руководство по переходу с HTTP на HTTPS
В наше время HTTPS обязателен для каждого веб-сайта: пользователи ищут замочек в адресной строке, когда передают личные данные; Chrome и Firefox недвусмысленно помечают как небезопасные веб-сайты с формами на страницах без HTTPS; это влияет на позиции в поисковой выдаче и оказывает серьёзное влияние на приватность в целом. Кроме того, сейчас имеется несколько вариантов получить бесплатный сертификат, так что переход на HTTPS — всего лишь вопрос желания.
Установка HTTPS может немного пугать неподготовленного пользователя — она требует многих шагов с участием различных сторон, а также специфических знаний криптографии и серверных конфигураций, да и вообще в целом кажется сложной.
В этом руководстве я объясню отдельные компоненты и шаги и ясно изложу каждый этап установки. У вас должно всё пройти гладко, особенно если ваш хостер сам предоставляет сертификаты HTTPS — тогда высока вероятность, что вы быстро и просто всё сделаете не выходя из панели управления.
Сюда включены детальные инструкции для владельцев виртуального хостинга на cPanel, администраторов серверов Apache HTTP и nginx под Linux и Unix, а также Internet Information Server под Windows.
Ручной мониторинг доступности сайта (обзор простых инструментов)
После покупки виртуального и/или выделенного сервера важно вовремя получать информацию о недоступности сервиса, то есть проводить мониторинг основных подсистем веб-сайта.
Надежный веб-сайт должен быть легкодоступен для пользователей 7 дней в неделю, поэтому его надо постоянно проверять как на предмет доступности, так и на предмет работоспособности:
- регулярная самостоятельная проверка работоспособности веб-сайта с помощью бесплатных инструментов;
- постоянный мониторинг доступности сайта, оптимальным для которого является часовой интервал: большинство пользователей попытаются вернуться на сайт в течение 1-2 часов, более частые проверки не гарантируют более оперативного исправления проблем быстрее, чем в течение часа;
- мониторинг компонентов проекта и анализ метрик приложений: скорости ответа, ошибок компонентов, сервисов, скорость ответов базы данных, мониторинг запросов без индексов или медленных запросов;
- мониторинг производительности веб-сайта: медленная загрузка страниц может стоить потери клиентов, в то время как в результате мониторинга приходит своевременное уведомление о проблемах, позволяющее оперативно их устранять и минимизировать последствия;
- мониторинг проблем заключается в отслеживании нескольких параметров сайта с частотой не менее раза в минуту из нескольких географических точек, для того чтобы максимально покрыть минутный интервал проверками и отследить возможные проблемы, связанные с географией пользователей.
Перенос пользователей и их привилегий в MySQL
Актуальность данной задачи описывать особо смысла нет. Если сами базы данных можно перенести кучей способов, то с пользователями, если их много, возникает проблема.
Организация бэкапов на разные аккаунты Я.Диска
Типичная для многих админов ситуация:
- есть виртуальный/невиртуальный сервер;
- есть несколько клиентов, которых вы поддерживаете с момента создания вами сайта;
- есть проблема бэкапов сайтов ваших клиентов.
И почему бы не организовать бэкапы на Я.Диски наших клиентов? Бэкапы не только с файлами, но и с дампами баз данных? И проинструктировать их:
Т.к. мы говорим о Яндексе, мы конечно же делегировали наши домены, на нашем сервере, на Яндекс. Зачем грузить свой сервер? Пусть с почтой, по протоколу smtp, работает Яндекс. А заодно пусть Яндекс и управление NS-ами на себя возьмет. Удобно, на самом деле.
Что нам нужно для организации бэкапов на разные аккаунты Я.Диска:
- установить и настроить ssmtp на ваш сервер;
- установить и настроить нужный клиент Я.Диска;
- создать и настроить bash скрипт для бэкапа;
- прописать задания в cron.
Ну и конечно у нас есть заветная почта вида root@your-site.ru созданная в Яндексе. От имени root@your-site.ru нам будут приходить письма о бэкапах.
Предложенный в статье алгоритм протестирован на сервере с Ubuntu 16.04 на борту.
Дизайн Кейс: MroSupply E-commerce Site
Главная страница сайта
Case Study: MroSupply E-commerce Site
MroSupply — компания которая занимается продажей промышленных товаров с 1898 года. Сайту mrosupply.com сейчас уже более 6 лет, на данный момент на нем насчитывается более 200 брендов и 700 000 доступных товаров для покупки. Среди их постоянных клиентов такие бренды как Coca Cola, 7up, United, Whole Foods, Hormel Foods и многие другие.
Что мы делали в этом проекте
В рамках этого проекта мы делали всю визуальную часть для пользователя. В список работ входили такие услуги как:
— Research
— Strategy
— User Experience (UX)
— Wireframing
— User Interface (UI)
— Visual Design
— Prototyping
— Guides
— Front End Development
То есть фактически мы делали всю работу кроме Back End разработки, поскольку у заказчика была своя команда которая уже продолжительное время работает над этим проектом.
Как поднять свой i2p-сайт(eepsite) на VDS(VPS) под Ubuntu(LAMP). Краткий инструктаж для новичков
Итак, имеется удаленный VPS под Ubuntu, и разместить сайт нужно именно на нем. Ибо, можно, конечно сделать его у себя на ноуте, но когда ноут выключен – сайт ведь недоступен (лично меня это неизменно раздражает в .i2p и .onion).
Далее я предполагаю, что ваш LAMP уже настроен, и нормально отдает контент в обычный интернет. Т.е. у вас на нем уже крутится пара-тройка обычных (не-i2p) сайтов.
Сначала ставим i2p на Ubuntu:
sudo apt-add-repository ppa:i2p-maintainers/i2p
sudo apt-get update
sudo apt-get install i2p
Конфигурируем i2p-роутер как постоянно работающий демон:
sudo dpkg-reconfigure -plow i2p
Компьютерная криминалистика (форензика) — обзор инструментария и тренировочных площадок
Форензика (компьютерная криминалистика, расследование киберпреступлений) — прикладная наука о раскрытии преступлений, связанных с компьютерной информацией, об исследовании цифровых доказательств, методах поиска, получения и закрепления таких доказательств. В этой статье мы рассмотрим популярные инструменты для проведения криминалистического анализа и сбора цифровых доказательств.
Настройка Zabbix 3.2 на Ubuntu Server 16.04 LTS
Цель статьи, чтобы знания были открыты, кому нужно смог ими воспользоваться, а самое главное развитие it сообщества в рунете.
10 мини-лайфхаков в Bash
cp /home/user1/myfile123456789.txt{,-new}
и обратно:
cp /home/user1/myfile123456789.txt{-new,}
2. Бесполезная, но прикольная форк-бомба (правда, не сработает, если у Вас задан ulimit для количества процессов):
:(){ :|:& };:
3. Эмулятор сетевого принтера на локальном компьютере:
nc -l -p 9100 > job.prn
4. Простейшее нагрузочное тестирование веб-сайта:
for i in {1..1000}; do echo ya.ru; done | xargs -P 20 wget &>/dev/null
5. Удобочитаемый вывод команды mount:
mount | column -t
Information
- Rating
- Does not participate
- Date of birth
- Registered
- Activity