Hashful storage. Store your whole file in the URL hash
Stores entire files in URL hashes with zero server dependency.
Connparse parses database connection strings, DSNs, URLs, file paths, and cloud storage URIs into one safe structured object.
YAML-defined specs drive parsers across JS, Go, Python, Rust, and Java.
Backend developers handling multi-source data connections
node-postgres · go-sql-driver · java.sql.DriverManager
This is a tool I created on the side that is able to parse connection strings for various data sources including SQL, NoSQL, files, cloud storage (s3, etc), and more.
I created it because I wanted to add automatic parsing for WhoDB (day job) so that users do not have to type in each detail individually when they add a new data source.
The parser currently supports SQL, NoSQL, file-based, and cloud storage connection strings (Postgres, MySQL, MongoDB, Redis, S3, SQLite, and more).
Each datasource is defined via YAML:
- required fields
- optional fields
- credential handling
- query params
- validation rules
Usage is simple:
const result = parse('postgres://user:pass@localhost:5432/app?sslmode=require');
and the result:
{ "scheme": "postgres", "type": "database", "authority": { "host": "localhost", "port": 5432 }, "resource": { "type": "database", "name": "app" }, "path": "", "query": { "sslmode": "require" }, "fragment": null, "credentials": { "username": "user", "password": "pass" }, "options": {}, "raw": "postgres://user:pass@localhost:5432/app?sslmode=require", "safe": "postgres://user:**@localhost:5432/app?sslmode=require" }
which can they be used directly in the application.
Stores entire files in URL hashes with zero server dependency.
Just a signup page with zero product details in a saturated cloud storage market.
Syncs via your own Dropbox without servers, using CRDTs to handle offline conflicts.
Parsing Draw.io XML for cost estimates is a clever left-shift approach.
On-device duplicate detection, but Gemini Photos and PhoneClean already do this free.
Stacks free tiers from AWS, OCI, B2, R2 into one bucket—zero client changes.