A small, polished desktop app for managing terminal proxy variables.
Save, switch, and disable terminal proxies without hand-editing shell profiles.
Term Proxy replaces repeated shell edits such as:
export http_proxy=http://127.0.0.1:1087
export https_proxy=http://127.0.0.1:1087with a compact UI for saving, switching, and disabling proxy profiles. In the app, HTTP_PROXY
is one setting that writes both http_proxy and https_proxy.
Download the latest build from GitHub Releases.
| Platform | Recommended package |
|---|---|
| macOS | Term.Proxy_last_universal.dmg |
| Windows | Term.Proxy_last_x64-setup.exe or Term.Proxy_last_x64_en-US.msi |
| Linux | Term.Proxy_last_amd64.AppImage, .deb, or .rpm |
macOS builds are not code-signed yet. If macOS blocks the app on first launch, open it from Finder once through the context menu. If the app is still blocked, remove the quarantine attribute:
xattr -dr com.apple.quarantine "/Applications/Term Proxy.app"Developers often keep several local proxy ports for debugging, company networks, CLI tools, and temporary environments. Maintaining those values by hand in .zshrc, .bashrc, or PowerShell profiles is easy to forget and hard to audit.
Term Proxy keeps that workflow visible. You add proxy entries once, pick the active HTTP_PROXY
entry and optional ALL_PROXY entry, and the app writes a managed shell script for new terminal
sessions.
The integration is intentionally conservative. Term Proxy does not take over your shell profile. It only adds a small managed loader block, then keeps generated proxy values in its own files under ~/.term-proxy.
- Manage
HTTP_PROXY,ALL_PROXY, and globalno_proxy. - Write
http_proxyandhttps_proxytogether from oneHTTP_PROXYsetting. - Save multiple proxy entries for each type.
- Keep only one active entry per type at a time, while allowing
HTTP_PROXYandALL_PROXYto run together. - Configure host and port from the desktop UI, without credentials.
- Manage global
no_proxyin settings. - Automatically install shell integration for supported shells.
- Read and merge existing proxy values from shell profiles.
- Copy platform-specific terminal proxy commands to the system clipboard.
- Support light theme, dark theme, and system theme.
- Support English, Simplified Chinese, Japanese, and Traditional Chinese.
- Support launch at startup through Tauri autostart.
Term Proxy currently manages terminal proxy environment variables. It does not modify system network proxy settings.
Term Proxy uses an extension-style proxy integration.
On macOS and Linux, the app creates:
~/.term-proxy/proxy.sh
and adds a controlled loader block to supported shell profiles such as .zshrc and .bashrc.
On Windows PowerShell, the app creates:
~/.term-proxy/proxy.ps1
and loads it from the PowerShell profile.
The shell profile remains yours. The generated proxy content lives in Term Proxy managed files, so enabling or disabling proxy entries rewrites only the managed script.
Term Proxy follows the official create-tauri-app structure.
- Tauri 2 and Rust
- React 19
- TypeScript
- Vite
- Tailwind CSS
- shadcn/ui conventions
- i18next and react-i18next
- Sonner
Install dependencies:
pnpm installRun the web UI:
pnpm devRun the desktop app:
pnpm tauri:devGenerate app icons:
pnpm tauri:iconBuild the desktop app:
pnpm tauri:buildGitHub Actions builds downloadable packages for macOS, Windows, and Linux.
Maintainers can create a draft GitHub Release by pushing a version tag:
git tag v1.0.0
git push origin v1.0.0The same workflow can also be started manually from GitHub Actions through the Release workflow. Generated releases are drafts by default, so assets can be checked before publishing.
Run the frontend checks:
pnpm typecheck
pnpm test
pnpm buildRun the Rust checks:
pnpm cargo:fmt
pnpm cargo:test- Node.js 20.19+ or 22.12+ for Vite 7.
- pnpm.
- Rust stable toolchain from
rustup. - Tauri prerequisites for the target operating system.
Tauri packages native apps for the current OS. Build macOS, Linux, and Windows artifacts on matching systems or CI runners.
Does Term Proxy modify system network proxy settings?
No. Term Proxy manages terminal environment variables only. It does not change the operating system network proxy.
Why does an existing terminal not update immediately?
Environment variables are loaded when a terminal session starts. After changing a proxy in Term Proxy, open a new terminal session to use the latest values.
Where are generated proxy scripts stored?
Term Proxy stores managed scripts under ~/.term-proxy. Shell profiles only load those managed scripts through a controlled block.
MIT. See LICENSE.
