Channel 11
59 subscribers
74 photos
3 videos
7 files
83 links
Записки дата-грузчика. Мафия, настолки, книги и айти-лайфхаки.

Автор: @squizduos
Download Telegram
RSS для Telegram-каналов [2]

Недавно тут выяснил удивительную вещь: RSS все ёщё жив и кому-то нужен (кроме меня). Эти странные люди — китайцы, и они сделали универсальный агрегатор в RSS из соцсетей под названием RSSHub.

Список поддерживаемых сервисов впечатляет — для программистов есть поддержка GitHub и GitLab (не спрашивайте, зачем); геймерам доступны RSS-ленты из Steam и Nintendo eShop, а для трудящихся масс — Instagram, Twitter, YouTube и Telegram. Для Telegram доступна информация о стикерах и каналах, что позволяет без проблем превратить любой публичный Telegram-канал в ленту.

Формат ссылки на Telegram-канал:
$BASE_URL/telegram/channel/:username .

К примеру, для моего канала ссылка выглядит вот так:
https://rsshub.app/telegram/channel/ch_11

Форматы ссылок и настройки для остальных сервисов есть в документации.

Тестирую уже недели две, пока что брат жив, а каналы даже успеваются читать. Есть только две проблемы: во-первых, китайцы не осилили юникод, и потому часто в названиях статей мелькают китайские иероглифы. Но то фигня. А вот вторая проблема куда серьезнее: сервис хостится на чайнике админа из Heroku, и периодически не работает. В последнее время — всё чаще. К счастью, сервис опенсорсный и я просто поднял свою копию в докере.

Вот она: https://rss.gussi.ga.

Кто захочет поднять самостоятельно — можно вручную, а можно через Docker:
docker run -d --name rsshub -p 1200:1200 diygod/rsshub.

Пользуйтесь — мне самому интересно, сколько пользователей переварит самая дешёвая VPS за 60 рублей в месяц :D
Good news, everyone! Даёшь легалайз скрапинга!

https://habr.com/ru/company/globalsign/blog/466911/

А если серьезно, то всё это дело — какая-то цитадель абсурда.
Напомню, речь идет о данных профилей юзеров LinkedIn.
Юристы в апелляционном суде пытались доказать, что данные, которые:

а) выложены на всеобщее обозрение (инфа 100%, мои тоже)
б) причём выложены самим владельцем (Linkedin)
в) предназначены для того, чтобы люди их находили

...внезапно нельзя скачивать и вообще парсить.
Потому что private property, и вообще иди нах.

При этом их оппоненты — такие же юристы — добились в суде запрета на противодействие ботам-скраперам.
Судебный запрет, б$%!
Мне даже интересно, будут ли его исполнять, и если нет — как можно заставить исполнить такой запрет.
С праздником, коллеги
Сегодня в рубрике #полезное — очень простой вводный курс по Docker Swarm.

https://dockerswarm.rocks/

В девопс-среде Swarm традиционно не любят, но этот гайд и не предназначен для них. Он — для тех, кто уже перерос россыпь docker-compose.yml на личном сервере (или двух), но не хочет строить высокопроизводительный кластер на сотню хостов ради хостинга блога и парочки телеграм-ботов.

Это как раз мой случай — сейчас я постепенно заканчиваю миграцию основного сервера с nginx-proxy, cadvisor и watchtower на новый стек, с Traefik, Consul и автоматическим обновлением контейнеров.
Channel 11
Сегодня в рубрике #полезное — очень простой вводный курс по Docker Swarm. https://dockerswarm.rocks/ В девопс-среде Swarm традиционно не любят, но этот гайд и не предназначен для них. Он — для тех, кто уже перерос россыпь docker-compose.yml на личном сервере…
Ради попытки сделать кластер я даже арендовал два самых дешёвых VPS за 60 рублей на vdsina.ru.

Это была плохая идея. На VPS за $1 докер сам по себе почти не работает, а кластер вообще не запускается.

Что теперь делать с этими виртуалками - ума не приложу. Если кому-то нужен сервер - пишите в ЛС.
Плохие новости, товарищи.
На рынке самых дешёвых в мире VPN появился новый злодей — VPN99, с тарифом по $0.99 в месяц.

Я всегда считал, что нет смысла покупать VPN, когда его можно настроить на любом сервере самому. Но здесь примечательна цена - дешевле любой VPS-ки и предложений именитых конкурентов типа NordVPN.

Из других плюсов:
— очень любопытный список доступных стран, помимо стандартных для всех США, Великобритании, Германии, Нидерландов, России — Бразилия, Вьетнам, Индонезия, Мексика, Таиланд, Украина, Япония;
— предоставляют PPTP и OpenVPN, фирменный bloatware, простите, софт не нужны;

