Мобильная обертка для XRay Core с поддержкой iOS, iOS Simulator, Android и macOS.
- ✅ Последняя версия XRay Core (v1.250516.0)
- 📱 Поддержка нескольких платформ (iOS, Android, macOS)
- 🚀 Новый транспорт SplitHTTP
- 🔒 Полная поддержка Reality и TLS
- 🛠️ Простой API для интеграции
- 🎨 Красивый вывод сборки
- ⚡ Автоматическая настройка среды разработки
- Go 1.20 или выше
- Xcode (для iOS/macOS сборки)
- Android SDK (для Android сборки)
-
Клонируйте репозиторий:
git clone https://github.com/JustYay/XrayCore-BasicWrapper.git cd XrayCore-BasicWrapper -
Настройте среду разработки (только один раз):
make setup
Эта команда автоматически:
- Проверит версию Go
- Установит
gomobileиgobind - Установит необходимые пакеты (
golang.org/x/mobile/bind) - Инициализирует
gomobile - Обновит зависимости проекта
-
Соберите для нужной платформы:
# Для iOS make ios # Для Android make android # Для macOS make macos # Для всех платформ make all
| Команда | Описание |
|---|---|
make setup |
Настроить среду разработки (первый запуск) |
make ios |
Собрать iOS framework |
make android |
Собрать Android AAR |
make macos |
Собрать macOS framework |
make all |
Настроить среду и собрать для всех платформ |
make clean |
Очистить директорию сборки |
make help |
Показать справку |
- TCP/UDP
- WebSocket
- gRPC
- HTTP/2
- QUIC
- KCP
- SplitHTTP (новый!)
- Reality
- TLS
// Управление памятью
func FreeMemory()
// Настройка окружения
func SetXrayEnv(key, value string)
// Управление XRay
func StartXray(configPath string) error
func StopXray() error
func RestartXray(configPath string) error
// Измерение задержки
func MeasureDelay(config string) (int64, error)import "github.com/JustYay/XrayCore-BasicWrapper"
// Настройка окружения
wrapper.SetXrayEnv("XRAY_LOCATION_ASSET", "/path/to/assets")
// Запуск XRay
err := wrapper.StartXray("/path/to/config.json")
if err != nil {
log.Fatal(err)
}
// Остановка XRay
wrapper.StopXray()
// Освобождение памяти
wrapper.FreeMemory()Поддерживаемые переменные для SetXrayEnv:
XRAY_LOCATION_ASSET- путь к ресурсамXRAY_LOCATION_CONFIG- путь к конфигурацииXRAY_BUFFER_SIZE- размер буфера
После успешной сборки вы найдете:
- iOS:
build/XRayCoreIOSWrapper.xcframework - Android:
build/android/xray.aar - macOS:
build/XRayCoreIOSWrapper.xcframework
Если вы получаете ошибку о том, что gomobile не найден, просто запустите:
make setupЭта команда автоматически установит все необходимые зависимости.
Команда make setup также решает эту проблему, устанавливая все необходимые пакеты.
- Форкните репозиторий
- Создайте ветку для новой функции (
git checkout -b feature/amazing-feature) - Зафиксируйте изменения (
git commit -m 'Add some amazing feature') - Отправьте в ветку (
git push origin feature/amazing-feature) - Откройте Pull Request
Этот проект лицензирован под MIT License - см. файл LICENSE для деталей.
Если у вас есть вопросы или проблемы, пожалуйста, создайте issue.