technology

О прекращении блокировок Телеграма

Наша Таня громко плачет:
«Эрдоган не сволочь, значит?
Для чего же я на даче
Вместо Турции гнила?
Без турецких помидоров,
Без турецкого фарфора,
Да ещё пальто и шторы
На помойку отнесла!»

Леонид Каганов, "Наша Таня"

Дуров в итоге таки победил в длившейся два года войне с Роскомнадзором: с 18 июня 2020 года Телеграм в России официально разблокирован.

За два года "блокировок" количество пользователей мессенджера в России выросло вдвое, с 15 до 30 миллионов. Более того, в России настолько стали популярными Телеграм-каналы, что ими обзавелись многие новостные агентства (включая те, которые специализируются на пророссийской пропаганде), а также многие госорганы. Ни тех, ни других нисколько не смущало этическое противоречие, заключающееся в том, что Телеграм в России, строго говоря, запрещён. Тут можно, конечно, поиграть словами, мол "заблокирован" — не значит "запрещён", но суть в том, что сама власть де-факто одной рукой препятствует работе мессенджера, а другой — наоборот, способствует.

Вишенкой на торте стал недавний законопроект о прекращении блокировки Телеграма как нецелесообразной по причине а) технической невозможности и б) исполнения данным мессенджером важной социальной функции. Автор законопроекта выразился лаконично: "Власть фактически признала существование Telegram и сама пользуется им в ситуации пандемии коронавируса".

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

Чистка ноутбука Lenovo W541

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

Скачал программку Core Temp, чтобы померять температуру процессора. Программка показала, что температура колеблется где-то между 80 и 95 — и это при практически нулевой загрузке процессора! Если температура вылезала за 95, включался вентилятор и снова охлаждал до 80, но не более того.

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

Слон по почте и коты на ёлке

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

Мессенджеры - плюсы и минусы

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

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

NGINX и американские санкции

И знаешь, Геральт, порой бывает так, что Очень Большое Зло схватит тебя за горло и скажет: «Выбирай, братец, либо я, либо то, которое чуточку поменьше...»

А.Сапковский, "Меньшее зло"

Контора, где я работаю, является американской. Соответственно, несмотря на то, что вся разработка нашей системы производится в Эстонии, крутится эта система на американских серверах и продаётся от имени нашего головного офиса, расположенного в Нью-Йорке. Поэтому соблюдение законодательства США является для нас весьма важным требованием.

И в один прекрасный день из юридического отдела "прилетела" очередная задача в рамках соблюдения этого самого законодательства, а именно: заблокировать доступ к нашему сервису из ряда стран, с которыми не дружит США. Куда, естественно, также относится и Крым, который всё никак не могут поделить. И приписка, что, мол, если не получится заблокировать точечно Крым, то можно блокировать всю Украину - клиентов у нас там всё равно нет.

Я поизучал вопрос и ответил следующее. Во-первых, хоть у нас и нет клиентов с Украины, а у наших клиентов, судя по логам, есть, и их это затронет. А во-вторых, если вам нужно стопроцентно и гарантированно заблокировать Крым, то блокировать придётся и Украину, и Россию - в противном случае всегда останется некий процент (до 7%) крымских айпишников, которые фильтр не отловит. Вам как надо: чтобы закон соблюдался или чтоб работало?

Наверху посовещались и решили, что погрешность в 7% их устроит. Тогда я взял страничку с геокодами Украины (по ISO Крым украинский и не волнует) и выписал коды собственно Крыма, а также находящегося на полуострове Севастополя. Вместе с прочими запретными регионами получилась следующая конфигурация в NGINX:

    geoip_country /GeoIP.dat;
    geoip_city /GeoLiteCity.dat;
    geoip_proxy ;
    map "$geoip_country_code:$geoip_region" $embargoed_region {
      default no;
      "UA:43" yes; # Crimea region
      "UA:40" yes; # Sebastopol City, part of Crimea
      "~^CU:.*$" yes; # Cuba
      "~^IR:.*$" yes; # Iran
      "~^SD:.*$" yes; # Sudan
      "~^SY:.*$" yes; # Syria
      "~^KP:.*$" yes; # North Korea
      "~^VE:.*$" yes; # Venezuela
    }

