{"id":23629644,"url":"https://github.com/darkskygit/sqlite-vfs-http","last_synced_at":"2025-08-31T05:31:54.581Z","repository":{"id":269772952,"uuid":"908200647","full_name":"darkskygit/sqlite-vfs-http","owner":"darkskygit","description":"Query sqlite database over http","archived":false,"fork":false,"pushed_at":"2024-12-26T03:14:36.000Z","size":41,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-26T04:20:41.430Z","etag":null,"topics":["cdn","http-client","sqlite","sqlite-vfs","sqlite3"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/darkskygit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2024-12-25T12:29:30.000Z","updated_at":"2024-12-26T03:14:39.000Z","dependencies_parsed_at":"2024-12-26T04:20:47.345Z","dependency_job_id":"0053a133-de5e-4356-be8f-e4019cf863de","html_url":"https://github.com/darkskygit/sqlite-vfs-http","commit_stats":null,"previous_names":["darkskygit/sqlite-vfs-http"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darkskygit%2Fsqlite-vfs-http","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darkskygit%2Fsqlite-vfs-http/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darkskygit%2Fsqlite-vfs-http/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darkskygit%2Fsqlite-vfs-http/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/darkskygit","download_url":"https://codeload.github.com/darkskygit/sqlite-vfs-http/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":231534463,"owners_count":18391458,"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":["cdn","http-client","sqlite","sqlite-vfs","sqlite3"],"created_at":"2024-12-28T01:16:31.890Z","updated_at":"2024-12-28T01:16:32.328Z","avatar_url":"https://github.com/darkskygit.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sqlite-vfs-http\n\nThe `sqlite-vfs-http` is a library based on the SQLite VFS extension, designed to access static SQLite files located on a CDN via HTTP/HTTPS protocol.\n\nBy using this library, you can host SQLite database files on a remote server and perform queries without downloading the files locally.\n\n### Requirements\n\n-   any crate that link SQLite3 to your binary, such as `rusqlite`, `sqlx` or `libsqlite3-sys`\n\n### Usage\n\n1. add the following to your `Cargo.toml`:\n\n```toml\n[dependencies]\nsqlite-vfs-http = \"0.1.0\"\n```\n\n2. use the library in your code:\n\n```rust\nuse rusqlite::{Connection, NO_PARAMS};\nuse sqlite_vfs_http::{register_http_vfs, HTTP_VFS};\n\n\n// Register the HTTP VFS for sqlite\nregister_http_vfs();\n\nlet base = \"https://example.com\";\nlet conn = Connection::open_with_flags_and_vfs(\n    format!(\"{base}/0.db\"),\n    OpenFlags::SQLITE_OPEN_READ_WRITE\n        | OpenFlags::SQLITE_OPEN_CREATE\n        | OpenFlags::SQLITE_OPEN_NO_MUTEX,\n    // Use HTTP VFS\n    HTTP_VFS,\n)?;\nconn.query_row(\n    \"SELECT count(1) FROM sqlite_master WHERE type = 'table'\",\n    [], |row| row.get::\u003cusize\u003e(0)\n).unwrap();\n```\n\n### Limitations\n\n-   Before uploading to the CDN, the database needs to change the journal mode to `MEMORY`:\n\n```sql\nPRAGMA journal_mode = MEMORY;\n```\n\n### License\n\n\u003e This project is licensed under the AGPL-3.0 license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarkskygit%2Fsqlite-vfs-http","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdarkskygit%2Fsqlite-vfs-http","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarkskygit%2Fsqlite-vfs-http/lists"}