Chhoto URL v6.3.0 is out now: A simple, blazingly fast, selfhosted URL shortener with no unnecessary features; written in Rust.
(github.com)
from SinTan1729@programming.dev to selfhosted@lemmy.world on 31 Aug 19:42
https://programming.dev/post/36651383
from SinTan1729@programming.dev to selfhosted@lemmy.world on 31 Aug 19:42
https://programming.dev/post/36651383
This release adds the ability to edit existing links, show and download QR codes for easy sharing, and various improvements in the frontend. Check out the release note for a list of all changes.
threaded - newest
I’m already aware of a few small UI oddities. There were quite a few changes in the frontend, so I kind of expect these. Please let me know if you see anything weird. You can comment here, or open a bug report. I expect to do a patch release by tomorrow.
I love projects like this. Do one thing, super well, without adding a kajillion dependencies. I love the vanilla HTML / CSS approach.
Thank you for the kind words.
Won’t lie, the main reason that I stuck to a vanilla frontend approach is because I didn’t know what else to do. I’ve never been a frontend dev, and never wish to be one. So I looked at an older project, and started by trying to replicate it. In hindsight, it was probably a good decision. The backend is more intentional though, and I do try to keep things simple and clean.
Software typically has features because people want them, so unnecessary is utterly relative
Unnecessary to me, I guess.
I am digging this, thanks for keeping it updated and improving it!
I see that you say it's feature complete / no user stuff; but it'd really mesh well if it took OIDC authentication. Don't need it to make users or anything, just instead of the password popup the OIDC provider is asked for confirmation that whatever user registered with the OIDC is logged in. That'd let me leverage extra 2FA protection from the OIDC provider and juice on that one-login life.
Now I have no experience making OIDC crap work nor how it even works behind the scenes, so I can't help :( sorry; just wishful thinking.
Also saw on your github - hope our newly shit-out gestapo don't bother you!
I don’t understand much about OIDC either. But I’ll keep it in mind. Thanks.
This would require configuration with a whitelist of which OIDC IdPs to trust. Otherwise anybody could self-authorise a OIDC token (using their own IdP) and use that to log in.
Hmm, so that might be out of scope here. But I can try to do some kind of 2FA, shouldn’t be much of an issue, really. It’s just that I never thought a link shortener needed 2FA protection since the links will be publicly shared anyway.
I agree with you, a simple minimal url-shortener does not need 2FA.
Yes that tracks with how OIDC setup works with my other services (you give the container the OIDC links and shared secrets so it knows how to talk to the OIDC and trust it).
Looks nice, thank you :]
Looks like a good project, but I genuinely don’t quite get why Rust projects feel the need to advertise “written in Rust” as a feature. Do you find that a lot of users care which programming language your app is written in? Does it help with finding contributors?
I don’t know which programming language most of my self-hosted apps use, and I don’t mind since they all work well and do their job.
Imo, it’s nice to see tools written in a memory safe systems language
Especially if you use a lot of them. More utility, less attack surface
This makes sense! You get the same advantage if the app uses Go or C# though, and both of those can compile to a single statically-linked executable too.
It’s just a way to advertise, I think. I’ve found myself putting more trust in projects written in Rust or Go, than say, JavaScript.
I mean, for myself personally if it were written in NodeJS or Python or something I’d be less interested.
And I don’t even care about Rust. It’s just that everything and their sister is written in NodeJS and Python. I say this as someone who founded a company that uses Python.
Also the more I hear about actual Rust adoption the more willing I am to consider it for the next big thing.
Does it matter if it’s running in Docker and the container is lightweight (say less than 50MB), though? I like apps being written in a language I know well so I can contribute if needed, but other than that, I mostly treat a Docker image as a black box.
That’d be awesome. Unfortunately most of my experience (and I realize that is my experience) has so many packages dependencies that 50MB is impossible.
Don’t get me wrong, I am proficient in JS/TS so being able to work handily in NodeJS is great, less context switching, but I feel like so many companies I contract for just jam a square peg into a round hole because - and it just makes things painful.
Yeah it’s definitely not possible to reach 50MB with a Node.js Docker image, but <150MB should be doable with a distroless base image + compiling the app into one JS file (for example, using Parcel or esbuild).
It’s possible to reach ~50-60MB Docker image with a C# app. Rust and Go definitely produce more compact binaries though.
I’ve been using your application for my services for almost a month now, though I just have one redirect link at the moment. I just forgot about it after the setup, although you could consider it to be a sign of a good product?
I wish if there could be additional analytics or logs for the links like a timeline, unique + existing visitors etc, however I completely understand if they cannot be implemented for the sake of keeping the app simple. Thanks for your service regardless!
I’m happy that you like it. Any kind of analytics or logging is decidedly against my stated policy for this project, so I won’t be adding it. But I understand that some might need it, and in that case, one should look at more comprehensive solutions like YOURLS.
The name is a dead ringer for a Bengali coder 🤝
শুনে ভালো লাগলো যে এটা কারো চোখে পড়েছে। নয়তো সবাইকে বোঝাতে হয় কি নাম, কেন নাম। আসলে বাঙালী প্রোগ্রামার খুব বেশি চিনি না।
Amar toh ekbaare chokhe poreche 😁
Bangali “hobby” programmer khub kom i ache. Beshir bhag IT company te ache, aar shudhu kaaj er jonnoi joto ta programming dorkar pore, kore.
Fediverse e arek bangali dekhe khub i bhalo laagche 🤝🤝
At least it’s not JiaTan
Would you like my custom xz tool?
Certainly, pull in some weird shit in the build process too.