# Quad4 Linking Tool A web linking tool for mapping relationships between entities. showcase image Desktop apps for Windows, macOS, and Linux are coming soon... ## Quick Start ### Using the Binary 1. Build the binary: ```sh task build ``` 2. Run the server: ```sh ./bin/linking-tool --port 8080 ``` 3. Open your browser at `http://localhost:8080` ### Using Docker ```sh docker run -p 8080:8080 git.quad4.io/quad4-software/linking-tool ``` Then open your browser at `http://localhost:8080` ## Features - Interactive graph visualization - Multiple entity types (person, email, phone, address, domain, org, IP, social) - Auto-save to IndexedDB - Import/Export JSON - Share link via base64 for smaller graphs - Undo/Redo support - PWA support (installable, offline-capable) - Native desktop app support (via Wails) - Single-binary lightweight web server - Support for 32-bit and 64-bit architectures (runs on old Raspberry Pi Zero W) ## Installation Options ### Self-Hosted Web Server The easiest way to self-host is using the single binary: ```sh task build ./bin/linking-tool --port 8080 ``` The binary will be located in `bin/` after building. ### Desktop Application Build the desktop application for your platform: ```sh task desktop-build ``` The binary will be located in `bin/` after building. ## Development ### Prerequisites - Go `1.25.5` - Node.js - pnpm - Wails (for desktop app development) ### Setup ```sh git clone https://git.quad4.io/quad4-software/linking-tool.git cd linking-tool pnpm install ``` ### Taskfile The project uses a [Taskfile](https://taskfile.dev/) for all development tasks. Common tasks: ```sh task dev # Run development servers (Go & SvelteKit) task build # Build the single binary web server task desktop-build # Build the desktop application task # List all available tasks ``` ## Contributing Send us an email at [team@quad4.io](mailto:team@quad4.io) for any issues or feedback. ## License [BSD 3-Clause](LICENSE)