CloudFlare Warp - первый среди всех

Вдогонку стратегия, помогающая запустить cloudflared, который также после 14-го работать перестал.

Вариант для udp:

start “zapret2 cloudflared” /min “%~dp0winws2.exe” ^
–-wf-udp-out=7844 ^
–-lua-init=@“%~dp0lua\zapret-lib.lua” --lua-init=@“%~dp0lua\zapret-antidpi.lua” ^
–-name=udp --filter-udp=7844 ^
–-out-range=“<n2” ^
–-lua-desync=fake:blob=0x00:payload=unknown:repeats=20

Вариант для tcp:

start “zapret2 cloudflared” /min “%~dp0winws2.exe” ^
-–wf-tcp-out=7844 ^
–-lua-init=@“%~dp0lua\zapret-lib.lua” --lua-init=@“%~dp0lua\zapret-antidpi.lua” ^
–-name=tls --filter-tcp=7844 --filter-l7=tls ^
–-out-range=-d10 ^
–-payload=tls_client_hello ^
–-lua-desync=fake:blob=fake_default_tls:tcp_seq=-10000:repeats=1
Здесь можно поискать нужные домены для включения в hotlist-domains, но они скорее всего будут другие.

Благодарю за помощь в подборе стратегий uwu :folded_hands:

блин. я так и не понял, что нужно, чтобы затриггерить подключение по tcp

в C:\Program Files\Cloudflare\Cloudflare WARP\warp-cli (запускается из cmd) выбрать вариант masque с fallback
все команды можно подсвечивать через help

если quic подключение завершится с ошибкой. то он перейдет на tcp

Есть ли актуальные CLI клиенты, кроме официального? AmneziaVPN и Oblivion Desktop требуют GUI.

Пытаюсь запустить warp-svc на роутере. Что-то тяжело с ним. Прошу подсказать, что не так.

Пришлось переключиться на nftables, потому что iptables не поддерживается.

warp-svc пытается занять порт 53, на котором висит dnsmasq.

При отключении dns proxy

warp-cli mode tunnnel_only

Соединения через warp нет, идут постоянные переподключения, у роутера циклически теряется любая сетевая доступность (рвется ssh сессия, блокируется icmp) из-за добавления-удаления правил в nftables:

Спойлер
2026-02-05T04:44:06.467Z DEBUG main_loop:check_trace{config=ConnectivityCheckConfig { inside_tunnel_ips: NonEmptyVec([162.159.197.4, 2606:4700:102::4]), outside_tunnel_ips: NonEmptyVec([162.159.197.3, 2606:4700:102::3]), operation_mode: TunnelOnly, metadata: ConnectivityCheckMetadata { proxy_local_addr: None } }}: connectivity_check: close time.busy=597µs time.idle=4.00s
2026-02-05T04:44:06.467Z  WARN main_loop: warp_connection::connectivity_check: Connectivity checks failed, retrying config=ConnectivityCheckConfig { inside_tunnel_ips: NonEmptyVec([162.159.197.4, 2606:4700:102::4]), outside_tunnel_ips: NonEmptyVec([162.159.197.3, 2606:4700:102::3]), operation_mode: TunnelOnly, metadata: ConnectivityCheckMetadata { proxy_local_addr: None } } trace_failed=Dns retry_after=452.653093ms
2026-02-05T04:44:07.077Z DEBUG do_trace_inner{host="engage.cloudflareclient.com" host_with_protocol="https://engage.cloudflareclient.com" timeout=4s sockets=[162.159.197.3:443, [2606:4700:102::3]:443] con_check_meta=ConnectivityCheckMetadata { proxy_local_addr: None }}: connectivity_check: fl=904f170
h=engage.cloudflareclient.com
ip=95.xx.xx.xx
ts=1770266646.000
visit_scheme=https
uag=WARP for Linux
colo=DME
sliver=none
http=http/1.1
loc=RU
tls=TLSv1.3
sni=plaintext
warp=off
gateway=off
rbi=off
kex=X25519

