Skip to content

Releases: IRNova/Nova-Server

Nova Server v1.1.8

Choose a tag to compare

@iiviirv iiviirv released this 23 Jul 20:02

Nova Server v1.1.8

Two fixes on top of 1.1.7.

Fixes

  • Saving settings no longer errors on a node with standalone inbounds. A settings save (for example the per-operator carriers) was still triggering a full xray restart, because the hot-patch path is skipped when standalone inbounds exist, and the restart briefly drops the panel ("cannot reach the node"). A settings save that does not change users or the xray config now leaves xray completely alone, so it is instant and the panel never drops. Saves that do change the config still apply, but only after responding, so the panel stays put.
  • Per-carrier optimization toggles render correctly. The TLS fragment and Mux switches were collapsing (the knob floated over the labels) because a general form rule was overriding the switch layout. Fixed, and verified by rendering.

Install

bash <(curl -fsSL https://raw.githubusercontent.com/IRNova/Nova-Server/main/nova-node.sh)

Nova Server v1.1.7

Choose a tag to compare

@iiviirv iiviirv released this 23 Jul 19:25

Nova Server v1.1.7

Fixes from real-world Iran testing.

Fixes

  • "Could not access the node" when saving is fixed. On a node with VMess or Trojan enabled, every Save was restarting xray (which briefly drops the panel it is served through), so saving settings often failed. xray now reloads only when a change actually needs it (a config or user change), not on every Save.
  • Subscriptions now load in normal client apps on a no-domain node. Apps like Hiddify, sing-box, Shadowrocket, HAPP, FoxRay and V2Box reject a self-signed certificate when fetching the subscription URL. A no-domain node now also serves the read-only subscription over plain HTTP, and hands out an http subscription link, so those apps can fetch it. Only the subscription is served this way; the admin panel is never exposed over HTTP. If you use a domain (trusted certificate), nothing changes.
  • The panel now quietly retries a read once if a config change briefly restarts xray, so a Save that does reload no longer shows a connection error.
  • Fixed the per-carrier optimization toggles (TLS fragment, Mux) overlapping their labels.
  • Rewrote the Tunnel setup guide for the new lightweight Iran bridge: you no longer install the full stack on the Iran box, you run one generated command.

Install

bash <(curl -fsSL https://raw.githubusercontent.com/IRNova/Nova-Server/main/nova-node.sh)

Nova Server v1.1.6

Choose a tag to compare

@iiviirv iiviirv released this 23 Jul 18:35

Nova Server v1.1.6

Extends per-operator subscription configs to all client formats.

Change

  • The Per-operator configs in subscription option now also applies to the Clash-Meta and sing-box subscription formats, not just the plain link list. Each carrier variant carries the right uTLS fingerprint natively (client-fingerprint for Clash, utls.fingerprint for sing-box), and the fingerprint is normalized per client so mihomo gets a value it accepts. Off by default, no effect when off.

Install

bash <(curl -fsSL https://raw.githubusercontent.com/IRNova/Nova-Server/main/nova-node.sh)

Nova Server v1.1.5

Choose a tag to compare

@iiviirv iiviirv released this 23 Jul 18:24

Nova Server v1.1.5

Two new features for Iran deployments. Update in one click from the panel (Settings, General, self-update).

Lightweight Iran bridge (no full install on the Iran side)

Setting up an Iran bridge tunnel used to mean running the whole Nova installer on the Iran box, with all its prerequisites, on exactly the kind of restricted line where that is painful. Now it does not.

  • On your foreign (exit) node's panel, open Tunnels, configure the tunnel, and click Generate the Iran bridge command.
  • Run that single command on your Iran VPS. It installs only the one tunnel backend and starts it, no xray, no sing-box, no panel.
  • Or run it directly:
    bash <(curl -fsSL https://raw.githubusercontent.com/IRNova/Nova-Server/main/nova-bridge.sh) --help
    (You normally use the ready command from the panel, which fills in the backend, config and secret for you.)

Per-operator configs in the subscription (for normal clients)

Per-carrier tuning used to require the custom Nova client. Now you can turn on Per-operator configs in subscription in Settings, and each user's subscription gets one extra VLESS config per Iranian carrier, each carrying that carrier's uTLS fingerprint and labeled by carrier. Users on v2rayNG, sing-box and similar just pick the config matching their SIM. Off by default; no effect on existing configs when off.

Install

bash <(curl -fsSL https://raw.githubusercontent.com/IRNova/Nova-Server/main/nova-node.sh)

Nova Server v1.1.4

Choose a tag to compare

@iiviirv iiviirv released this 23 Jul 17:05

Nova Server v1.1.4

A fix for per-country exits. Update in one click from the panel (Settings, General, self-update).

Fix

  • Adding several per-country exits in a row no longer errors. Each add used to restart xray immediately, which briefly dropped the panel it is served through, so a country clicked during that moment failed with "internal error" or "could not reach the node". Now the add responds first, starts the country instance, and coalesces the xray reload (one restart for a batch of changes). Add or remove as many countries as you like, back to back.
  • Clearer messages: a duplicate country, an unavailable region, or no free port now returns a plain message instead of "internal error".

Install

bash <(curl -fsSL https://raw.githubusercontent.com/IRNova/Nova-Server/main/nova-node.sh)

Nova Server v1.1.3

Choose a tag to compare

@iiviirv iiviirv released this 23 Jul 14:03

Nova Server v1.1.3

A fix for a broken transport in the latest xray. Update in one click from the panel (Settings, General, self-update).

Fix

  • mKCP no longer breaks the node. The current xray release removed the old mKCP transport format, so a node that had an mKCP inbound could not save any change, including creating a user (xray rejected the whole config). Nova now:

    • skips any mKCP inbound when building the config, so a leftover one can never brick the node,
    • removes an existing mKCP inbound automatically on update,
    • and no longer offers mKCP when adding an inbound.

    If you saw "xray rejected the new config" or could not create users, this fixes it. Existing users, inbounds, and settings are untouched.

Install

bash <(curl -fsSL https://raw.githubusercontent.com/IRNova/Nova-Server/main/nova-node.sh)

Nova Server v1.1.2

Choose a tag to compare

@iiviirv iiviirv released this 23 Jul 12:29

Nova Server v1.1.2

An important reliability release. Update in one click from the panel (Settings, General, self-update), or reinstall with the one-line installer.

Fixes

  • Fresh installs now come up reliably. On a brand-new server the xray access-log directory did not exist yet when the config was validated, so xray rejected a perfectly valid config and the panel never became reachable on port 443. Nova now creates that directory (owned by the xray user) before validating, so a fresh node serves the panel right away. This also fixes the "site not loading" after a clean install.
  • Re-running the installer reliably applies updates (it now restarts the agent), and install output is clean (no stray tar warnings).

New

  • One-command uninstall. Remove Nova, xray, sing-box and all data with nova-uninstall (add --yes to skip the prompt), or run it directly:
    bash <(curl -fsSL https://raw.githubusercontent.com/IRNova/Nova-Server/main/nova-uninstall.sh)

Changed

  • Nova is now VPS-only. The Docker and PaaS (runflare) path has been removed to keep one clear, fully featured install.

Install

bash <(curl -fsSL https://raw.githubusercontent.com/IRNova/Nova-Server/main/nova-node.sh)

Nova Server v1.1.1

Choose a tag to compare

@iiviirv iiviirv released this 23 Jul 11:27

Nova Server v1.1.1

A polish and reliability update. Update in one click from the panel (Settings, General, self-update), or reinstall with the one-line installer. Your users, inbounds, and settings are preserved.

Fixes

  • Clean install output. Release tarballs are now built without macOS metadata, and the installer extracts quietly, so a successful install no longer prints scary tar warnings that made it look like it failed.
  • New users appear right away. The panel no longer serves admin data from the browser cache, so a newly created user (and any other change) shows up immediately, with no manual refresh.

Panel

  • Container mode. On a Docker or PaaS node the panel now shows a clear container-mode banner and hides the features that need a VPS (Iran tunnels, WARP, Tor, Psiphon, per-country exits, Hysteria2, WireGuard, domain and SSL, firewall), keeping only what actually works there. A normal VPS is unchanged.
  • "Needs Domain" inbound group. Add Inbound now groups presets into Front (shared 443), Standalone (no domain needed), and Needs Domain, so beginners can see at a glance which protocols require a domain and a TLS certificate.
  • Built-in Outbounds are shown as a modern card grid.

Install

One command, no Docker needed:

bash <(curl -fsSL https://raw.githubusercontent.com/IRNova/Nova-Server/main/nova-node.sh)

Nova Server v1.1.0

Choose a tag to compare

@iiviirv iiviirv released this 22 Jul 21:20

Nova Server v1.1.0

A big feature release. Update from the panel (Health check has a one-click self-update) or reinstall with the installer.

Deploy anywhere: VPS, Docker, or a PaaS like runflare

  • New Docker + PaaS support. Nova now runs as a WebSocket-only container behind any HTTP/TLS edge, so you can host it on Docker or on Iranian PaaS platforms (runflare and similar) where port 22 is closed. One-click docker compose up, a ready Dockerfile, and a step-by-step guide are included. See DEPLOY.md.
  • The VPS installer stays the full-featured path (every protocol including the UDP ones, plus the Iran bridge tunnels).

Per-country exits

  • Offer your users a choice of exit country. Nova runs a Tor or Psiphon instance per country and adds one config per country to each opted-in user's subscription, so they pick their country right in their app (Germany, Netherlands, UK, US, Turkey, and more).
  • Per-user opt-in, live status and exit-IP test per country, one card each.

Protocols managed only in Inbounds

  • VLESS, VMess and Trojan are now managed on the Inbounds page (VMess is finally createable there). The old "default protocols" switches are gone from Settings.
  • Clear split between the shared-443 Cloudflare/TLS front (VLESS/VMess/Trojan over WebSocket on one port) and standalone inbounds (each on its own port with Reality, gRPC, XHTTP and the full feature set). Existing configs migrate automatically with no change to your users' links.

Resellers and managers with custom permissions

  • Create staff accounts with any capability set (for example a "user management only" manager). Resellers see only the users they created and build them on your inbounds; managers can see everyone; you see all.
  • Per-admin two-factor auth. The reseller/manager panel is now fully usable.

Config and port diagnostics

  • A health check that verifies each config is actually listening on the right port and reachable, plus a firewall and reserved-ports view, with one-click fixes. Catches a dead config before a user ever pastes it into their app.
  • Internal service ports are now reserved so a new inbound can't collide and crash the node.

Multi-profile inbounds

  • Advertise one backend inbound as several subscription configs, each on its own CDN domain, SNI or address, without duplicating the inbound.

Subscriptions

  • Usage and expiry now show up natively in clients (v2rayNG, sing-box, Streisand) via the standard subscription header.
  • WireGuard fixes: a per-user peer is minted for each user, and the share link now imports correctly into V2Ray.
  • Subscription page polish: per-country configs show the country clearly, and long names no longer break mid-word.

Notes

  • The panel is available in English, Persian (RTL) and Russian throughout.
  • On Docker/PaaS there is no UDP, so Hysteria2 and WireGuard are VPS-only; normal browsing, the WebSocket protocols, and VoIP all work there.