mirror of
https://github.com/materusPL/nixos-config
synced 2026-06-24 17:36:41 +00:00
valkyrie: init
This commit is contained in:
@@ -0,0 +1,141 @@
|
||||
{ config, pkgs, lib, mkk, ... }:
|
||||
{
|
||||
options.valkyrieService.secureyoursoul.enable = mkk.lib.mkBoolOpt false "Enable secureyoursoul, web archive";
|
||||
|
||||
|
||||
|
||||
|
||||
config =
|
||||
let
|
||||
cfg = config.valkyrieService.secureyoursoul;
|
||||
in
|
||||
lib.mkIf cfg.enable {
|
||||
systemd.timers.secureyoursoul-steam = {
|
||||
wantedBy = [ "timers.target" ];
|
||||
timerConfig = {
|
||||
OnCalendar = "*-*-1,7,14,21 3:00:00";
|
||||
Persistent = true;
|
||||
Unit = "secureyoursoul-steam.service";
|
||||
};
|
||||
};
|
||||
systemd.timers.secureyoursoul-p1 = {
|
||||
wantedBy = [ "timers.target" ];
|
||||
timerConfig = {
|
||||
OnCalendar = "*-*-3,9,16,23 3:00:00";
|
||||
Persistent = true;
|
||||
Unit = "secureyoursoul-p1.service";
|
||||
};
|
||||
};
|
||||
systemd.timers.secureyoursoul-p2 = {
|
||||
wantedBy = [ "timers.target" ];
|
||||
timerConfig = {
|
||||
OnCalendar = "*-*-5,11,18,25 3:00:00";
|
||||
Persistent = true;
|
||||
Unit = "secureyoursoul-p2.service";
|
||||
};
|
||||
};
|
||||
|
||||
systemd.services.secureyoursoul-steam = {
|
||||
description = "Make curl requests to archive steam related things";
|
||||
path = [ pkgs.coreutils pkgs.util-linux pkgs.curl ];
|
||||
serviceConfig.Type = "oneshot";
|
||||
serviceConfig.RemainAfterExit = false;
|
||||
script = ''
|
||||
STEAM_IDS=( ${ builtins.foldl' (x: y: x +"\""+ y + "\" ") "" mkk.to_save.steamids })
|
||||
EXTRA_LINKS=( ${ builtins.foldl' (x: y: x +"\""+ y + "\" ") "" mkk.to_save.extraLinks-steam })
|
||||
|
||||
steamladder() {
|
||||
for id in ''${STEAM_IDS[@]}; do
|
||||
curl -X POST -H "Authorization: Token ''$(cat ${config.sops.secrets.steamladder-api.path})" \
|
||||
"https://steamladder.com/api/v1/profile/$id/"
|
||||
done;
|
||||
}
|
||||
|
||||
webarchive(){
|
||||
for id in ''${STEAM_IDS[@]}; do
|
||||
curl -X POST -H "Accept: application/json" \
|
||||
-H "Authorization: LOW ''$(cat ${config.sops.secrets.webarchive-accesskey.path}):''$(cat ${config.sops.secrets.webarchive-secretkey.path})" \
|
||||
-d"url=https://steamcommunity.com/profiles/$id" \
|
||||
-d"capture_outlinks=1" \
|
||||
-d"capture_screenshot=on" \
|
||||
-d"capture_all=on" \
|
||||
"https://web.archive.org/save";
|
||||
sleep 180;
|
||||
done;
|
||||
|
||||
|
||||
for link in ''${EXTRA_LINKS[@]}; do
|
||||
curl -X POST -H "Accept: application/json" \
|
||||
-H "Authorization: LOW ''$(cat ${config.sops.secrets.webarchive-accesskey.path}):''$(cat ${config.sops.secrets.webarchive-secretkey.path})" \
|
||||
-d"url=$link" \
|
||||
-d"capture_outlinks=1" \
|
||||
-d"capture_screenshot=on" \
|
||||
-d"capture_all=on" \
|
||||
"https://web.archive.org/save";
|
||||
sleep 180;
|
||||
done;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
steamladder &
|
||||
webarchive
|
||||
wait
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
systemd.services.secureyoursoul-p1 = {
|
||||
description = "Make curl requests to archive related things";
|
||||
path = [ pkgs.coreutils pkgs.util-linux pkgs.curl ];
|
||||
serviceConfig.Type = "oneshot";
|
||||
serviceConfig.RemainAfterExit = false;
|
||||
script = ''
|
||||
EXTRA_LINKS=( ${ builtins.foldl' (x: y: x +"\""+ y + "\" ") "" mkk.to_save.extraLinks1 })
|
||||
webarchive(){
|
||||
for link in ''${EXTRA_LINKS[@]}; do
|
||||
curl -X POST -H "Accept: application/json" \
|
||||
-H "Authorization: LOW ''$(cat ${config.sops.secrets.webarchive-accesskey.path}):''$(cat ${config.sops.secrets.webarchive-secretkey.path})" \
|
||||
-d"url=$link" \
|
||||
-d"capture_outlinks=1" \
|
||||
-d"capture_screenshot=on" \
|
||||
-d"capture_all=on" \
|
||||
"https://web.archive.org/save";
|
||||
sleep 180;
|
||||
done;
|
||||
|
||||
}
|
||||
webarchive
|
||||
'';
|
||||
};
|
||||
|
||||
systemd.services.secureyoursoul-p2 = {
|
||||
description = "Make curl requests to archive related things - part 2";
|
||||
path = [ pkgs.coreutils pkgs.util-linux pkgs.curl ];
|
||||
serviceConfig.Type = "oneshot";
|
||||
serviceConfig.RemainAfterExit = false;
|
||||
script = ''
|
||||
EXTRA_LINKS=( ${ builtins.foldl' (x: y: x +"\""+ y + "\" ") "" mkk.to_save.extraLinks2 })
|
||||
webarchive(){
|
||||
for link in ''${EXTRA_LINKS[@]}; do
|
||||
curl -X POST -H "Accept: application/json" \
|
||||
-H "Authorization: LOW ''$(cat ${config.sops.secrets.webarchive-accesskey.path}):''$(cat ${config.sops.secrets.webarchive-secretkey.path})" \
|
||||
-d"url=$link" \
|
||||
-d"capture_outlinks=1" \
|
||||
-d"capture_screenshot=on" \
|
||||
-d"capture_all=on" \
|
||||
"https://web.archive.org/save";
|
||||
sleep 180;
|
||||
done;
|
||||
|
||||
}
|
||||
webarchive
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user