{"id":41932763,"url":"https://github.com/0xerwin1/dbflux","last_synced_at":"2026-04-02T17:00:51.893Z","repository":{"id":334036858,"uuid":"1125356218","full_name":"0xErwin1/dbflux","owner":"0xErwin1","description":"A fast, keyboard-first database client built with Rust and GPUI.","archived":false,"fork":false,"pushed_at":"2026-03-28T11:00:40.000Z","size":4225,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-28T21:23:31.048Z","etag":null,"topics":["cross-platform","database","database-client","db","developer-tools","gpui","mongodb","mysql","nosql","postgresql","query-editor","redis","rust","sql"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/0xErwin1.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-12-30T15:26:23.000Z","updated_at":"2026-03-07T00:04:32.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/0xErwin1/dbflux","commit_stats":null,"previous_names":["0xerwin1/dbflux"],"tags_count":24,"template":false,"template_full_name":null,"purl":"pkg:github/0xErwin1/dbflux","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xErwin1%2Fdbflux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xErwin1%2Fdbflux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xErwin1%2Fdbflux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xErwin1%2Fdbflux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0xErwin1","download_url":"https://codeload.github.com/0xErwin1/dbflux/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xErwin1%2Fdbflux/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31311010,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cross-platform","database","database-client","db","developer-tools","gpui","mongodb","mysql","nosql","postgresql","query-editor","redis","rust","sql"],"created_at":"2026-01-25T18:02:45.817Z","updated_at":"2026-04-02T17:00:51.869Z","avatar_url":"https://github.com/0xErwin1.png","language":"Rust","readme":"# DBFlux\n\nA fast, keyboard-first database client built with Rust and GPUI.\n\n## Overview\n\nDBFlux is an open-source database client written in Rust, built with GPUI (Zed's UI framework). It focuses on performance, a clean UX, and keyboard-first workflows.\n\nThe long-term goal is to provide a fully open-source alternative to DBeaver, supporting both relational and non-relational databases.\n\n## Installation\n\n### Linux\n\n#### Tarball (recommended)\n\n```bash\n# Install to /usr/local (requires sudo)\ncurl -fsSL https://raw.githubusercontent.com/0xErwin1/dbflux/main/scripts/install.sh | sudo bash\n\n# Install to ~/.local (no sudo required)\ncurl -fsSL https://raw.githubusercontent.com/0xErwin1/dbflux/main/scripts/install.sh | bash -s -- --prefix ~/.local\n```\n\n#### AppImage (portable)\n\n```bash\n# Download from releases (replace amd64 with arm64 for ARM)\nwget https://github.com/0xErwin1/dbflux/releases/latest/download/dbflux-linux-amd64.AppImage\nchmod +x dbflux-linux-amd64.AppImage\n./dbflux-linux-amd64.AppImage\n```\n\n#### Arch Linux\n\nUsing the provided PKGBUILD:\n\n```bash\ncd scripts\nmakepkg -si\n```\n\nOr with an AUR helper (once published):\n\n```bash\nparu -S dbflux\n```\n\n#### Nix\n\nUsing flakes:\n\n```bash\n# Run directly\nnix run github:0xErwin1/dbflux\n\n# Install to profile\nnix profile install github:0xErwin1/dbflux\n\n# Development shell\nnix develop github:0xErwin1/dbflux\n```\n\nOr with the traditional approach:\n\n```bash\nnix-build\n./result/bin/dbflux\n```\n\n### macOS\n\nDBFlux for macOS is not signed with an Apple developer certificate. When opening for the first time, you'll see a warning about an \"unidentified developer\".\n\n#### Installation\n\n1. Download the DMG for your architecture from [Releases](https://github.com/0xErwin1/dbflux/releases):\n   - **Intel Macs**: `dbflux-macos-amd64.dmg`\n   - **Apple Silicon (M1/M2/M3/M4)**: `dbflux-macos-arm64.dmg`\n2. Open the DMG and drag DBFlux to Applications\n3. When you see the \"unidentified developer\" warning:\n   - Go to **System Settings → Privacy \u0026 Security**\n   - Click **Open Anyway** next to the security warning\n   - Confirm you want to open the application\n\n#### Bypass Gatekeeper from Terminal\n\n```bash\n# Remove quarantine attribute (allows opening without GUI confirmation)\nxattr -cr /Applications/DBFlux.app\n\n# Now you can open it normally\nopen /Applications/DBFlux.app\n```\n\n#### Requirements\n\n- macOS 11.0 (Big Sur) or later\n\n### Windows\n\n#### Installer\n\n1. Download `dbflux-windows-amd64-setup.exe` from [Releases](https://github.com/0xErwin1/dbflux/releases)\n2. Run the installer and follow the wizard\n\n#### Portable\n\n1. Download `dbflux-windows-amd64.zip` from [Releases](https://github.com/0xErwin1/dbflux/releases)\n2. Extract to any folder\n3. Run `dbflux.exe`\n\n\u003e **Note**: The executable is not signed with a Windows code signing certificate. Windows SmartScreen may show a warning. Click \"More info\" → \"Run anyway\" to proceed.\n\n#### Requirements\n\n- Windows 10 or later\n- x86_64 (ARM64 not yet supported)\n\n### Build from Source\n\n```bash\n# Via install script (Linux)\ncurl -fsSL https://raw.githubusercontent.com/0xErwin1/dbflux/main/scripts/install.sh | bash -s -- --build\n\n# Or manually\ngit clone https://github.com/0xErwin1/dbflux.git\ncd dbflux\ncargo build --release --features sqlite,postgres,mysql,mongodb,redis\n./target/release/dbflux\n```\n\n### Uninstall (Linux)\n\n```bash\n# If installed with install.sh\ncurl -fsSL https://raw.githubusercontent.com/0xErwin1/dbflux/main/scripts/uninstall.sh | sudo bash\n\n# From ~/.local\ncurl -fsSL https://raw.githubusercontent.com/0xErwin1/dbflux/main/scripts/uninstall.sh | bash -s -- --prefix ~/.local\n\n# Remove user config and data too\n./scripts/uninstall.sh --remove-config\n```\n\n### Verify Downloads\n\nReleases triggered with `workflow_dispatch` and `sign=true` include GPG signatures (key `A614B7D25134987A`).\n\n```bash\n# Import the public key from keyserver (one time)\ngpg --keyserver keyserver.ubuntu.com --recv-keys A614B7D25134987A\n\n# Verify checksum\nsha256sum -c dbflux-linux-amd64.tar.gz.sha256\n\n# Verify GPG signature (if the release includes .asc files)\ngpg --verify dbflux-linux-amd64.tar.gz.asc dbflux-linux-amd64.tar.gz\n```\n\n## Features\n\n### Database Support\n\n- **PostgreSQL** with SSL/TLS modes (Disable, Prefer, Require)\n- **MySQL** / MariaDB\n- **SQLite** for local database files\n- **MongoDB** with collection browsing, document CRUD, and shell query generation\n- **Redis** with key browsing for all types (String, Hash, List, Set, Sorted Set, Stream)\n- SSH tunnel support with key, password, and agent authentication\n- Reusable SSH tunnel profiles\n\n### User Interface\n\n- Document-based workspace with multiple result tabs (like DBeaver/VS Code)\n- Collapsible, resizable sidebar with ToggleSidebar command (Ctrl+B)\n- Schema tree browser with lazy loading for large databases\n- Schema-level metadata: indexes, foreign keys, constraints, custom types (PostgreSQL)\n- Multi-tab SQL editor with syntax highlighting\n- Virtualized data table with column resizing, horizontal scrolling, and sorting\n- Table browser with WHERE filters, custom LIMIT, and pagination\n- \"Copy as Query\" context menu to copy INSERT/UPDATE/DELETE as SQL, MongoDB shell, or Redis commands\n- Query preview modal with language-specific syntax highlighting\n- Command palette with fuzzy search\n- Custom toast notification system with auto-dismiss\n- Background task panel\n\n### Keyboard Navigation\n\n- Vim-style navigation (`j`/`k`/`h`/`l`) throughout the app\n- Context-aware keybindings (Document, Sidebar, BackgroundTasks)\n- Document focus with internal editor/results navigation\n- Results toolbar: `f` to focus, `h`/`l` to navigate, `Enter` to edit/execute, `Esc` to exit\n- Toggle sidebar with `Ctrl+B`\n- Tab switching (MRU order) with `Ctrl+Tab` / `Ctrl+Shift+Tab`\n- History modal: `Ctrl+P` to open\n\n### Query Management\n\n- Query history with timestamps\n- Saved queries with favorites\n- Search across history and saved queries\n\n### Export\n\n- Shape-based export: CSV, JSON (pretty/compact), Text, Binary (raw/hex/base64)\n- Export format determined by result type (table, JSON, text, binary)\n\n## Development\n\n### Prerequisites\n\n**Ubuntu/Debian:**\n```bash\nsudo apt install pkg-config libssl-dev libdbus-1-dev libxkbcommon-dev\n```\n\n**Fedora:**\n```bash\nsudo dnf install pkg-config openssl-devel dbus-devel libxkbcommon-devel\n```\n\n**Arch:**\n```bash\nsudo pacman -S pkg-config openssl dbus libxkbcommon\n```\n\n**macOS:**\n```bash\n# Xcode Command Line Tools (required)\nxcode-select --install\n```\n\n**Windows:**\n```powershell\n# Visual Studio Build Tools with C++ workload (required)\n# Download from: https://visualstudio.microsoft.com/visual-cpp-build-tools/\n```\n\n### Building\n\n```bash\ncargo build -p dbflux --release --features sqlite,postgres,mysql,mongodb,redis\n```\n\n### Running\n\n```bash\ncargo run -p dbflux --features sqlite,postgres,mysql,mongodb,redis\n```\n\n### Commands\n\n```bash\ncargo check --workspace                    # Type checking\ncargo clippy --workspace -- -D warnings    # Lint\ncargo fmt --all                            # Format\ncargo test --workspace                     # Tests\n```\n\n### Nix Development Shell\n\nIf you use Nix, you can enter a development shell with all dependencies:\n\n```bash\n# With flakes\nnix develop\n\n# Traditional\nnix-shell\n```\n\n## Project Structure\n\n```\ndbflux/\n├── crates/\n│   ├── dbflux/                 # Main application\n│   │   ├── ui/\n│   │   │   ├── document/       # Document system (SqlQuery, DataDocument)\n│   │   │   ├── dock/           # SidebarDock, BottomDock\n│   │   │   ├── components/     # DataTable, icons\n│   │   │   └── ...             # Other UI panels\n│   │   └── keymap/             # Keyboard system\n│   ├── dbflux_core/            # Core types and traits\n│   ├── dbflux_driver_sqlite/   # SQLite driver\n│   ├── dbflux_driver_postgres/ # PostgreSQL driver\n│   ├── dbflux_driver_mysql/    # MySQL driver\n│   ├── dbflux_driver_mongodb/  # MongoDB driver\n│   ├── dbflux_driver_redis/   # Redis driver\n│   ├── dbflux_ssh/             # SSH tunnel support\n│   └── dbflux_export/          # Export (CSV, JSON, Text, Binary)\n├── resources/\n│   ├── desktop/                # Linux desktop entry\n│   ├── icons/                  # Application icons (SVG)\n│   ├── macos/                  # macOS bundle resources\n│   ├── mime/                   # MIME type definitions\n│   └── windows/                # Windows installer resources\n└── scripts/\n    ├── install.sh              # Linux installer\n    ├── uninstall.sh            # Linux uninstaller\n    └── PKGBUILD                # Arch Linux package\n```\n\n## License\n\nMIT \u0026 Apache-2.0\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xerwin1%2Fdbflux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0xerwin1%2Fdbflux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xerwin1%2Fdbflux/lists"}