A lightweight, cross‑platform desktop wrapper for Figma with built‑in proxy and DNS capabilities. Configure SOCKS5/HTTP/HTTPS proxies, add optional DNS overrides and WebRTC protection, then launch Figma through a dedicated window that respects your network settings.
Not affiliated with or endorsed by Figma, Inc. Use at your own risk.
- Launches Figma in a Tauri WebView configured to use your proxy
- Supports SOCKS5, HTTP and HTTPS proxies with optional authentication
- Optional DNS override and WebRTC leak protection
- Health checks, latency measurement, and connection status
- Secure credential storage via OS keychain
- System tray controls and keyboard shortcuts
Built with Tauri 2, React 19, Vite 6, TypeScript, Tailwind, and Zustand. Rust powers the proxy management, health checks and window creation.
- Bypass regional network restrictions that block or throttle Figma
- Keep your main system network untouched—route only Figma via the configured proxy
- One-click test, save, toggle and launch flow
- Small footprint, native feel, and fast startup times
- Node.js 18+ and pnpm
- Rust stable toolchain and Cargo
- Tauri system dependencies
- macOS: Xcode command line tools
- Windows: Visual Studio Build Tools + WebView2
- Linux: GTK3 + webkit2gtk (see Tauri docs)
pnpm installTauri will start Vite on port 1420 and launch the desktop app.
pnpm tauri devCreates platform installers/bundles under src-tauri/target.
pnpm tauri buildRuns the web UI without the Tauri backend (limited functionality).
pnpm dev- Open the app (system tray available)
- Configure your proxy:
- Type:
socks5,http, orhttps - Host/Port, optional username/password
- Type:
- Test connection to verify latency and external IP
- Save and enable the proxy
- Optionally set advanced options:
- Custom DNS server
- WebRTC protection
- Kill switch and auto‑update preferences
- Click “Launch Figma” to open a dedicated window routed through your settings
- Cmd/Ctrl + , — Open About/Settings
- Cmd/Ctrl + Shift + P — Toggle proxy
- Esc — Close dialogs
src/— React UI (Home screen, proxy/DNS config, status, tray interactions)src-tauri/— Rust backend (proxy manager, health checks, commands, window creation)docs/— Project notes and issue tracking
Key backend commands (invoked from the UI):
set_proxy_config,get_proxy_config,toggle_proxy,get_proxy_statustest_proxy_connection,trigger_health_checksave_advanced_settings,get_advanced_settingscreate_figma_window,clear_cache,get_app_version,is_first_run
pnpm tauri dev: Run the desktop app in developmentpnpm tauri build: Build installers/bundlespnpm dev: Run Vite dev server (UI only)pnpm build: Type-check and build UI assetspnpm preview: Preview built UI (UI only)
- Known bugs and open issues: docs/BUGS_AND_ISSUES.md
- Fixes applied and progress: docs/FIXES_APPLIED.md
- Potential issues to watch: docs/potential-issues.md
- Notes and experiments: docs/GEMINI.md
- File issues and feature requests in the repository issues page.
Repository: https://github.com/ehsanghaffar/figma-free
- Maintainer: Ehsan Ghaffar (Ein) — https://github.com/ehsanghaffar
- Contributions welcome! Suggested flow:
- Fork and create a feature branch
pnpm installandpnpm tauri devto iterate locally- Keep changes focused; add minimal docs in
docs/when relevant - Open a PR with a clear description and screenshots when UI changes
- Credentials are stored securely using the OS keychain; the UI never persists passwords directly.
- Network access is restricted by a strict Content Security Policy and the Tauri permission model.
- Desktop: Tauri 2 (Rust) + WebView Tauri
- UI: React 19 + Vite 6 + Tailwind 4 + shadcn/radix primitives
- State: Zustand
- Networking:
reqwestwith proxy configuration and health checks