Skip to content

Neko Pages

Neko Pages is Nekotopia's community directory — the equivalent of a Yellow Pages for the Torus mesh. Publish your service here and other connected members can find it; opt out and you stay private.

Where it lives

Sidebar: Neko Pages. Section ID: hosted-services-section. Loader: loadHostedServices(). Public-facing browse view: torus.html.

Two ways to list a service

Neko Pages aggregates listings from two sources:

  1. Manual listings — anything you add via the + Add Listing button on this page. A free-form name, FQDN, type, URL, and description. Useful for HTTP(S) apps, BBS systems, retro web servers, or any FQDN you want members to discover.
  2. Torus ZTNA listings — Torus ZTNA apps where you've ticked List on Neko Pages in the Torus ZTNA section appear here automatically as read-only rows. To remove one, untick the box in the ZTNA section.

The dashboard shows both with a Source badge (Manual / Torus ZTNA) so you can tell them apart.

DNS — pick the right zone

Listings are most useful when the FQDN is one Torus members can actually resolve. The four-zone taxonomy maps your listing to where its IP lives:

  • <name>.edge.nekotopia.io — points at your mesh IP (all tiers). Reachable only from inside Torus.
  • <name>.dist.nekotopia.io — points at your nSolo IP (Plus + Pro). Resolvable publicly + on Torus.
  • <name>.core.nekotopia.io — points into your nColo prefix (Pro only). Resolvable publicly + on Torus.

All four zones (including platform *.ring.nekotopia.io) resolve automatically inside Torus — the WireGuard config has the Torus DNS server baked in.

Before you add a listing, register the hostname in DNS Manager under the zone that matches the IP your service runs on. Without a DNS record, the FQDN you put in Neko Pages won't resolve for anyone.

Creating a manual listing

Click + Add Listing. Fields:

  • Name — display label (e.g. "My Web App"). Shown next to the entry in the directory.
  • FQDN — fully qualified domain name. Use the zone that matches your service's IP class (see above): <name>.edge.nekotopia.io for a mesh-IP service, <name>.dist.nekotopia.io for nSolo, <name>.core.nekotopia.io for nColo.
  • Typehttps / http / ssh / tcp. Drives the icon shown in Neko Pages.
  • URL — clickable link (defaults to https://<fqdn>).
  • Description — one-liner shown under the entry. Keep it short.

Cap: 20 manual listings per user. Duplicate FQDNs (per owner) are rejected.

Removing a listing

  • Manual — Edit / Delete buttons on the row.
  • Torus ZTNA — click Manage in ZTNA, then untick List on Neko Pages on the ZTNA app card.

What members see in the public directory

The browse view at torus.html aggregates:

  • Manual Neko Pages listings (from this section)
  • Torus ZTNA apps with List on Neko Pages enabled
  • Ring DNS entries flagged for directory inclusion

Each row shows: service icon, name, owner, status (Online/Offline from the branch health monitor), description, and connection info. IP/port for ZTNA-published apps is intentionally hidden — members reach you via Teleport, not directly.

Constraints

  • Manual listings only — Neko Pages itself doesn't reverse-proxy anything for you. It's a directory, not a gateway. To gateway, use Torus ZTNA (Teleport-fronted apps) or Jumphost tunnel / nSolo Inbound (public ingress through nSolo).
  • 20 manual listings max per user.
  • One FQDN per listing per user.