Introduction
Introduction Statistics Contact Development Disclaimer Help
Add proper invidious support. - annna - Annna the nice friendly bot.
git clone git://bitreich.org/annna/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws6…
Log
Files
Refs
Tags
README
---
commit 61cec39d3cc7836c1740f8f291b05456e5788866
parent eda939b0ce9759565c6850bc8c4966cfd60fa2c2
Author: Annna Robert-Houdin <[email protected]>
Date: Tue, 26 Dec 2023 21:13:56 +0100
Add proper invidious support.
Diffstat:
M annna-message-common | 14 +++++++++++---
A dl-invidious-instances | 13 +++++++++++++
A get-invidious-instance | 5 +++++
A is-invidious-instance | 21 +++++++++++++++++++++
4 files changed, 50 insertions(+), 3 deletions(-)
---
diff --git a/annna-message-common b/annna-message-common
@@ -92,6 +92,14 @@ case "${text}" in
titleend=0
outputstr=""
+ if is-invidious-instance "${uri}";
+ then
+ host="$(printf "%s\n" "${uri}" \
+ | sed 's,.*://\([^/]*\).*,\1,')"
+ uri="$(printf "%s\n" "${uri}" \
+ | sed "s,${host},youtube.com,")"
+ fi
+
case "${urititle}" in
"")
;;
@@ -188,7 +196,7 @@ case "${text}" in
nocuri=0
fi
;;
- *youtube.com/*|*youtu.be/*|*yewtu.be/*)
+ *youtube.com/*|*youtu.be/*)
if [ -z "${uri##*youtu.be/*}" ] || [ -z "${uri##*/watch?v=*}" …
then
ytid="${uri#https*://*/watch?v=}"
@@ -197,7 +205,7 @@ case "${text}" in
ytid="${ytid##*youtu.be/}"
ytid="${ytid%%\?*}"
ytid="${ytid%%&*}"
- nuri="https://yewtu.be/watch?v=${ytid}"
+ nuri="$(get-invidious-instance)/watch?v=${ytid}"
ytt="$(printf '%s\n' "${uri}" | sed -n 's/.*[&?]t=\([^…
if [ -n "${ytt}" ];
then
@@ -205,7 +213,7 @@ case "${text}" in
fi
else
ytid=""
- nuri="https://yewtu.be/${uri#https*://*/}"
+ nuri="$(get-invidious-instance)/${uri#https*://*/}"
fi
fetch-uri "${nuri}" > "${tmpf}"
urititle="$(curl-grabtitle "${nuri}")"
diff --git a/dl-invidious-instances b/dl-invidious-instances
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+cd $HOME/bin/modules/invidious
+
+apiuri="https://api.invidious.io/instances.json"
+
+curl -s "${apiuri}" 2>/dev/null \
+ | sed 's,"uri",\n,g' \
+ | sed 's,:"\([^"]*\)".*,\1,' \
+ | grep "^http" \
+ | grep -v ".onion" \
+ | grep -v ".i2p" > invidious-instances.txt
+
diff --git a/get-invidious-instance b/get-invidious-instance
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+cd $HOME/bin/modules/invidious
+shuf -n 1 invidious-instances.txt 2>/dev/null
+
diff --git a/is-invidious-instance b/is-invidious-instance
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+if [ $# -lt 1 ];
+then
+ printf "usage: %s host\n" "$(basename "${0}")" >&2
+ exit 1
+fi
+instance="${1}"
+
+cd $HOME/bin/modules/invidious
+
+printf "%s\n" "${instance}" \
+ | sed 's,.*://\([^/]*\).*,\1,' \
+ | grep "${instance}" invidious-instances.txt 2>&1 >/dev/null
+if [ $? -eq 0 ];
+then
+ exit 1
+else
+ exit 0
+fi
+
You are viewing proxied material from bitreich.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.