Минимальный VPN‑клиент для Linux на базе WireGuard с разделением трафика по приложениям. Приложения запускаются внутри отдельного network namespace, а остальная система использует обычный интернет.
- Импорт
.conf(wg‑quick формат) - Список приложений по пути (ручной ввод)
- Запуск выбранного приложения через VPN
- Логи действий (с очисткой)
- Без системных сервисов и демонов
- Создаётся namespace
sillyvpn-ns+ veth‑пара - WireGuard поднимается через
wg-quickсTable=off - Трафик из namespace помечается и маршрутизируется через WG‑интерфейс
- DNS в namespace берётся из
DNS=в конфиге (или 1.1.1.1/8.8.8.8)
wireguard-tools(wg,wg-quick)iproute2(ip,ip netns)iptablespkexec+ polkit‑agent
AppImage создаётся сборкой и запускается обычным пользователем. Политики/привилегии запрашиваются через pkexec.
./scripts/build_appimage.sh
Результат: src-tauri/target/release/bundle/appimage/sillyvpn_0.1.1_amd64.AppImage
- Импортируйте
.conf - Нажмите Enable VPN
- Добавьте приложение (пример:
/usr/bin/discord) - Нажмите Launch via VPN
- Проверьте, что другое приложение использует обычный интернет
- Приложение нужно запускать из графической сессии пользователя (не из TTY/ssh)
- Если polkit‑agent не запущен — привилегированные операции не сработают
- Приватные ключи не логируются, конфиги хранятся в
~/.config/sillyvpn/
MIT — см. LICENSE