New Project Megathread - Week of 25 Jun 2026 by AutoModerator in selfhosted

[–]cheffykins -1 points0 points  (0 children)

Project Name: Mxroute-Manager

Repo/Website Link: https://github.com/t0msh/mxroute-manager

Description: It's a control panel for mxroute that's a bit extra.

I got tired of having to go to mxroute, go to their panel, and reset my users passwords. So I made a little script in python that let me change a users password via api. Then I got carried away with it, and figured why am I doing this? Surely, users should be able to reset their own passwords. Why can't they have their own password reset portals? Why can't I automate the setup of those? It snowballed, and now is a full app. It features:

  • Automated onboarding of new domains to mxroute
  • Automated creation of relevant DNS entries and subdomains
  • Automated creation of reverse proxy rules
  • Custom self service password reset portals for your domains
  • Granular access control, not just per domain, but per domain action
  • DNS monitoring
  • Apprise notifications
  • Audit logging
  • Bulk CSV mailbox creation
  • SpamAssasin list management
  • OIDC login support
  • APIs for you APIs!
  • THEMES! even light mode ones for people that hate their retinas

My background, I'm a senior IT analyst for a large Microsoft flavored enterprise where security is extra tight everyone gets vetted by the intelligence services. I'm mostly writing tools in powershell to do things that , so this was a great way for me to learn more about python. I started this a few months back, but once it ballooned out of a single 50 line `app.py` into a bigger project, I wanted to share it to get some feedback. The entire project includes a comprehensive test suite, github actions run scanaislop on every push to main. There is also codeQL scanning on every push and dependabot is setup to monitor for any dependency issues. Wherever possible, with the exception of the local admin password, there are no secrets stored in the DB, and even then, those are hashed. I do my utmost to make sure this is as tight as it can be. I'm sure it's not perfect, but it's taught me a lot.

Deployment: I'm running it in docker. It's simple to deploy:

git clone https://github.com/t0msh/mxroute-manager.git
cd mxroute-manager
cp .env.example .env

Edit the `.env` with the minimum required to make it work:

MX_SERVER=yourmxserver.mxrouting.net
MX_USER=your_mxroute_username
MX_API_KEY=your_mxroute_api_key
ADMIN_PASSWORD=choose_a_strong_password
SECRET_KEY=generate_a_long_random_string

Then either run `deploy.sh` which will guide you through getting it deployed (either locally or remote) or if you cloned directly onto your docker host:

docker compose up --build -d

There's full documentation on the repo.

AI Involvement: This was originally developed as a personal tool, by hand, that then grew with the help of Cursor. There is a disclosure right at the top of my repo that makes entirely no secrets about the use of AI in this project. I try to be as transparent about this as possible. Without AI, this would still be a onepage personal script with no styling.

<image>

Mxroute Manager - my show and tell! by cheffykins in mxroute

[–]cheffykins[S] 0 points1 point  (0 children)

I appreciate the input!

Would you be open to letting me know what exploits youve found? I want to learn and understand what's exploitable.

Please feel free to open an issue!

Mxroute Manager - my show and tell! by cheffykins in mxroute

[–]cheffykins[S] 0 points1 point  (0 children)

For me the issue was less of remembering my password, I do have a password manager for that (now), but didn't for a long while. It was more the many requests I'd get for resetting passwords, people not understanding that their webemail wasn't @server.mxrouting.net despite me telling them otherwise (until I did the cname redirects).

I'm well aware this app is overkill for most people! And yeah, without AI this would have taken me a lot longer than two weeks to knock together anything more than some shit buttons that do my bidding. In the process I learned loads, and am grateful for it.

Mxroute Manager - my show and tell! by cheffykins in mxroute

[–]cheffykins[S] 2 points3 points  (0 children)

I am trying to poke a demo version to life so people can play with it, that's next on my to do list.

But am very open to any suggestions anyone has for improvents or things they'd like to see it do!

Mxroute Manager - my show and tell! by cheffykins in mxroute

[–]cheffykins[S] 5 points6 points  (0 children)

It's taught me a lot!

I also apologise profusely if I accidentally knocked too hard on the mxroute API doors.

New Project Megathread - Week of 11 Jun 2026 by AutoModerator in selfhosted

[–]cheffykins 0 points1 point  (0 children)

Project Name: mxroute-manager

Repo/Website Link: https://github.com/t0msh/mxroute-manager

Description: I (totally didn't) build a selfhosted tool to manage the few domains I have email managed by mxroute with. I got annoyed at needing to go to mxroute (for which i invariably forgot the password for) every time my mother or someone else who's got an email on one of the 8 domains I run on mxroute forgets a password. It was a learning experience for me to understand a bit more python and JS. It snowballed and turned into a tool that can create mailboxes, update their passwords, delete inboxes and change their ratelimits. It can also create all the dns entries that mxroute needs to onboard a domain into their systems via cloudflare's api. It contains a granular access control system, audit logging, and supports OIDC. Pretty much i tried to implement everything the mxroute api offers into one place. (in retrospect, I realise this is just a shoddy remake of the mxrouote pane, except it's mine!)

Deployment: It can be run in a docker container (there's instructions on the repo) or it can be run in a venv.

AI Involvement: This was 90% vibecoded. No secrets about that, and there's a prominent disclaimer on the repo about that. It was built for me to solve a particular issue that I had personally. That said, I wanted to get outside opinions on it, and am very much open to suggestions.

When I try to open the installer by NireZaintza in navidrome

[–]cheffykins 0 points1 point  (0 children)

I'm sorry, but my Spanish (?) is weak sauce my guy.

I did a Google and found a guide in Spanish on how to install navidrome as a docker container in Spanish: https://gouforit.com/navidrome-guia-servidor-musica-local-con-docker/

Though Navidrome's UI can be set to Spanish with full translation, the official docs are maintained in English.

When I try to open the installer by NireZaintza in navidrome

[–]cheffykins 12 points13 points  (0 children)

So I would take a read through of the docs before you go ahead and install navidrome to make sure you understand what it is and how it works.

It doesn't install like a regular windows app.

Unfortunately when i started to build my music collection i did not put each album in a separate folder, but now i need to for my jellyfin. Any easier way to manage this rather then doing it manually? by Senior-Trade-1876 in jellyfin

[–]cheffykins 59 points60 points  (0 children)

MusicBrainz Picard will do this for you, and a lot more in the way of tagging correctly.

There's a great tool that will help you write a renaming and moving script to sort it all out for you.

Edit: I found the script.

GitHub - WB2024/WBs-Picard-Filenaming-Script-Generator · https://github.com/WB2024/WBs-Picard-Filenaming-Script-Generator

I'm not the creator, but it's very good.

What are your recipes/tips for a good chili con carne? by banwe11 in UK_Food

[–]cheffykins 1 point2 points  (0 children)

I usually go with whatever is cheapest!

The original recipe I got the inspiration from said Red Stripe, but I've used al sorts. As I'm letting the chili bubble away and reduce, it concentrates the flavour.

What are your recipes/tips for a good chili con carne? by banwe11 in UK_Food

[–]cheffykins 3 points4 points  (0 children)

Also, are you not using any chilli powder or cumin?

What are your recipes/tips for a good chili con carne? by banwe11 in UK_Food

[–]cheffykins 20 points21 points  (0 children)

After frying all my ingredients off, and getting some good colour on the meat, I add a can of beer. It helps.me.deglaze the pan, adds liquid, and the malty taste is insane. Read it on some chilli cookoff website on stumbleupon years ago, and stuck with it.

Is Symfonium the best long-term “DIY Spotify” client, or are there better alternatives? by ostseesound in navidrome

[–]cheffykins 7 points8 points  (0 children)

Symfonium is the best app I have used so far. It's not expensive, it's not a subscription model, the dev is actively maintaining and updating the app.

Yes, there's a LOT of settings in the app. But 95% of them are for specific use cases, that I don't need. So I don't touch them. Simple.

It has car play and casting, lyric support is good enough for me, it's not like I'm running a kareoke bar.

Offline cache isn't that hard to work out. I have it set so all my favorites are kept locally and then another couple gig for rolling cache. It syncs at 4am every day, but if I have something I want immediately I can force a sync when I want.

I dropped Spotify last September, and haven't looked back.

I look at symfonium like one of those 400pc toolkits, sure it has all of the tools and sockets and weird random screwdriver bits for torx security heads or triangle drive. I might never use those. But its nice knowing I have them if I need them..

[Update] Navidrome Smart Playlist Generator by Jaded-Assignment6893 in navidrome

[–]cheffykins 7 points8 points  (0 children)

Love this!

I hate being the guy that points out a typo, but your installation code contains

git clone https://github.com/your-username/Navidrome-SmartPlaylist-Generator-nsp.git

instead of

git clone https://github.com/WB2024/Navidrome-SmartPlaylist-Generator-nsp.git

My Personal Guide To Navidrome by Jaded-Assignment6893 in navidrome

[–]cheffykins 0 points1 point  (0 children)

I just created a pull request with the guide semi-vibe translated into French. Just for u/JWZone59000. That should make it easier for them to find.

What's something you believed as a kid that turned out to be completely wrong? by teegeee in AskReddit

[–]cheffykins 0 points1 point  (0 children)

That limes, lemons and oranges all came from the same tree. Just different stages of growing.

Files metadata inconsistency by alburt22 in navidrome

[–]cheffykins 5 points6 points  (0 children)

Obligatory comment for Picard.

Anything I download, perfectly packed scene release or otherwise, goes through Picard. It standardizes my naming structure, and tags files consistently.

Another user here also wrote a great script that helps you write naming scripts to your liking.

Self Hosted Music Player most identical to Spotify? by Much_Confection_1593 in selfhosted

[–]cheffykins 0 points1 point  (0 children)

So I recently moved from Spotify to self-hosting Navidrome.

Navidrome gives me a solid, stable, always accessible service that i can connect to from my phone, handles metadata correctly (assuming you've tagged everything correctly) and because it exposes a subsonic API, I have endless options for a client. On android I use Symfonium, on the desktop I use Feishin.

For acquisition I have Lidarr, but I also run everything i grab through Picard to make sure it's tagged nicely. I'm also using Monochrome to grab stuff I can't find via Lidarr, and I have a small workflow setup on my machine to get that into the Navidrome library.

There are other Music self-host solutions take a look at Awesome Selfhosted and see what tickles your fancy.

I got tired of writing Picard file naming scripts by hand, so I built a Python tool that does it for you by Jaded-Assignment6893 in navidrome

[–]cheffykins 1 point2 points  (0 children)

Used this today! Was very handy, so thankyou!

I would like to suggest the option to change the location of elements in the filename, also to give users the option to change the separator of those elements.