internal/

directory
v1.3.0 Latest Latest
Warning

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

Go to latest
Published: Jul 22, 2026 License: AGPL-3.0

Directories

Path Synopsis
Package abuse matches connection destinations against IP-reputation blocklists, so the operator learns that an account is reaching known-bad infrastructure without the panel having to keep everyone's browsing history.
Package abuse matches connection destinations against IP-reputation blocklists, so the operator learns that an account is reaching known-bad infrastructure without the panel having to keep everyone's browsing history.
Package actor carries WHO is performing an action across layer boundaries.
Package actor carries WHO is performing an action across layer boundaries.
Package auth provides password hashing (Argon2id), random secret generation, and constant-time helpers used by the panel's authentication and masquerade.
Package auth provides password hashing (Argon2id), random secret generation, and constant-time helpers used by the panel's authentication and masquerade.
Package autobackup runs scheduled local backups of the data directory.
Package autobackup runs scheduled local backups of the data directory.
Package backup creates and restores tar.gz snapshots of the data directory (SQLite DB, certs, generated config, ACME account).
Package backup creates and restores tar.gz snapshots of the data directory (SQLite DB, certs, generated config, ACME account).
Package branding holds the configurable panel identity: display name, accent colour and logo.
Package branding holds the configurable panel identity: display name, accent colour and logo.
Package connguard installs host-level nftables rules that cap, per source IP, both the number of concurrent TCP connections and the rate of new connections to the public proxy ports.
Package connguard installs host-level nftables rules that cap, per source IP, both the number of concurrent TCP connections and the rate of new connections to the public proxy ports.
Package core ties the store and the Xray supervisor together: mutations go through it so the proxy config is reconciled from the DB after every change.
Package core ties the store and the Xray supervisor together: mutations go through it so the proxy config is reconciled from the DB after every change.
Package cron is a minimal standard 5-field cron parser/matcher (minute, hour, day-of-month, month, day-of-week).
Package cron is a minimal standard 5-field cron parser/matcher (minute, hour, day-of-month, month, day-of-week).
Package datasec provides at-rest encryption for secrets stored in SQLite.
Package datasec provides at-rest encryption for secrets stored in SQLite.
Package decoy serves an innocent-looking website ("заглушка") for every request that doesn't carry the secret panel path.
Package decoy serves an innocent-looking website ("заглушка") for every request that doesn't carry the secret panel path.
Package geo manages the geoip.dat / geosite.dat databases Xray needs to resolve geosite:/geoip: routing rules.
Package geo manages the geoip.dat / geosite.dat databases Xray needs to resolve geosite:/geoip: routing rules.
Package hop manages Hysteria2 UDP port-hopping via host NAT.
Package hop manages Hysteria2 UDP port-hopping via host NAT.
Package link builds client share-links from a user + settings.
Package link builds client share-links from a user + settings.
Package logbuf captures the panel's own log output into an in-memory ring buffer and fans new lines out to live subscribers (the dashboard log viewer).
Package logbuf captures the panel's own log output into an in-memory ring buffer and fans new lines out to live subscribers (the dashboard log viewer).
Package model holds the core domain types shared across the panel.
Package model holds the core domain types shared across the panel.
Package netguard provides SSRF-safe outbound HTTP helpers.
Package netguard provides SSRF-safe outbound HTTP helpers.
Package netinfo resolves the server's own public IP, used for unattended first-boot host configuration and the post-factory-reset redirect.
Package netinfo resolves the server's own public IP, used for unattended first-boot host configuration and the post-factory-reset redirect.
Package nodeagent runs the panel-managed node: it holds an outbound long-poll to the panel, applies the Xray config the panel pushes, and reports traffic back.
Package nodeagent runs the panel-managed node: it holds an outbound long-poll to the panel, applies the Xray config the panel pushes, and reports traffic back.
Package nodeapi defines the wire contract between the panel and a node agent.
Package nodeapi defines the wire contract between the panel and a node agent.
Package opera manages the opera-proxy helper binary: a standalone Opera VPN client that exposes a local HTTP proxy.
Package opera manages the opera-proxy helper binary: a standalone Opera VPN client that exposes a local HTTP proxy.
Package payments is the payment-provider registry: one Descriptor per provider (see registry.go), each wrapping that provider's HTTP API behind a Client — create a payment for an order, query its status (the polling fallback), and authenticate a webhook.
Package payments is the payment-provider registry: one Descriptor per provider (see registry.go), each wrapping that provider's HTTP API behind a Client — create a payment for an order, query its status (the polling fallback), and authenticate a webhook.
Package provision installs a RosPanel node on a remote server over SSH, so the operator can add a node from the panel UI without touching a terminal.
Package provision installs a RosPanel node on a remote server over SSH, so the operator can add a node from the panel UI without touching a terminal.
Package proxypool fetches and parses outbound proxy lists for the proxy-pool egress: free public lists or a manually-entered set, one "scheme://[user:pass@]host:port" per line.
Package proxypool fetches and parses outbound proxy lists for the proxy-pool egress: free public lists or a manually-entered set, one "scheme://[user:pass@]host:port" per line.
Package proxyproto provides a net.Listener that reads an optional PROXY-protocol v1 header (the text format Xray emits with xver=1) from each accepted connection and exposes the real client address via RemoteAddr.
Package proxyproto provides a net.Listener that reads an optional PROXY-protocol v1 header (the text format Xray emits with xver=1) from each accepted connection and exposes the real client address via RemoteAddr.
Package selftest answers the question a health page can't: not "is Xray running?" but "does a client actually get through?".
Package selftest answers the question a health page can't: not "is Xray running?" but "does a client actually get through?".
Package server implements the public-facing masquerade router and the hidden admin panel mounted under the secret path.
Package server implements the public-facing masquerade router and the hidden admin panel mounted under the secret path.
Package store is the SQLite-backed persistence layer.
Package store is the SQLite-backed persistence layer.
Package sub builds the per-user subscription: the machine payload consumed by VPN clients and the human-facing page (QR + one-tap import buttons).
Package sub builds the per-user subscription: the machine payload consumed by VPN clients and the human-facing page (QR + one-tap import buttons).
Package sysstat samples host metrics (CPU, memory, swap, disk, network) from /proc on Linux.
Package sysstat samples host metrics (CPU, memory, swap, disk, network) from /proc on Linux.
Package telegram is a self-contained Telegram Bot API client plus the panel's admin bot: it long-polls for commands (view/add/remove users) and pushes scheduled backups to the linked admin chat.
Package telegram is a self-contained Telegram Bot API client plus the panel's admin bot: it long-polls for commands (view/add/remove users) and pushes scheduled backups to the linked admin chat.
Package tlsmgr obtains the TLS certificate via ACME (Let's Encrypt) for a domain or an IP address.
Package tlsmgr obtains the TLS certificate via ACME (Let's Encrypt) for a domain or an IP address.
Package tlsutil handles low-level X.509 certificates: generating the self-signed cert used as the internal pre-ACME fallback, reading certificate metadata for display, computing SHA-256 pins, and writing key pairs to disk.
Package tlsutil handles low-level X.509 certificates: generating the self-signed cert used as the internal pre-ACME fallback, reading certificate metadata for display, computing SHA-256 pins, and writing key pairs to disk.
Package tuning applies host-level network optimizations recommended for an Xray server — currently enabling the TCP BBR congestion-control algorithm, which noticeably improves throughput on lossy/long-haul links.
Package tuning applies host-level network optimizations recommended for an Xray server — currently enabling the TCP BBR congestion-control algorithm, which noticeably improves throughput on lossy/long-haul links.
Package updater self-updates the panel binary from its GitHub Releases: it finds the latest release, downloads the matching asset, verifies its SHA-256 against the release's SHA256SUMS BEFORE the binary is ever executed or swapped in, then atomically replaces the running executable (keeping a .bak for rollback).
Package updater self-updates the panel binary from its GitHub Releases: it finds the latest release, downloads the matching asset, verifies its SHA-256 against the release's SHA256SUMS BEFORE the binary is ever executed or swapped in, then atomically replaces the running executable (keeping a .bak for rollback).
Package version exposes the panel's release version.
Package version exposes the panel's release version.
Package warp registers a free Cloudflare WARP account and returns the WireGuard parameters Xray needs to use it as an outbound.
Package warp registers a free Cloudflare WARP account and returns the WireGuard parameters Xray needs to use it as an outbound.
Package xray models the Xray-core config as typed Go structs (so field-name mistakes are compile errors) and supervises the Xray child process.
Package xray models the Xray-core config as typed Go structs (so field-name mistakes are compile errors) and supervises the Xray child process.

Jump to

Keyboard shortcuts

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