-
Постов
686 -
Зарегистрирован
-
Посещение
-
Победитель дней
7
Тип контента
Профили
Форумы
Галерея
Загрузки
Блоги
События
Сообщения, опубликованные avn
-
-
В 12.11.2024 в 12:01, Le ecureuil сказал:
Бесполезно апать, делается в порядке очереди для фич, а это не скоро.
Будет на 5.x?
-
32 минуты назад, dimon27254 сказал:
@FLK прав, наиболее "ресурсоемкой" задачей является свёртывание адресов-кандидатов в подсети.
Я тестировал на списке из 11 тысяч адресов, на KN-1012 обработка занимала около двух секунд.
В реальности, конечно, такие списки кандидатов могут собраться только при неработающем cron 😅
Я рассмотрю ваше предложение по очистке ascn_ips при нахождении совпадения в ascn_subnets.
ip2net прекрасно с этим справляется. Причем ступенчато, может сначало /26 потом /25 и т.д.
-
1
-
1
-
-
6 часов назад, Le ecureuil сказал:
Для всех адресов попавших в NDP запускается периодический трекинг. Если адрес перестает отвечать на прямой запрос NDP трекеру, то медицина бессильна - это его проблема, этот хост невозможно отличить от "насовсем отключенного". Также если хост из-за privacy extensions меняет адрес, но не анонсирует его через DAD - он сами виноват, как это вообще можно узнать?
Единственное решение в таком случае - дополнительный статический адрес, который всегда доступен.
У меня дополнительный статический адрес умирает периодично. Что бы восстановить, надо роутер пингануть. И все опять ок, но на период.
-
6 минут назад, dimon27254 сказал:
/24 мной была выбрана намеренно, т.к. по ней можно легко и быстро отслеживать и подсчитывать "похожие" адреса, просто проверяя совпадение первых трех октетов, т.е. 1.2.3.1, 1.2.3.14, 1.2.3.94 и так далее. Если количество "похожих" адресов больше порогового, на основе этих же трех октетов создается запись в ipset 1.2.3.0/24 для блокировки подсети целиком.
С /23, /22 и более крупными такой "фокус" уже не пройдет.
В данном направлении улучшений я пока что не планирую.
-
2 часа назад, kaguyashaa сказал:
Ещё интересно если у меня проброшен в локалку порт 443 для Nginx то его тоже будет обрабатывать и при необходимости ip блокировать?Нет
-
1
-
-
1 час назад, dimon27254 сказал:
Не совсем понял, что вы имеете ввиду и в каких именно из правил.
Для connlimit я маску не указываю явно, она автоматически ставится /32.Connlimit, receipt
-
1
-
-
4 часа назад, dimon27254 сказал:
Бессрочное хранение включается только для списков заблокированных IP и подсетей. Список кандидатов на блокировку продолжает хранить записи в соответствии с установленным в конфиге сроком (DIFFERENT_IP_CANDIDATES_STORAGETIME), если вы явно не установите 0. При этом, кандидаты не сохраняются в постоянной памяти вовсе - при каждой перезагрузке роутера/скрипта они будут наполняться заново.
Вариант с аптаймом устройства в год я полноценно не рассматривал, т.к. лично у меня роутер работает от обновления к обновлению.
Однако, в данном случае на длительном аптайме полноценную точечную очистку записей реализовать не представляется возможным - максимальный срок хранения записей в ipset при использовании timeout составляет 2147483 секунды, что чуть меньше 25 дней. Ввиду этого ограничения при SAVE_IPSETS=1 значение timeout для ascn_ips и ascn_subnets полностью исключается и записи хранятся без срока.Могу, например, к следующей версии исключить принудительную установку "бессрочного" хранения для ipset, чтобы вы могли и дальше устанавливать свой таймаут. Однако, в этом случае я не вижу смысла в сохранении в файлы вовсе, если, условно говоря, через день/несколько часов записи все равно удалятся.
Или есть вариант реализовать дополнительную задачу в cron, которая будет, например, раз в 3 месяца принудительно очищать все ipset и удалять сохраненные файлы, чтобы они могли наполняться "с нуля".
Для правил iptables сразу маску /24 добавили? Вы же все равно ip кандидатов агрегируете по маске 24. Так пусть и правила работают по маске /24.
-
1 минуту назад, Denis P сказал:
Речь была только о возможности сохранения системных наборов с "плохими адресами" в файл, при чем тут сторонние сервисы вообще? Этого никто не обещал.
Ошибся цитатой, не Вам.
-
1
-
-
Способ интересный. Решил потестить
СпойлерPORTS="80,443,22,8443,53" if [ "$type" == "iptables" ]; then EXCLUDE_IPSET=localnet4 IPSET=blockscan4 MASK=255.255.255.0 MASKINT=24 else EXCLUDE_IPSET=localnet6 IPSET=blockscan6 MASK=ffff:ffff:ffff:ff00:: MASKINT=56 fi; # Block scan ipt _NDM_ACL_IN -t filter -i eth3 -p tcp -m multiport --dports $PORTS -m set ! --match-set ${EXCLUDE_IPSET} src -m connlimit --connlimit-mask $MASKINT --connlimit-above 20 -j SET --add-set $IPSET src ipt _NDM_ACL_IN -t filter -i eth3 -p tcp -m multiport --dports $PORTS -m set ! --match-set ${EXCLUDE_IPSET} src -m conntrack --ctstate NEW -m recent --name $IPSET --mask $MASK --rsource --update --seconds 30 --hitcount 15 -j SET --add-set $IPSET src ipt _NDM_ACL_IN -t filter -i eth3 -p tcp -m multiport --dports $PORTS -m set ! --match-set ${EXCLUDE_IPSET} src -m conntrack --ctstate NEW -m recent --name $IPSET --mask $MASK --rsource --set ipt _NDM_ACL_IN -t filter -i eth3 -p tcp -m multiport --dports $PORTS -m set ! --match-set ${EXCLUDE_IPSET} src -j SET --add-set $IPSET-buf src ipt _NDM_ACL_IN -t filter -i eth3 -p tcp -m multiport --dports $PORTS -m set --match-set $IPSET src -j DROP
_NDM_ACL_IN
Использую, т.к. проходит через input и forward
-
1
-
-
В 14.05.2025 в 13:57, Denis P сказал:
если сильно хочется, можно системные наборы себе в файл хоронить, их легко опознать по признаку _NDM_BFD
Если требуется защитить сторонние сервисы, которые находятся не на роутере (другое устройство со свои ip) - данный способ работать не будет. Таффик не будет проходить через INPUT.
-
1
-
-
8 часов назад, MonoBOY сказал:
Есть кинетик ультра с установленной версией ОС 4.3.1, есть поднятый entware (тоже обновлен по состоянию на сегодня), в entware есть curl версии:
curl 8.10.1 (aarch64-openwrt-linux-gnu) libcurl/8.10.1 OpenSSL/3.0.15 zlib/1.3.1
делаю curl https://api.telegram.org и получаю curl: (35) Recv failure: Connection reset by peer
Перезагружаю роутер, снова делаю curl https://api.telegram.org и получаю нормальный ответ, снова перезагружаю роутер получаю curl: (35) Recv failure: Connection reset by peer.....
Прошу помощи, что нужно предоставить из логов?
Ipset используете? Что-то у вас с маршрутизацией намудрено.
-
-
1 час назад, ZlydenGL сказал:
Здорово что появляются новые решения, но всё же, можно в двух словах описать, чем они отличаются от имеющихся-то? Даже сравнивая со старичком ipset-dns. Потому что читаю я вот содержимое шапки:
- Не требует отключения встроенного в Keenetic DNS сервера - всё работает методом перенаправления портов.
- Работает с любыми туннелями, которые умеют поднимать UNIX интерфейс.
- Несколько типов правил - domain, namespace, wildcard и regex.
- Не тянет за собой огромное количество сторонних пакетов пакетов. Вся конфигурация находится в одном месте (в одном файле).
- Возможность создавать несколько групп на разные сети.
- Моментальное бесшовное включение/выключение сервиса.
И не понимаю, что из перечисленного нельзя отнести к тому же решению ipset-dns. Ну разве что пункт 3 на словах выглядит более гибким, да пункт 5 напрямую не реализован. А всё остальное - прекрасно подходит: и отключения штатного ПО не требуется, и туннели знает любые, лишь бы сам Keenetic под эту сущность выделял интерфейс, и сторонние "пакеты пакеты" не тянет (при этом базируется всё на том же dnsmasq), и погасить его можно и моментально, и бесшовно... Да ещё и управление перечнем доменов у ipset-dns по сути заведено в штатный интерфейс ndm, т.е. при необходимости доконфигурить перечень доменов можно даже через мобильное приложение. А ещё можно спокойно ставить во внутреннюю память, так как ipset-dns её не "изнашивает". Так в чём же цимес/гешефт/нужное_подчеркнуть от утилиты из данной темы? Только в уходе от текущего ограничения Keenetic на 60 доменов?
Ipset-dns больше не нужен, есть штатное решение в прошивке.
-
Только что, constgen сказал:
Первая мысль о переносе: А это не убьёт теперь внутреннюю память роутера? Может пусть флешка умирает чем роутер?
Оно же в оперативке.
-
29 минут назад, pppppppo_98 сказал:
но судя по записи из таблицы монтажа файловых систем
#mount
/dev/root on / type squashfs (ro,relatime)
tmpfs on /dev type tmpfs (rw,nosuid,noexec,relatime)
none on /dev/pts type devpts (rw,nosuid,noexec,relatime,mode=600,ptmxmode=000)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
none on /sys/kernel/debug type debugfs (rw,nosuid,noexec,relatime)
/dev/ubi0_0 on /storage type ubifs (rw,relatime,compr=zlib)
/dev/sda1 on /tmp/mnt/fe9517a3-99f2-4397-a45f-c820180f99a3 type ext4 (rw,noatime,data=ordered)
/dev/sda1 on /opt type ext4 (rw,noatime,data=ordered)Все дерево /opt вместе с /opt/tmp находится на флеш накопителе (/dev/sda1). И тогда ИМХО вся проблема останется той же. Или у Вас /opt/tmp имеет другое место монтирования
Я же все написал, и скрипт приложил
$ ls -al /opt/tmp lrwxr-xr-x 1 root root 4 Mar 25 16:21 /opt/tmp -> /tmp
-
3 минуты назад, pppppppo_98 сказал:
Не знаю в нужную ли ветку я попал. Просьба модераторам перенести в нужную.
1. Итак у меня есть кинетик (не мой но под моим управлением и даже не один) с внешней флешкой, на который установлен У Entware (opkg). Уже два раза столкнулся с выходом флешки из строя. Везде установлены ext4. Насколько я понимаю ext4 не самая оптимальная файловая система для флеш-накопителей. Какие есть иные варианты файловых систем для entware? btrfs?
2. Расширение первого вопроса. Хозяин одного из кинетиков (kn1712) попросил и я ему поставил i2pd. Когда я увидел что i2pd постоянно пишет тысячи мелких файлов, я хозяину сказал, что в конце концов i2pd убьет флешку. Так и случилось, через 2 года флешка убилась. Расширяю первый вопрос. А есть ли какая нибудь файловая система для флеш-накопителя, с установленным entware, которая позволит постоянно (так работает i2pd) перезаписовать тысячи мелких файлов? Может быть есть какие то иные технические решения, аля организовать два раздела, или огранизовать раздел в памяти ?
А /opt/tmp не пробовали на /tmp перенести? У меня раньше тоже флэшки мерли, но теперь на них нету записи, все в tmp.
Спойлер#!/bin/sh case $1 in start) rm -fR /opt/var /opt/tmp ln -s /var /opt ln -s /tmp /opt mkdir -p /var/spool/cron/crontabs /var/lock /var/log /var/run cp -f /opt/root/.ash_history /tmp/.ash_history ;; esac
-
3 часа назад, Le ecureuil сказал:
Конечно есть.
1. tcp rst - это, по хорошему, вмешательство в трафик. Хотя вроде администратор сам этого хочет.
2. А сколько должна жить эта блокирующая запись в нетфильтре?
3. На нее могут попадать и легитимные соединения от, скажем, другого проброса - что не очень хорошо.
Так, стоп, тут не хорошо, а то что мы натыкаемся в правилах на не легитимную цепочку по 443 порту, то это нормально?
== Chain INPUT == src: 0.0.0.0/0, dst: 0.0.0.0/0, in: "*", out: "*", proto: "TCP"; "tcp" match, mask: , cmp: , dport: 443; jump to "_NDM_HTTP_INPUT_TLS_"
-
1 час назад, Ponywka сказал:
Это знаю. У меня висят хэндлеры на это. Проблема в том, что тут совпадают тайминги с запуском программы и началом очистки, от чего программа падает
Значит надо избавиться от цепочек, переделать в одну команду. Я так и сделал в свое время.
-
1
-
-
19 минут назад, Le ecureuil сказал:
Нет, для нас главное - выявить аномалии в работе.
Это в логе и есть аномалия, пусть и вызванная вероятно легитимным интерфейсом tun0, который вы создали в opkg.
А от аномалии избавите?
-
А можно как-то покомпактнее падать, сильно лог раздувается?
Спойлер[E] Apr 8 17:35:35 ndm: Network::Ip6::RoutingTable: unable to resolve 'tun0' '' '2606:4700:110:85e5:b845:9edb:7fd6:3a36/128' '::'. [E] Apr 8 17:35:35 ndm: Network::Ip6::RoutingTable: "Queue::SFMMNSOKLEIDRHHP::http/rci" (1618) backtrace: [E] Apr 8 17:35:35 ndm: Network::Ip6::RoutingTable: Network::Ip6::RoutingTable::GetRoutes_(AutoPVector<Network::Ip6::RoutingTable::Entry, StdDeleter>&, LockedPtr<Network::Interface::Ip6 const> const&, Network::Ip6::CBlock const&, unsigned int, bool, Log::VerboseT) const+0xa8 [E] Apr 8 17:35:35 ndm: Network::Ip6::RoutingTable: Network::Ip6::RoutingTable::GetRoutes(AutoPVector<Network::Ip6::RoutingTable::Entry, StdDeleter>&, CString const&, Network::Ip6::CBlock const&, unsigned int, Log::VerboseT) const+0x88 [E] Apr 8 17:35:35 ndm: Network::Ip6::RoutingTable: Command::(anonymous namespace)::ShowIpv6Route::Execute(Command::Request const&, Command::Response&) const+0x178 [E] Apr 8 17:35:35 ndm: Network::Ip6::RoutingTable: Core::Configurator::Execute(Command::Base const*, Command::Request const&, Command::Response&)+0x158 [E] Apr 8 17:35:35 ndm: Network::Ip6::RoutingTable: Core::Configurator::Serve(Command::Request const&, Command::Response&)+0x3c8 [E] Apr 8 17:35:35 ndm: Network::Ip6::RoutingTable: Core::Scgi::Tools::(anonymous namespace)::JsonPostObject_(Core::Configurator&, Command::Request const&, Core::Scgi::Trace&, Json::Object const*, Json::Object*)+0x704 [E] Apr 8 17:35:35 ndm: Network::Ip6::RoutingTable: Core::Scgi::Tools::(anonymous namespace)::JsonPostValue_(Core::Configurator&, Command::Request const&, Core::Scgi::Trace&, Json::Value const*, Json::Object*) [clone .lto_priv.0]+0x19c [E] Apr 8 17:35:35 ndm: Network::Ip6::RoutingTable: Core::Scgi::Tools::(anonymous namespace)::JsonPostObject_(Core::Configurator&, Command::Request const&, Core::Scgi::Trace&, Json::Object const*, Json::Object*)+0xc3c [E] Apr 8 17:35:35 ndm: Network::Ip6::RoutingTable: Core::Scgi::Tools::(anonymous namespace)::JsonPostValue_(Core::Configurator&, Command::Request const&, Core::Scgi::Trace&, Json::Value const*, Json::Object*) [clone .lto_priv.0]+0x19c [E] Apr 8 17:35:35 ndm: Network::Ip6::RoutingTable: Core::Scgi::Tools::(anonymous namespace)::JsonPostObject_(Core::Configurator&, Command::Request const&, Core::Scgi::Trace&, Json::Object const*, Json::Object*)+0xc3c [E] Apr 8 17:35:35 ndm: Network::Ip6::RoutingTable: Core::Scgi::Tools::(anonymous namespace)::JsonPostValue_(Core::Configurator&, Command::Request const&, Core::Scgi::Trace&, Json::Value const*, Json::Object*) [clone .lto_priv.0]+0x19c [E] Apr 8 17:35:35 ndm: Network::Ip6::RoutingTable: Core::Scgi::Tools::(anonymous namespace)::JsonPostObject_(Core::Configurator&, Command::Request const&, Core::Scgi::Trace&, Json::Object const*, Json::Object*)+0xc3c [E] Apr 8 17:35:35 ndm: Network::Ip6::RoutingTable: Core::Scgi::Tools::(anonymous namespace)::JsonPostArray_(Core::Configurator&, Command::Request const&, Core::Scgi::Trace&, Json::Array const*, Json::Array*)+0xf8 [E] Apr 8 17:35:35 ndm: Network::Ip6::RoutingTable: Core::Scgi::Tools::(anonymous namespace)::JsonPostValue_(Core::Configurator&, Command::Request const&, Core::Scgi::Trace&, Json::Value const*, Json::Object*) [clone .lto_priv.0]+0x468 [E] Apr 8 17:35:35 ndm: Network::Ip6::RoutingTable: Core::Scgi::Tools::JsonPost(Core::Configurator&, Core::Scgi::Request const&, Json::Document const&, Core::Scgi::Trace&, Json::Document&, bool*)+0x144 [E] Apr 8 17:35:35 ndm: Network::Ip6::RoutingTable: Core::Scgi::ThreadPool::Task_::ProcessJsonRequest_(Core::Scgi::Request const&, Core::Scgi::Trace&, Array<char>&, Io::OStream&)+0x358 [E] Apr 8 17:35:35 ndm: Network::Ip6::RoutingTable: Core::Scgi::ThreadPool::Task_::Run()+0x14c [E] Apr 8 17:35:35 ndm: Network::Ip6::RoutingTable: Task::Thread::Run_()+0x150 [E] Apr 8 17:35:35 ndm: Network::Ip6::RoutingTable: Task::Thread::Run()+0x18 [E] Apr 8 17:35:35 ndm: Network::Ip6::RoutingTable: Thread::StartRoutine_(void*)+0x2cc [E] Apr 8 17:35:35 ndm: Network::Ip6::RoutingTable: start()+0x90 [E] Apr 8 17:35:35 ndm: Network::Ip6::RoutingTable: __clone()+0x30
-
3 минуты назад, vasek00 сказал:
По пробовал на другом провайдере и фишка
2025/04/08 15:57:16 Registering with locale en_US and model PC You must accept the Terms of Service (https://www.cloudflare.com/application/terms/) to register. Do you agree? (y/n): y 2025/04/08 15:57:29 Failed to register: failed to send request: Post "https://api.cloudflareclient.com/....../reg": net/http: TLS handshake timeout /opt/home/usque #
Registering with locale en_US and model PC
Подсунул VPN (Европа) тогда ОК, регистрация. Повторяется - как и раньше - процедура регистрации.
Попробуй для готового конфига usque enroll
-
23 минуты назад, vasek00 сказал:
Вот что получилось
/opt/home/usque # ./usque register 2025/04/08 15:05:13 Config file not found: failed to open config file: open config.json: no such file or directory 2025/04/08 15:05:13 You may only use the register command to generate one. 2025/04/08 15:05:13 Registering with locale en_US and model PC You must accept the Terms of Service (https://www.cloudflare.com/application/terms/) to register. Do you agree? (y/n): y 2025/04/08 15:05:25 Enrolling device key... 2025/04/08 15:05:26 Successful registration. Saving config... 2025/04/08 15:05:26 Config saved to config.json /opt/home/usque # ./usque nativetun 2025/04/08 15:06:18 created TUN device: tun0 2025/04/08 15:06:18 Tunnel established, you may now set up routing and DNS 2025/04/08 15:06:18 Establishing MASQUE connection to 1хх.ххх.ххх.ххх:443 2025/04/08 15:06:20 Connected to MASQUE server 2025/04/08 15:06:20 dropping proxied packet (76 bytes) that can't be proxied: connect-ip: datagram Hop Limit too small: 1 2025/04/08 15:06:20 dropping proxied packet (76 bytes) that can't be proxied: connect-ip: datagram Hop Limit too small: 1 2025/04/08 15:06:20 dropping proxied packet (76 bytes) that can't be proxied: connect-ip: datagram Hop Limit too small: 1 2025/04/08 15:06:20 dropping proxied packet (76 bytes) that can't be proxied: connect-ip: datagram Hop Limit too small: 1 ~ # ifconfig ... tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:172.16.0.2 P-t-P:172.16.0.2 Mask:255.255.255.255 inet6 addr: fe80:.....:2031/64 Scope:Link inet6 addr: 2606:.....:568a/128 Scope:Global UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1280 Metric:1 RX packets:17 errors:0 dropped:0 overruns:0 frame:0 TX packets:25 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:500 RX bytes:5111 (4.9 KiB) TX bytes:2410 (2.3 KiB) ~ # ping -I tun0 1.1 PING 1.1 (1.0.0.1): 56 data bytes 64 bytes from 1.0.0.1: seq=0 ttl=64 time=28.770 ms 64 bytes from 1.0.0.1: seq=1 ttl=64 time=26.136 ms 64 bytes from 1.0.0.1: seq=2 ttl=64 time=26.556 ms ^C --- 1.1 ping statistics --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max = 26.136/27.154/28.770 ms ~ # curl --interface tun0 https://cloudflare.com/cdn-cgi/trace fl=8.......3 h=cloudflare.com ip=104......... ts=1......7 visit_scheme=https uag=curl/8.10.1 colo=DME sliver=none http=http/1.1 loc=RU tls=TLSv1.3 sni=plaintext warp=on gateway=off rbi=off kex=......9 ~ # { "private_key": "M.....................................................................................................g==", "endpoint_v4": "1хх.ххх.ххх.1", "endpoint_v6": "2606:.......::1", "endpoint_pub_key": "-----BEGIN PUBLIC KEY-----\n.....................................6w==\n-----END PUBLIC KEY-----\n", "license": "0F7............................E3", "id": "fda.............8b9", "access_token": "fe..........39", "ipv4": "172.16.0.2", "ipv6": "2606:...........:568a" }
Я и говорю, круто-же.
Спойлерusque-upgrade.sh
#!/bin/sh masq_dir=/opt/sbin masq_fn=usque function get_download_url { curl -kfsS https://api.github.com/repos/$1/$2/releases/latest 2>/dev/null | jq -r '.assets[] | select(.browser_download_url | endswith("_linux_arm64.zip")) | .browser_download_url' } URL=$(get_download_url Diniboy1123 usque) echo $URL curl -kfsSL $URL -o /tmp/$masq_fn.zip if [ ! -z "$1" ]; then cp -f $masq_dir/$masq_fn $masq_dir/$masq_fn.1 fi unzip -o /tmp/$masq_fn.zip -d /tmp ${masq_fn} rm -f /tmp/$masq_fn.zip mv -f /tmp/${masq_fn} $masq_dir/$masq_fn chmod +x $masq_dir/$masq_fn ls -al $masq_dir/$masq_fn* /opt/etc/init.d/S77usque restart
S77usque
#!/bin/sh ENABLED=yes PROCS=usque CONF="/opt/etc/usque/usque.json" ARGS="--config $CONF nativetun" PREARGS="" DESC=$PROCS PATH=/opt/sbin:/opt/bin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin case $1 in start|restart) ipv4=`cat $CONF 2>/dev/null | jq -r '.endpoint_v4'` ipv6=`cat $CONF 2>/dev/null | jq -r '.endpoint_v6'` ip -4 route add $ipv4 dev eth3 2>/dev/null ip -6 route add $ipv6 dev eth3 2>/dev/null ;; esac . /opt/etc/init.d/rc.func
-
Ура дождались.
Проект USQUE. Меня пока радует, удалось зарегистрироваться и прогнать трафик через http,sock. Пока непонятно как tun организовать.
Спойлерroot@RPi4:~# cd /tmp/1 root@RPi4:/tmp/1# chmod +x usque root@RPi4:/tmp/1# usque --help -ash: usque: not found root@RPi4:/tmp/1# ls -al drwxr-xr-x 2 root root 60 Apr 8 15:17 . drwxrwxrwt 20 root root 580 Apr 8 15:17 .. -rwxr-xr-x 1 root root 10813624 Apr 1 00:54 usque root@RPi4:/tmp/1# ./usque --help An unofficial Cloudflare Warp CLI that uses the MASQUE protocol and exposes the tunnel as various different services. Usage: usque [command] Available Commands: completion Generate the autocompletion script for the specified shell enroll Enrolls a MASQUE private key and switches mode help Help about any command http-proxy Expose Warp as an HTTP proxy with CONNECT support nativetun Expose Warp as a native TUN device portfw Forward ports through a MASQUE tunnel register Register a new client and enroll a device key socks Expose Warp as a SOCKS5 proxy version Print the version number of usque Flags: -c, --config string config file (default is config.json) (default "config.json") -h, --help help for usque Use "usque [command] --help" for more information about a command. root@RPi4:/tmp/1# ./usque register 2025/04/08 12:18:44 Config file not found: failed to open config file: open config.json: no such file or directory 2025/04/08 12:18:44 You may only use the register command to generate one. 2025/04/08 12:18:44 Registering with locale en_US and model PC You must accept the Terms of Service (https://www.cloudflare.com/application/terms/) to register. Do you agree? (y/n): y 2025/04/08 12:18:50 Enrolling device key... 2025/04/08 12:18:51 Successful registration. Saving config... 2025/04/08 12:18:51 Config saved to config.json root@RPi4:/tmp/1# mc root@RPi4:/tmp/1# ./usque nativetun 2025/04/08 12:20:53 Are you root/administrator? TUN device creation usually requires elevated privileges. 2025/04/08 12:20:53 failed to create TUN device: no such file or directory root@RPi4:/tmp/1# ./usque socks 2025/04/08 12:21:30 SOCKS proxy listening on 0.0.0.0:1080 2025/04/08 12:21:30 Establishing MASQUE connection to 162.159.198.1:443 2025/04/08 12:21:32 Connected to MASQUE server
-
2
-
-
22 минуты назад, Billie сказал:
остальные команды ввёл, а подскажите что тут вводить ?
Адрес вашего сервера и порт.
Периодически отваливается VPN‐соединение через Wireguard
в Обсуждение IPsec, OpenVPN и других туннелей
Опубликовано · Изменено пользователем avn
Можно ещё для warp client-id задать, он тоже видоизменяет пакеты.
interface Wireguard2 wireguard peer bmXOC+F1FxEMF9dyiK2H5/1SUtzH0JuVo51h2wPfgyo= !ZyWARP client-id send {client-id as integer}
JSCFAPI=$(curl -4s --interface $WGCFIF --connect-timeout 2 "https://api.cloudflareclient.com/v0a884/reg/$DEVICE_ID" -H "User-Agent: okhttp/3.12.1" -H "Authorization: Bearer $ACCESS_TOKEN") echo $JSCFAPI | jq -r '.config.client_id' | base64 -d | hexdump -e '/1 "%x"'