Project

Contributing

Build Tunnel Agent from source, run the tests and send a pull request.

Contributions are welcome. Tunnel Agent is written in C# on .NET 10 with Avalonia 11 and CommunityToolkit.Mvvm.

Build from source#

Install the .NET SDK 10.0.203+, then:

git clone https://github.com/beyondhumane/tunnel-agent.git
cd tunnel-agent
dotnet restore
dotnet run --project src/TunnelAgent.Avalonia/TunnelAgent.Avalonia.csproj

Run the tests:

dotnet test tests/TunnelAgent.Tests/TunnelAgent.Tests.csproj

Repository layout#

PathContents
src/TunnelAgent.AbstractionsShared interfaces and models.
src/TunnelAgent.CoreEngine catalog and core logic.
src/TunnelAgent.InfrastructurePlatform and storage implementations.
src/TunnelAgent.AvaloniaThe desktop app: views, view models, services, themes and translations.
tests/TunnelAgent.TestsUnit tests.
siteThis website.

Pull requests#

  • Keep PRs focused: one feature or fix per PR.
  • Match the existing code style and naming.
  • Add a bullet to CHANGELOG.md under ## [Unreleased] for every behavioural change.
  • All CI checks must pass before merging.

Working on this site#

The site is a Vite + React app prerendered to static HTML. Pages live in site/content/docs/*.md, with Spanish translations in site/content/docs/es/*.md.

cd site
npm install
npm run dev

Credits#

Tunnel Agent builds on CLIProxyAPI, perplexity-webui-scraper and 9Router, and was inspired by VibeProxy. Quota tracking draws on Quotio and OpenUsage.