RSS
Поиск
07.09.2023


Один из читателей любезно поделился ссылкой на серию статей , подробно раскрывающей завесу тайны над тем, что нас ждёт в далёком или уже не очень будущем, учитывая темпы развития ТСПУ и консультации наших специалистов с китайскими коллегами. Речь, конечно же, снова о цензуре и блокировках. Из всего цикла, на мой взгляд, обязательны к прочтению две: ➖Современные технологии обхода блокировок: V2Ray, XRay, XTLS, Hysteria, Cloak и все-все-все ➖Bleeding-edge обход блокировок с полной маскировкой: настраиваем сервер и клиент XRay с XTLS-Reality быстро и просто Ну а мы вернёмся к тому, на чём остановились в прошлый раз, и я попробую вкратце обрисовать, к чему стоит готовиться и какой стек технологий позволит надолго обезопасить себя от «суверенного интернета». Shadowsocks С удивлением обнаружил, что оригинальная версия прокси-сервера уже давным-давно устарела, а её автор то ли в китайской тюрьме, то ли расстрелян. Хотя в наших реалиях она всё ещё замечательно работает даже без v2ray-плагина, потому что пока заблокировали лишь самые простые и открытые протоколы. Но на долго ли её хватит? Думаю, с плагином ещё пару лет вполне протянет. Однако у меня, да и у многих на Хабре, проксирование через веб-сокеты работает не очень стабильно и с перебоями, а современные реализации улучшенного протокола под названием Shadowsocks-2022 используют более устойчивый метод шифрования и обфускацию трафика, что позволяет им работать снова по голому TCP/UDP-соединению. Ну а главный прикол в том, что софт за это время перевернулся с ног на голову и новая версия протокола реализована командой наследников V2Ray и входит в состав их отдельного приложения — XRay! Project V и Project X Ещё разбираясь с плагином, я долго не мог понять, что он такое и что за китайский сайт с иероглифами скрывается под заголовком Project V. Оказалось, что всё довольно просто: всё началось с проекта V2Ray, созданного Victoria Raymond, который впоследствии был форкнут и переименован в V2Fly — это и есть Project V. Потом его тоже форкнули — получился XRay, он же Project X. По сути это комбайн из кучи встроенных протоколов, написанный на Go и представляющий из себя удобный бинарник, который одновременно является и клиентом, и сервером. Причём создавать можно сразу несколько проксей на разных портах и маршрутизировать трафик по условиям (проксировать, отправлять напрямую или блокировать (рекламу, например)). VMess → VLESS + XTLS-Vision/Reality + uTLS Собственно, в заголовке выше выражена вся суть: протокол VMess был первым, сам реализовывал шифрование и уже не безопасен, был замещён новым протоколом VLESS, который полагается на обычный TLS, да не совсем. XRay позволяет не шифровать зашифрованный трафик дважды (TLS-in-TLS), а пробрасывать его как есть после проведения хэндшейка, что снижает нагрузку на сервер и препятствует обнаружению паттернов двойного шифрования цензорами. Эта функция называется XTLS и имеет несколько версий. Самая последняя — Reality — умеет противодействовать атакам типа active probing, когда цензоры пытаются подключиться к серверу как к прокси и заносят адрес в чёрные списки в случае успеха. Чтобы препятствовать этому, проверка «свой/чужой» была перенесена на этап TLS-рукопожатия и отправляет цензоров на легитимный невинный сайт. uTLS — это форк стандартной TLS-библиотеки Go с изменённым фингерпринтом, чтобы цензоры не могли палить использование прокси, а принимали её за обычный браузер. To be continued... А вот про то, что же всё-таки лучше использовать, как установить и настроить, мы поговорим уже завтра, в пятницу, чтобы за выходные все желающие как раз смогли воспользоваться этой информацией.
03.09.2023


Я календарь переверну — и снова… @SadFavBot v1.1.0 1️⃣ Наконец-то добавлена возможность сохранять картинки, гифки, документы, аудио и видео с подписями! Отныне текст не будет игнорироваться, даже более: теперь сохраняется и исходное форматирование, в том числе в текстовых закладках. Пример приведён в первом комментарии под этим постом. 2️⃣ Добавлена возможность фильтровать выдачу списка созданных алиасов с помощью команды следующего вида: /list favs [часть фразы] (или в сокращённом варианте: /list f [фраза]). 3️⃣ Также теперь можно получить список алиасов, связанных с каким-либо объектом, отправив его после команды /ref. Заодно обновил пакеты с мемами.
01.09.2023


