ChebuNET
ChebuNET

Открытый код

ChebuNET для iPhone и iPad использует сетевое ядро Xray-core через библиотеку libXray. Мы изменили несколько файлов ядра, чтобы оно укладывалось в ограничения памяти VPN-модуля iOS. По условиям лицензии MPL-2.0 исходный код этих изменений открыт.

Скачать исходники · tar.gz, 65 КБ

SHA-256: 6b40ec01eaf1ffde4a1843bf42d4d6b0ee7e175d7cd7e40ecfeecb17817239dd · SHA256SUMS

Компоненты и версии

Набор правок rx256+obs8+oom+mem3+xh+pc+doh+ob+why+oc+slp+en — та же метка вшита в ядро приложения. Xray-core и libXray используют и другие открытые модули Go (BSD, Apache-2.0, MIT и другие): они перечислены в файлах go.mod исходников на указанных коммитах, полные тексты их лицензий — в репозиториях этих модулей.

Что мы изменили

Изменённые файлы Xray-core (MPL-2.0):

  • proxy/tun/stack_gvisor.go — меньше буферы TCP на соединение, предел полуоткрытых соединений, аварийный сброс при нехватке памяти
  • proxy/tun/udp_fullcone.go — короче очередь пакетов на поток UDP
  • app/observatory/observer.go — ограничено число одновременных проверок серверов, соединения проверки живут столько же, сколько сама проверка
  • transport/internet/grpc/dial.go — необязательный тайм-аут простоя и фиксированные окна gRPC
  • app/dns/nameserver_doh.go — зависшее соединение DNS-over-HTTPS закрывается и открывается заново
  • app/proxyman/outbound/handler.go — необязательный журнал исходов соединений для диагностики в приложении
  • transport/internet/splithttp/dialer.go — ограничения памяти при отправке и тайм-аут простоя XHTTP

libXray: заменён memory/memory_ios.go, добавлены memory/policy.go и memory/prof.go (с тестами) — политика памяти для VPN-модуля iOS вместо стандартной.

Что в архиве

  • modified/ — полный текст каждого изменённого или добавленного файла
  • patches/ — те же изменения в виде diff относительно исходных коммитов
  • tools/libxray/ — скрипты, которые вносят изменения (patch_tun_buffers.py, patch_memory_policy.py), и сборка библиотеки для iOS (build_ios.sh)
  • LICENSE (MPL-2.0), LICENSE.libXray (MIT) и README.txt с пошаговым воспроизведением

В архиве только исходный код, без бинарных файлов. Комментарии в коде — на русском.

Лицензия

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/.

libXray: Copyright (c) 2023-2025 XTLS, лицензия MIT — полный текст в архиве.

Вопросы об исходном коде — на почту support@chebunet.app.