I’m beautiful and tough like a diamond…or beef jerky in a ball gown.

– Titus Andromedon

  • 47 Posts
  • 245 Comments
Joined 1 year ago
cake
Cake day: July 15th, 2025

help-circle


  • Ugh, I wish I could add “reasons” for my user blocks as well as have the dates I blocked them available. Would make this easier. But yeah, Striker is in there.

    I’m inclined to believe it’s part of the “group”. Every post I can see of it’s is a question which is the same thing seen with the others in the list here; none of them have a single post that uses a declarative statement as the post title. That’s more than a little sus given the context here.

    Regardless, I tend to block accounts that I feel camp out and/or abuse the “ask” communities.









  • Security is pretty minimal, not gonna lie.

    There’s a 50 GB LUKS partition that stays locked unless I’m actively using it. It’s got backup copies of my important/critical documents and password manager exports but the rest of it is just media and doesn’t really merit encryption.

    All applications have local accounts but I’m not using LDAP or any kind of SSO like I am with my main stack.

    At home, I keep the firewall disabled on the interface configured as “WAN” so I can access its services directly via their hostname (I point its wildcard DNS record to its local “WAN” IP) but do enable firewall when I’m using it on an untrusted network. Granted, I have to manually remember to do that, so that’s kind of a security risk if I forget. Generally, though, when I’m using it remotely, it’s using my secondary phone as a USB-tethered uplink so even if I leave its internal services exposed to WAN, the NAT from the phone blocks that. One of my goals, eventually, is to automate some of the firewall rules depending on where I’m using it.










  • I think it’s the other way around, at least in the US. The last time I flew, anything with a lithium battery had to be either on your person or in your carry-on and couldn’t exceed a certain amperage/watt-hour rating. I remember having to check specifically on that since I wasn’t sure if I could bring my vape.

    But mostly, a bare PCB with two 18650’s visible isn’t something I want to have to explain to airport security lol. They may let it pass, but it’s definitely going to be a hassle. Easiest to just use an approved power bank or just power it from my phone’s USB port. The UPS was mostly so I could make it mobile and use solar chargers with it.


  • It’s kind of a mix of things duct-taped together, but here’s the gist of what controls what. If you want to see any specific configs, let me know.

    Network Manager controls the “static” interfaces. I’ve got some udev rules for my known hardware (USB wifi/ethernet adapters) so that they get friendly names as opposed to ugly “predictable” names.

    The interfaces managed by NetworkManager are:

    • STA mode Wi-Fi (internet uplink)
    • LAN Bridge
    • Wired Ethernet (internet uplink)

    Connecting a USB-tethered smartphone is pretty plug and play. It automatically gets picked up as a USB ethernet interface, receives its IP address from DHCP, and gets set as the default gateway. So there’s nothing that needs to be configured when using that as the internet uplink other than making sure there’s no other active gateway that might interfere.

    The LAN segment is a generic Linux bridge called br-lan (I’m borrowing OpenWRT’s naming convention). In normal operation, it has wlan1 and usb0 as members (AP and USB ethernet gadget, respectively). If I need a wired ethernet port on the LAN side, I just plug a USB ethernet adapter in and add it with brctl addif br-lan eth{XXX}

    The usb0 ethernet gadget interface is brought up using a script that runs at boot via systemd to configure a libcomposite ethernet gadget before the network target. This ensures it’s available when the network comes up so it can be successfully added to the LAN bridge.

    When changing out of the default configuration, I just go into network manager to enable/disable the correct interfaces. e.g. If I want to use wired ethernet for uplink and internal wifi for client AP, I enable the wired ethernet and disable the internal wifi’s connection to the router. Then I swap hostapd conf files to use the one configured for the internal wifi instead of the USB one and update the members in the LAN bridge accordingly. e.g. brctl delif br-lan wlan1 ; brctl addif br-lan wlan0

    To add a LAN-side wired ethernet, I just make sure it’s not already configured for “WAN” in NetworkManager and add it to the LAN bridge. That, or setup a VLAN interface and use a single USB ethernet adapter for both (haven’t done that on this device but I know it works from having done that in the past).

    Thankfully, PiHole exposes the DHCP controls for its underlying dnsmasq and since I’m already running PiHole for ad blocking and DNS, it was natural to also use it for DHCP. It’s configured to advertise addresses to the br-lan interface only.

    Routing/NAT is all done directly with iptables. The VPNs dynamically update it as they connect/disconnect using their up and down hook scripts, and for the NAT used for client connections, it’s basically just iptables -t nat -A POSTROUTING -s $SOURCE_CIDR -o $OUT_INTERFACE -j MASQUERADE where SOURCE_CIDR=192.168.5.0/24 is the LAN segment address range and OUT_INTERFACE=wlan0 is the uplink interface (in the default configuration).

    I’ve got some ugly scripts to adjust the NAT rules depending on which interface is currently acting as the “WAN” interface.