2026-02-05T04:44:07.205Z  INFO do_trace_inner{host="connectivity.cloudflareclient.com" host_with_protocol="https://connectivity.cloudflareclient.com" timeout=4s sockets=[162.159.197.4:443, [2606:4700:102::4]:443] con_check_meta=ConnectivityCheckMetadata { proxy_local_addr: None }}: connectivity_check: close time.busy=6.07ms time.idle=279ms
2026-02-05T04:44:10.922Z  WARN connectivity_check: DNS lookup timedout host="connectivity.cloudflareclient.com"
2026-02-05T04:44:10.922Z  WARN connectivity_check: DNS lookup timedout host="connectivity.cloudflareclient.com"
2026-02-05T04:44:10.922Z  WARN connectivity_check: DNS lookup timedout host="connectivity.cloudflareclient.com"
2026-02-05T04:44:10.922Z  WARN connectivity_check: DNS lookup timedout host="connectivity.cloudflareclient.com"
2026-02-05T04:44:10.922Z ERROR connectivity_check: DNS connectivity check failed to resolve host="connectivity.cloudflareclient.com"
2026-02-05T04:44:10.922Z DEBUG main_loop:check_trace{config=ConnectivityCheckConfig { inside_tunnel_ips: NonEmptyVec([162.159.197.4, 2606:4700:102::4]), outside_tunnel_ips: NonEmptyVec([162.159.197.3, 2606:4700:102::3]), operation_mode: TunnelOnly, metadata: ConnectivityCheckMetadata { proxy_local_addr: None } }}: connectivity_check: close time.busy=577µs time.idle=4.00s
2026-02-05T04:44:10.922Z  WARN main_loop: warp_connection::connectivity_check: Connectivity checks failed and timeout exhausted config=ConnectivityCheckConfig { inside_tunnel_ips: NonEmptyVec([162.159.197.4, 2606:4700:102::4]), outside_tunnel_ips: NonEmptyVec([162.159.197.3, 2606:4700:102::3]), operation_mode: TunnelOnly, metadata: ConnectivityCheckMetadata { proxy_local_addr: None } } trace_failed=Dns elapsed=13.100903805s
2026-02-05T04:44:10.922Z  INFO main_loop: structlog: event="ConnPostcheckErrV0" cp_result="Err" cp_error="DnsLookup" cp_duration=13101
2026-02-05T04:44:10.922Z DEBUG main_loop: warp_connection::connectivity_check: Trace status: Err(Dns)
2026-02-05T04:44:10.922Z  WARN main_loop: warp_connection::tunnel: Inside tunnel connectivity check failed. Disabling session affinity err=FailedConnectivityCheck(DNSLookupFailed)
2026-02-05T04:44:10.922Z DEBUG main_loop: warp_connection::connection: start_status=Err(FailedConnectivityCheck(DNSLookupFailed))
2026-02-05T04:44:10.923Z DEBUG tunnel_loop{protocol="masque"}: warp_edge::h3_tun::idle_timeout: Resetting idle timeout on healthy disconnect
2026-02-05T04:44:10.923Z DEBUG actor_statistics::handler: Recording gauge into histogram context=RecordIntoHistogramInfo { gauge_key: KeyName("tunnel_mtu_changes_per_conn"), histogram_key: KeyName("tunnel_mtu_changes_per_conn_hist"), component: "pmtu" }
2026-02-05T04:44:10.923Z DEBUG tunnel_loop{protocol="masque"}: warp_edge::connection_provider: Aborted connection driver task tunnel_connection_result=None
2026-02-05T04:44:10.923Z DEBUG tunnel_loop{protocol="masque"}: warp_edge::tunnel_loop: close time.busy=151ms time.idle=13.0s
2026-02-05T04:44:10.923Z DEBUG warp_tun::completion::wrapper: Stopping drive_writer
2026-02-05T04:44:10.923Z DEBUG main_loop:connect_with_fallback{primary="masque" fallback="H2"}:tunnel_stats_reporting_task{scid=3ca5db0d217db1fed0471003e36a8b09d26b8fda}: warp_edge::h3_tun: close time.busy=571µs time.idle=13.2s
2026-02-05T04:44:10.923Z DEBUG main_loop:connect_with_fallback{primary="masque" fallback="H2"}:happy_eyeballs_with_retry{protocol="masque" pq=true}:proxy_task{scid=3ca5db0d217db1fed0471003e36a8b09d26b8fda}: warp_edge::h3_tun: close time.busy=496µs time.idle=13.4s
2026-02-05T04:44:10.923Z DEBUG main_loop:connect_with_fallback{primary="masque" fallback="H2"}:happy_eyeballs_with_retry{protocol="masque" pq=true}: warp_edge::happy_eyeballs: close time.busy=2.31ms time.idle=13.7s
2026-02-05T04:44:10.923Z DEBUG main_loop:connect_with_fallback{primary="masque" fallback="H2"}: warp_connection::tunnel::fallback: close time.busy=2.91ms time.idle=13.8s
2026-02-05T04:44:10.923Z DEBUG main_loop: warp_connection::dns::dns_recovery::unix: Reverting Tunnel settings

