Перейти к содержанию

avn

Участники форума
  • Постов

    771
  • Зарегистрирован

  • Посещение

  • Победитель дней

    8

Весь контент avn

  1. "balancers": [ { "tag": "balancer", "selector": [ "portal-1", "portal-2", "portal-3" ], "strategy": { "type": "leastPing" }, "fallbackTag": "portal-2" } ], "observatory": { "subjectSelector": [ "portal-1", "portal-2", "portal-3" ], "probeURL": "https://www.google.com/generate_204", "probeInterval": "60s", "enableConcurrency": false }
  2. Снял трейс также с xray xray.pcapng
  3. Спасибо. Обязательно попробую и посмотрю различия в транспорте.
  4. Вот еще одна реализация, правда опять на go. Может станет понятнее.
  5. Вот пост от 22 года, там уже коннект по ipv6
  6. Через dns. Можно как локальный использовать, так и глобальный, разницы нету.
  7. К примеру VPN-ipv6 у меня сейчас не работает, опять чего то сломали. Перейду на 4.2 буду разбираться.
  8. Это проблема всего кинетика. Плохая работа цепочек, постоянная их перечитка по несколько раз (в момент перечитки, что происходит с трафиком). Так что подход для anti* выглядит более правильным для кинетика. Я сейчас отказался от цепочек. Переписал все на минимум правил, как для VPN, так и для tproxy. Для VPN:
  9. Сложно сказать. kvas отлично работает с приложениями, у которых идет в порт (shadowsocks, xray, и т.д.). Но в тоже самое время у него костыльная (сложная, ненадежная) маршрутизация на впн серверы. У анти* свой днс сервис, который выдает фейк-адреса из определенной локальной сети на блокресурсы. Отсюда простая маршрутизация (надежная, работает и на самом роутере) на блокресурсы обычным и единственным маршрутом. Но он не работает c shadosocks, xray и т.д.
  10. Да, правильно. Но надо помнить, что эти изменения только стороны клиента (не сервера). Также при коннекте клиентом, они их еще и зануляют. func (bind *netBindClient) connectTo(endpoint *netEndpoint) error { ...... i, err := c.Read(v.buff) if i > 3 { v.buff[1] = 0 v.buff[2] = 0 v.buff[3] = 0 } Вообще, если смотреть конфиг WARP в оригинале, запрошенный через api, то он выглядит так Здесь client_id - это "client_id": "LHJ3". Но китайцы раскладывают его на массив из 3 байт.
  11. А вот и реализация https://gist.github.com/kaseiwang/422d5ef585a1501ac0bde8ccdb76e4f5
  12. Добрый день! Для нормальной работы warp на keenetic хотелось бы реализовать возможность влиять на поле Reserved структуры message_header. По аналогии с командой asc interface {name} wireguard warp {b1} {b2} {b3} У китайцев в Xray-Core получилось это сделать правкой двух методов Xray-core-main\proxy\wireguard\bind.go: func (bind *netBindClient) connectTo(endpoint *netEndpoint) error { c, err := bind.dialer.Dial(bind.ctx, endpoint.dst) if err != nil { return err } endpoint.conn = c go func(readQueue <-chan *netReadInfo, endpoint *netEndpoint) { for { v, ok := <-readQueue if !ok { return } i, err := c.Read(v.buff) if i > 3 { v.buff[1] = 0 v.buff[2] = 0 v.buff[3] = 0 } v.bytes = i v.endpoint = endpoint v.err = err v.waiter.Done() if err != nil && errors.Is(err, io.EOF) { endpoint.conn = nil return } } }(bind.readQueue, endpoint) return nil } func (bind *netBindClient) Send(buff [][]byte, endpoint conn.Endpoint) error { var err error nend, ok := endpoint.(*netEndpoint) if !ok { return conn.ErrWrongEndpointType } if nend.conn == nil { err = bind.connectTo(nend) if err != nil { return err } } for _, buff := range buff { if len(buff) > 3 && len(bind.reserved) == 3 { copy(buff[1:], bind.reserved) } if _, err = nend.conn.Write(buff); err != nil { return err } } return nil } Тестовый конфиг можно получить так: bash -c "$(curl -L warp-reg.vercel.app)" Может и нам можно добавить этот функционал?
  13. junk_packet_count; junk_packet_min_size; junk_packet_max_size; init_packet_junk_size; response_packet_junk_size; init_packet_magic_header; response_packet_magic_header; cookie_packet_magic_header; transport_packet_magic_header;
  14. ipv6 у Вас отвалился.
  15. Аналогичная проблема. Периодически падает линк до 100 МБит и обратно на 1 ГБит не поднимается. Помогает передергивание разъема. Может можно скриптами порт передернуть, если скорость меньше 1 ГБит?
  16. Для тех, кто в теме по dnsmasq и ADH, можете адаптировать под себя обвязку для YT. Без DNSMasq и AGH
  17. Я ориентируюсь на свой опыт. Мне помогло. Тут каждый решает сам.
  18. YT можно не пускать через VPN, достаточно фрагментировать sni. Что бы понять, кто занижает скорость, достаточно выполнить запросы curl. curl https://speedtest.selectel.ru/100MB -k -o/dev/null curl --connect-to ::speedtest.selectel.ru https://manifest.googlevideo.com/100MB -k -o/dev/null curl --connect-to ::speedtest.selectel.ru https://ya.ru/100MB -k -o/dev/null Первая с фрагментацией, вторая без.
  19. В 4.2 уже добавлен. Wireguard: добавлены параметры Advanced Security Configuration (по запросу @UwU) [NDM-3202]: interface {name} wireguard asc {jc} {jmin} {jmax} {s1} {s2} {h1} {h2} {h3} {h4}
  20. А почему у него не будет показывать ютуб?
  21. interface GigabitEthernet1 no ip nat loopback ip host <domain> ip-адрес system configuration save
  22. Это вообще-то тест для quic dns
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.