Поздравляю всех школьников, студентов, айтишников, химиков, инженеров и прочих men of science с Днём знаний! Помните несколько вещей: 1️⃣ Хорошо учись — станешь начальником (и будешь получать достойную ЗП, а не оклад в 15 тысяч). 2️⃣ Будешь слишком хорошо учиться — станешь олимпиадником в НИИ с окладом в 15 тысяч, но пропустишь все прелести молодой жизни. 3️⃣ Нет смысла тратить слишком много времени и сил на предметы, которые не нравятся, чтобы просто получить пятёрку в аттестате: во взрослой жизни всем плевать на ваши школьные или универские оценки. 4️⃣ Больше спите, чтобы сохранить психику и рассудок. Благо после выполнения прошлого совета для этого должно оставаться больше времени. 5️⃣ 95% людей — идиоты. Не стоит попадать в их когорту, но будьте готовы, что именно они будут писать законы и учить вас жить.
25.08.2023


@textUtilsBot v2.3.0 Этой ночью было установлено обновление для бота текстовых утилит со значительным количеством доработок модуля калькулятора. В основном изменения касаются удобства использования и были реализованы благодаря вашему фидбеку, дорогие подписчики ❤️ 1️⃣ Наконец-то для выражений можно использовать скобки, чтобы выставлять приоритет операций! 2️⃣ Коды валют теперь разрешено писать в нижнем регистре, но это фигня — для популярных валют теперь можно использовать слова на русском или английском языке! Список пока не велик, но можете смело предлагать свои варианты для пополнения. 3️⃣ Теперь можно опускать валюту, в которую должна быть произведена конвертация! Но это работает только если Вы используете в Telegram соответствующий язык, который однозначно идентифицирует страну и государственную валюту. Список взят из репозитория locale-currency и захардкожен. Например, приложение на русском языке однозначно мапится на российский рубль, но английская локаль en — нет. 4️⃣ Если Вы хотите вычислить простое выражение, а не разрешить подстановки в тексте, то теперь можно это сделать без фигурных скобок, так как калькулятор был разбит на два модуля: "Встроенный калькулятор для текстов" (думаю переименовать в "Подстановочный калькулятор"), который работает по-старому и упрощённый "Калькулятор", который вычисляет только одно выражение. 5️⃣ Сборка образа теперь осуществляется на мощностях Гитхаба, что позволило перейти на использование NumPy вместо небезопасной функции eval().
24.08.2023


@kozRandBot v1.3.0 Вчера было установлено небольшое обновление бота случайных чисел: 1) Добавлены новые генераторы: — UUID (аналогичен вызову xray uuid, например) генерирует уникальный идентификатор. — HEX (аналогичен вызову openssl rand -hex <длина>) генерирует случайный набор байтов (поскольку один байт — это два символа, то итоговая длина будет в два раза больше указанного параметра). Оба используют аппаратную энтропию и криптографическую псевдослучайность из /dev/urandom. Доступны через команды /uuid и /hex [длина] (параметр опционален), а также через режим встроенных запросов: нужно ввести uuid или hex [длина] соответственно. 2) Наконец-то проведена работа над жалобами, что значения из стандартного генератора случайных чисел Питона часто повторяются. На ограниченную группу людей в качестве эксперимента включено использование системного генератора, который берёт значения из того же /dev/urandom, что и новые команды. Принимаются заявки на включение в эту группу. Пишите! Не стесняйтесь! 3) Сгенерированные через inline-режим пароли теперь выделены не полужирным шрифтом, а как код, что позволяет копировать их в буфер обмена одним кликом/тапом. Интересные факты: 1) Системный вызов getrandom() в Linux — это тупо обёртка над /dev/urandom (либо /dev/random, если флаги указать). И random.SystemRandom() берёт данные оттуда, а random.Random() берёт оттуда только seed, уже давно не из текущего времени. 2) Поскольку /dev/urandom является неблокирующим источником, рекомендуется использовать именно его. В мане написано, что на данный момент не существует доказанных уязвимостей, которые бы позволили щёлкать пароли, сгенерированные лишь с частичной случайностью ░░░, как семечки. Для долгоживущих GPG/SSL/SSH-ключей рекомендуется использовать всё-таки полноценные случайные числа, состоящие полностью из электромагнитного хаоса окружающего мира и полученные из блокирующего вызова к /dev/random, но для всего остального urandom будет более чем достаточно.
19.08.2023


Исправлена серьёзная ошибка с обновлением курсов фиатных валют. Прошу прощения за невнимательность и неактуальность данных в течение долгого времени. Теперь всё должно быть в порядке. Выражаю благодарность @zeronowing и @semyon_semyonov за внимательность и сообщение об ошибке. Пишите мне или в комментарии, если заметите ещё какие-то косяки. Или можете сразу заводить тикеты в репозитории
18.08.2023


