Jump to content

avn

Forum Members
  • Posts

    446
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by avn

  1. В таблице имеет значение только это, остальное косвенное default dev ppp0 scope link
  2. Может я вопроса не понял? json=`curl -kfsS http://localhost:79/rci/show/ip/policy 2>/dev/null | jq -r '.[] | select(.description == " S99sing-box")'` xt_mark=`echo $json | jq -r '.mark'` xt_table=`echo $json | jq -r '.table4'` xt_iface=`ip -4 route show table ${xt_table} | awk '/default/ { print $3 }'`
  3. Не надо путать agh с браузером и dpi. Dns сервера режут рекламу, только по dns имени. Хотите резать рекламу пользуйтесь dpi, например squid
  4. Может у провайдера проверка на мак адрес используется?
  5. Лучше перейти на каталог и писать туда хоть 100 конфигов conf-dir=/opt/etc/dnsmasq.d/,*.dnsmasq
  6. Кто вам такое сказал, что redirect не поддерживает udp? Достаточно посмотреть на правила iptables -t nat -nvL _NDM_HOTSPOT_DNSREDIR и понять, что кинетик активно использует redirect для udp
  7. Сертификаты уже давно выдают на ip-адрес. Вам просто не повезло с вашим dns провайдером.
  8. А плэйлист как выглядит? Надо понять что за траффик - мультикаст или обычный.
  9. Да, учитываю, что роутеры у большинства это не aarch64, это отличная идея гнать весь траффик через v2ray\xray. Это правила, которые работают у меня, под себя модифицируем их самостоятельно. Мой выбор xray+dnsmasq+ipset
  10. Остановился пока на такой конфигурации. Работают как запросы с bridge так и локальный траффик. Это просто магия какая-то. /opt/etc/ndm/netfilter.d/10m-v2ray.sh /opt/etc/v2ray/10-tproxy.json /opt/etc/v2ray/outgoing*
  11. Т.е. если сторонний сайт будет висеть на порту 8443, то будем опять разбираться, почему не работает.
  12. Причина найдена. Нормальной работе мешает правило -A INPUT -p tcp -m tcp --dport 443 -j _NDM_HTTP_INPUT_TLS_ Если его удалить, то все работает iptables -t mangle -D INPUT -p tcp -m tcp --dport 443 -j _NDM_HTTP_INPUT_TLS_ Админы, подскажите решение... @vst @Le ecureuil
  13. Если по протоколу ipv4 без https (curl -4v http://ipecho.net/plain) - все работает. ~ # tcpdump -i br0 -vv host 34.160.111.145 tcpdump: listening on br0, link-type EN10MB (Ethernet), snapshot length 262144 bytes 17:33:40.554071 IP (tos 0x0, ttl 128, id 1840, offset 0, flags [DF], proto TCP (6), length 48) 192.168.97.123.65203 > 145.111.160.34.bc.googleusercontent.com.http: Flags [S], cksum 0xdcf3 (correct), seq 1370138167, win 64240, options [mss 1460,nop,nop,sackOK], length 0 17:33:40.554503 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 48) 145.111.160.34.bc.googleusercontent.com.http > 192.168.97.123.65203: Flags [S.], cksum 0xb477 (incorrect -> 0xbf73), seq 88121615, ack 1370138168, win 29200, options [mss 1460,nop,nop,sackOK], length 0 17:33:40.556456 IP (tos 0x0, ttl 128, id 1841, offset 0, flags [DF], proto TCP (6), length 40) 192.168.97.123.65203 > 145.111.160.34.bc.googleusercontent.com.http: Flags [.], cksum 0x6357 (correct), seq 1, ack 1, win 64240, length 0 17:33:40.558893 IP (tos 0x0, ttl 128, id 1842, offset 0, flags [DF], proto TCP (6), length 118) 192.168.97.123.65203 > 145.111.160.34.bc.googleusercontent.com.http: Flags [P.], cksum 0x0e68 (correct), seq 1:79, ack 1, win 64240, length 78: HTTP, length: 78 GET /plain HTTP/1.1 Host: ipecho.net User-Agent: curl/8.2.1 Accept: */* 17:33:40.559165 IP (tos 0x0, ttl 64, id 937, offset 0, flags [DF], proto TCP (6), length 40) 145.111.160.34.bc.googleusercontent.com.http > 192.168.97.123.65203: Flags [.], cksum 0xb46f (incorrect -> 0xebe9), seq 1, ack 79, win 29200, length 0 17:33:41.126494 IP (tos 0x0, ttl 64, id 938, offset 0, flags [DF], proto TCP (6), length 346) 145.111.160.34.bc.googleusercontent.com.http > 192.168.97.123.65203: Flags [P.], cksum 0xb5a1 (incorrect -> 0x24ca), seq 1:307, ack 79, win 29200, length 306: HTTP, length: 306 HTTP/1.1 200 OK server: istio-envoy date: Thu, 09 Nov 2023 14:33:50 GMT content-type: text/plain; charset=utf-8 content-length: 22 access-control-allow-origin: * x-envoy-upstream-service-time: 1 strict-transport-security: max-age=2592000; includeSubDomains Via: 1.1 google 2a00:1022::1 [|http] 17:33:41.138142 IP (tos 0x0, ttl 128, id 1843, offset 0, flags [DF], proto TCP (6), length 40) 192.168.97.123.65203 > 145.111.160.34.bc.googleusercontent.com.http: Flags [F.], cksum 0x6308 (correct), seq 79, ack 307, win 63934, length 0 17:33:41.184199 IP (tos 0x0, ttl 64, id 939, offset 0, flags [DF], proto TCP (6), length 40) 145.111.160.34.bc.googleusercontent.com.http > 192.168.97.123.65203: Flags [.], cksum 0xb46f (incorrect -> 0xeab6), seq 307, ack 80, win 29200, length 0 17:33:42.139804 IP (tos 0x0, ttl 64, id 940, offset 0, flags [DF], proto TCP (6), length 40) 145.111.160.34.bc.googleusercontent.com.http > 192.168.97.123.65203: Flags [F.], cksum 0xb46f (incorrect -> 0xeab5), seq 307, ack 80, win 29200, length 0 17:33:42.141353 IP (tos 0x0, ttl 128, id 1844, offset 0, flags [DF], proto TCP (6), length 40) 192.168.97.123.65203 > 145.111.160.34.bc.googleusercontent.com.http: Flags [.], cksum 0x6307 (correct), seq 80, ack 308, win 63934, length 0
  14. Трафик на br0. ipv6 - работает, ipv4 - не работает tcpdump: listening on br0, link-type EN10MB (Ethernet), snapshot length 262144 bytes 17:21:10.948006 IP6 (flowlabel 0xf7275, hlim 64, next-header TCP (6) payload length: 28) 2a55:dd80:330b:5566:f565:6e54:852d:528c.65152 > 2600:1901:0:b2bd::.https: Flags [S], cksum 0xb5a1 (correct), seq 179399871, win 64800, options [mss 1440,nop,nop,sackOK], length 0 17:21:10.948499 IP6 (flowlabel 0x5b2b9, hlim 64, next-header TCP (6) payload length: 28) 2600:1901:0:b2bd::.https > 2a55:dd80:330b:5566:f565:6e54:852d:528c.65152: Flags [S.], cksum 0x58e7 (incorrect -> 0x99c4), seq 3770140596, ack 179399872, win 28800, options [mss 1440,nop,nop,sackOK], length 0 17:21:10.949554 IP6 (flowlabel 0xf7275, hlim 64, next-header TCP (6) payload length: 20) 2a55:dd80:330b:5566:f565:6e54:852d:528c.65152 > 2600:1901:0:b2bd::.https: Flags [.], cksum 0x39d4 (correct), seq 1, ack 1, win 64800, length 0 17:21:10.970729 IP6 (flowlabel 0xf7275, hlim 64, next-header TCP (6) payload length: 537) 2a55:dd80:330b:5566:f565:6e54:852d:528c.65152 > 2600:1901:0:b2bd::.https: Flags [P.], cksum 0x2a57 (correct), seq 1:518, ack 1, win 64800, length 517 17:21:10.971071 IP6 (flowlabel 0x5b2b9, hlim 64, next-header TCP (6) payload length: 20) 2600:1901:0:b2bd::.https > 2a55:dd80:330b:5566:f565:6e54:852d:528c.65152: Flags [.], cksum 0x58df (incorrect -> 0xc1c7), seq 1, ack 518, win 29480, length 0 17:21:11.445891 IP6 (flowlabel 0x5b2b9, hlim 64, next-header TCP (6) payload length: 4609) 2600:1901:0:b2bd::.https > 2a55:dd80:330b:5566:f565:6e54:852d:528c.65152: Flags [P.], cksum 0x6acc (incorrect -> 0xf9a9), seq 1:4590, ack 518, win 29480, length 4589 17:21:11.448812 IP6 (flowlabel 0xf7275, hlim 64, next-header TCP (6) payload length: 20) 2a55:dd80:330b:5566:f565:6e54:852d:528c.65152 > 2600:1901:0:b2bd::.https: Flags [.], cksum 0x25e2 (correct), seq 518, ack 4590, win 64800, length 0 17:21:11.464933 IP6 (flowlabel 0xf7275, hlim 64, next-header TCP (6) payload length: 100) 2a55:dd80:330b:5566:f565:6e54:852d:528c.65152 > 2600:1901:0:b2bd::.https: Flags [P.], cksum 0x490b (correct), seq 518:598, ack 4590, win 64800, length 80 17:21:11.465092 IP6 (flowlabel 0x5b2b9, hlim 64, next-header TCP (6) payload length: 20) 2600:1901:0:b2bd::.https > 2a55:dd80:330b:5566:f565:6e54:852d:528c.65152: Flags [.], cksum 0x58df (incorrect -> 0xaf8a), seq 4590, ack 598, win 29480, length 0 17:21:11.470381 IP6 (flowlabel 0xf7275, hlim 64, next-header TCP (6) payload length: 106) 2a55:dd80:330b:5566:f565:6e54:852d:528c.65152 > 2600:1901:0:b2bd::.https: Flags [P.], cksum 0x9269 (correct), seq 598:684, ack 4590, win 64800, length 86 17:21:11.470591 IP6 (flowlabel 0x5b2b9, hlim 64, next-header TCP (6) payload length: 20) 2600:1901:0:b2bd::.https > 2a55:dd80:330b:5566:f565:6e54:852d:528c.65152: Flags [.], cksum 0x58df (incorrect -> 0xaf34), seq 4590, ack 684, win 29480, length 0 17:21:11.474099 IP6 (flowlabel 0xf7275, hlim 64, next-header TCP (6) payload length: 84) 2a55:dd80:330b:5566:f565:6e54:852d:528c.65152 > 2600:1901:0:b2bd::.https: Flags [P.], cksum 0x5015 (correct), seq 684:748, ack 4590, win 64800, length 64 17:21:11.474286 IP6 (flowlabel 0x5b2b9, hlim 64, next-header TCP (6) payload length: 20) 2600:1901:0:b2bd::.https > 2a55:dd80:330b:5566:f565:6e54:852d:528c.65152: Flags [.], cksum 0x58df (incorrect -> 0xaef4), seq 4590, ack 748, win 29480, length 0 17:21:11.533920 IP6 (flowlabel 0x5b2b9, hlim 64, next-header TCP (6) payload length: 638) 2600:1901:0:b2bd::.https > 2a55:dd80:330b:5566:f565:6e54:852d:528c.65152: Flags [P.], cksum 0x5b49 (incorrect -> 0x33c6), seq 4590:5208, ack 748, win 29480, length 618 17:21:11.537602 IP6 (flowlabel 0x5b2b9, hlim 64, next-header TCP (6) payload length: 51) 2600:1901:0:b2bd::.https > 2a55:dd80:330b:5566:f565:6e54:852d:528c.65152: Flags [P.], cksum 0x58fe (incorrect -> 0x601b), seq 5208:5239, ack 748, win 29480, length 31 17:21:11.538576 IP6 (flowlabel 0xf7275, hlim 64, next-header TCP (6) payload length: 20) 2a55:dd80:330b:5566:f565:6e54:852d:528c.65152 > 2600:1901:0:b2bd::.https: Flags [.], cksum 0x24fc (correct), seq 748, ack 5239, win 64151, length 0 17:21:11.539558 IP6 (flowlabel 0xf7275, hlim 64, next-header TCP (6) payload length: 51) 2a55:dd80:330b:5566:f565:6e54:852d:528c.65152 > 2600:1901:0:b2bd::.https: Flags [P.], cksum 0x97f2 (correct), seq 748:779, ack 5239, win 64151, length 31 17:21:11.539668 IP6 (flowlabel 0x5b2b9, hlim 64, next-header TCP (6) payload length: 20) 2600:1901:0:b2bd::.https > 2a55:dd80:330b:5566:f565:6e54:852d:528c.65152: Flags [.], cksum 0x58df (incorrect -> 0xac4c), seq 5239, ack 779, win 29480, length 0 17:21:11.653759 IP6 (flowlabel 0x5b2b9, hlim 64, next-header TCP (6) payload length: 311) 2600:1901:0:b2bd::.https > 2a55:dd80:330b:5566:f565:6e54:852d:528c.65152: Flags [P.], cksum 0x5a02 (incorrect -> 0xb2d7), seq 5239:5530, ack 779, win 29480, length 291 17:21:11.655048 IP6 (flowlabel 0xf7275, hlim 64, next-header TCP (6) payload length: 59) 2a55:dd80:330b:5566:f565:6e54:852d:528c.65152 > 2600:1901:0:b2bd::.https: Flags [P.], cksum 0x4903 (correct), seq 779:818, ack 5530, win 63860, length 39 17:21:11.655288 IP6 (flowlabel 0x5b2b9, hlim 64, next-header TCP (6) payload length: 20) 2600:1901:0:b2bd::.https > 2a55:dd80:330b:5566:f565:6e54:852d:528c.65152: Flags [.], cksum 0x58df (incorrect -> 0xab02), seq 5530, ack 818, win 29480, length 0 17:21:11.668278 IP6 (flowlabel 0xf7275, hlim 64, next-header TCP (6) payload length: 20) 2a55:dd80:330b:5566:f565:6e54:852d:528c.65152 > 2600:1901:0:b2bd::.https: Flags [F.], cksum 0x24b5 (correct), seq 818, ack 5530, win 63860, length 0 17:21:11.716190 IP6 (flowlabel 0x5b2b9, hlim 64, next-header TCP (6) payload length: 20) 2600:1901:0:b2bd::.https > 2a55:dd80:330b:5566:f565:6e54:852d:528c.65152: Flags [.], cksum 0x58df (incorrect -> 0xab01), seq 5530, ack 819, win 29480, length 0 17:21:12.669991 IP6 (flowlabel 0x5b2b9, hlim 64, next-header TCP (6) payload length: 20) 2600:1901:0:b2bd::.https > 2a55:dd80:330b:5566:f565:6e54:852d:528c.65152: Flags [F.], cksum 0x58df (incorrect -> 0xab00), seq 5530, ack 819, win 29480, length 0 17:21:12.671138 IP6 (flowlabel 0xf7275, hlim 64, next-header TCP (6) payload length: 20) 2a55:dd80:330b:5566:f565:6e54:852d:528c.65152 > 2600:1901:0:b2bd::.https: Flags [.], cksum 0x24b4 (correct), seq 819, ack 5531, win 63860, length 0 tcpdump: listening on br0, link-type EN10MB (Ethernet), snapshot length 262144 bytes 17:22:46.023806 IP (tos 0x0, ttl 128, id 1824, offset 0, flags [DF], proto TCP (6), length 48) 192.168.97.123.65160 > 145.111.160.34.bc.googleusercontent.com.https: Flags [S], cksum 0x42cc (correct), seq 2528311830, win 64240, options [mss 1460,nop,nop,sackOK], length 0 17:22:46.024221 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 48) 145.111.160.34.bc.googleusercontent.com.https > 192.168.97.123.65160: Flags [S.], cksum 0xb477 (incorrect -> 0xaed0), seq 1110301341, ack 2528311831, win 29200, options [mss 1460,nop,nop,sackOK], length 0 17:22:46.025140 IP (tos 0x0, ttl 128, id 1825, offset 0, flags [DF], proto TCP (6), length 40) 192.168.97.123.65160 > 145.111.160.34.bc.googleusercontent.com.https: Flags [.], cksum 0x52b4 (correct), seq 1, ack 1, win 64240, length 0 17:22:46.055902 IP (tos 0x0, ttl 128, id 1826, offset 0, flags [DF], proto TCP (6), length 557) 192.168.97.123.65160 > 145.111.160.34.bc.googleusercontent.com.https: Flags [P.], cksum 0x6918 (correct), seq 1:518, ack 1, win 64240, length 517 17:22:46.362233 IP (tos 0x0, ttl 128, id 1827, offset 0, flags [DF], proto TCP (6), length 557) 192.168.97.123.65160 > 145.111.160.34.bc.googleusercontent.com.https: Flags [P.], cksum 0x6918 (correct), seq 1:518, ack 1, win 64240, length 517 17:22:46.975580 IP (tos 0x0, ttl 128, id 1828, offset 0, flags [DF], proto TCP (6), length 557) 192.168.97.123.65160 > 145.111.160.34.bc.googleusercontent.com.https: Flags [P.], cksum 0x6918 (correct), seq 1:518, ack 1, win 64240, length 517 17:22:48.183102 IP (tos 0x0, ttl 128, id 1829, offset 0, flags [DF], proto TCP (6), length 557) 192.168.97.123.65160 > 145.111.160.34.bc.googleusercontent.com.https: Flags [P.], cksum 0x6918 (correct), seq 1:518, ack 1, win 64240, length 517 17:22:50.582709 IP (tos 0x0, ttl 128, id 1830, offset 0, flags [DF], proto TCP (6), length 557) 192.168.97.123.65160 > 145.111.160.34.bc.googleusercontent.com.https: Flags [P.], cksum 0x6918 (correct), seq 1:518, ack 1, win 64240, length 517 17:22:55.397875 IP (tos 0x0, ttl 128, id 1831, offset 0, flags [DF], proto TCP (6), length 557) 192.168.97.123.65160 > 145.111.160.34.bc.googleusercontent.com.https: Flags [P.], cksum 0x6918 (correct), seq 1:518, ack 1, win 64240, length 517 17:22:57.022852 IP (tos 0x0, ttl 64, id 31512, offset 0, flags [DF], proto TCP (6), length 40) 145.111.160.34.bc.googleusercontent.com.https > 192.168.97.123.65160: Flags [F.], cksum 0xb46f (incorrect -> 0xdb93), seq 1, ack 1, win 29200, length 0 17:22:57.025255 IP (tos 0x0, ttl 128, id 1832, offset 0, flags [DF], proto TCP (6), length 40) 192.168.97.123.65160 > 145.111.160.34.bc.googleusercontent.com.https: Flags [.], cksum 0x50ae (correct), seq 518, ack 2, win 64240, length 0 17:22:57.028114 IP (tos 0x0, ttl 128, id 1833, offset 0, flags [DF], proto TCP (6), length 40) 192.168.97.123.65160 > 145.111.160.34.bc.googleusercontent.com.https: Flags [F.], cksum 0x50ad (correct), seq 518, ack 2, win 64240, length 0 17:22:57.036032 IP (tos 0x0, ttl 128, id 1834, offset 0, flags [DF], proto TCP (6), length 40) 192.168.97.123.65160 > 145.111.160.34.bc.googleusercontent.com.https: Flags [R.], cksum 0x4b9a (correct), seq 519, ack 2, win 0, length 0 17:22:57.228226 IP (tos 0x0, ttl 64, id 31513, offset 0, flags [DF], proto TCP (6), length 40) 145.111.160.34.bc.googleusercontent.com.https > 192.168.97.123.65160: Flags [F.], cksum 0xb46f (incorrect -> 0xdb93), seq 1, ack 1, win 29200, length 0 17:22:57.436229 IP (tos 0x0, ttl 64, id 31514, offset 0, flags [DF], proto TCP (6), length 40) 145.111.160.34.bc.googleusercontent.com.https > 192.168.97.123.65160: Flags [F.], cksum 0xb46f (incorrect -> 0xdb93), seq 1, ack 1, win 29200, length 0 17:22:57.848250 IP (tos 0x0, ttl 64, id 31515, offset 0, flags [DF], proto TCP (6), length 40) 145.111.160.34.bc.googleusercontent.com.https > 192.168.97.123.65160: Flags [F.], cksum 0xb46f (incorrect -> 0xdb93), seq 1, ack 1, win 29200, length 0 17:22:58.680246 IP (tos 0x0, ttl 64, id 31516, offset 0, flags [DF], proto TCP (6), length 40) 145.111.160.34.bc.googleusercontent.com.https > 192.168.97.123.65160: Flags [F.], cksum 0xb46f (incorrect -> 0xdb93), seq 1, ack 1, win 29200, length 0 17:23:00.344196 IP (tos 0x0, ttl 64, id 31517, offset 0, flags [DF], proto TCP (6), length 40) 145.111.160.34.bc.googleusercontent.com.https > 192.168.97.123.65160: Flags [F.], cksum 0xb46f (incorrect -> 0xdb93), seq 1, ack 1, win 29200, length 0 17:23:03.644257 IP (tos 0x0, ttl 64, id 31518, offset 0, flags [DF], proto TCP (6), length 40) 145.111.160.34.bc.googleusercontent.com.https > 192.168.97.123.65160: Flags [F.], cksum 0xb46f (incorrect -> 0xdb93), seq 1, ack 1, win 29200, length 0 17:23:10.296219 IP (tos 0x0, ttl 64, id 31519, offset 0, flags [DF], proto TCP (6), length 40) 145.111.160.34.bc.googleusercontent.com.https > 192.168.97.123.65160: Flags [F.], cksum 0xb46f (incorrect -> 0xdb93), seq 1, ack 1, win 29200, length 0 17:23:23.612229 IP (tos 0x0, ttl 64, id 31520, offset 0, flags [DF], proto TCP (6), length 40) 145.111.160.34.bc.googleusercontent.com.https > 192.168.97.123.65160: Flags [F.], cksum 0xb46f (incorrect -> 0xdb93), seq 1, ack 1, win 29200, length 0
  15. Можно в конфиг добавить строку conf-dir=/opt/etc/dnsmasq.d/,*.dnsmasq и теперь dnsmasq будет вычитывать все файлы *.dnsmasq из директории /opt/etc/dnsmasq.d/
  16. Добрый вечер! Пришло время разобраться с TProxy для ipv4. Беру любой сервис (например v2ray,ss,squid и т.д.), который слушает определенный порт на роутере, например 9172, и пересылает траффик в режиме tproxy на удаленный сервер. Пишу симметричные скрипты для ipv4 и для ipv6 траффика. Так же сделаны настройки роутера system set net.ipv4.ip_forward 1 set net.ipv6.conf.all.forwarding 1 set net.ipv4.tcp_fwmark_accept 1 ! Тесты: curl -4v https://ipecho.net/plain -- не работает curl -6v https://ipecho.net/plain -- работает Что не так для ipv4? Уже все ядро перелопатил, все должно работать.
  17. Все очень просто. Ставите dnsmasq, dns-ipset или adguard home. Делаете в них настройку списков доменов, которые нужно перенаправить на сторонний интерфейс или службу. Dns-server после настройки будет резолвить имена для этих доменов в ipset. Далее настраиваете маршрутизацию для ipset. Все профит!
  18. Nпginx может проксировать все что угодно и куда угодно. Во первых можно настроить для xray транспорт ws или grpc. Во вторых можно развести потоки по доменному имени. У меня на одном порту сейчас сидят сервисы WireGuard, SSH, Web, xray и nginx успешно это проксирует. А web вообще бесконечно разводится на сторонние сервисы Transmission, TorrServer, mtproxy и т.д. Можно еще применять лайфхак для сервисов, которые не поддерживают proxyprotocol, например ssh
  19. А что мешает на одном порту держать несколько разных сервисов? Вообще ничего.
  20. Правила либо есть, либо их нету в текущем состоянии iptables. Вам надо разбираться, что происходит. Проблем с redirect не наблюдаю еще со времен shadowsocks.
  21. Скажу по поводу tproxy - все мои эксперименты окончились фиаско. Длинные цепочки на keenetic работают очень плохо за счет постоянного их пересоздания и очистки. Думаю про tproxy можно забыть в длинных цепочках. А redirect работает и с udp. С ним проблем не наблюдаю.
  22. Все коннекты идут через xray. А он уже принимает решение, как дальше маршрутизировать, отсюда и падение скорости.
  23. Нафиг не нужно. Timeout для ipset и такой же в agh. А каждый раз дергать ipset для обновления ( удаления и добавления) для того, что бы обновить время timeout так себе идея.
×
×
  • Create New...