Skip to content

Team Server

Tony West edited this page Apr 23, 2026 · 1 revision

Team Server

Team server mode adds multi-user collaboration on top of Listener-Mode. Operators on different workstations share a single callback listener, a team chat channel, and a set of per-host shared notes, and they can see who else is online.

Starting a team server

Run the team server on a remote host (the same kind of host you would use for plain listener mode). If you built Joro on a different OS than the remote host, use make build-all (see Installation) to produce a Linux binary and copy it across.

./joro --listener --teamserver --domain callback.example.com --response-ip <remote-host-ip>

On startup, a 32-character hex authentication token is generated and printed to the console:

[TEAM] Auth token: a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6
DNS callback listener on :53
HTTP callback listener on :80
Callback API available at http://localhost:9090

Share this token with everyone you want to let onto the team server. Like regular listener mode, the team server is API-only; there is no web UI on the remote host.

Joining from a proxy

Each operator runs ./joro locally in proxy mode. On the Settings page, fill in the Team Server section:

  • Listener URL: http://<teamserver-ip>:9090
  • Team Token: paste the token printed by the team server
  • Nickname: the name other operators will see in chat and notes

Click Save.

What becomes shared

Once connected:

  • Team Chat on the Dashboard is shared across every connected operator.
  • Notes gains a Shared Notes tab with collaborative notes organized by host (see Notes).
  • Interact data (callback interactions and XSS Hunter fires) now comes from the team server's listener and is visible to everyone connected.
  • Active Users in the sidebar lists every operator currently connected.

System messages announce when operators connect, disconnect, or change nicknames.

Chat history behavior

The chat pane shows messages that arrive while you are connected. It does not fetch backlog on load. If you want durable context, use shared notes instead of chat.

Changing your nickname

Update the Nickname field in Settings and save. Joro renames your entry in place; other operators see a "changed nickname" announcement rather than a disconnect/reconnect pair. If someone else already uses that nickname, the team server rejects the change and Joro restores your previous nickname.

Disconnecting

Clear the team server fields in Settings and save to stop connecting. Your presence entry disappears from other operators within a couple of seconds.

Clone this wiki locally