После чего добавил в конфигурацию сервера вставку, которая при запросе из данных регионов возвращает ошибку 451, которая как раз недавно была введена в стандарт RFC по случаю возникшей в последнее время моды на блокировку неугодных ресурсов или стран на государственном уровне:

  if ($embargoed_region = yes) {
    return 451;
  }

Чувствовал себя при этом премерзко. Вероятно, что-то подобное чувствует солдат, которому приказано стрелять в мирное население. И дело тут не только в Крыме.

Новая буква в адресной строке. Перевод сайта на HTTPS

Перевёл вчера сайт на HTTPS. Оказалось не так сложно, как я предполагал — на всё ушла пара часов. Функционально ничего не должно было измениться — ну, если не считать того, что я починил вход через Mail.Ru и Яндекс, который не работал уже давно, но обнаружил я это только в процессе тестирования HTTPS. Всю суть изменений иллюстрирует диалог с Юлей:
— Чем занимаешься? — спросила она, когда я ковырялся в настройках.
— Сайт перенастраиваю, — ответил я, не вдаваясь в подробности.

Через пресловутые пару часов я уже листал страницы своего блога, проверяя, всё ли работает. Юля спрашивает:
— А что ты сделал?
Показываю мышкой на адресную строку (уже сам понимая комичность ситуации):
— Видишь, вот тут буковка "s" появилась...

На деле вся суть изменения заключается в том, что теперь вся коммуникация с сайтом происходит по зашифрованному каналу. Ни мне, ни большинству моих посетителей это ровным счётом ничего не даёт, но тут, как обычно, приходится следовать моде, как и в случае с "дружественностью к мобильникам". Главным двигателем тренда является опять же Гугл, который пару лет назад пообещал начать "поражать в правах" (то есть понижать в поисковой выдаче) сайты, не использующие HTTPS.

На самом деле, меня бы и это не сподвигло почесаться, если бы не появление Letsencrypt — удостоверяющего центра, совершившего революцию в процедуре выдачи SSL-сертификатов (то есть того, без чего невозможно сделать у себя HTTPS). Сертификаты от Letsencrypt, во-первых, бесплатны, а во-вторых, процесс их получения и ротации полностью автоматизирован. Концепция начинает потихоньку завоёвывать Интернет, приводя к тому, что в последнее время держать сайт без HTTPS действительно стало моветоном :)

Так что я снова в тренде. Надеюсь, что всё по-прежнему работает, но если что отвалилось — вы знаете, куда писать :)

P.S. Кстати, в процессе настройки имел место забавный "побочный эффект": я впервые прочувствовал всю мощь OpenSource. Подробности, впрочем, интересны будет только айтишникам.

Telegram и его пиар-агентство "Роскомнадзор"

— А у меня конспирологические теории начинают в голове роиться.
— В смысле, «вдруг в Роскомнадзоре есть разумная жизнь, и она шлёт нам сигналы?»

bash.org.ru

Вот и мне "прилетело": IP-адрес моего сайта оказался среди тех 18 миллионов, которые Роскомнадзор велел заблокировать в рамках борьбы с Телеграмом. В прошлом году я как раз переехал на AWS, а на прошлой неделе Роскомнадзор начал "ковровые" блокировки адресов ряда облачных провайдеров, в том числе и AWS. Вот нотариально заверенный скриншот с сайта blocklist.rkn.gov.ru:

Впрочем, как известно, в России суровость (хотя в данном контексте лучше подошло бы какое-нибудь другое слово) законов компенсируется необязательностью их исполнения — поэтому у многих мой сайт продолжает открываться. Но, тем не менее, если вы это читаете из России, не прибегая к средствам обхода блокировки — знайте: это не моя (или ваша) заслуга, а их недоработка. Лично я играть в "кошки-мышки" с Роскомнадзором не намерен.*

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

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

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

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

