From 6edeeaeb1cdaac6b3ce0cff366aa82f3db13d6b3 Mon Sep 17 00:00:00 2001
From: TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com>
Date: Sat, 27 Sep 2025 11:13:28 +0900
Subject: deleted com.colliderli.iina/input_conf", created bin/hugow, created
bin/ylog, created bin/hugow, created bin/ylog
---
ar/.local/bin/hugow | 66 ++++++++++
ar/.local/bin/ylog | 25 ++++
mac/.local/bin/hugow | 66 ++++++++++
mac/.local/bin/ylog | 25 ++++
.../com.colliderli.iina/input_conf | 139 ---------------------
.../com.colliderli.iina/input_conf/SI.conf | 139 +++++++++++++++++++++
6 files changed, 321 insertions(+), 139 deletions(-)
create mode 100755 ar/.local/bin/hugow
create mode 100755 ar/.local/bin/ylog
create mode 100755 mac/.local/bin/hugow
create mode 100755 mac/.local/bin/ylog
delete mode 100644 mac/Library/Application Support/com.colliderli.iina/input_conf
create mode 100644 mac/Library/Application Support/com.colliderli.iina/input_conf/SI.conf
diff --git a/ar/.local/bin/hugow b/ar/.local/bin/hugow
new file mode 100755
index 0000000..b96cc93
--- /dev/null
+++ b/ar/.local/bin/hugow
@@ -0,0 +1,66 @@
+#!/bin/sh
+set -eu
+
+repodir="$HOME/Private/repos/THESIAH"
+out="$repodir/public/recordings/index.html"
+server="${THESIAH_SERVER:-root@thesiah.xyz}"
+dest="/var/www/thesiah/recordings/"
+defaults="sy after foramonth"
+src="$repodir/public/recordings/"
+
+cd "$repodir"
+hugo --cleanDestinationDir
+
+if [ ! -f "$out" ]; then
+ echo "error: not found: $out" >&2
+ exit 1
+fi
+
+tmp="$(mktemp "$out.XXXXXXXX.tmp")"
+
+awk -v defaults="$defaults" '
+BEGIN {
+ n = split(defaults, a, /[[:space:]]+/)
+ insert = ""
+ for (i = 1; i <= n; i++) {
+ if (a[i] == "") continue
+ name = a[i] ".mp4"
+ insert = insert \
+"
\n" \
+" " name "\n" \
+" \n"
+ }
+ injected = 0
+}
+{
+ print
+ if (!injected && $0 ~ /]*id=["'\''"]list["'\''"][^>]*>/) {
+ printf("%s", insert)
+ injected = 1
+ }
+}
+END { if (!injected) exit 2 }
+' "$out" >"$tmp"
+
+mv "$tmp" "$out"
+echo "Injected defaults into: $out"
+
+ssh "$server" "mkdir -p '$dest'"
+
+if [ -n "${THESIAH_SSH_OPTS:-}" ]; then
+ rsync -azv --update --itemize-changes --stats \
+ -e "ssh $THESIAH_SSH_OPTS" \
+ "$src" "$server:$dest"
+else
+ rsync -azv --update --itemize-changes --stats \
+ "$src" "$server:$dest"
+fi
+
+if [ -n "${1-}" ]; then
+ new="$repodir/content/recordings/$1"
+ [ -f "$new" ] && rsync -az --update "$new" "$server:$dest"
+fi
+
+ssh "$THESIAH_SERVER" "chmod 644 $dest/index.html"
+
+cd - >/dev/null
diff --git a/ar/.local/bin/ylog b/ar/.local/bin/ylog
new file mode 100755
index 0000000..ff4083e
--- /dev/null
+++ b/ar/.local/bin/ylog
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+HOST="root@thesiah.xyz"
+LOG_DIR="/var/log/nginx"
+target="${1:-207.96.105.230}"
+
+esc_target=$(printf '%s' "$target" | sed -E 's/[][^$.*/+?(){}|\\]/\\&/g')
+
+ssh "$HOST" "
+ for f in $LOG_DIR/recordings* $LOG_DIR/access*; do
+ [ -e \"\$f\" ] || continue
+ case \"\$f\" in
+ *.gz)
+ zgrep -E \"${esc_target}[[:space:]]\" \"\$f\" \
+ | grep -v '59.19.56.8' \
+ | grep -vi 'firefox'
+ ;;
+ *)
+ grep -E \"${esc_target}[[:space:]]\" \"\$f\" \
+ | grep -v '59.19.56.8' \
+ | grep -vi 'firefox'
+ ;;
+ esac
+ done
+"
diff --git a/mac/.local/bin/hugow b/mac/.local/bin/hugow
new file mode 100755
index 0000000..b96cc93
--- /dev/null
+++ b/mac/.local/bin/hugow
@@ -0,0 +1,66 @@
+#!/bin/sh
+set -eu
+
+repodir="$HOME/Private/repos/THESIAH"
+out="$repodir/public/recordings/index.html"
+server="${THESIAH_SERVER:-root@thesiah.xyz}"
+dest="/var/www/thesiah/recordings/"
+defaults="sy after foramonth"
+src="$repodir/public/recordings/"
+
+cd "$repodir"
+hugo --cleanDestinationDir
+
+if [ ! -f "$out" ]; then
+ echo "error: not found: $out" >&2
+ exit 1
+fi
+
+tmp="$(mktemp "$out.XXXXXXXX.tmp")"
+
+awk -v defaults="$defaults" '
+BEGIN {
+ n = split(defaults, a, /[[:space:]]+/)
+ insert = ""
+ for (i = 1; i <= n; i++) {
+ if (a[i] == "") continue
+ name = a[i] ".mp4"
+ insert = insert \
+" - \n" \
+" " name "\n" \
+"
\n"
+ }
+ injected = 0
+}
+{
+ print
+ if (!injected && $0 ~ /]*id=["'\''"]list["'\''"][^>]*>/) {
+ printf("%s", insert)
+ injected = 1
+ }
+}
+END { if (!injected) exit 2 }
+' "$out" >"$tmp"
+
+mv "$tmp" "$out"
+echo "Injected defaults into: $out"
+
+ssh "$server" "mkdir -p '$dest'"
+
+if [ -n "${THESIAH_SSH_OPTS:-}" ]; then
+ rsync -azv --update --itemize-changes --stats \
+ -e "ssh $THESIAH_SSH_OPTS" \
+ "$src" "$server:$dest"
+else
+ rsync -azv --update --itemize-changes --stats \
+ "$src" "$server:$dest"
+fi
+
+if [ -n "${1-}" ]; then
+ new="$repodir/content/recordings/$1"
+ [ -f "$new" ] && rsync -az --update "$new" "$server:$dest"
+fi
+
+ssh "$THESIAH_SERVER" "chmod 644 $dest/index.html"
+
+cd - >/dev/null
diff --git a/mac/.local/bin/ylog b/mac/.local/bin/ylog
new file mode 100755
index 0000000..ff4083e
--- /dev/null
+++ b/mac/.local/bin/ylog
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+HOST="root@thesiah.xyz"
+LOG_DIR="/var/log/nginx"
+target="${1:-207.96.105.230}"
+
+esc_target=$(printf '%s' "$target" | sed -E 's/[][^$.*/+?(){}|\\]/\\&/g')
+
+ssh "$HOST" "
+ for f in $LOG_DIR/recordings* $LOG_DIR/access*; do
+ [ -e \"\$f\" ] || continue
+ case \"\$f\" in
+ *.gz)
+ zgrep -E \"${esc_target}[[:space:]]\" \"\$f\" \
+ | grep -v '59.19.56.8' \
+ | grep -vi 'firefox'
+ ;;
+ *)
+ grep -E \"${esc_target}[[:space:]]\" \"\$f\" \
+ | grep -v '59.19.56.8' \
+ | grep -vi 'firefox'
+ ;;
+ esac
+ done
+"
diff --git a/mac/Library/Application Support/com.colliderli.iina/input_conf b/mac/Library/Application Support/com.colliderli.iina/input_conf
deleted file mode 100644
index 4165405..0000000
--- a/mac/Library/Application Support/com.colliderli.iina/input_conf
+++ /dev/null
@@ -1,139 +0,0 @@
-# Generated by IINA
-
-#@iina Shift+Meta+v video-panel
-#@iina Shift+Meta+a audio-panel
-#@iina Shift+Meta+s sub-panel
-#@iina Shift+Meta+p playlist-panel
-#@iina v playlist-panel
-#@iina Shift+Meta+c chapter-panel
-#@iina Ctrl+Meta+p toggle-pip
-MBTN_LEFT ignore # don't do anything
-MBTN_LEFT_DBL cycle fullscreen # toggle fullscreen
-MBTN_RIGHT cycle pause # toggle pause/playback mode
-MBTN_BACK playlist-prev # skip to the previous file
-MBTN_FORWARD playlist-next # skip to the next file
-WHEEL_UP seek 10 # seek 10 seconds forward
-WHEEL_DOWN seek -10 # seek 10 seconds backward
-WHEEL_LEFT add volume -2
-WHEEL_RIGHT add volume 2
-RIGHT no-osd seek 1 exact # seek 5 seconds forward
-LEFT no-osd seek -1 exact # seek 5 seconds backward
-UP add volume 5
-DOWN add volume -5
-Shift+RIGHT no-osd seek 1 exact # seek exactly 1 second forward
-Shift+LEFT no-osd seek -1 exact # seek exactly 1 second backward
-Shift+UP no-osd seek 5 exact # seek exactly 5 seconds forward
-Shift+DOWN no-osd seek -5 exact # seek exactly 5 seconds backward
-Ctrl+LEFT playlist-prev
-q no-osd sub-seek -1 # seek to the previous subtitle
-Ctrl+RIGHT playlist-next
-e no-osd sub-seek 1 # seek to the next subtitle
-Ctrl+Shift+LEFT sub-step -1 # change subtitle timing such that the previous subtitle is displayed
-Ctrl+Shift+RIGHT sub-step 1 # change subtitle timing such that the next subtitle is displayed
-Alt+left no-osd seek -15 exact
-Alt+right no-osd seek 15 exact
-Alt+up add video-pan-y 0.1 # move the video down
-Alt+down add video-pan-y -0.1 # move the video up
-Alt++ add video-zoom 0.1 # zoom in
-Alt+- add video-zoom -0.1 # zoom out
-Alt+BS set video-zoom 0 ; set video-pan-x 0 ; set video-pan-y 0 # reset zoom and pan settings
-PGUP add chapter 1 # seek to the next chapter
-PGDWN add chapter -1 # seek to the previous chapter
-Shift+PGUP seek 600 # seek 10 minutes forward
-Shift+PGDWN seek -600 # seek 10 minutes backward
-[ multiply speed 1/1.1 # decrease the playback speed
-] multiply speed 1.1 # increase the playback speed
-{ multiply speed 0.5 # halve the playback speed
-} multiply speed 2.0 # double the playback speed
-BS set speed 1.0 # reset the speed to normal
-Shift+BS revert-seek # undo the previous (or marked) seek
-Shift+Ctrl+BS revert-seek mark # mark the position for revert-seek
-ESC set fullscreen no # leave fullscreen
-p cycle pause # toggle pause/playback mode
-. frame-step # advance one frame and pause
-, frame-back-step # go back by one frame and pause
-SPACE cycle pause # toggle pause/playback mode
-> playlist-next # skip to the next file
-Alt+, multiply speed 1/1.1 # decrease the playback speed
-Alt+. multiply speed 1.1 # increase the playback speed
-x playlist-next # skip to the next file
-ENTER cycle fullscreen
-< playlist-prev # skip to the previous file
-w playlist-prev # skip to the previous file
-O no-osd cycle-values osd-level 3 1 # toggle displaying the OSD on user interaction or always
-o show-progress # show playback progress
-P show-progress # show playback progress
-i script-binding stats/display-stats # display information and statistics
-I script-binding stats/display-stats-toggle # toggle displaying information and statistics
-` script-binding console/enable # open the console
-ctrl++ add audio-delay 0.100 # change audio/video sync by delaying the audio
-ctrl+- add audio-delay -0.100 # change audio/video sync by shifting the audio earlier
-Shift+g add sub-scale +0.1 # increase the subtitle font size
-Shift+f add sub-scale -0.1 # decrease the subtitle font size
-9 add volume -2
-/ add volume -2
-0 add volume 2
-* add volume 2
-m cycle mute # toggle mute
-1 add contrast -1
-2 add contrast 1
-3 add brightness -1
-4 add brightness 1
-5 add gamma -1
-6 add gamma 1
-7 add saturation -1
-8 add saturation 1
-Meta+1 set window-scale 0.5 # halve the normal window size
-Meta+2 set window-scale 1.0 # reset the window size
-Meta+3 set window-scale 2.0 # double the normal window size
-a no-osd seek -1 exact
-A no-osd seek -30 exact
-ctrl+a no-osd seek -300 exact
-d no-osd seek +1 exact
-D no-osd seek +30 exact
-ctrl+d no-osd seek 300 exact
-r add volume +5
-f add volume -5
-z no-osd seek -15 exact
-Z no-osd seek -60 exact
-ctrl+z no-osd seek -180 exact
-c no-osd seek 15 exact
-C no-osd seek 60 exact
-ctrl+c no-osd seek 180 exact
-Alt+v cycle secondary-sub-visibility # hide or show the secondary subtitles
-V cycle sub-ass-vsfilter-aspect-compat # toggle stretching SSA/ASS subtitles with anamorphic videos to match the historical renderer
-u cycle-values sub-ass-override "force" "no" # toggle overriding SSA/ASS subtitle styles with the normal styles
-j cycle sub # switch subtitle track
-J cycle sub down # switch subtitle track backwards
-SHARP cycle audio # switch audio track
-_ cycle video # switch video track
-T cycle ontop # toggle placing the video on top of other windows
-b cycle fullscreen # toggle fullscreen
-s cycle pause
-Ctrl+s screenshot window # take a screenshot of the window with OSD and subtitles
-Alt+s screenshot each-frame # automatically screenshot every frame; issue this command again to stop taking screenshots
-POWER quit
-PLAY cycle pause # toggle pause/playback mode
-PAUSE cycle pause # toggle pause/playback mode
-PLAYPAUSE cycle pause # toggle pause/playback mode
-PLAYONLY set pause no # unpause
-PAUSEONLY set pause yes # pause
-STOP quit
-FORWARD seek 60 # seek 1 minute forward
-REWIND seek -60 # seek 1 minute backward
-NEXT playlist-next # skip to the next file
-PREV playlist-prev # skip to the previous file
-VOLUME_UP add volume 2
-VOLUME_DOWN add volume -2
-MUTE cycle mute # toggle mute
-CLOSE_WIN quit
-ctrl+w quit
-l ab-loop # set/clear A-B loop points
-L cycle-values loop-file "inf" "no" # toggle infinite looping
-DEL script-binding osc/visibility # cycle OSC visibility between never, auto (mouse-move) and always
-ctrl+h cycle-values hwdec "auto" "no" # toggle hardware decoding
-F8 show-text ${playlist} # show the playlist
-F9 show-text ${track-list} # show the list of video, audio and sub tracks
-! add chapter -1 # seek to the previous chapter
-@ add chapter 1 # seek to the next chapter
-#@iina Meta+4 fit-to-screen
diff --git a/mac/Library/Application Support/com.colliderli.iina/input_conf/SI.conf b/mac/Library/Application Support/com.colliderli.iina/input_conf/SI.conf
new file mode 100644
index 0000000..4165405
--- /dev/null
+++ b/mac/Library/Application Support/com.colliderli.iina/input_conf/SI.conf
@@ -0,0 +1,139 @@
+# Generated by IINA
+
+#@iina Shift+Meta+v video-panel
+#@iina Shift+Meta+a audio-panel
+#@iina Shift+Meta+s sub-panel
+#@iina Shift+Meta+p playlist-panel
+#@iina v playlist-panel
+#@iina Shift+Meta+c chapter-panel
+#@iina Ctrl+Meta+p toggle-pip
+MBTN_LEFT ignore # don't do anything
+MBTN_LEFT_DBL cycle fullscreen # toggle fullscreen
+MBTN_RIGHT cycle pause # toggle pause/playback mode
+MBTN_BACK playlist-prev # skip to the previous file
+MBTN_FORWARD playlist-next # skip to the next file
+WHEEL_UP seek 10 # seek 10 seconds forward
+WHEEL_DOWN seek -10 # seek 10 seconds backward
+WHEEL_LEFT add volume -2
+WHEEL_RIGHT add volume 2
+RIGHT no-osd seek 1 exact # seek 5 seconds forward
+LEFT no-osd seek -1 exact # seek 5 seconds backward
+UP add volume 5
+DOWN add volume -5
+Shift+RIGHT no-osd seek 1 exact # seek exactly 1 second forward
+Shift+LEFT no-osd seek -1 exact # seek exactly 1 second backward
+Shift+UP no-osd seek 5 exact # seek exactly 5 seconds forward
+Shift+DOWN no-osd seek -5 exact # seek exactly 5 seconds backward
+Ctrl+LEFT playlist-prev
+q no-osd sub-seek -1 # seek to the previous subtitle
+Ctrl+RIGHT playlist-next
+e no-osd sub-seek 1 # seek to the next subtitle
+Ctrl+Shift+LEFT sub-step -1 # change subtitle timing such that the previous subtitle is displayed
+Ctrl+Shift+RIGHT sub-step 1 # change subtitle timing such that the next subtitle is displayed
+Alt+left no-osd seek -15 exact
+Alt+right no-osd seek 15 exact
+Alt+up add video-pan-y 0.1 # move the video down
+Alt+down add video-pan-y -0.1 # move the video up
+Alt++ add video-zoom 0.1 # zoom in
+Alt+- add video-zoom -0.1 # zoom out
+Alt+BS set video-zoom 0 ; set video-pan-x 0 ; set video-pan-y 0 # reset zoom and pan settings
+PGUP add chapter 1 # seek to the next chapter
+PGDWN add chapter -1 # seek to the previous chapter
+Shift+PGUP seek 600 # seek 10 minutes forward
+Shift+PGDWN seek -600 # seek 10 minutes backward
+[ multiply speed 1/1.1 # decrease the playback speed
+] multiply speed 1.1 # increase the playback speed
+{ multiply speed 0.5 # halve the playback speed
+} multiply speed 2.0 # double the playback speed
+BS set speed 1.0 # reset the speed to normal
+Shift+BS revert-seek # undo the previous (or marked) seek
+Shift+Ctrl+BS revert-seek mark # mark the position for revert-seek
+ESC set fullscreen no # leave fullscreen
+p cycle pause # toggle pause/playback mode
+. frame-step # advance one frame and pause
+, frame-back-step # go back by one frame and pause
+SPACE cycle pause # toggle pause/playback mode
+> playlist-next # skip to the next file
+Alt+, multiply speed 1/1.1 # decrease the playback speed
+Alt+. multiply speed 1.1 # increase the playback speed
+x playlist-next # skip to the next file
+ENTER cycle fullscreen
+< playlist-prev # skip to the previous file
+w playlist-prev # skip to the previous file
+O no-osd cycle-values osd-level 3 1 # toggle displaying the OSD on user interaction or always
+o show-progress # show playback progress
+P show-progress # show playback progress
+i script-binding stats/display-stats # display information and statistics
+I script-binding stats/display-stats-toggle # toggle displaying information and statistics
+` script-binding console/enable # open the console
+ctrl++ add audio-delay 0.100 # change audio/video sync by delaying the audio
+ctrl+- add audio-delay -0.100 # change audio/video sync by shifting the audio earlier
+Shift+g add sub-scale +0.1 # increase the subtitle font size
+Shift+f add sub-scale -0.1 # decrease the subtitle font size
+9 add volume -2
+/ add volume -2
+0 add volume 2
+* add volume 2
+m cycle mute # toggle mute
+1 add contrast -1
+2 add contrast 1
+3 add brightness -1
+4 add brightness 1
+5 add gamma -1
+6 add gamma 1
+7 add saturation -1
+8 add saturation 1
+Meta+1 set window-scale 0.5 # halve the normal window size
+Meta+2 set window-scale 1.0 # reset the window size
+Meta+3 set window-scale 2.0 # double the normal window size
+a no-osd seek -1 exact
+A no-osd seek -30 exact
+ctrl+a no-osd seek -300 exact
+d no-osd seek +1 exact
+D no-osd seek +30 exact
+ctrl+d no-osd seek 300 exact
+r add volume +5
+f add volume -5
+z no-osd seek -15 exact
+Z no-osd seek -60 exact
+ctrl+z no-osd seek -180 exact
+c no-osd seek 15 exact
+C no-osd seek 60 exact
+ctrl+c no-osd seek 180 exact
+Alt+v cycle secondary-sub-visibility # hide or show the secondary subtitles
+V cycle sub-ass-vsfilter-aspect-compat # toggle stretching SSA/ASS subtitles with anamorphic videos to match the historical renderer
+u cycle-values sub-ass-override "force" "no" # toggle overriding SSA/ASS subtitle styles with the normal styles
+j cycle sub # switch subtitle track
+J cycle sub down # switch subtitle track backwards
+SHARP cycle audio # switch audio track
+_ cycle video # switch video track
+T cycle ontop # toggle placing the video on top of other windows
+b cycle fullscreen # toggle fullscreen
+s cycle pause
+Ctrl+s screenshot window # take a screenshot of the window with OSD and subtitles
+Alt+s screenshot each-frame # automatically screenshot every frame; issue this command again to stop taking screenshots
+POWER quit
+PLAY cycle pause # toggle pause/playback mode
+PAUSE cycle pause # toggle pause/playback mode
+PLAYPAUSE cycle pause # toggle pause/playback mode
+PLAYONLY set pause no # unpause
+PAUSEONLY set pause yes # pause
+STOP quit
+FORWARD seek 60 # seek 1 minute forward
+REWIND seek -60 # seek 1 minute backward
+NEXT playlist-next # skip to the next file
+PREV playlist-prev # skip to the previous file
+VOLUME_UP add volume 2
+VOLUME_DOWN add volume -2
+MUTE cycle mute # toggle mute
+CLOSE_WIN quit
+ctrl+w quit
+l ab-loop # set/clear A-B loop points
+L cycle-values loop-file "inf" "no" # toggle infinite looping
+DEL script-binding osc/visibility # cycle OSC visibility between never, auto (mouse-move) and always
+ctrl+h cycle-values hwdec "auto" "no" # toggle hardware decoding
+F8 show-text ${playlist} # show the playlist
+F9 show-text ${track-list} # show the list of video, audio and sub tracks
+! add chapter -1 # seek to the previous chapter
+@ add chapter 1 # seek to the next chapter
+#@iina Meta+4 fit-to-screen
--
cgit v1.2.3