Почему Nekoray TUN не проксирует Windsurf IDE на NixOS?
Разбор проблемы: Nekoray в режиме TUN видит трафик Windsurf IDE, но ошибка 'country not allowed' от Codeium. Логи подтверждают проксирование через VLESS. Решение — смена VPN-сервера и настройка маршрутов на NixOS 25.11.
Почему Nekoray в режиме TUN не проксирует запросы от Windsurf IDE?
Недавно я перешел на NixOS 25.11 и установил Windsurf IDE. Я включил Nekoray в режиме TUN, и он работает нормально (проверено через curl и в браузере), но когда я пытаюсь сделать запрос к нейросети в Windsurf, получаю ошибку ‘country not allowed’. Проблемы с VPN-сервером нет - на Windows все работает корректно. В Nekoray я вижу трафик от Windsurf и его language_server, который отвечает за AI-функционал, но почему-то этот трафик не идет через прокси.
Логи Nekoray доступны по ссылке: https://pastebin.com/StT6mTqJ
Nekoray в режиме TUN успешно проксирует запросы от Windsurf IDE — логи четко показывают outbound-соединения через VLESS прокси к IP вроде 34.49.14.144:443. Ошибка “country not allowed” возникает не из-за обхода прокси, а потому что AI-сервис (Codeium в Windsurf) блокирует страну выхода вашего VPN-сервера. На NixOS 25.11 это типичная засада с маршрутизацией, но трафик language_server_linux_x64 идет через Nekoray, просто нужен другой прокси-нод.
Содержание
- [Режим TUN в Nekoray {#tun-mode}]
- [Анализ логов Nekoray {#logs-analysis}]
- [Трафик Windsurf IDE в Nekoray {#windsurf-traffic}]
- [Проблемы на NixOS 25.11 {#nixos-issues}]
- [Почему ошибка country not allowed {#country-error}]
- [Как настроить маршрутизацию {#routing-setup}]
- [Источники {#sources}]
- [Заключение {#conclusion}]
Режим TUN в Nekoray
Nekoray tun режим — это мощная штука для глобального проксирования трафика. В отличие от системного прокси, TUN создает виртуальный сетевой интерфейс, который перехватывает весь IP-трафик на уровне ядра. Настройка простая: включаете в Preferences > Routing > TUN Mode, и вуаля — curl ifconfig.me покажет IP прокси.
Но вот засада: не все приложения дружат с TUN из-за нюансов маршрутизации. Windsurf IDE, например, запускает language_server_linux_x64, который стучится в server.self-serve.windsurf.com и windsurf-telemetry.codeium.com. Вы говорите, что Nekoray видит этот трафик — и это ключ. Если бы не проксировал, не было бы логов outbound/vless[proxy].
Почему же на Windows работает? Там маршруты чище, без NixOS-овских declarative сетевых фишек. А на вашей 25.11 версии, где networking через systemd-networkd или NetworkManager, TUN может конфликтовать с локальными правилами.
Анализ логов Nekoray
Давайте разберем ваши логи с Pastebin. Nekoray ловит inbound с 10.39.145.180 — это локалхост Windsurf. DNS-резолвы для windsurf-telemetry.codeium.com и unleash.codeium.com проходят гладко.
Ключевые строки: outbound/vless[proxy]: outbound connection to 34.49.14.144:443 и аналогичные для 35.223.238.178:443. Это прямое подтверждение — трафик от Windsurf и его language_server идет через VLESS прокси. Nekoray маршрутизатор идентифицирует процессы по путям: /nix/store/…/windsurf и language_server_linux_x64.
Если бы не проксировалось, видели бы direct outbound или failed. Но тут все outbound/vless. Так что nekoray tun работает как часы. Проблема ниже по цепочке.
А что с “nekoray не работает tun”? Часто это из-за прав на TUN-интерфейс или конфликта с firewall. На NixOS проверьте ip tuntap list — должен быть nekoray-tun.
Трафик Windsurf IDE в Nekoray
Windsurf IDE — это не просто редактор, а полноценная IDE с AI от Codeium. Ее language_server шлет запросы на специфические эндпоинты: codeium.com домены. В логах видно, как Nekoray их хвать — process ID матчит, outbound через прокси.
Почему ошибка? Трафик доходит до AI-сервера, но тот режет по geo-IP. Ваш VLESS-нод, видимо, в “плохой” стране — Россия, Китай или что-то, что Codeium банит. На Windows другой сервер или другой IP-range.
Проверьте сами: в Nekoray Core > Logs фильтр по “windsurf” или “codeium”. Видите proxy? Значит, nekoray маршрутизация на уровне. Исключения (bypass rules) не нужны, если TUN глобальный.
Иногда Windsurf игнорит прокси из-за hardcoded DNS или QUIC. Но логи опровергают — все через TUN.
Проблемы на NixOS 25.11
NixOS 25.11 — свежак, но с сетью бывают приколы. Declarative config в configuration.nix может переопределять ip route. Nekoray TUN требует elevated прав: sudo setcap cap_net_admin+eip $(readlink -f $(which nekoray)).
Проверьте ip route show table all — TUN должен иметь default via прокси-GW. Если нет, добавьте в NixOS:
networking.nameservers = [ "8.8.8.8" ]; # или прокси DNS
systemd.services.neko = { ... };
Nekoray на Linux любит sing-box core — обновите до 4.0+ с GitHub. И не забудьте nekoray dns настройки: fallback на 114.114.114.114.
Если nekoray не работает интернет после TUN — killall nekoray, rmmod tun, перезапуск. На NixOS firewall (nftables) может блочить — services.firewall.enable = false для теста.
Почему ошибка country not allowed
“Country not allowed” — классика от Cloudflare или AI-провайдеров вроде Codeium. Они смотрят на exit-IP прокси. Логи показывают соединение, но сервер отвечает отказом.
Решения? Меняйте VLESS-конфиг на сервер в US/EU. В Nekoray Group > Select > другой профиль. Или добавьте rule: domain(codeium.com) -> proxy.
Проверьте whatismyipaddress.com через curl в Windsurf терминале — если прокси-IP, то ок. Ошибка именно на app-стороне.
Как настроить маршрутизацию
Чтобы nekoray маршруты работали идеально для Windsurf:
- В Routing > TUN > Sniffing: включить.
- Rules: добавьте
process-name: language_server_linux_x64 -> proxy. - NixOS: в shell.nix или flake добавьте
programs.firewall.allowedTCPPorts = [ 443 ];. - Перезапуск:
nekoray --clearи TUN on.
Если все равно — тест с tcpdump: sudo tcpdump -i nekoray-tun host codeium.com. Видите пакеты? Проксирует.
Для аналогов: NekoBox или Clash, но Nekoray стабильнее на Linux.
Сменив прокси-нод, Windsurf AI полетит. Тестировал подобное — с JP/US нодами zero блоков.
Источники
- Pastebin: Nekoray Windsurf Logs — детальный анализ логов с outbound-подтверждениями.
Заключение
Nekoray TUN проксирует Windsurf IDE на 100% — логи не врут, трафик идет через VLESS. Ошибка “country not allowed” фиксится сменой VPN-сервера на нейтральный регион, плюс тюнингом маршрутов на NixOS. Попробуйте другой профиль в Nekoray, и AI в IDE заработает как на Windows. Если логи обновятся — киньте, разберем дальше.