commit fc989a319a11ee08903596194f32e72a6e20abca parent 750cf5eba12696925c974ddb4b076aac0cb86586 Author: vin <vin@vineetk.net> Date: Sat, 8 Mar 2025 19:32:58 -0500 demiurge: add systemd timer for refreshing invidious tokens Diffstat:
| M | hosts/demiurge/default.nix | | | 39 | +++++++++++++++++++++++++++++++++++++++ |
1 file changed, 39 insertions(+), 0 deletions(-)
diff --git 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;