From fc989a319a11ee08903596194f32e72a6e20abca Mon Sep 17 00:00:00 2001 From: vin Date: Sat, 8 Mar 2025 19:32:58 -0500 Subject: demiurge: add systemd timer for refreshing invidious tokens --- hosts/demiurge/default.nix | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/hosts/demiurge/default.nix b/hosts/demiurge/default.nix index ddd3e63..e97ec57 100644 --- a/hosts/demiurge/default.nix +++ b/hosts/demiurge/default.nix @@ -864,6 +864,45 @@ FQsOJMjIvhTm2IiOS8xIaZz7EJORxFjtOkLEIGGZBNK6QcnD714/nYbHSrQx4eNM }; }; + # extra systemd stuff + systemd = { + services.invidious_token = { + script = '' +set -euo pipefail + +a="$(${pkgs.podman}/bin/podman run quay.io/invidious/youtube-trusted-session-generator | sed -n 4,5p)" +visitor_data=$(echo "$a" | sed -n 1p | cut -d' ' -f2) +po_token=$(echo "$a" | sed -n 2p | cut -d' ' -f2) +day=$(date +%e | tr -d ' ') + +printf '{"visitor_data": "%s",\n"po_token": "%s",\n' \ + "$visitor_data" "$po_token" \ + >/run/invidious_settings + +if [ $((day % 2)) -eq 0 ]; then + printf '"force_resolve": "ipv6"}\n' >>/run/invidious_settings +else + printf '"force_resolve": "ipv4"}\n' >>/run/invidious_settings +fi + +${pkgs.systemd}/bin/systemctl restart invidious-sig-helper +${pkgs.systemd}/bin/systemctl restart invidious + ''; + serviceConfig = { + Type = "oneshot"; + User = "root"; + }; + }; + + timers.invidious_token = { + timerConfig = { + OnCalendar = "hourly"; + Persistent = true; + }; + wantedBy = [ "timers.target" ]; + }; + }; + # create caches and use mandoc documentation.man = { enable = true; -- cgit v1.2.3