Skip to content

logiccrafterdz/AuthBridge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AuthBridge

A Windows desktop application that acts as a local OpenAI-compatible proxy, routing requests to Claude, ChatGPT, and Gemini using your existing browser sessions.

Features

  • OpenAI-Compatible API: Expose /v1/chat/completions endpoint on localhost:8000
  • Multi-Provider Support: Claude, ChatGPT, Gemini, Perplexity
  • Multi-Account: Add multiple accounts per provider with round-robin load balancing
  • Secure Storage: Credentials encrypted with Windows DPAPI
  • System Tray: Runs quietly in your system tray

Architecture

┌─────────────────────────────────────────────────────────────────────────┐
│                         AuthBridge Application                          │
├─────────────────────────────────────────────────────────────────────────┤
│  ┌──────────────────┐    ┌──────────────────┐    ┌──────────────────┐  │
│  │  System Tray UI  │◄──►│   Core Engine    │◄──►│  Credential Vault│  │
│  │  (WinForms)      │    │                  │    │  (DPAPI)         │  │
│  └──────────────────┘    └────────┬─────────┘    └──────────────────┘  │
│                                   │                                     │
│                                   ▼                                     │
│                    ┌──────────────────────────┐                         │
│                    │   Local Proxy Server     │                         │
│                    │   (Kestrel @ :8000)      │                         │
│                    └──────────────────────────┘                         │
└─────────────────────────────────────────────────────────────────────────┘

Building

# Restore packages
dotnet restore AuthBridge.sln

# Build
dotnet build AuthBridge.sln

# Run
dotnet run --project src/AuthBridge.UI.WinForms/AuthBridge.UI.WinForms.csproj

Usage

  1. Launch AuthBridge (appears in system tray)
  2. Right-click tray icon → "Accounts..."
  3. Add an account:
    • Select provider (claude/chatgpt)
    • Enter display name
    • Click "Connect" and enter your session credentials
  4. Start the server (right-click → "Start Server")
  5. Configure your AI client to use http://localhost:8000/v1

Getting Session Credentials

For Claude:

  1. Log into claude.ai in your browser
  2. Open DevTools (F12) → Application → Cookies
  3. Copy the sessionKey cookie value

For ChatGPT:

  1. Log into chat.openai.com
  2. Open DevTools (F12) → Network
  3. Find any API request and copy the Authorization: Bearer <token> value

API Endpoints

Endpoint Description
POST /v1/chat/completions Chat completion (OpenAI format)
POST /v1/completions Legacy completion
GET /v1/models List available models
GET /health Health check

Model Mapping

Request Model Provider Target Model
gpt-5.2 ChatGPT gpt-5.2
gpt-4.1 ChatGPT gpt-4.1
gpt-4o ChatGPT gpt-4o
gpt-4-turbo ChatGPT gpt-4-turbo
gpt-3.5-turbo ChatGPT gpt-3.5-turbo
o1 ChatGPT o1
o1-mini ChatGPT o1-mini
o1-pro ChatGPT o1-pro
o3-mini ChatGPT o3-mini
Request Model Provider Target Model
claude-sonnet-4.5 Claude claude-sonnet-4.5
claude-opus-4.1 Claude claude-opus-4.1
claude-haiku-4.5 Claude claude-haiku-4.5
claude-3-7-sonnet-20250219 Claude claude-3-7-sonnet-20250219
Request Model Provider Target Model
gemini-3.0 Gemini gemini-2.5-pro
gemini-3-pro Gemini gemini-2.5-pro
gemini-2.5-pro Gemini gemini-2.5-pro
gemini-2.0-flash Gemini gemini-2.0-flash
gemini-2.0-flash-lite Gemini gemini-2.0-flash-lite
gemini-2.0-pro-exp Gemini gemini-2.0-pro-exp
gemini-2.0-flash-thinking-exp Gemini gemini-2.0-flash-thinking-exp
gemini-1.5-pro Gemini gemini-1.5-pro
gemini-1.5-flash Gemini gemini-1.5-flash
Request Model Provider Target Model
pplx-7b-online Perplexity sonar
pplx-sonar Perplexity sonar
pplx-sonar-pro Perplexity sonar-pro
pplx-sonar-reasoning Perplexity sonar-reasoning
pplx-sonar-reasoning-pro Perplexity sonar-reasoning-pro
pplx-r1-1776 Perplexity r1-1776

Configuration

Settings stored in %LOCALAPPDATA%\AuthBridge\settings.json:

{
  "ProxyPort": 8000,
  "AutoStart": false,
  "MinimizeToTray": true,
  "LoadBalanceStrategy": "RoundRobin",
  "RequestTimeoutSeconds": 120
}

Project Structure

AuthBridge/
├── src/
│   ├── AuthBridge.Core/        # Models, configuration, services
│   ├── AuthBridge.Security/    # DPAPI credential vault
│   ├── AuthBridge.Auth/        # OAuth callback server
│   ├── AuthBridge.Gateways/    # Provider implementations
│   ├── AuthBridge.Proxy/       # Kestrel HTTP server
│   └── AuthBridge.UI.WinForms/ # System tray application
└── docs/

Security Notes

  • Credentials are encrypted using Windows DPAPI (tied to your user account)
  • Proxy only binds to localhost (not accessible from network)
  • Session tokens are stored securely, not logged

License

MIT

Disclaimer

AuthBridge is a local personal-use tool.
It does not circumvent provider restrictions and does not include any session tokens.
Users must ensure they comply with the Terms of Service of each provider.

About

A Windows desktop application that acts as a local OpenAI-compatible proxy, routing requests to Claude, ChatGPT, and Gemini using your existing browser sessions.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages