Reach is a desktop launcher that puts all your remote connections and local apps in one clean interface. No more juggling RDP files, PuTTY shortcuts, and app launchers separately — organize everything into custom tabs, assign saved credentials, and launch with a double-click.
Built with Tauri 2 + React 19 + TypeScript. Windows only — uses native Windows Credential Manager and RDP under the hood.
|
|
|
|
Grab the latest .msi or .exe from Releases, install, and launch.
Prerequisites: Node.js 18+, Rust, Tauri v2 prerequisites
git clone https://github.com/giftedloser/Reach.git
cd Reach
npm install
npm run tauri devBuild an installer:
npm run tauri build
# outputs to src-tauri/target/release/bundle/| Technology | |
|---|---|
| Frontend | React 19, TypeScript, Tailwind CSS v4, Radix UI, Lucide Icons |
| Backend | Tauri 2, Rust, SQLite (rusqlite) |
| Security | Windows Credential Manager (OS-level secure storage) |
| Platform | mstsc, PuTTY |
src/ React frontend
components/ UI components (cards, dialogs, views)
contexts/ React context providers
lib/ Utilities, theme config, icon registry
types/ TypeScript interfaces
src-tauri/src/ Rust backend
lib.rs Tauri command registration
db.rs SQLite schema & migrations
credentials.rs Credential CRUD + OS secure storage
connections.rs RDP connections, RD Gateway resolution & launch
ssh.rs SSH connections & launch
apps.rs Local app and `.rdp` launcher
settings.rs Persistent app settings
tabs.rs Custom tab management
backup.rs JSON export / import
Backend regression coverage currently focuses on the highest-risk launch and data flows:
cargo testcovers backup/import round-trips, restore mode behavior, RD Gateway resolution, and Windows argument parsingnpm run buildverifies the frontend bundle and shared TypeScript types
Passwords are never stored in the app database. Reach uses Windows Credential Manager for all credential storage. See SECURITY.md for the full architecture.
Contributions welcome! See CONTRIBUTING.md for setup instructions and guidelines.
MIT © LoserLabs

