boringproxy
dqlite

boringproxy | dqlite | |
---|---|---|
10 | 33 | |
1,254 | 3,952 | |
0.9% | 0.7% | |
0.0 | 9.2 | |
8 months ago | 7 days ago | |
Go | C | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
boringproxy
-
List of ngrok/Cloudflare Tunnel alternatives and other tunneling software and services. Focus on self-hosting.
boringproxy - Designed to be very easy to use. No config files. Clients can be remote-controlled through a simple WebUI and/or REST API on the server.
-
Ask HN: Remote access to self hosted (back end) software
A couple of years ago I've read about this concept (already forgot the name) of using self hosted data storage with cloud applications. Basically, you as a user own your data and only permit the cloud hosted web application to access it - not own it and manage in your place.
I was thinking of a similar concept, but in the context of mobile applications. The mobile application itself would be accessible via Google Play Store/App Store, but the backend part would be self hosted and upon opening the application you would have to specify how to access backend.
My question is how would I access the backend if it was hosted on let's say rpi running in the living room? It's not a problem as long as I'm within the home network, but I want seemless network transition without losing access when entering/leaving the house. I was told https://www.cloudflare.com/en-gb/products/zero-trust/access/ could be used for this, but to me it sounds a bit of an overkill to use it for an application which would never be used by more than a single digit amount of users. This looks more suitable: https://github.com/boringproxy/boringproxy
-
Replacing cloudflare with a VPS - My journey
Finally, someone in the above project's Matrix room directed me towards boringproxy - https://github.com/boringproxy/boringproxy. This was the perfect solution. No lengthy config files, easy to use and automate. Setup took about an hour and now everything is back up and running. The only issue I've currently not been able to solve is one where the container seems to use a websocket, which keeps getting timed out (will investigate this further tomorrow).
-
zrok: open-source peer-to-peer sharing (alternative to ngrok)
boringproxy (GitHub) is my go-to for this sort of thing. Thanks for the announcement, I'll have to do a head-to-head and see how they stack up!
-
What's the best way to host Jellyfin to be accessed outside of my home network?
boringproxy
-
Consider SQLite
Am I the only one who thinks SQLite is still too complicated for many programs? Maybe it's just the particular type of software I normally work on, which tends towards small, self-hosted networking services[0] that would often have a single user, or maybe federated with <100 users. These programs need a small amount of state for things like tokens, users accounts, and maybe a bit of domain-specific things. This can all live in memory, but needs to be persisted to disk on writes. I've reached for SQLite several times, and always come back to just keeping a struct of hashmaps[1] in memory and dumping JSON to disk. It's worked great for my needs.
Now obviously if I wanted to scale up, at some point you would have too many users to fit in memory. But do programs at that scale actually need to exist? Why can't everyone be on a federated server with state that fits in memory/JSON? I guess that's more of a philosophical question about big tech. But I think it's interesting that most of our tech stack choices are driven by projects designed to work at a scale most of us will never need, and maybe nobody needs.
[0]: https://boringproxy.io/
[1]: https://github.com/boringproxy/boringproxy/blob/master/datab...
-
Architecture issue with running a docker project - have a crack at this
This is the commit that seems to have broken the docker image.
- Problems with port forwarding
-
How does pricing work for making and maintaining a website?
I use https://github.com/boringproxy/boringproxy
dqlite
-
Marmot: Multi-writer distributed SQLite based on NATS
If you're interested in this, here are some related projects that all take slightly different approaches:
- LiteSync directly competes with Marmot and supports DDL sync, but is closed source commercial (similar to SQLite EE): https://litesync.io
- dqlite is Canonical's distributed SQLite that depends on c-raft and kernel-level async I/O: https://dqlite.io
- cr-sqlite is a Rust-based loadable extension that adds CRDT changeset generation and reconciliation to SQLite: https://github.com/vlcn-io/cr-sqlite
Slightly related but not really (no multi writer, no C-level SQLite API or other restrictions):
- comdb2 (Bloombergs multi-homed RDMS using SQLite as the frontend)
- rqlite: RDMS with HTTP API and SQLite as the storage engine, used for replication and strong consistency (does not scale writes)
- litestream/LiteFS: disaster recovery replication
- liteserver: active read-only replication (predecessor of LiteSync)
- I'm All-In on Server-Side SQLite
-
SQLite performance tuning: concurrent reads, multiple GBs and 100k SELECTs/s
I'd be curious for a similar tuning with Dqlite: https://github.com/canonical/dqlite
- Strong Consistency with Raft and SQLite
-
9 years of open-source database development: reviewing the designs
Anyone knows how the DB this is about, https://rqlite.io/, compares with https://dqlite.io/ by Canonical (both seem to be distributed versions of sqlite)?
- SQLite the only database you will ever need in most cases
-
Transcending Posix: The End of an Era?
For folks' context, the new tool that's being discussed in the thread mentioned by the parent here is litefs [0], as well as which you can also look at rqlite [1] and dqlite [2], which all provide different trade-offs (e.g. rqlite is 'more strongly consistent' than litefs).
[0]: https://github.com/superfly/litefs
[1]: https://github.com/rqlite/rqlite
[2]: https://github.com/canonical/dqlite
-
SQLite is not a toy database
I presume you're familiar with https://github.com/canonical/dqlite (made by my employer) and https://github.com/rqlite/rqlite (unrelated)? How will mvsqlite compare to those?
-
GitDB, a distributed embeddable database on top of Git
Check out dqlite, it's sqlite but with a raft consensus to distribute changes through a log: https://dqlite.io/ You can link it in as a library too, it sounds like exactly what you want.
- Ask HN: Free and open source distributed database written in C++ or C
What are some alternatives?
selfhosted-gateway - Self-hosted Docker native tunneling to localhost. Expose local docker containers to the public Internet via a simple docker compose interface.
rqlite - The lightweight, user-friendly, distributed relational database built on SQLite.
ngrok - Expose your localhost to the web. Node wrapper for ngrok.
mvsqlite - Distributed, MVCC SQLite that runs on FoundationDB.
timeliner - All your digital life on a single timeline, stored locally -- DEPRECATED, SEE TIMELINIZE (link below)
litestream - Streaming replication for SQLite.
Gravitational Teleport - The easiest, and most secure way to access and protect all of your infrastructure.
kine - Run Kubernetes on MySQL, Postgres, sqlite, dqlite, not etcd.
litefs - FUSE-based file system for replicating SQLite databases across a cluster of machines
yjs - Shared data types for building collaborative software
better-sqlite3 - The fastest and simplest library for SQLite3 in Node.js.
