portal-tunnel
Publishes localhost services to the agentic web through self-hostable, trustless relays.
File Explorer
Download Latest Version (.zip)- marketplace.json
- SKILL.md
- SKILL.md
- SKILL.md
- SKILL.md
- SKILL.md
- marketplace.json
- marketplace.json
- branch-artifacts.yml
- cd.yml
- ci.yml
- docs.yml
- index.html
- style.css
- handler.go
- main.go
- index.html
- photo.html
- style.css
- handler.go
- main.go
- main.go
- service.go
- service_darwin.go
- service_linux.go
- service_unsupported.go
- service_windows.go
- config.go
- control.go
- dashboard.go
- manager.go
- run.go
- install.ps1
- install.sh
- installer.go
- update.go
- agent.go
- docker-compose.yml
- Dockerfile
- main.go
- README.md
- .gitkeep
- api.go
- frontend.go
- frontend_test.go
- main.go
- copy-code.ts
- CoreFeaturesGrid.svelte
- DifferentiatorCarousel.svelte
- HeroSection.svelte
- TunnelCommandForm.svelte
- Mermaid.svelte
- MobileNav.svelte
- PrevNextNav.svelte
- SearchButton.svelte
- SearchModal.svelte
- Sidebar.svelte
- TableOfContents.svelte
- ThemeToggle.svelte
- expose-name.ts
- nav.ts
- share-link.ts
- tunnel-command.ts
- +page.md
- +page.md
- +page.md
- +page.md
- +page.md
- +page.md
- +page.md
- +page.md
- +page.md
- +page.md
- +page.md
- +page.md
- +page.md
- +page.md
- +page.md
- +page.md
- +page.md
- +page.md
- +error.svelte
- +layout.svelte
- +layout.ts
- +page.svelte
- app.css
- app.d.ts
- app.html
- mdsvex.d.ts
- watch_and_deploy.sh
- manrope-latin.woff2
- opensans-latin.woff2
- .nojekyll
- apple-touch-icon.png
- CNAME
- favicon-96x96.png
- favicon.ico
- favicon.svg
- .gitignore
- bun.lock
- package-lock.json
- package.json
- svelte.config.js
- tsconfig.json
- vite.config.ts
- extensions.json
- launch.json
- settings.json
- extension.test.ts
- command.ts
- extension.ts
- .gitignore
- .npmrc
- .vscode-test.mjs
- .vscodeignore
- CHANGELOG.md
- esbuild.js
- eslint.config.mjs
- package.json
- pnpm-lock.yaml
- publish.sh
- README.md
- tsconfig.json
- vsc-extension-quickstart.md
- apple-touch-icon.png
- favicon-96x96.png
- favicon.ico
- favicon.svg
- web-app-manifest-192x192.png
- web-app-manifest-512x512.png
- ApprovalModeToggle.tsx
- BanStatusButtons.tsx
- SortbySelect.tsx
- StatusSelect.tsx
- button.tsx
- dialog.tsx
- input.tsx
- select.tsx
- tooltip.tsx
- FloatingActionBar.tsx
- Header.tsx
- LandingHero.tsx
- SearchBar.tsx
- ServerCard.test.tsx
- ServerCard.tsx
- ServerListView.tsx
- TagCombobox.tsx
- ThemeProvider.tsx
- ThemeToggleButton.tsx
- TunnelCommandForm.tsx
- TunnelCommandModal.tsx
- useAdmin.test.ts
- useAdmin.ts
- useAuth.ts
- useList.ts
- useServerList.ts
- useTunnelCommand.ts
- adminAuthToken.ts
- apiClient.test.ts
- apiClient.ts
- apiPaths.ts
- exposeName.test.ts
- exposeName.ts
- metadata.ts
- shareLink.test.ts
- shareLink.ts
- tunnelCommand.test.ts
- tunnelCommand.ts
- utils.ts
- Admin.tsx
- ServerDetail.tsx
- ServerList.tsx
- setup.ts
- api.ts
- filters.ts
- App.tsx
- index.css
- main.tsx
- vite-env.d.ts
- .gitignore
- AGENTS.md
- CLAUDE.md
- components.json
- eslint.config.mjs
- index.html
- package-lock.json
- package.json
- README.md
- tsconfig.json
- tsconfig.node.json
- update-shadcn.cjs
- vite.config.ts
- plugin.json
- plugin.json
- plugin.json
- logo.svg
- openai.yaml
- game-hosting.md
- portal-cli.md
- safety-and-verification.md
- x402.md
- SKILL.md
- SKILL.md
- README.md
- provider.go
- provider_test.go
- provider.go
- provider_test.go
- server.go
- provider.go
- provider_test.go
- provider.go
- provider_test.go
- dnsrecord.go
- dnsrecord_test.go
- provider.go
- provider_test.go
- provider.go
- provider_test.go
- provider.go
- provider_test.go
- acme.go
- acme_test.go
- certificate.go
- ech.go
- ens.go
- maintenance.go
- provider.go
- hop_route.go
- lease_token.go
- register_challenge.go
- relay_descriptor.go
- wallet_auth.go
- announce.go
- announce_test.go
- mols.go
- mols_test.go
- refresher.go
- refresher_test.go
- relayset.go
- relayset_test.go
- relaystate.go
- authority.go
- mnemonic.go
- secp256k1.go
- store.go
- token.go
- wireguard.go
- client.go
- ech.go
- signer.go
- tls.go
- overlay.go
- stack.go
- stack_unsupported.go
- approver.go
- approver_test.go
- bps_manager.go
- ip_filter.go
- proxy_trust.go
- runtime.go
- emit.go
- metrics.go
- metrics_test.go
- trace.go
- datagram_client.go
- datagram_relay.go
- datagram_session.go
- port_allocator.go
- quic_backhaul.go
- stream_client.go
- stream_relay.go
- tcp_port_relay.go
- casper.go
- casper_test.go
- client.js
- handler.go
- handler_test.go
- payment.go
- x402.go
- api_server.go
- lease.go
- lease_test.go
- proxy.go
- record.go
- server.go
- server_test.go
- api_client.go
- api_client_test.go
- expose.go
- expose_test.go
- http.go
- http_test.go
- listener.go
- mitm.go
- mitm_test.go
- proxy.go
- agent.go
- api.go
- error.go
- identity.go
- paths.go
- transport.go
- types.go
- x402.go
- api.go
- api_test.go
- cmd.go
- file.go
- filepath.go
- filepath_test.go
- http.go
- http_test.go
- name.go
- network.go
- network_test.go
- snapshot.go
- tls.go
- utils.go
- utils_test.go
- .dockerignore
- .env.example
- .gitignore
- .golangci.yml
- .pre-commit-config.yaml
- AGENTS.md
- CLAUDE.md
- config.toml
- docker-compose.yml
- Dockerfile
- go.mod
- go.sum
- LICENSE
- llms.txt
- logo.png
- Makefile
- manifest.go
- portal.gif
- README.md
- README.zh-CN.md
- registry.json
# Installation Guide
git clone https://github.com/gosuda/portal-tunnel
Downloads the entire project code from GitHub to your computer.
cd portal-tunnel
Moves into the project folder you just downloaded.
2. Official Install Script
Easy Recommendedcurl -fsSL https://github.com/gosuda/portal-tunnel/releases/latest/download/install.sh | bash
Downloads and runs the official install script in one line โ this handles the full setup automatically.
irm https://github.com/gosuda/portal-tunnel/releases/latest/download/install.ps1 | iex
Downloads and runs the official install script via PowerShell โ this handles the full setup automatically.
Pulled directly from this repo's README.
3. Docker
Easy- Git Needed to download the project code from GitHub.
- Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
docker compose up
Builds and starts all defined containers (server, database, etc.) at once, in the background.
Pulled directly from this repo's README.
4. Node.js
Easycd extensions/vscode
This project's files live in a subfolder, so move into it first.
npm install
Downloads and installs the libraries listed in package.json.
npm start
Starts the development/run server.
5. Go
Mediumgo build ./...
Compiles the Go program into an executable.
go run .
Runs the Go program directly without a separate build step.
6. Make
Medium- Git Needed to download the project code from GitHub.
- Make Usually pre-installed on Linux/macOS. On Windows, install separately (e.g. via MSYS2 or WSL).
make
Compiles the code based on the generated build configuration to produce an executable.
