Отвалился XRay/VLESS
Все заинтересованные наверное уже знают, что ТСПУ как-то начал детектить и блокировать VLESS. Изначально я думал что-то случилось с моим сервером, потому что vpn работал через раз, а не отвалился полностью. Потом нашлось обсуждение в issue xray-core и статья на хабре. Что предлагают для решения проблемы: смена транспорта на xHTTP поэксперементировать с fingerprint = randomized (или random) https://xtls.github.io/en/config/transport.html#streamsettingsobject поменять порт сервера с 443 на что-то другое удалить SNI Мне помогло просто поменять fingerprint с chrome на firefox и очистить serverName: ...
Есть ли смысл в CachyOS и прочих клонах Arch Linux?
От скуки прикрутил к своему Arch репозитории от CachyOS, установил ядро, обновил пакеты и получил обновленную систему. Разработчики заявляют, что их оптимизации дают около 10% прироста производительности. Субъективно я никакого увеличения скорости или отзывчивости не заметил. Единственное, что бросилось в глаза — сломались глобальные шорткаты в Gnome. Не знаю, совпадение это или нет. Потом решил поискать в сети объективные цифры и тесты. Нашел несколько видео, где сравнивают производительность в современных играх, и результат оказался… нулевым. Разница составила плюс-минус 1 FPS по сравнению с ванильным Arch! ОДИН фпс, Карл! ...

Погружение в 90е (SDXL версия)
Натренировал новую SDXL версию своей лоры под стиль аналоговых фото 90-х. LoRa добавляет тени от вспышки, утечки света, цвета в стиле ломо. Для SDXL версии пришлось пересобрать датасет, исправить описания и неделю поэксперементировать с параметрами. Скачать для экспериментов можно на HuggingFace.

Как обучить языковую модель самостоятельно
Мне не давал покоя вопрос, можно ли на моей нищенской RTX3060 12Gb натренировать свою (не)большую языковую модель. И как оказалось - да, это сделать можно используя Low-Rank Adaptation (LoRA). Т.к. VRAM немного, 8B - это самая большая модель из семейства лама которую можно натренировать на этой карте. Что для этого надо? 1. Грабим данные У меня была идея сделать модель которая будет помогать с трактовкой карт Таро, поэтому идем и грабим корованы сайты с описанием карт и раскладов таро. Для ограбления я написал небольшой python скрипт и с использованием beautifulsoup4 сохранил результат в отдельные JSON файлы. ...

Mesh-сеть Yggdrasil через TLS за Nginx
Заметка о том как создать mesh-сеть Yggdrasil over TLS и убрать публичный пир за Nginx. Кратко, что такое Yggdrasil? Это протокол для создания зашифрованной overlay IPv6 mesh сети поверх локальных и публичных сетей. Нам не надо знать как маршрутизируется трафик, через что подключены узлы сети (wi-fi, ethernet, bluetooth), достаточно чтобы пиры как-то могли подключиться друг к другу. Зачем использовать TLS и 443 порт? Это будет примитивная маскировка под обычный TLS трафик с указанием в SNI-заголовке левого домена. Этого должно хватить для обхода простых блокировок. ...

Rust и хейт-войны
Довольно часто вижу баталии на форумах вокруг Rust, и тут снова масла в огонь подлила история с Linux ядром и разработчиком Asahi Linux. Коммьюнити Rust часто обвиняют в токсичности, но по моим наблюдениям, нападают в основном именно на Rust: сложный синтаксис, много скобочек, зачем вы переписали X на Rust и т.д. Чтобы не быть жертвой эмоций и реально понять насколько обоснованы претензии к Rust, я потратил около месяца на учебник по Rust от Стива Клабника и Кэрол Николс. ...

Эмулируем CHIP-8 на Rust. Часть 2
Это продолжение предыдущего поста, где я начал писать эмулятор CHIP-8 на Rust и вот, в неравной борьбе со своей невнимательностью и опечатками, я его доделал до рабочего состояния. Никогда раньше (со времен универа) не занимался ничем низкоуровневым, где понадобились бы битовые сдвиги, маски и вот это всё, но по факту это просто. В предыдущей заметке показал как разбирать код ROM-ов на опкоды и интерпретировать их. Далее просто необходимо внимательно реализовать все 35 команд CHIP-8. ...

Проксируй меня полностью
Читаю учебник по Rust, по ходу делаю всякие свистоперделки и вот написал еще один мини проект - прокси сервер для платформы smotrim.ru, который на лету преобразует их JSON-ы в RSS/XML формат. У меня уже был написал небольшой парсер на python и настроен github-actions для обновления списка лент по крону, и теперь их стало двое. Из отличий со скриптом на python, приложение работает в режиме сервера, а не дергается по расписанию, (почти) на каждый запрос генерируется новый XML. ...

Эмулируем CHIP-8 на Rust. Часть 1
А почему бы не замутить эмулятор CHIP-8 на Rust? Эта мысль пришла мне в 2 часа ночи, когда я собирался ложиться спать. К этому моменту я прочитал где-то 15 глав учебника по Rust и написал десяток hello world. “Этого должно хватить” - подумал я, заварил чай, включил ПК и начал гуглить про архитектуру CHIP-8. CHIP-8 - интерпретируемый язык программирования, разработанный Джозефом Вайсбекером для своего микропроцессора 1802. Первоначально он использовался в COSMAC VIP и Telmac 1800 - 8-битных микрокомпьютерах, выпущенных в середине 1970-х. CHIP-8 был разработан для того, чтобы его было легко программировать, а также для того, чтобы он использовал меньше памяти, чем другие языки программирования, такие как BASIC. ...

Миграция с wireguard на amneziawg
После каких-то очередных манипуляций на Ростелекоме мой wireguarg туннель приказал долго жить (как и IPv6 почему-то), поэтому перехожу на amneziawg. Amneziawg - это форк wg поддерживающий добавление шума в стандартный протокол wireguard. Понятно, что в час Х, когда государство решит закрутить гайки, этот протокол будет легко забанен, но пока он работает и можно пользоваться. На крайний случай останется wg через vless, хотя скорость в таком случае не очень. Установка в Ubuntu Включаем источники src пакетов (deb-src) в /etc/apt/sources.list.d/ubuntu.sources ...