portal-toys is a collection of small Portal demos. The repository is focused on Go examples that register directly with Portal relays using the Go SDK.
- Small, self-contained apps that are easy to read and modify.
- Consistent CLI flags across demos such as
--server-url,--discovery,--ban-mitm,--name, and--port. - Works both locally and over relays.
For non-Go apps, use portal-tunnel instead of maintaining separate language-specific examples in this repo.
- A Portal relay URL. Learn more: https://github.com/gosuda/portal
- Start:
go run ./rolling-paper --name my-rolling --port 8081 - Optional relay override:
go run ./rolling-paper --server-url https://portal.gosuda.org/ --discovery=false - Local access: open
http://127.0.0.1:8081 - Relay access: open the registered name from your relay UI
- chatter-bbs
- ceversi
- doom
- distributed-web-server
- emulator-js
- ffmpeg-converter
- gosuda-blog
- http-backend
- iframe-player
- mafia
- openboard
- p2p-file
- paint
- portal-list
- rolling-paper
- simple-chat
- simple-community
- tetris
- tools
- vscode-chat
- youtube-chat
- Be considerate with traffic on shared relays.
- After successful connection, your service appears in the relay UI under the chosen
--name.
- Relay unreachable: check
--server-url/--discoveryand network/firewall. - Local port busy: change
--portor close the conflicting process. - Tunnel not found: run
make tunnel-install. - Go build issues: ensure a recent Go toolchain and run commands from the repo root.
MIT. See LICENSE.