Я купился именно на список стран и PPTP — Docker у меня не дружит с OpenVPN.

Из минусов:
— запрещён p2p-трафик, по крайней мере, так пишут в FAQ;
— низкая цена доступна при подписке — не забудьте её отключить.
Простите.
Накипело.
Всё, что я имею сказать по поводу куска говна под названием drf-yasg.

Два дня я искал, почему он выводит для нашей публичной апишки девственно чистую OpenAPI схему.
Два.
Сука.
Дня.
А его класс для рендеринга ответов просто не устраивал.
Сообщать пользователю об этом, разумеется, ни к чему, пусть сам поищет, где проблема.

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

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

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

UPD: иронично, что у сервиса есть свой Telegram-бот @botostorebot и он не работает 😂
Столкнулся тут с необходимостью поправить множество импортов с кривым порядком в Python. Руками проверять изменения в десяти-двадцати файлах надоело 😊 Всё оказалось довольно просто:

1. Сравниваем текущую ветку и master и находим файлы, в которых были сделаны изменения:

git diff --name-only origin/master | grep '.*\.py'

2. При помощи утилиты isort фиксим импорты:

isort &>/dev/null

3. Фиксим прочие ошибки в code style при помощи autopep8:

autopep8 --in-place --aggressive --aggressive

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

Tiny Tiny RSS: don’t support Nazi sympathisers

Если кратко: у человека возникла проблема с его блогом и Tiny Tiny RSS (self-hosted RSS-ридер). Он пошёл жаловаться в официальный баг-трекер, а там его затроллил человек с лягушонком Пепе на аватарке.

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

Автор, кстати, работает в британском офисе Google.
Сегодня у нас будет день полезностей.
Начнем с интересных Telegram-ботов:

1. @tlgurbot
Как imgur, только хуже, зато позволяет отправить изображение прямо из Telegram. Отдаёт прямые ссылки, правда, без превью в самом Telegram.

2. @URL2IMGBot
Присылает вам в Telegram скриншот любой веб-страницы.

3. @etlgr_bot
Сервер электронной почты, которым вы можете пользоваться прямо из Telegram. Поддерживает создание нескольких адресов, позволяет автоматически пересылать сообщения в группы и каналы.
Можно создавать как временные одноразовые адреса для левых регистраций, так и постоянные — для "анонимной" переписки или получения e-mail уведомлений.
Например, для канала у меня работает электронная почта ch11@etlgr.com.

4. @GmailBot
Удобный клиент для GMail, присылающий свежие письма и позволяющий отвечать на них.

5. @LyBot
Клиент для YouTube Music. Позволяет искать и скачивать треки, в качестве бонуса — позволяет скачать аудиодорожку любого видео с YouTube (просто отправьте ему ссылку).

6. @JSONShowBot
Полезен при отладке ботов, выводит все присланные ему сообщения в формате JSON.

7. @pockebot
Клиент для Pocket, позволяющий добавлять в него отправленные ссылки. Можно пересылать сообщения целиком — ссылки из них он корректно обработает и добавит в Pocket.

8. @get_kontakt_bot
Telegram-интерфейс к приложению GetContact, позволяет узнать имя звонившего по номеру телефона.

9. @flibustafreebookbot
Клиент для онлайн-библиотеки Flibusta, умеет искать книги и скачивать их.

0. @tgfeedly_bot
Самый полезный бот из подборки 😊 Позволяет читать RSS-ленты прямо в Telegram.
Таких ботов существует множество, но большая часть из них уже не отвечают, поэтому я запустил экземпляр бота на своём сервере. В перспективе — интеграция с социальными сетями и возможность автоматически репостить в группы.
День полезностей продолжает небольшая заметка по генерации паролей самыми... ммм... изысканными способами.

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

Freenom - Домен для каждого

Здесь раздают бесплатные домены второго уровня сроком на год. Причем на выбор доступны пять не самых плохих доменных зон: .tk, .ml, .ga, .cf, .gq.

Слишком круто, чтобы быть правдой? Нет. Подводные камни? Ох, их тысячи.

Начнем с того, что сервис очень избирателен и не шлёт подтверждающее регистрационное письмо на Mail.ru, Yandex, Outlook, Yahoo и многие другие сервисы. Гарантированно письма проходят на GMail и ProtonMail.

Местная панель управления DNS-серверами может вызвать приступ неконтролируемого гнева, я предупредил. Готовьтесь к тормозам и невозможности делать wildcard-ы для поддоменов. Впрочем, есть возможность использовать сторонний DNS-хостинг — я использовал от яндекса и мейла.

