English / Русский / 简体中文
Современный VPN-клиент, обитающий в вашем терминале
### Возможности
- **Поддерживаемые протоколы:** VMess, VLESS, Trojan, WireGuard/AmneziaWG, Shadowsocks, Hysteria 1/2, TUIC, AnyTLS, SOCKS5 и другие
- **Гибкость:** импорт подписок из ссылок, Clash/Mihomo YAML, sing-box или Xray JSON с автоматическим обновлением и широким выбором настроек
- **Автономность:** демон и встроенное ядро sing-box работают независимо от TUI, сохраняя подключение после закрытия интерфейса
- **Легковесность:** около 50 МБ RAM на Linux/macOS и 100 МБ на Windows
- **Кроссплатформенность:** работает в современных терминалах на Linux, macOS 13+ и Windows 1803+, включая PowerShell и WSL
### Установка
Через пакетный менеджер:
```bash
# macOS или Linux
brew install luynrs/tap/justray
# Arch Linux (AUR)
yay -S justray-bin
# Windows
winget install luynrs.justray
```
С использованием [x-cmd](https://www.x-cmd.com/mod/eget):
```bash
x eget use luynrs/justray
```
Или через скрипт:
```bash
# Linux / macOS
curl -fsSL https://raw.githubusercontent.com/luynrs/justray/main/install.sh | sh
```
```powershell
# Windows
irm https://raw.githubusercontent.com/luynrs/justray/main/install.ps1 | iex
```
Nix:
Flake поддерживает Linux (x86_64/aarch64) и Apple Silicon. На Mac с Intel используйте Homebrew или бинарники
Модуль Home Manager запускает демон на Linux; на macOS он только устанавливает пакет.
```bash
# Запустить напрямую
nix run github:luynrs/justray
```
```nix
# Home Manager
{
imports = [ justray.homeManagerModules.default ];
services.justray.enable = true;
}
```
### Использование
При установке через пакетный менеджер или скрипт также доступен `jray` как короткий алиас для `justray`
> [!NOTE]
> WinGet устанавливает только `justray` и `justrayd`; алиас `jray` нужно добавить вручную
- `jray`: открыть TUI
#### Подключение
- `jray up [--tun | --proxy]`: запустить и подключиться
- `jray down`: отключиться
- `jray stop`: остановить демон
- `jray probe [sub | id | name]`: измерить пинг
- `jray status [--json]`: показать состояние подключения
- `jray logs [daemon | engine] [-f]`: просмотреть логи
#### Подписки и узлы
`jray subscription` или `jray sub`
- `add`: добавить подписку или ссылку на узел
- `remove`: удалить подписку по ID или имени
- `refresh`: обновить подписки
- `list [--json]`: вывести список подписок и узлов
#### Дополнительно
- `-h`, `--help`: показать справку
- `-v`, `--version`: показать текущую версию
### Горячие клавиши
| **Кнопка** | **Действие** | **Кнопка** | **Действие** |
| ------------ | ------------ | ------------ | ------------ |
| `↑/↓`, `k/j` | Навигация | `Shift+↑/↓` | Изменить порядок подписок |
| `←/→`, `h/l` | Свернуть / развернуть | `Enter` | Подключиться / отключиться |
| `t` / `T` | Проверить задержку выбранного / всех узлов | `r` / `R` | Обновить выбранную / все подписки |
| `m` | Переключить режим (PROXY / TUN) | `/` | Фильтровать узлы |
| `a` | Добавить подписку / узел | `d` | Удалить подписку |
| `o` | Открыть настройки | `Esc` | Сохранить настройки / отменить ввод |
| `Tab` | Переключить вкладку настроек | `q`, `Ctrl+C` | Выйти из TUI |
### Лицензия
[GPL-3.0-or-later](../../LICENSE)