orris-inc 12444c1ec7 feat: expose one subscription's delivered node order to admins
The per-resource-group ordering endpoints added last commit show only part of
what a subscriber receives: they cover a single group, exclude user-owned
forward rules, and skip the active-node filtering the subscription applies. An
admin could not see the sequence any one subscription actually delivers.

Add a read-only endpoint that reads the delivery path itself rather than
reproducing it, so the preview cannot drift from what clients pull:

  GET /admin/subscriptions/{sub_xxx}/node-order?mode=all|origin|forward

It resolves the subscription's link token and calls the same repository the
subscription link uses, so every resource group of the plan, the system rules
bound to those groups and the subscriber's own rules arrive merged on the
shared sort_order sequence, with inactive nodes already dropped. A non-active
subscription delivers nothing; the response reports its status so an empty list
is explained rather than looking like lost configuration.

Entries needed an identity to be reportable. A node is delivered once directly
and again behind every rule that targets it, so the node ID alone is ambiguous.
usecases.Node now carries EntryType, EntrySID, EntryScope and NodeSID, filled
by the two node builders and ignored by the formatters: BuildNode marks an
origin entry, MarkForwardEntry overwrites it with the rule's ID and whether
that rule is system- or user-owned, and NodeSID keeps the node carrying the
traffic in both cases.
2026-08-13 13:53:20 +08:00

Orris

Quick Install

curl -fsSL https://raw.githubusercontent.com/orris-inc/orris/main/install.sh | bash

Or specify domain and admin credentials:

curl -fsSL https://raw.githubusercontent.com/orris-inc/orris/main/install.sh | \
  DOMAIN=orris.example.com \
  ADMIN_EMAIL=admin@example.com \
  ADMIN_PASSWORD=your-password \
  bash

Detailed Installation

See INSTALL.md for detailed installation instructions.

Update

Update to the latest version:

# From your Orris installation directory
./install.sh update

# Or remotely
curl -fsSL https://raw.githubusercontent.com/orris-inc/orris/main/install.sh | bash -s -- update

This will:

  1. Pull the latest Docker images
  2. Run database migrations
  3. Restart all services

Common Commands

docker compose ps        # Check status
docker compose logs -f   # View logs
docker compose down      # Stop services
docker compose up -d     # Start services
./install.sh update      # Update to latest version
./install.sh help        # Show help

License

MIT License

Description
Orris —— 面向专线 / IX 拼车的中转与订阅管理平台 梯子 科学上网
Readme MIT 57 MiB
Languages
Go 99%
Shell 0.8%
Makefile 0.2%