2026-02-05T04:44:10.926Z DEBUG main_loop: warp_connection::dns::dns_recovery::unix: Deleted FWMARK rules table with status: Ok(())
2026-02-05T04:44:10.926Z  WARN main_loop: warp_connection::controller: Connection failed to start error=FailedConnectivityCheck(DNSLookupFailed)
2026-02-05T04:44:10.926Z DEBUG main_loop: warp_connection::controller: Stopping WarpConnection state=Connecting
2026-02-05T04:44:10.926Z DEBUG utilities::tokio::select_watcher: Entering: [main loop] arm="tunnel_taskset_errors_fut"
2026-02-05T04:44:10.926Z DEBUG firewall::change: Firewall reset to defaults

Судя по логу, он почему-то не может зарезолвить connectivity.cloudflareclient.com , хотя на роутере в resolv.conf рабочие серверы, да и dnsmasq на 53 порту локально доступен.

При остановленном dnsmasq и включенном dns proxy (обычный режим warp-cli mode warp) подключение работает.

И при работающем, и при неработающем весь лог заспамлен сообщениями:

WARN tunnel_loop{protocol=“masque”}: warp_edge::tunnel_loop: Dropping martian, tun should not have seen this src_addr=[95.xx.xx.xx]

А вы dnsmasq повесьте на 53 порт, но не на 127.0.0.1, а 127.0.0.2.

Сконфигурил dnsmasq, чтобы висел только на интерфейсе локальной сети. Теперь друг другу не мешают, спасибо. Только warp в resolv.conf свои локальные сервера записывает, а из resolv.conf dnsmasq сервера для себя берет. А надо чтобы в resolv.conf оставались сервера провайдера. В warp-cli такой настройки не нашел.

UPD: Понял проблему с DNS в режиме tunnel_only. warp-svc пытался резолвить нужные домены через resolv.conf, где DNS провайдера, но лез он к ним снаружи, через туннель. И они не отвечали. Но идея использовать WARP в режиме VPN с официальным клиентом для перекидывания пакетов отдельных непробиваемых сервисов типа whatsapp, похоже, не очень удачная - warp-svc при любом переподключении (в том числе автоматическом) обновляет свою таблицу в nftables, в которой забирает весь трафик себе и запрещает любой трафик мимо себя (kill-switch). Настроить это никак нельзя, только как-то отслеживать переподключения и править таблицу. Очень костыльно.

Нужен сторонний CLI клиент, который хотя бы в связке с zapret может пробиваться к WARP. Ставит гуи ради AmneziaVPN как-то не хочется…

Есть форк sing-box с поддержкой awg1.5 Sing-box discussions - #2 by shtorm-7
и vwarp Releases · voidr3aper-anon/Vwarp · GitHub
Но не знаю, встанет ли на роутер
upd А, еще есть GitHub - artem-russkikh/wireproxy-awg: AmneziaWG compatible wireguard client that exposes itself as a socks5 proxy

https://config-generator-warp.vercel.app не работает, в 3 утра MSK Ростелеком ЦФО походу что-то обновил, AWG 1.5 - все мервые, думал может уонфига сдохла, но врядли…. Дальше хендшейка дела не идут.

Кто-то еще на РТ может подтвердить смерть AWG 1.5 клаудфлера?

Пока без изменений, возможно поломка в пути.:thinking:

У ртк даже в пределах города всё по разному работает, это мои ощущения.

Сайт на технической паузе.

Если все три варианта не работают, то меняйте порт

Для этого и стандартного wg-клиента достаточно - с фейкованием z2 вполне себе работает на старом оврт 21.02

Извиняюсь за очередной тупой вопрос, но куда это вписывать? Никаких .bat-файлов, как в запрете1, тут не вижу. Самому его создавать? Если да, то в какую папку ложить?

пробовал кто-нибудь Abobo7/usque-android ?

А что мешает качнуть zapret-win-bundle ? Там cmd-файлы с примерами конфигураций под винду есть

примеры там не всегда удачные, я потратил массу времени, пока не врубился, что не надо для фейка рандомизировать SNI, как сделано в примере. Одна эта строчка все портила. Убрал ее, SNI по умолчанию прекрасно работает.

Примеры там в качестве примера, как можно сделать, а рабочий вариант под своего провайдера и под пробивку конкретных серверов уже пользователи подбирают сами. На то примеры и примеры, а не универсальные рецепты подо всех, как это было первые годы, пока РКН не начал особо фашиствовать.

Есть рабочая стратегия для запрет2 для разблокировки wireguard, в частности warp ?
Много различных стратегий перепробовал, хендшейка в итоге нет. Оператор Ростелеком, Поволжье.
Если с стандартным эндпоинтом engage.cloudflareclient.com будет работать, то вообще замечательно.

а что пробовали? awg 1.5 с конфигами для warp? zapret2 с приведенными здесь стратегиями, но в режиме autohostlist с дебагом, чтобы было видно, на каких SNI спотыкается.

Хочу завести обычный wg, без обфускации

всяко будет обфускация. Либо awg будет слать пакет для маскировки, либо z2