EasyCLI  by router-for-me

Desktop GUI for managing CLI tools

Created 4 months ago
280 stars

Top 93.1% on SourcePulse

GitHubView on GitHub
Project Summary

A desktop GUI for managing CLIProxyAPI, EasyCLI simplifies the setup and operation of command-line proxy tools for both local and remote environments. It targets developers and power users seeking a more accessible interface for proxy management, offering automated downloads, configuration bootstrapping, and secure remote access features.

How It Works

EasyCLI leverages Tauri v2, employing a Rust backend for core functionalities like downloading CLIProxyAPI releases, managing configurations, and handling system tray integration. The frontend is built with static HTML, CSS, and vanilla JavaScript. The application automatically detects the user's OS and architecture to download the appropriate CLIProxyAPI binary, extracts it, and bootstraps the configuration. It supports secure remote management via a password (secret key) and includes a local callback server for authentication flows with various AI providers.

Quick Start & Requirements

  • Primary install/run: Install dependencies with npm install, then run in development mode with npm run dev. Build artifacts using npm run build.
  • Prerequisites: Node.js 18+, npm 9+, Rust toolchain (via rustup). OS-specific build tools are required: macOS Xcode Command Line Tools, Windows MSVC Build Tools, or Linux standard Tauri dependencies.
  • Links: Upstream CLIProxyAPI: https://github.com/luispater/CLIProxyAPI.

Highlighted Details

  • Migrated from Electron to Tauri v2 for a more performant desktop application.
  • System tray integration allows hiding the window while the local process runs, with options to Open Settings or Quit.
  • Supports proxy configuration (HTTP/HTTPS/SOCKS5) during the local download and update process.
  • Secure remote management via a user-defined secret key.
  • Automated detection, download, and extraction of CLIProxyAPI releases tailored to OS and architecture.
  • Manages general API access tokens, third-party API keys (Gemini, Codex, Claude Code), and OpenAI-compatible providers.
  • Includes a built-in local callback server for provider authentication flows.

Maintenance & Community

No specific details regarding notable contributors, sponsorships, community channels (e.g., Discord/Slack), or roadmap are provided in the README.

Licensing & Compatibility

  • License: MIT License.
  • Compatibility: The MIT license is permissive and generally compatible with commercial use and linking within closed-source projects.

Limitations & Caveats

Callback server ports for AI providers (Gemini: 8085, Claude: 54545, Codex: 1455) must be available; conflicts require closing other applications. Remote connection information is stored in localStorage, necessitating clearing on shared machines for security. The README does not detail known bugs or specific unsupported platforms beyond the general OS requirements for building.

Health Check
Last Commit

1 month ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
4
Star History
113 stars in the last 30 days

Explore Similar Projects

Starred by Georgios Konstantopoulos Georgios Konstantopoulos(CTO, General Partner at Paradigm) and Tom Moor Tom Moor(Head of Engineering at Linear; Founder of Outline).

chatgpt-telegram by m1guelpf

0%
4k
Telegram bot CLI tool for ChatGPT interaction
Created 3 years ago
Updated 2 years ago
Feedback? Help us improve.