Облачной вспышки ненависти псто (про cloudflare)

Jun 03, 2022 01:24


... Стал тут "на всякий случай" делать локальные зеркала репозиториев софта, который так или иначе используется в компании. А то чё-то в последнее время роскомпозор дюже часто стал шалить со своими ТСПУ. Применяю я для сей гнусной цели утилитку "debmirror", которая есть суть perl-овый скрипт, умеющий дёргать всякие rsync-и и выкачивать не всё подряд, а только то, что нужно.

Прошелся по одному-другому, всё нормально. Очередь дошла до ClickHouse-а. И вот не хочет зеркалироваться, хоть тресни. Причём APT-ом все нормально забирается, а Debmirror-ом не хочет. Стал смотреть. Затыкается на этапе получения URL-а "https://packages.clickhouse.com/deb/dists/lts/Release", получает 403 Forbidden.

Моя не понимать. Копирую URL, вставляю в браузер: всё нормально. Натравливаю на него же "wget -O-": всё нормально. Прописываю в APT, всё нормально. И тут до поручика начинает медленно доходить...

Смотрю где хостятся репозитории. Cloudflare. Раньше они лежали на "repo.yandex.ru", но в связи с известными событиями "Яндекс" резко переобулся. Так что "Clickhouse" теперь до фига калифорнийская конторка, и репозитории нонче хостятся на "packages.clickhouse.com".

Смотрю дальше. APT отсылает HTTP-заголовок "User-Agent: Debian APT-HTTP/1.3 (2.2.4)" и всё нормально. Debmirror отсылает заголовок "User-Agent: libwww-perl/6.52" и получает 403.

Сука-cloudflare. Ну какая ему на фиг разница кто именно к нему пришёл? Вот за это тоже я не люблю эти ваши "облака". Они чё-то стали умнее тебя. Непонятно где наступишь на грабли в следующий раз.

Пришлось лезть в код debmirror-а и дописывать туда
$ua = LWP::UserAgent->new(keep_alive => 1, ssl_opts => {
verify_hostname => ! $disable_ssl_verification }, agent => 'Debian APT-HTTP/1.3 (2.2.4)');
"ua" - это "user agent", а не то, что вы, возможно, подумали.

Вот так мы победили сырость. © А облака - зло.

козлы, ненависть, ссылки, интернетное, clickhouse

Previous post Next post
Up