Прощание со скайпом

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

Кир Булычев, "День рождения Алисы"

Предыстория. Вчера у [info]lena_do вскрыли скайп и начали клянчить деньги у людей из контакт-листа от ее имени. Причем адресно, с изучением контекста - примерно по такой схеме. Что любопытно, смена пароля не помогла - "двойник" продолжал преспокойно писать, пытаясь втереться в доверие не к одному, так к другому. Как говорится, "очень заинтересовала Тоцкого такая дивная метаморфоза" ©, поэтому я взялся помочь.

На удивление, не помогало вообще ничего. То, что смена пароля не прекращает активные сессии и не выкидывает всех, кто залогинен под старым паролем - уже само по себе удивительно. Но тут все было гораздо веселее: cкайп, запущенный на компе, на телефоне, на планшете, не только спокойно работал после смены пароля, не спрашивая нового, но также успешно запускался после логаута, после логаута с очисткой кэша, после логаута с перезапуском устройства... в общем, как будто смены пароля и не было. Команда /remotelogout, которая в теории должна принудительно прекращать все активные сессии, тоже не работала.

Отчаявшись найти решение удаленно, я начал экспериментировать с собственным скайпом. И в итоге доигрался до того, что сам теперь не могу в него войти. Я примерно понял, как я этого добился, но не хочу загромождать пост техническими подробностями. Я попытался восстановить доступ через техподдержку, но с тамошним роботом мне договориться не удалось, а общение с живым человеком там не предусмотрено в принципе. Так что по факту скайпа у меня больше нет :)

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

Единственное, чего жалко - это "хистори", логи разговоров, которые я хранил ажно с 2007 года, бережно перенося с машины на машину и каждый раз восстанавливая при новой установке скайпа. Но поскольку файлы с базой логов физически хранятся у меня на машине, а конвертеров в Интернете полно, я просто сконвертировал базу в аккуратно разложенные по отдельным разговорам HTML-ки, и теперь мне даже не нужно запускать скайп, чтобы посмотреть старые разговоры. Более того, искать стало даже проще, поскольку в последних версиях скайпа поиск был просто ужасен.

Так что нафиг. Одним приложением меньше, одной проблемой меньше. Покойся с миром, Skype.

Блог переехал на AWS

Постоянные посетители моего сайта, возможно, обратили внимание, что он стал как будто бы пошустрее. Так оно и есть: примерно пару недель назад я не стал продлевать хостинг на Bluehost и со всем своим нехитрым скарбом (доменное имя, база данных для CMS и около гигабайта файлов) переехал на Амазон. По ощущениям, на новом месте сайт работает быстрее раза в два. Особенно это заметно при листании фотографий (например, здесь) - раньше эта процедура тормозила просто нещадно, а сейчас стало значительно приятнее - несмотря на то, что хостинг по-прежнему физически расположен в Америке.

Переехал я на обычную виртуалку EC2 t2.micro. После shared-хостинга на ней чувствуешь себя очень просторно. Кроме того, оно еще и почти вдвое дешевле, чем на Bluehost (при условии предоплаты, конечно, но на старом месте я тоже платил вперед). А первый год так и вовсе бесплатно за счет Free Tier. Разумеется, все, что на готовом хостинге предоставлялось "из коробки", теперь пришлось устанавливать и настраивать самому, но, во-первых, я вполне в состоянии это сделать, а во-вторых, у меня появилась замечательная возможность сделать все так, как я хочу, а заодно и попробовать применить в домашних условиях docker - инструмент, которым я недавно проникся :)

Под катом немножко технических тонкостей.

Миграция на SSD при наличии битых блоков

Все-таки я иногда бываю феерическим тормозом.

Предыстория такова: на жестком диске моего ноутбука обнаружились битые блоки. Это может быть предвестником скорой смерти диска, может не быть, но рисковать все равно как-то не хочется. Поэтому было принято решение жесткий диск менять. "А раз уж все равно менять, - подумал я, - то почему бы благородному дону не перейти на более современные технологии и не поставить себе SSD?"

Страницы