justray

module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 26, 2026 License: GPL-3.0

README

justray

Last commit Platforms License

A modern VPN client that lives in your terminal

justray showcase

Features

  • Modern protocols: VMess, VLESS, Trojan, Shadowsocks, Hysteria1/2, TUIC, AnyTLS, SOCKS5 and more
  • Flexible: subscriptions from raw links or Clash/Mihomo YAML, auto-refreshing and a wide list of settings
  • Lightweight: up to ~50 MB of RAM on unix-based systems, ~100 MB on Windows
  • Crossplatform: runs in every terminal on macOS, Linux and Windows (PowerShell and WSL)

Install

[!TIP] You can re-run the script at any time to update client

Windows
irm https://raw.githubusercontent.com/luynrs/justray/main/install.ps1 | iex
Linux

Script:

curl -fsSL https://raw.githubusercontent.com/luynrs/justray/main/install.sh | sh

Nix / NixOS:

nix run github:luynrs/justray
# flake.nix
{ inputs.justray.url = "github:luynrs/justray"; }
# home-manager: justrayd as a systemd --user service
{
  imports = [ justray.homeManagerModules.default ];
  services.justray.enable = true;
}
macOS

Script:

curl -fsSL https://raw.githubusercontent.com/luynrs/justray/main/install.sh | sh

Nix:

nix run github:luynrs/justray

Usage

If justray is installed via a script or package manager, the jray alias is available.

jray: open the TUI

Connection
  • jray up <node> [--tun | --proxy]: start the daemon
  • jray down: disconnect and shut down
  • jray status: show connection status
Subscriptions

jray subscription or jray sub

  • add: add a subscription or raw protocol link
  • remove: remove a subscription or node by ID
  • list: list subscriptions and nodes
Options
  • -h, --help: show help
  • -v, --version: show the current version

License

GPL-3.0

Directories

Path Synopsis
cmd
justray command
justrayd command
internal
client/tui
Package tui is the client terminal UI
Package tui is the client terminal UI
client/tui/components
Package components holds the reusable view pieces
Package components holds the reusable view pieces
client/tui/style
Package style holds the colours and line helpers
Package style holds the colours and line helpers
client/tui/subscriptions
Package subscriptions renders subscription blocks and the add prompt
Package subscriptions renders subscription blocks and the add prompt
client/tui/tree
Package tree lays out subscription and node rows
Package tree lays out subscription and node rows
daemon/connection
Package connection owns the active session and drives an engine.Engine
Package connection owns the active session and drives an engine.Engine
daemon/engine
Package engine is the engine interface, implemented at engine/singbox
Package engine is the engine interface, implemented at engine/singbox
daemon/server
Package server is the RPC transport over the unix socket
Package server is the RPC transport over the unix socket
daemon/subscription
Package subscription owns subscriptions.yaml
Package subscription owns subscriptions.yaml
shared/version
Package version carries the release version, overridden by the linker on release builds
Package version carries the release version, overridden by the linker on release builds

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL