I got tired of manually switching NordVPN servers on my GL.iNet router, so I wrote a script that only switches when it's actually needed (open source)
▲ 10 r/GlInet

I got tired of manually switching NordVPN servers on my GL.iNet router, so I wrote a script that only switches when it's actually needed (open source)

Not sure if this is the right flair but did not find the one it fits.😄

my setup: GL-XE3000 with the nordvpn wireguard client. works great, except the server you pick in the panel is static. after a few weeks "your" server gets crowded (nordvpn shows the load %), speeds drop, and the fix is always the same: open the panel, pick another server, reconnect. the nordvpn apps do this automatically, but on the router you're on your own.

so i wrote nordvpn-rotate. one POSIX shell script, cron runs it every 30 minutes:

- asks nordvpn's public recommendations api for the best servers in your country. no login, no credentials — the wireguard private key on your router never changes

- if your current server is fine → does nothing. this is 95% of all runs

- if it's overloaded (default ≥60% load) or dropped out of the recommended list → rewrites the peer endpoint, bounces the tunnel, verifies the handshake + pings through the tunnel, and rolls back automatically if the new server turns out bad

safety was the main design goal, because it's a router, not a toy:

- ships in dry-run mode. it only logs what it *would* do until you explicitly turn it live

- only ever touches two uci fields (endpoint + public key). never your private key, dns, mtu or kill switch

- every failure path rolls back, and with the kill switch on, a bad switch blocks traffic instead of leaking it

- there's a read-only `check` command that verifies every assumption on your specific router before you install anything

there's also a small status dashboard and a test harness that runs the real script on your PC with fake uci/wg binaries, so you can watch it make decisions without touching your router at all.

built for GL.iNet 4.x firmware (tested on a GL-XE3000), but underneath it's plain openwrt stuff (uci/ubus/jsonfilter), so it should adapt to other setups. install is either a simple install script or a normal opkg .ipk package.

code is fully open source: https://github.com/odaialfadel/nordvpn-rotator

would love feedback, especially from people on other GL models or plain openwrt.

Here is a screenshot:

https://preview.redd.it/d61oapz4nckh1.png?width=960&format=png&auto=webp&s=5b5a4d4b9325f5563757f72c8a7787e3502b1a88

reddit.com
u/Competitive-Crow565 — 17 hours ago
▲ 30 r/wohnen

Vermieter erlaubt Gasgrill auf Balkon, einen Tag später Mail wegen Gasflaschen-Lagerung. Wie seht ihr das?

Hatte bei der Hausverwaltung angefragt, ob ich auf dem Balkon einen Gasgrill nutzen darf. Die Antwort war positiv:

"Grundsätzlich ist die Verwendung von Gas- und Elektrogrills auf dem Balkon gestattet. Wir möchten Sie jedoch bitten, darauf zu achten, dass Rauch.... Etc "

Soweit so gut. Einen Tag später kam dann diese zweite Mail hinterher:

"Das Lagern von Gasflaschen in der Wohnung oder im Gebäude ist aus Sicherheitsgründen nicht gestattet. Gasflaschen sind stets sicher im Freien, aufrecht stehend und vor Beschädigungen geschützt aufzubewahren. Wir bitten Sie daher, die Gasflaschen nicht in Ihrer Wohnung oder im Gebäude zu lagern, um die Sicherheit aller Bewohner zu gewährleisten."

Meine Frage: Wie handhabt ihr das? Zählt mein Balkon als „im Freien" im Sinne dieser Vorgabe, oder seht ihr da ein Problem? Und wo lagert ihr eure Gasflasche. Einfach aufrecht auf dem Balkon, oder gibt es bessere Lösungen (Box o.ä.)?

Danke für eure Einschätzungen!

reddit.com
u/Competitive-Crow565 — 3 months ago

Vibe coding without understanding the language felt wrong and that's actually a good sign

I'm a Java developer with 4+ years in enterprise software. I recently vibe coded a small Python project for my vacuum robot using AI.

It kind of works. But it felt *terrible*.

Not because the code is broken it mostly runs. But because I was blindly following what the AI told me, copy-pasting snippets, and had zero understanding of *why* anything worked. I'm used to knowing my stack deeply. Design patterns, architecture decisions, why one approach is better than another. With this Python project I had none of that, and even though it's a tiny weekend project, it genuinely frustrated me.

I think there's a lesson here that doesn't get talked about enough:

**Vibe coding is dangerous when you don't understand the language.** Not dangerous as in "the AI will destroy your project" but dangerous as in you can't review what you're accepting, you can't debug when things go wrong, and you have no intuition for when the AI is leading you somewhere bad.

Experienced developers who vibe code in a language they *know* are using it as a productivity tool. They're skipping boilerplate, not skipping comprehension. That's a completely different thing than what I was doing.

So I'm now actually learning Python properly not because I need to become a Python dev, but because I want to *understand* the code that runs on my hardware. Even for a toy project.

Anyone else felt this? I'm curious whether other experienced devs who vibe code in an unfamiliar language feel the same discomfort or if I'm just being too much of a Java purist.

reddit.com
u/Competitive-Crow565 — 3 months ago

Vertragsstrafe 45 EUR vom privaten Parkraumdienst – wie tragfähig sind diese Argumente?

Hallo zusammen,

ich möchte einer Geldstrafe widersprechen nur weil ich ein paar Minuten geparkt habe, um kurz in meine Wohnung zu gehen und mein Handy zu holen, das ich vergessen hatte. Als ich zurückkam, lag der Zettel schon am Auto, als hätte jemand nur darauf gewartet. 45 EUR vom privaten Parkraumdienst (kein Bußgeld, keine Behörde).

Bevor ein etwaiges Anschreiben kommt, würde ich gern eure Einschätzung zu folgenden Punkten:

  1. AGB-Tafel auf der Rückseite des Schildes: vom Auto bei Einfahrt nicht sichtbar.
  2. Schrift der AGB-Tafel sehr klein: aus normaler Entfernung kaum lesbar.
  3. Vertragsstrafenbetrag auf dem Hauptschild überklebt: nachträglich geändert.
  4. Online-AGB nur als JPG-Bilddatei: nicht durchsuchbar/kopierbar.
  5. Halter ≠ Fahrer: keine Halterhaftung im Zivilrecht.

Alles fotografisch dokumentiert.

Wie stark sind diese Punkte (§ 305 Abs. 2 BGB, § 307 BGB) realistisch vor Gericht und im außergerichtlichen Schriftverkehr?

Versandet das nach Widerspruch erfahrungsgemäß, oder folgt typischerweise Inkasso/Mahnbescheid?

Etwas übersehen?

reddit.com
u/Competitive-Crow565 — 3 months ago