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