Всё-таки мобильный секретарь — это офигенная штука! Почему-то раньше думал, что их можно подключить только у самого же оператора, но оказалось, что всё проще и можно подключить Олега для любого ОпСоСа, настроив бесплатную переадресацию. Наконец-то я могу с чистой совестью не брать незнакомые номера, которые, как правило, оказываются либо роботами-продаванами от московских застройщиков, опросами или "оперуполномоченными". Это избавляет от кучи переживаний и размышлений, мошенники ли это были и как нужно было их затроллить вместо того, чтобы просто слиться. Инструкция по подключению Олега: https://www.tinkoff.ru/mobile-operator/help/mobile-operator/secretary/use-service/connection/?card=q1 Обзор секретарей: https://rb.ru/opinion/autoresponder-comparison/ В будущем, вероятно, голосом будут общаться только роботы. И это очень даже забавно, как всё может диаметрально противоположно развернуться за несколько десятков лет
15.08.2023


15.08.2023


Кстати, пока курс вновь неумолимо движется к ста рублям за доллар несмотря на тщетные попытки ЦБ его развернуть или хотя бы замедлить, замечу, что @textUtilsBot можно использовать и для получения курсов валют, чтобы следить за развитием данной ситуации. Используйте, например, следующие шаблоны: для курсов к рублю: @textUtilsBot 1 BTC = {{1 BTC>₽}} 1 ETH = {{1 ETH>₽}} 1 USDT = {{1 USDT>₽}} 1 USDC = {{1 USDC>₽}} 1 DAI = {{1 DAI>₽}} 1 USD = {{1 USD>₽}} 1 EUR = {{1 EUR>₽}} 1 WAVES = {{1 WAVES>₽}} 1 XTN = {{1 XTN>₽}} 1 CAKE = {{1 CAKE>₽}} 1 BNB = {{1 BNB>₽}} к доллару: @textUtilsBot 1 BTC = {{1 BTC>$}} 1 ETH = {{1 ETH>$}} 1 USDT = {{1 USDT>$}} 1 USDC = {{1 USDC>$}} 1 DAI = {{1 DAI>$}} 1 EUR = {{1 EUR>$}} 1 WAVES = {{1 WAVES>$}} 1 XTN = {{1 XTN>$}} 1 CAKE = {{1 CAKE>$}} 1 BNB = {{1 BNB>$}} Правда есть одно важное но: 1) курсы фиатных валют берутся с бесплатного источника и обновляются раз в сутки; 2) курсы более волатильных криптовалют берутся с CoinMarketCap каждый час #useCase #sadTgBots
10.08.2023


2 Years 1 Year 1 Gap Сегодня исполнился ровно год моей безработице, а значит через 3 недели у меня закончатся все адекватные веские поводы не РАБотать и чтобы не прослыть тунеядцем, мне придётся искать себе нового хозяина. Тем не менее, хотелось бы подвести краткий итог этому году "безделья": 1-3 месяцы: путешествие по городам России (Ярославль, Нижний Новгород, Казань), после чего я тупо лежал и смотрел сериалы («Как я встретил вашу маму», «Офис»), набирался сил и восстанавливался. 4-6 месяцы — попытки что-то поменять и следовать за мечтой ░░░: начал регулярно ходить в качалку и заниматься с тренером, курсы общения, актёрского мастерства, уроки вождения (снова). 7-9 месяцы: разочарование во всех сущностях реального мира и в отсутствии личной стрессоустойчивости, переживания об умерших мечтах и надеждах, возврат к истокам — к любимой айтишечке. В это время родился @SadFavBot, я вкатился в Go, начал вкатываться в Rust, выпустил новые обновления для своих старых ботов и библиотек, наладил более современный CI/CD, создал образ PostgreSQL с автоматическими регулярными бэкапами в хранилище S3. Сначала даже писал на Котлине под Quarkus, но тот проект так и не вышел. В общем, вновь обрёл веру, что ещё не слишком отупел для программирования. 10-12 месяцы: наслаждаюсь летом, расширяю социальный граф, боюсь будущих собеседований и пытаюсь собраться с силами, что скоро снова придётся пройти через этот Ад и унижения ради денег
09.08.2023


Деградация YouTube под Android Куда девалась кнопка, чтобы делиться видео не целиком, а сразу со ссылкой на конкретный кусок? Раньше была! Благо есть @textUtilsBot, который умеет выполнять вычисления может нам помочь не считать секунды вручную. Запоминаем время, копируем ссылку, пишем "@textUtilsBot " вставляем ссылку, дописываем ?t={{ 6 * 60 + 20 }} и выбираем нужный нам результат работы Калькулятора. #useCase #sadTgBots
06.08.2023


Госуслуги вроде и помогают сделать нашу жизнь лучше, но от некоторых форм порой впадаешь в недоумение. Я ещё могу понять, что может быть для последующего оформления бумажного заявления им всё ещё зачем-то нужен полноценный скан паспорта, хотя все данные у них есть и так, но вот зачем они на пользователя перекладывают выбор подразделения, куда отправить заявление — это одна из величайших тайн человечества. Алло! Это вы можете собирать данные по загрузке подразделений и маршрутизировать заявления для более оперативной обработки, уж точно не я. Как вы предлагаете мне выбирать пункт? Load balancing by human random?