{"id":28797654,"url":"https://github.com/dataflareapp/echolite","last_synced_at":"2025-10-25T18:49:46.488Z","repository":{"id":299188764,"uuid":"1002322553","full_name":"DataflareApp/echolite","owner":"DataflareApp","description":"Lightweight SQLite network proxy","archived":false,"fork":false,"pushed_at":"2025-06-15T08:10:53.000Z","size":0,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-15T08:26:05.592Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DataflareApp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2025-06-15T08:01:47.000Z","updated_at":"2025-06-15T08:14:42.000Z","dependencies_parsed_at":"2025-06-15T08:26:11.356Z","dependency_job_id":"95a4a232-c646-4fa7-8f25-ca2d0f167c71","html_url":"https://github.com/DataflareApp/echolite","commit_stats":null,"previous_names":["dataflareapp/echolite"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DataflareApp/echolite","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataflareApp%2Fecholite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataflareApp%2Fecholite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataflareApp%2Fecholite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataflareApp%2Fecholite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataflareApp","download_url":"https://codeload.github.com/DataflareApp/echolite/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataflareApp%2Fecholite/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260488552,"owners_count":23016939,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2025-06-18T04:33:06.960Z","updated_at":"2025-10-25T18:49:41.450Z","avatar_url":"https://github.com/DataflareApp.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EchoLite\n\nEchoLite is a simple and lightweight SQLite proxy that allows you to quickly access SQLite databases on remote servers over the network.\n\n## Why EchoLite?\n\nSQLite is an excellent embedded database, widely appreciated for its lightweight, high-performance, and zero-configuration nature. However, SQLite doesn't natively support network access.\n\nEchoLite bridges this gap by providing a secure proxy layer that enables network access to SQLite databases, allowing you to work with SQLite remotely just like you would with MySQL or PostgreSQL.\n\n## Installation\n\n### Pre-compiled Binaries\n\nDownload pre-compiled binaries for your operating system from the [Releases](https://github.com/DataflareApp/echolite/releases) page.\n\n\u003e [!NOTE]\n\u003e Names containing `dynamic` = dynamically linked SQLite\n\u003e \n\u003e Names containing `static` = statically linked SQLite\n\n### Compile from Source\n\nMake sure you have the Rust toolchain installed ([rustup](https://rustup.rs/)):\n\n```bash\n# Clone the repository\ngit clone https://github.com/DataflareApp/echolite.git\ncd echolite\n\n# Build release version\ncargo build --release\n\n# If you need to dynamically link SQLite\ncargo build --release --no-default-features\n```\n\nAfter compilation, the binary file is located at `target/release/echolite`.\n\n## Usage\n\n### Basic Usage\n\nStart the EchoLite server:\n\n```bash\necholite -p 'your-password'\n```\n\nBy default, EchoLite binds to `127.0.0.1:4567`. You can change the bind address using the `-b` parameter:\n\n```bash\n# Change port only\necholite -p 'your-password' -b 1234\n\n# Change IP and port\necholite -p 'your-password' -b 192.168.0.8:7788\n```\n\n### Log Configuration\n\nUse the `-l` parameter to adjust the log level for more detailed output:\n\n```bash\necholite -p 'your-password' -l trace\n```\n\nSupported log levels: `error`, `warn`, `info`, `debug`, `trace`, `off`\n\n### Docker Deployment\n\n```bash\n# Pull the image\ndocker pull dataflare/echolite\n\n# Run the container\ndocker run -d \\\n    --name echolite \\\n    --restart always \\\n    -p 127.0.0.1:4567:4567 \\\n    -e ECHOLITE_BIND='0.0.0.0' \\\n    -e ECHOLITE_PASSWORD='YOUR_PASSWORD' \\\n    -v /your/database/path:/echolite/ \\\n    dataflare/echolite\n```\n\n### Environment Variable Configuration\n\nEchoLite supports configuration through environment variables:\n\n-   `ECHOLITE_BIND`: Bind address (default: `127.0.0.1:4567`)\n-   `ECHOLITE_PASSWORD`: Authentication password\n-   `ECHOLITE_LOG`: Log level (default: `info`)\n\n### Security Considerations\n\n\u003e [!WARNING]\n\u003e\n\u003e -   **Security audit**: EchoLite has not undergone professional security audits.\n\u003e -   **Always use strong passwords**: EchoLite uses Argon2id for password hashing, but weak passwords still pose risks\n\u003e -   **Network security**: EchoLite currently doesn't support TLS, it's recommended to:\n\u003e     -   Only bind to local addresses (`127.0.0.1`)\n\u003e     -   Access remote servers through SSH tunnels or VPN\n\u003e     -   Use firewalls to restrict access in production environments\n\u003e -   **Database backups**: Regularly backup your SQLite database files\n\n## Connecting to SQLite Database\n\n### Using Dataflare\n\nDataflare has out-of-the-box support for EchoLite. You can directly create a new EchoLite connection in [Dataflare](https://dataflare.app) and easily access your SQLite database.\n\n![Dataflare](https://github.com/user-attachments/assets/0f9f927d-c613-4708-8503-5b1ee941d37f)\n\n### Programmatic Access\n\nIf you want to access programmatically, please refer to the example in `client/examples/client.rs` in the code repository.\n\n## TODO\n\n-   [ ] TLS\n-   [ ] Better log output\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdataflareapp%2Fecholite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdataflareapp%2Fecholite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdataflareapp%2Fecholite/lists"}