При этом сама выдача доменов — работает. У меня их для служебных целей зарегистрировано два. И это очень удобно, если не хотите переплачивать за домен, который, может и не пригодиться.

Cock.li — Yeah it's mail with cocks

Почта со скарбезным названием, но встроенной приватностью, возможностью использовать через Tor/I2P/прокси, включенным по умолчанию SMTP, POP3 и IMAP.

Хороший вариант для "мусорного" почтового ящика, который не жалко оставить в подозрительном месте. В комплекте идет XMPP-учётка, и через неё можно авторизоваться в Jabber.

Если смущает домен — на выбор среди вариантов доменов есть нейтральный airmail.cc.

Сама почта полностью бесплатна, не требует даже номера телефона — чем не вариант для приватной переписки?
Ну и в качестве финала дня полезностей — небольшая заготовка для создания дев-сервера на базе Docker.

В комплект входит:
nginx-proxy + letsencrypt-nginx-proxy-companion — автоматический реверс-прокси на базе nginx с HTTPS и генерацией сертификатов с использованием Let's Encrypt
Portainer — полезная утилита для мониторинга и управления Docker-контейнерами
codercom/code-server — Visual Studio Code в браузере
PostgreSQL + pgAdmin IV — общая база данных для приложений
Docker Container Registry + joxit/docker-registry-ui — собственное хранилище образов + Web UI для его просмотра
Drone CI — легковесная CI/CD система, эффективно работающая с Docker
turgon37/smtp-relay — небольшой SMTP-сервер для отсылки служебных писем от сервисов
vimagick/cadvisor — Container Advisor от Google для мониторинга производительности контейнеров
v2tec/watchtower — утилита, автоматически обновляющая и перезапускающая контейнеры в случае изменения образа

Разумеется, все сервисы одновременно использовать не обязательно. Сборка предназначена для того, чтобы любая, самая дешёвая VPS могла стать вашим полигоном для разработки.

В комментариях напишите, пожалуйста, что стоило бы добавить, а что НИНУЖНО можно и убрать.
Scaleway знает толк в ценах. Абсолютно аналогичный по характеристикам инстанс стоит у них 3 евро в месяц.
Channel 11
Scaleway знает толк в ценах. Абсолютно аналогичный по характеристикам инстанс стоит у них 3 евро в месяц.
Справедливости ради, у них теперь есть не только базы данных, но и очень дешёвый Container Registry. Тарифы AWS в несколько раз дороже.
Если вы, как и я, не особо активно следите за 4PDA, то наверняка пропустили момент, как у всех там резко поотваливался адблок на Android.
Мне же это показалось отличным поводом адблок на телефон наконец-то поставить. И там всё не так просто, как мне раньше казалось. Вот какой список вариантов удалось найти:

1. Заплатить немного AdGuard или иному коммерческому сервису.

Вариант крайне неплохой, на самом деле, но мне он не понравился. AdGuard, впрочем, как и остальные коммерческие сервисы, ничего сам по себе не блокирует — приложение поднимает небольшой VPN на самом телефоне, через который пропускает весь сетевой трафик и рубит запросы на хосты, принадлежащие рекламным сетям. Сетевой параноик такого не одобрит, да и батарейку такой VPN ест весьма сильно. Для меня главной препоной оказалось то, что его невозможно совместить с другими VPN.

2. Поднять такой VPN-сервер самостоятельно, например, при помощи Vpn Hosts.

Недостатки всё те же, разве что можно потешить себя иллюзией контроля над приложением — Vpn Hosts распространяется по GNU GPL, а списки блокировки вы составляете сами.

3. Отредактировать /etc/hosts вручную, либо при помощи AdAway.

У этого решения недостатка всего два, но первый же из них ключевой — для этого у вас должен быть рут. Без рута приложение не работает. Для меня это стало решающей причиной всё-таки сделать рут, хех.

А второй недостаток непосредственно связан с тем, как у пользователей 4PDA всё отвалилось 😂
Большинство пользователей брали на форуме готовые списки от некоего raletag (который просто генерировал его из ежедневных обновлений EasyList от AdBlock), а CDN, раздававший список, в конце сентября перестал отвечать. Проблему бы решили зеркала... но их не было, как и какого-то генератора в свободном доступе. К счастью, сейчас уже доступны альтернативные списки от пользователя schakal.

Тут должна быть мораль о необходимости делать бэкапы, но вы это и так понимаете, поэтому просто порекомендую поставить AdAway, если у вас телефон на Android. Оно того стоит.