2023-03-24 17:00:44 +01:00
|
|
|
{
|
|
|
|
|
config,
|
|
|
|
|
pkgs,
|
|
|
|
|
lib,
|
2023-03-30 19:13:25 +02:00
|
|
|
niveumLib,
|
|
|
|
|
niveumPackages,
|
2023-03-24 17:00:44 +01:00
|
|
|
...
|
|
|
|
|
}: let
|
2023-03-30 19:13:25 +02:00
|
|
|
panoptikon = niveumLib.panoptikon {inherit pkgs lib niveumPackages config;};
|
2023-03-24 17:00:44 +01:00
|
|
|
|
2023-03-30 19:13:25 +02:00
|
|
|
irc-xxx = panoptikon.kpaste-irc {
|
2023-03-31 10:59:52 +02:00
|
|
|
target = lib.escapeShellArg "#xxx";
|
2023-03-30 19:13:25 +02:00
|
|
|
retiolumLink = true;
|
|
|
|
|
};
|
2023-03-24 19:02:18 +01:00
|
|
|
|
2024-10-08 22:36:14 +02:00
|
|
|
matrix = {
|
|
|
|
|
server ? "matrix.4d2.org",
|
|
|
|
|
target,
|
|
|
|
|
}:
|
|
|
|
|
pkgs.writers.writeDash "matrix-reporter" ''
|
|
|
|
|
export RAW_MESSAGE="$(cat)"
|
|
|
|
|
export MESSAGE=$(printf '<b>%s</b><br><pre>%s</pre>' "$PANOPTIKON_WATCHER" "$RAW_MESSAGE")
|
|
|
|
|
export MATRIX_TOKEN="$(cat ${config.age.secrets.matrix-token-lakai.path})"
|
|
|
|
|
export JSON_PAYLOAD=$(${pkgs.jq}/bin/jq -n --arg msgtype "m.text" --arg body "$RAW_MESSAGE" --arg formattedBody "$MESSAGE" '{msgtype: $msgtype, body: $body, format: "org.matrix.custom.html", formatted_body: $formattedBody}')
|
|
|
|
|
${pkgs.curl}/bin/curl -X POST "https://${server}/_matrix/client/r0/rooms/${target}/send/m.room.message" \
|
|
|
|
|
-d "$JSON_PAYLOAD" \
|
|
|
|
|
-H "Authorization: Bearer $MATRIX_TOKEN" \
|
|
|
|
|
-H "Content-Type: application/json"
|
|
|
|
|
'';
|
|
|
|
|
|
|
|
|
|
matrix-kmein = matrix { target = "!zlwCuPiCNMSxDviFzA:4d2.org"; };
|
|
|
|
|
|
2024-03-17 21:42:01 +01:00
|
|
|
telegram-kmein = let
|
|
|
|
|
chatId = "-1001796440545";
|
|
|
|
|
in
|
|
|
|
|
pkgs.writers.writeDash "telegram-fulltext" ''
|
|
|
|
|
export TOKEN="$(cat "$CREDENTIALS_DIRECTORY/token")"
|
|
|
|
|
${pkgs.curl}/bin/curl -X POST "https://api.telegram.org/bot''${TOKEN}/sendMessage" \
|
|
|
|
|
-d chat_id=${chatId} \
|
|
|
|
|
-d text="$(cat)" \
|
|
|
|
|
| ${pkgs.jq}/bin/jq -e .ok
|
|
|
|
|
'';
|
|
|
|
|
|
2023-03-30 19:13:25 +02:00
|
|
|
irc-kmein = panoptikon.kpaste-irc {
|
|
|
|
|
messagePrefix = "$PANOPTIKON_WATCHER: ";
|
|
|
|
|
target = "kmein";
|
|
|
|
|
nick = "panoptikon-kmein";
|
|
|
|
|
retiolumLink = false;
|
|
|
|
|
};
|
2023-03-24 17:00:44 +01:00
|
|
|
in {
|
2024-03-17 21:42:01 +01:00
|
|
|
age.secrets.telegram-token-kmein.file = ../../secrets/telegram-token-kmein.age;
|
2024-10-08 22:36:14 +02:00
|
|
|
age.secrets.matrix-token-lakai = {
|
|
|
|
|
file = ../../secrets/matrix-token-lakai.age;
|
|
|
|
|
owner = "panoptikon";
|
|
|
|
|
group = "panoptikon";
|
|
|
|
|
mode = "400";
|
|
|
|
|
};
|
2024-03-17 21:42:01 +01:00
|
|
|
|
2023-03-24 17:00:44 +01:00
|
|
|
services.panoptikon = {
|
|
|
|
|
enable = true;
|
2023-03-24 19:02:18 +01:00
|
|
|
watchers = {
|
|
|
|
|
"github-meta" = {
|
2023-04-23 09:37:11 +02:00
|
|
|
script = panoptikon.urlJSON {
|
|
|
|
|
jqScript = ''
|
|
|
|
|
{
|
|
|
|
|
ssh_key_fingerprints: .ssh_key_fingerprints,
|
|
|
|
|
ssh_keys: .ssh_keys
|
|
|
|
|
}
|
|
|
|
|
'';
|
|
|
|
|
} "https://api.github.com/meta";
|
2023-03-30 19:13:25 +02:00
|
|
|
reporters = [irc-xxx];
|
2023-03-24 19:02:18 +01:00
|
|
|
};
|
|
|
|
|
lammla = {
|
2023-03-30 19:13:25 +02:00
|
|
|
script = panoptikon.url "http://lammla.info/index.php?reihe=30";
|
2024-10-25 06:58:13 +02:00
|
|
|
reporters = [matrix-kmein];
|
2023-03-24 19:02:18 +01:00
|
|
|
};
|
|
|
|
|
kratylos = {
|
2023-03-30 19:13:25 +02:00
|
|
|
script = panoptikon.url "https://kratylos.reichert-online.org/current_issue/KRATYLOS";
|
2024-10-25 06:58:13 +02:00
|
|
|
reporters = [matrix-kmein];
|
2023-03-24 19:02:18 +01:00
|
|
|
};
|
2024-03-31 12:48:16 +02:00
|
|
|
kobudo-tesshinkan = {
|
|
|
|
|
script = panoptikon.url "https://kobudo-tesshinkan.eu/index.php/de/termine-berichte/lehrgaenge/";
|
2024-10-25 06:58:13 +02:00
|
|
|
reporters = [telegram-kmein matrix-kmein];
|
2024-03-31 12:48:16 +02:00
|
|
|
};
|
2023-03-24 19:02:18 +01:00
|
|
|
zeno-free = {
|
2023-03-30 19:13:25 +02:00
|
|
|
script = panoptikon.urlSelector ".zenoCOMain" "http://www.zeno.org/Lesesaal/M/E-Books";
|
2024-10-25 06:58:13 +02:00
|
|
|
reporters = [matrix-kmein];
|
2023-03-24 19:02:18 +01:00
|
|
|
};
|
|
|
|
|
carolinawelslau = {
|
2023-03-30 19:13:25 +02:00
|
|
|
script = panoptikon.urlSelector "#main" "https://carolinawelslau.de/";
|
2024-10-25 06:58:13 +02:00
|
|
|
reporters = [matrix-kmein];
|
2023-03-24 19:02:18 +01:00
|
|
|
};
|
2023-11-06 10:55:07 +01:00
|
|
|
humboldt-preis = {
|
|
|
|
|
script = panoptikon.urlSelector "#content-core" "https://www.hu-berlin.de/de/ueberblick/menschen/ehrungen/humboldtpreis";
|
2024-10-25 06:58:13 +02:00
|
|
|
reporters = [matrix-kmein];
|
2023-11-06 10:55:07 +01:00
|
|
|
};
|
2023-03-24 19:02:18 +01:00
|
|
|
lisalittmann = {
|
2023-03-30 19:13:25 +02:00
|
|
|
script = panoptikon.urlSelector "#site-content" "https://lisalittmann.de/";
|
2024-10-25 06:58:13 +02:00
|
|
|
reporters = [matrix-kmein];
|
2023-03-24 19:02:18 +01:00
|
|
|
};
|
|
|
|
|
lisalittmann-archive = {
|
2023-03-30 19:13:25 +02:00
|
|
|
script = panoptikon.urlSelector "#site-content" "https://lisalittmann.de/archive/";
|
2024-10-25 06:58:13 +02:00
|
|
|
reporters = [matrix-kmein];
|
2023-03-24 19:02:18 +01:00
|
|
|
};
|
|
|
|
|
lisalittmann-projects = {
|
2023-03-30 19:13:25 +02:00
|
|
|
script = panoptikon.urlSelector "#site-content" "https://lisalittmann.de/projects/";
|
2024-10-25 06:58:13 +02:00
|
|
|
reporters = [matrix-kmein];
|
2023-03-24 19:02:18 +01:00
|
|
|
};
|
|
|
|
|
tatort = {
|
2023-03-30 19:13:25 +02:00
|
|
|
script = panoptikon.urlSelector ".linklist" "https://www.daserste.de/unterhaltung/krimi/tatort/sendung/index.html";
|
2024-10-25 06:58:13 +02:00
|
|
|
reporters = [matrix-kmein];
|
2023-03-24 19:02:18 +01:00
|
|
|
};
|
|
|
|
|
warpgrid-idiomarium = {
|
2023-03-30 19:13:25 +02:00
|
|
|
script = panoptikon.urlSelector "#site-content" "https://warpgrid.de/idiomarium/";
|
2024-10-25 06:58:13 +02:00
|
|
|
reporters = [matrix-kmein];
|
2023-03-24 19:02:18 +01:00
|
|
|
};
|
|
|
|
|
warpgrid-futurism = {
|
2023-03-30 19:13:25 +02:00
|
|
|
script = panoptikon.urlSelector "#site-content" "https://warpgrid.de/futurism/";
|
2024-10-25 06:58:13 +02:00
|
|
|
reporters = [matrix-kmein];
|
2023-03-24 19:02:18 +01:00
|
|
|
};
|
|
|
|
|
warpgrid-imagiary = {
|
2023-03-30 19:13:25 +02:00
|
|
|
script = panoptikon.urlSelector "#site-content" "https://warpgrid.de/imagiary/";
|
2024-10-25 06:58:13 +02:00
|
|
|
reporters = [matrix-kmein];
|
2023-03-24 19:02:18 +01:00
|
|
|
};
|
|
|
|
|
warpgrid-alchemy = {
|
2023-03-30 19:13:25 +02:00
|
|
|
script = panoptikon.urlSelector "#site-content" "https://warpgrid.de/alchemy/";
|
2024-10-25 06:58:13 +02:00
|
|
|
reporters = [matrix-kmein];
|
2023-03-24 19:02:18 +01:00
|
|
|
};
|
|
|
|
|
indogermanische-forschungen = {
|
2023-03-30 19:13:25 +02:00
|
|
|
script = panoptikon.urlSelector "#latestIssue" "https://www.degruyter.com/journal/key/INDO/html";
|
2024-10-25 06:58:13 +02:00
|
|
|
reporters = [matrix-kmein];
|
2023-03-24 19:02:18 +01:00
|
|
|
};
|
|
|
|
|
ig-neuigkeiten = {
|
2023-03-30 19:13:25 +02:00
|
|
|
script = panoptikon.urlSelector "[itemprop=articleBody]" "https://www.indogermanistik.org/aktuelles/neuigkeiten.html";
|
2024-10-25 06:58:13 +02:00
|
|
|
reporters = [matrix-kmein];
|
2023-03-24 19:02:18 +01:00
|
|
|
};
|
|
|
|
|
ig-tagungen = {
|
2023-03-30 19:13:25 +02:00
|
|
|
script = panoptikon.urlSelector "[itemprop=articleBody]" "https://www.indogermanistik.org/tagungen/tagungen-der-ig.html";
|
2024-10-25 06:58:13 +02:00
|
|
|
reporters = [matrix-kmein];
|
2023-03-24 19:02:18 +01:00
|
|
|
};
|
2023-11-28 16:11:04 +01:00
|
|
|
fu-distant = {
|
|
|
|
|
script = panoptikon.urlSelector "#current_events" "https://www.geschkult.fu-berlin.de/en/e/ma-distant/Termine/index.html";
|
2024-10-25 06:58:13 +02:00
|
|
|
reporters = [matrix-kmein];
|
2023-11-28 16:11:04 +01:00
|
|
|
};
|
|
|
|
|
fu-aegyptologie = {
|
|
|
|
|
script = panoptikon.urlSelector "#current_events" "https://www.geschkult.fu-berlin.de/e/aegyptologie/termine/index.html";
|
2024-10-25 06:58:13 +02:00
|
|
|
reporters = [matrix-kmein];
|
2023-11-28 16:11:04 +01:00
|
|
|
};
|
2023-03-24 17:00:44 +01:00
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
}
|