Scordo — User Manual¶
Purpose¶
This manual is for end users of the Scordo router and its bundled applications. It covers daily use of the router console, browsing scordosites, sending anonymous email with ScordoMail, resolving mesh addresses with ScordoDNS, and sharing files with Snark.
For installation and deployment, see docs/ADMINISTRATOR_GUIDE.md.
1. What Is Scordo?¶
Scordo is a privacy-preserving mesh network. All traffic is routed through multiple hops inside the mesh, so neither your peers nor external observers can determine your identity or the content of your communications.
Key concepts:
- Router — the core process that integrates your device into the Scordo mesh, manages tunnels, and routes encrypted packets.
- Tunnel — an anonymised path through several intermediate routers used to send and receive traffic.
- Destination — a stable mesh address for a service or user (similar to an IP address but persistent and identity-preserving).
- Scordosite — a web service hosted inside the Scordo mesh, accessible via the HTTP proxy.
- ScordoMail — anonymous email running entirely within the mesh.
- ScordoDNS — the distributed address book that translates human-readable names to mesh destinations.
2. Getting Started¶
2.1 Starting the router¶
If Scordo was installed with the standard installer, it may start automatically at login. You can also start and stop it from the router console or tray icon.
For Docker deployments, the router starts when the container starts. See docs/ADMINISTRATOR_GUIDE.md §3 for container startup commands.
2.2 Opening the router console¶
Open a browser and go to:
http://127.0.0.1:7657
The console is only accessible from your own device. It is not exposed on the network.
2.3 First start¶
On first start, Scordo:
- Generates a new router identity (takes a few seconds).
- Contacts reseed servers to discover initial peers.
- Builds tunnel pools for each application.
This process takes 5–15 minutes. The status bar on the console home page shows progress. Network status will move from Testing to OK once tunnels are established.
Do not close the router during this process.
3. Router Console¶
The router console (http://127.0.0.1:7657) is the main interface for monitoring and configuring your Scordo router.
3.1 Home / Summary page¶
Shows:
- Network status —
OK,Testing,Firewalled, orDisconnected - Active tunnels — how many tunnels are currently built and in use
- Participating tunnels — how many other routers' tunnels your router is relaying (your contribution to the mesh)
- Bandwidth — current in/out throughput and cumulative totals
- Router uptime
A status of Firewalled means external peers cannot reach your transport port. The router still works, but performance is reduced. Contact your network administrator if you need this resolved.
3.2 Navigation¶
| Console section | Purpose |
|---|---|
| Home | Status summary, bandwidth overview |
| Network Database | Peer count, floodfill nodes, reseed status |
| Tunnels | Active tunnel pools per application |
| Peers | Peer list with connection quality |
| Graphs | Bandwidth, tunnel build rate, latency charts |
| Stats | Detailed routing and performance statistics |
| Configuration | Bandwidth limits, network settings, tunnels, keyring, update |
| Help | In-router help pages and update function |
3.3 Bandwidth settings¶
To adjust how much bandwidth Scordo uses:
- Go to Configuration → Bandwidth.
- Set inbound and outbound share limits appropriate for your connection.
- Save and apply.
Higher share limits improve tunnel build success for you and other users. Keep settings within what your connection can sustain.
4. Browsing Scordosites¶
Scordosites are web services hosted inside the Scordo mesh. Their addresses end in .scordo (e.g. example.scordo).
4.1 Configuring your browser¶
Configure your browser to use the Scordo HTTP proxy:
- Proxy host:
127.0.0.1 - Proxy port:
4444
For Firefox:
- Open Settings → Network Settings → Manual proxy configuration.
- Set HTTP proxy to
127.0.0.1, port4444. - Check Use this proxy server for all protocols (or set HTTPS proxy the same way).
- Optionally, enter
localhost, 127.0.0.1in "No proxy for" to keep local traffic direct.
4.2 Accessing a scordosite¶
With the proxy configured, enter a .scordo address in your browser's address bar:
http://example.scordo/
The first request to a scordosite may take 10–30 seconds while a tunnel is established to the destination. Subsequent requests are faster.
4.3 The HTTP proxy default page¶
If you navigate to http://127.0.0.1:4444/ with the proxy configured, you will see the Scordo HTTP proxy page with links to internal services and an address bar for .scordo lookups.
4.4 Addressing¶
Scordosite addresses are human-readable names registered in the distributed address book (ScordoDNS). If a name is not found, you may need to add a subscription that covers that namespace.
5. ScordoMail — Anonymous Email¶
ScordoMail provides anonymous email entirely within the Scordo mesh. It does not connect to the public internet.
5.1 Accessing ScordoMail¶
Open in your browser (Scordo proxy must be running but does not need to be configured in the browser for this):
http://127.0.0.1:7657/webmail
Or navigate from the router console home page to Applications → ScordoMail.
5.2 Setting up your mail account¶
- On first use, create an account with a
.scordoemail address. - Your address will be of the form
username@mail.scordo. - Note: this address is only valid within the Scordo mesh.
5.3 Sending and receiving email¶
- Compose messages using the built-in web UI.
- Attachments are supported.
- Mail is delivered through the mesh; delivery may take a few minutes depending on tunnel availability.
5.4 External email client (SMTP/POP3)¶
ScordoMail also exposes local SMTP and POP3 endpoints for use with a standard email client:
| Protocol | Host | Port |
|---|---|---|
| SMTP (outbound) | 127.0.0.1 | 7659 |
| POP3 (inbound) | 127.0.0.1 | 7660 |
Configure these in your email client (e.g. Thunderbird) using plain text authentication (no TLS required as these ports are local-only).
6. ScordoDNS — Address Book and Naming¶
ScordoDNS is the distributed naming system for the Scordo mesh. It maps human-readable .scordo names to cryptographic mesh destinations.
6.1 Accessing ScordoDNS¶
From the router console: Applications → Addressbook or navigate to:
http://127.0.0.1:7657/dns
6.2 Adding a hostname¶
If you know the cryptographic destination of a service and want to give it a local name:
- Go to the Addressbook page.
- Click Add Host.
- Enter the
.scordohostname and the base64 destination string. - Save.
6.3 Subscriptions¶
Subscriptions are external address book feeds that automatically add hosts to your local book.
To add a subscription:
- Navigate to Addressbook → Subscriptions.
- Paste the subscription URL (a
.scordoaddress pointing to ahosts.txtfile). - Save. The book will update on the next sync cycle.
Default subscription sources are pre-configured in a fresh install.
6.4 Looking up a destination¶
To resolve a hostname to its raw mesh destination:
- Navigate to Addressbook → Look Up.
- Enter the hostname.
- The cryptographic destination string will be shown if the host is in your local book.
7. Snark — Anonymous File Sharing¶
Snark is the built-in torrent client for the Scordo mesh. It operates entirely within the mesh; no external trackers are used.
7.1 Accessing Snark¶
From the router console: Applications → Torrents or navigate to:
http://127.0.0.1:7657/torrents
7.2 Adding a torrent¶
- Open the Snark page.
- Click Add Torrent and paste a magnet link or upload a
.torrentfile. - Select a download directory (default: the Snark volume or
~/scordosnark). - Start the download.
7.3 Seeding¶
Files you add to Snark are automatically seeded back to the mesh after download. You can also create and publish new torrent files from the Snark interface.
7.4 Download location¶
| Context | Default path |
|---|---|
| Standard install | ~/scordosnark/ |
| Docker | /scordosnark/ (mount as persistent volume) |
8. Tunnel Manager¶
Tunnels are the building blocks of all Scordo applications. The tunnel manager lets you create custom client (outbound) and server (inbound) tunnels for integrating your own applications with the mesh.
8.1 Accessing the tunnel manager¶
From the router console: Applications → Hidden Services Manager or navigate to:
http://127.0.0.1:7657/i2ptunnel/
8.2 Tunnel types¶
| Type | Use case |
|---|---|
| HTTP Client | Browser proxy for scordosites |
| HTTP Server | Host a scordosite from your machine |
| SOCKS 4/5 Client | Generic SOCKS proxy for any application |
| Standard Client | Connect to any mesh service by destination |
| Standard Server | Expose a local TCP service to the mesh |
| IRC Client | Connect to IRC servers inside the mesh |
8.3 Creating a server tunnel (hosting a scordosite)¶
- Go to the Hidden Services Manager.
- Click New Tunnel → HTTP Server.
- Enter the local host and port of your web service (e.g.
127.0.0.1:8080). - Give the tunnel a name and description.
- Save and start the tunnel.
- Your service is now reachable at the destination shown in the tunnel detail page.
Register the destination with ScordoDNS if you want a human-readable name.
9. SAM Bridge — Application Integration¶
The SAM (Simple Anonymous Messaging) bridge provides an API at port 7656 for custom applications to connect to the Scordo mesh without needing to embed a full router.
Custom applications use SAM to create sessions, send and receive datagrams, and establish streaming connections. Refer to the SAM protocol documentation at https://scordo.net/docs for the API specification.
10. Privacy and Security Practices¶
10.1 What Scordo protects¶
- Your IP address is not visible to services you connect to inside the mesh.
- Traffic between your router and mesh peers is encrypted.
- Tunnel routing uses multiple intermediate hops so no single node can observe both the sender and receiver.
10.2 What Scordo does not protect against¶
- Scordo does not anonymise traffic sent outside the mesh. Configure a trusted outproxy carefully if you use one.
- Application-level data (e.g. a form you fill in) can still identify you if you enter identifying information.
- Timing analysis over very long periods may in theory correlate traffic patterns.
10.3 Recommended practices¶
- Do not run Scordo on a shared, untrusted system where other users could access the router console or proxy ports.
- Do not expose the router console or proxy ports to the network — they should always be loopback-only.
- Keep the router updated to receive security patches.
- If you operate a scordosite, do not include content that identifies you unless intentional.
11. Common Problems¶
Router status stuck on "Testing" or "Firewalled"¶
- Allow 15 minutes after first start for tunnels to build.
- If the router remains in
Firewalledstate, confirm port forwarding is configured for the transport port (default 12345) andEXT_PORTis set correctly (Docker deployments). - Contact your network administrator if you cannot control firewall settings.
Can't reach a scordosite¶
- Confirm the router status is
OKin the console. - Confirm the browser proxy is set to
127.0.0.1:4444. - Try refreshing after a 30-second wait — tunnels may be rebuilding.
- Check the address in ScordoDNS — the name may not be in your address book.
ScordoMail not loading¶
- Confirm the router is running and status is
OK. - Navigate directly to
http://127.0.0.1:7657/webmail— no browser proxy needed. - Check the console tunnel list for a ScordoMail tunnel that is active.
Snark download stalled¶
- Check that the torrent has active seeders in the mesh.
- Confirm Snark has enough tunnel build budget (visible on the tunnels page).
- Try removing and re-adding the torrent.
Router console not loading¶
- Confirm the Scordo process or container is running.
- Confirm nothing else is using port 7657:
lsof -i :7657orss -tlnp | grep 7657. - Restart the router.
12. Updating Scordo¶
Automatic update (standard install)¶
- The router console shows a notification when an update is available.
- Navigate to Help → Update and follow the prompts.
- The router restarts automatically after the update.
Manual update¶
Download and run the latest installer from https://scordo.net/download. Running the installer over an existing installation upgrades the router files without removing your configuration.
Docker update¶
See docs/ADMINISTRATOR_GUIDE.md §8.1 for the Docker upgrade procedure.
13. Getting Help¶
- Help pages (in-console):
http://127.0.0.1:7657/help - FAQ:
https://scordo.net/faq - How-to guides:
https://scordo.net/how - Bug reports:
https://github.com/cosimoglobal/Scordo/issues - IRC:
#scordoonirc.freenode.net - Contact / security:
https://scordo.net/en/contact
14. Documentation Map¶
README.md— source and build quick-referenceDocker.md— Docker and Compose configuration referencedocs/ADMINISTRATOR_GUIDE.md— operator deployment and ops guidedocs/USER_MANUAL.md— this filedocs/HACKING.md— developer build environment and source guidedocs/production-program/SCORDO_PRODUCTION_PROGRAM.md— production program phase gates