• 0 Posts
  • 17 Comments
Joined 5 months ago
cake
Cake day: February 19th, 2026

help-circle




  • I kept all my certificates separate - have I been wasting time with 15 subdomains each with their own cert and A record? I have wondered. And then set in my reverse proxy a single domain.tld cert for each entry? TIA.

    I wrote bash scripts to run via cron to keep my IPs updated, using Cloudflare API. It’s probably useful to other folk but as I used to need just v4 addresses I made one separate script for v4 IPs, v6 IPs and proxied, but it wouldn’t take long to combine. Here’s my v4:

    #!/bin/bash
    CLOUDFLARE_API_TOKEN="<api_here>"
    ZONE_ID="<zone_id_here"
    DOMAINS=({subdomains.,www.}domain.tld)
    log="/opt/ddns/log_$(date +%F).txt"
    result=""
    CURL="/usr/bin/curl"
    JQ="/usr/bin/jq"
    IP=$($CURL -s http://ipv4.icanhazip.com/)
    echo $(date +"%FT%T")>>$log
    echo "Performing v4 proxied domain IP address check...">>$log
    
    # Get v4 records
    for DNS_RECORD in ${DOMAINS[@]}; do
    DNS_RECORD_ID=$($CURL -s -X GET "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records?type=A&name=$DNS_RECORD" \
      -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
      -H "Content-Type: application/json" | $JQ -r '{"result"}[] | .[0] | .id')
    
    # Get each record's IP
    current_ip=$($CURL -s -X GET "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records/$DNS_RECORD_ID" \
      -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
      -H "Content-Type: application/json" | $JQ -r '.result.content')
    
    # Check if the IP addresses are different
    if [[ "$IP" == "$current_ip" ]] || [[ "$IP" == "" ]]; then
      continue
    fi
    
    echo "IP address for $DNS_RECORD has changed from $current_ip to $IP. Updating record...">>$log
    result="$result${DNS_RECORD%%.*}, "
    
    # Sets the new IP if different
    response=$($CURL -s -X PUT "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records/$DNS_RECORD_ID" \
      -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
      -H "Content-Type: application/json" \
      --data '{
        "type": "'"A"'",
        "name": "'"$DNS_RECORD"'",
        "content": "'"$IP"'",
        "ttl": 120,
        "proxied": true
      }')
    
    if [[ $response == *"\"success\":true"* ]]; then
    echo "DNS record updated successfully">>$log
    else
    echo "Failed to update DNS record for $DNS_RECORD. Response: $response">>$log
    result="$result\nFailed. See log."
    fi
    
    # Sends information to webhook
    unset DNS_RECORD_ID
    done
    if [ -n "$result" ]; then
      $CURL -X POST -d '{"result": "'"$result"'\n'"$current_ip"' -> '"$IP"'"}' "<home_assistant_local_webhook-delete_this_block_if_unwanted>" -H "Content-Type:application/json"
    fi
    echo $result>>$log
    echo $'Done.\n'>>$log
    /opt/ddns/cloudflare_ddns_v4_direct.sh # This triggers the next script
    





  • Also if you have your own net filter like PiHole or AdGuard Home with DNS rewrites set up, and you use it as a DNS server in WiFi settings, then it works a small bit differently. (I need to do this because my current ISP removed their DNS settings page for the new model). A public IP and NAT routing is never needed, as the device contacts the DNS server via the router Access Point, and the DNS server translates the service’s FQDN into its internal IP. Aside from that, provided everything is set up correctly, all actual data packets go from device ←→ router ←→ service. If the router lost connection to the Internet this wouldn’t break communications.



  • I was at this point for a while, believing gaming on Linux wasn’t up to par, until I discovered that Linux has a decent translation layer (Proton/Wine) that means even though the vast majority of Steam games are Windows only, Steam or other launchers like Heroic just run them in a container, and from my experience none of my games have had issues. This has only improved massively over the years.


  • +1 for Hyper-V, despite being glitchy and only sustaining Home Assistant for about 12 hours this and VirtualBox were my best chance at self hosting VMs on a Windows host. The problem wasn’t the virtualization, but the rest of the OS and its persistent maintenance cycles. Antivirus (MsMpEng.exe) and its NTFS scanning running more and more resources until the CPU was clogged. OP has gotta start somewhere.


  • Rejecting something solely because of the naming choice of one person is, imo, far more indicative of stupidity. That and hating on someone else’s joy.

    – Conduit maintenance slowed to a crawl (there was a single dev) so somebody made
    -> Conduwuit brought the project up to speed but was abandoned and archived by the lead dev because she got significant hate including bigotry and false accusations, and had to prioritise mental wellbeing over the project. Then, two projects spawned from this
    -> Continuwuity, maintained by dedicated hobbyists, and
    -> Tuwunel, a corporate-sponsored fork funded initially by the Swiss government with at least one dev on payroll, maintained primarily by a co-dev of Conduwuit. Both teams loved the naming joke and kept ‘uwu’ in the name of their successors.

    Synapse offers features first,
    Tuwunel offers stable and timely updates,
    Continuwuity offers a completely non-corporate, community run alternative.
    Dendrite also exists


  • I run it on residential, and since routing outgoing mail through smtp2go I don’t even get issues with my ISP putting my IP on the PBL. Once my contract is over I’m getting a static IP with a better supplier. Been solid for over two years

    Bonus of running my own inbox, I learned how to discard annoying emails that can’t be unsubscribed from


  • As someone who paid around £120 for Emby lifetime: What the fuck

    Of course, Plex really don’t seem to realise they are a laughing stock in this community.

    Plex kind of beats Jellyfin in: music player support (but I believe in separate dedicated services rather than a jack-of-all-trades, so I’d recommend Navidrome instead), and easy remote access (but Plex Cloud dependent).

    The only thing Plex has that Emby & Jellyfin don’t, that I think is pretty neat, is the combining of multiple servers in one library UI. That’s it. And even then you can use Moonfin or Kodi clients, or Jellyswarrm in the stack, and that feature is FOSS too.