Обновить
4
Иван Бондарев@lked

ИТ-специалист

0,1
Рейтинг
1
Подписчики
Отправить сообщение

SB Live + kx project - память ёкнула. У меня тогда дома стоял сервер на P3-1000, а на десктопе как раз эта связка. ASIO с минимальной задержкой на копеечной карте - для своего времени казалось магией.

С pipewire вообще другая жизнь началась. Раньше JACK с pulse-jack ставился ритуальным танцем, конфиг под каждую звуковуху подкручивался отдельно, и при переключении устройств всё равно что-то отваливалось. Сейчас на 26.04 воткнул USB-карту - и она появилась в списке. Без танцев.

За напоминание про FireWire отдельное спасибо. У меня где-то в коробке Edirol валяется, теперь как-то жалко стало.

Для Restic есть resticprofile - TOML/YAML конфиги, профили под разные репозитории, хуки до/после, расписание через systemd. По духу почти то же, что borgmatic для Borg.

У меня связка restic + rclone: restic делает шифрованные снапшоты в локальный репозиторий на отдельном диске, дальше rclone льёт это в холодный S3. Получается 3-2-1 на колене, без отдельного backup-сервера.

К списку добавил бы pgBackRest для PostgreSQL - умеет инкременты по WAL и параллельное восстановление. Когда база переваливает за сотню гигабайт, разница с pg_dump на восстановлении ощутимая.

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

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

Самое противное в этих многошаговых разводках - что каждое отдельное действие звучит почти логично: запись разговора, поставить приложение, зайти в аккаунт. Подмену замечаешь уже постфактум.

Одно правило у меня прижилось намертво: если по телефону просят поставить что-то на устройство или показать камере экран - стоп, без вариантов, кто бы ни звонил.

Хорошее дополнение к Методу 1: если речь про AmneziaWG (популярный WG-форк с обфускацией junk-пакетами), важно понимать его место в этой картине.

AWG пробивает ТСПУ в обычном режиме (фингерпринт WG-handshake перестаёт быть распознаваемым → шейпинг на мобильных операторах не срабатывает). А вот в режиме БС, где L3-фильтр блокирует пакеты по dst IP ещё до DPI, обфускация на L7 не помогает. Сервер AWG с IP не из белого списка — недоступен так же, как обычный WG.

То есть AWG имеет смысл сочетать с твоей рекомендацией про VPS в whitelisted ASN: Yandex/Timeweb/Selectel. Тогда L3 пропускает пакеты до сервера, а L7-фильтрация (если оператор её включает поверх БС, что бывает) обходится обфускацией. Без размещения в БС-подсети — только VLESS+Reality остаётся.

Интересный workaround через Table=off + custom systemd-юнит. Для split-tunnel это рабочий способ, особенно когда маршруты меняются динамически.

Проще без Table=off: если в конфиге клиента указать конкретные AllowedIPs (в вашем примере — подсети Telegram), wg-quick по умолчанию НЕ добавляет default route и не ставит fwmark. Маршрут создастся автоматически только для указанных подсетей. Остальной трафик идёт через eth0 по умолчанию ОС, без правок systemd.

По DKMS на Debian 12/13: официальный PPA ставится через mapping bookworm→focal и trixie→noble, модуль собирается штатно. Ваш вариант через bullseye-backports + linux-5.15 валиден для Debian 11, но на новых релизах этот workaround уже не нужен.

Про ошибку “Invalid H1” в Windows-клиенте AmneziaWG — это известный баг подсветки синтаксиса в upstream-клиенте (amnezia-vpn/amneziawg-windows-client, issue #85). Подсветка ограничивает H1–H4 значением до 2147483647 (INT32), хотя спецификация AmneziaWG 2.0 — полный uint32 до 4294967295. На handshake это обычно не влияет, конфиг подключается, просто UI красным подсвечивает.

Мой installer (amneziawg-installer) с v5.8.1 от 8 апреля генерирует все H1–H4 в безопасном диапазоне (< 2^31) через битовую маску — пространство комбинаций остаётся настолько большим, что на стойкость обфускации это не сказывается. Новые конфиги через команду awg add в ошибку не попадают.

Если конфиг сгенерирован до v5.8.1, либо пересоздать (manage regen <клиент>), либо вручную привести все четыре значения H1–H4 к числам меньше 2147483647 — в серверном конфиге и во всех клиентских.

github.com/bivlked/amneziawg-installer

За последний месяц в issues моего скрипта для AWG 2.0 собралась довольно разнородная карта «оператор → рабочие параметры обфускации». По регионам всё неожиданно по-разному, поделюсь — вдруг сэкономит кому-то перебор.

Оказалось Jc (количество junk-пакетов перед handshake) — один из главных триггеров DPI на мобильных сетях. Яркий пример из отчёта пользователя на Tele2 в Красноярске:

  • Jc = 3 — handshake проходит в ~95% попыток

  • Jc = 4 — ~30%

  • Jc = 5 — меньше 5%

Плюс чувствительность к формату I1 (CPS concealment, как раз про то о чём статья). Живые кейсы из issues (оператор → рабочее I1):

  • Yota — binary длинный, <b 0xce...>

  • Beeline — дефолтный случайный <r N> работает из коробки

  • Tele2 Москва — binary QUIC, <b 0xc700000001>...

  • Tele2 Красноярск — отсутствие I1 (AWG 1.0 fallback mode)

  • Мегафон Москва — короткий <r 64>

  • Мегафон, регионы — отсутствие I1

  • Таттелеком LTE<r 64> + Jc = 3

Единого I1 под всю Россию не существует — DPI у региональных веток разный. Под это добавил preset --preset=mobile (Jc=3 + узкий Jmax до 130 байт на junk) — работает на Yota/Beeline/Таттелеком из коробки. Для Tele2 Красноярск и Мегафон в регионах нужен отдельный --preset=mobile-awg1 (с пустым I1=) — уже в работе.

Интересное наблюдение: DPI оператора анализирует именно тот поток байт, который шлёт клиент, а не сервер. Handshake инициирует клиент, junk-пакеты (Jc штук) тоже уходят с его стороны. Значит серверный конфиг можно оставлять с дефолтами, а на каждом телефоне держать свой клиентский .conf под оператора — переустанавливать сервер не надо, меняется только файл на устройстве. Это сильно упрощает подбор параметров.

Сам скрипт: https://github.com/bivlked/amneziawg-installer . Bash, Ubuntu/Debian + ARM (Raspberry Pi / Oracle Cloud Ampere), MIT, состояние переживает reboot, управление клиентами через CLI.

Прилетело в Discussions amneziawg-installer: AWG-тоннель встаёт с домашнего инета, через мобильный - handshake падает. MTU поменяли - не помогло.

Полез в код. Оказалось, я в awg_common.sh четыре диапазона H1-H4 захардкодил константами - у всех, кто запускал скрипт, они были одинаковые. Готовая статическая сигнатура. ТСПУ её, судя по всему, очень быстро просто выучил и стал палить всех разом. Не AWG виноват, баг был в моей реализации.

Вчера зарелизил v5.8.0 - H1-H4 теперь рандомятся при каждой установке: 8 uint32 из /dev/urandom, sort, четыре непересекающиеся пары. У каждого сервера свой набор.

Так что да, автор прав - не волшебная кнопка. Это постоянная гонка с тем, что новое научился ловить ТСПУ. Скрипт тут только снимает первичную настройку, дальше всё равно вручную.

Собирал похожее на мини-ПК. Кто планирует VPN на таком роутере - обращайте внимание на AES-NI. У меня на ARM без него WireGuard через userspace давал около 250 Мбит, а на x86 с AES-NI — под гигабит.

Три месяца и ничего не сделали - странно. Обфускация которая не обновляется долго не живёт, ТСПУ давно не статичный файрвол.

Администрирую серверы, VPN для меня рабочий инструмент - корпоративный до офиса, WireGuard до мониторинга, SSH-туннели. Без этого работа просто встаёт. Интересно как на практике будут отличать «плохой» VPN от рабочего.

Хорошо сделано, особенно GeoSite через dnsmasq ipset.

В статье серверная часть подразумевается готовой - для тех кому нужно поднять сервер с нуля можно глянуть https://github.com/bivlked/amneziawg-installer. Одна команда на Ubuntu/Debian VPS, ставит AWG 2.0 с I1-I5, генерирует .conf и QR-коды. Импортируешь в этот аддон и всё работает.

Автор — я, если что)

Как альтернатива, если веб-панель не нужна (для дома, для семьи) или VPS совсем слабенький сервачок (дешёвый) можно глянуть https://github.com/bivlked/amneziawg-installer. Чистый bash без зависимостей, тоже AWG 2.0 с I1-I5. Есть vpn:// URI для импорта в Amnezia Client одним тапом, --expires для временных клиентов, batch add/remove.
Автор - я, если что)

Похожая схема - rsync + systemd timers. Один совет: добавь проверку что бэкап реально свежий, а не просто таймер отработал. У меня скрипт проверяет дату последнего файла и алертит если старше суток. Пару раз спасало, когда rsync молча падал.

если все внутри РФ, то и проблем никаких и блокировок нет. в Казахстан, кстати, тоже легче, если там сервер брать

На 24.04 с ручной установкой действительно боль - PPA не всегда подтягивает нужные пакеты, заголовки ядра не совпадают. Я с этим намучился и в итоге написал свой скрипт amneziawg-installer на гитхабе. Запускаешь одну команду, он сам ставит модуль, настраивает фаервол, генерит конфиги. На 24.04 и Debian 12/13 работает стабильно, все тщательно протестировано.

AWG использует ядерный модуль (DKMS), поэтому в Docker и обычном LXC не заведётся. На VPS проще ставить напрямую. Если нужна изоляция - KVM VM, там DKMS работает штатно. Ещё есть amneziawg-go (userspace), её в контейнер загнать можно.

Насчёт сложности I1-I5 - я это автоматизировал в отдельном проекте: github.com/bivlked/amneziawg-installer. Скрипт сам генерит рандомизированные H1-H4 ranges, S3-S4, I1-I5 для QUIC-мимикрии, пользователь их вообще не видит.

Одна команда на Ubuntu 24.04/25.10 или Debian 12/13, на выходе .conf + QR + vpn:// для импорта в приложение.

Не совсем понятное для меня отношение к "семейному архиву"... То, что было снято 15 лет назад второй раз уже не снимешь! Дети выросли, бабушки/дедушки и того хуже... У тут раз так, батничек запускаешь на два дня, а потом смотришь, на сколько же гигабайтов сократился твой архив. Да я уж лучше куплю пару винтов по 10Тб и сделаю две копии. Другое дело, порыться в этом архиве, найти что-то ценное (пару десятков фото) и уже их аккуратно и вдумчиво, с привлечением современных технологий отреставрировать/поправить/улучшить и т.д.
Но, конечно, у всех разное отношение к этому. И это вопрос уже не технический.

1

Информация

В рейтинге
4 526-й
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Системный администратор, Администратор серверов
Старший
Python
Linux
Git