This commit is contained in:
CrazyJasonwell
2026-10-07 11:07:00 +08:00
parent e88e4de0f5
commit 290ff8984f
96 changed files with 213854 additions and 0 deletions
+54
View File
@@ -0,0 +1,54 @@
#!/bin/bash
# ----------------------------------
# 参数配置(可修改)
# ----------------------------------
SOURCE_DIR="/path/to/your/directory" # 要扫描的目录(网盘映射路径)
OUTPUT_FILE="strm_stats.txt" # 结果输出文件
SLEEP_INTERVAL=0.5 # 扫描间隔(秒,可调节防止风控)
MAX_DEPTH=5 # 最大递归深度(避免扫描过深)
# ----------------------------------
# 检查目录是否存在
# ----------------------------------
if [[ ! -d "$SOURCE_DIR" ]]; then
echo "[ERROR] 目录 $SOURCE_DIR 不存在!"
exit 1
fi
# ----------------------------------
# 初始化统计变量
# ----------------------------------
declare -A dir_counts # 存储各目录的 .strm 文件数
echo "开始扫描 $SOURCE_DIR(子目录深度 $MAX_DEPTH,间隔 $SLEEP_INTERVAL 秒)..."
# ----------------------------------
# 递归遍历目录并统计 .strm 文件
# ----------------------------------
find "$SOURCE_DIR" -type d -print0 | while IFS= read -r -d '' dir; do
# 跳过超过深度的目录
if [[ $(awk -F/ '{print NF-1}' <<< "${dir#$SOURCE_DIR/}") -ge $MAX_DEPTH ]]; then
continue
fi
# 统计当前目录的 .strm 文件数
count=$(find "$dir" -maxdepth 1 -type f -name "*.strm" | wc -l)
if [[ $count -gt 0 ]]; then
dir_counts["${dir#$SOURCE_DIR/}"]=$count
echo "[发现] ${dir#$SOURCE_DIR/}: $count 个 .strm 文件"
fi
# 按需暂停(防止网盘风控)
sleep $SLEEP_INTERVAL
done
# ----------------------------------
# 输出结果
# ----------------------------------
echo "===== 结果统计 =====" > "$OUTPUT_FILE"
for dir in "${!dir_counts[@]}"; do
echo "$dir: ${dir_counts[$dir]} 个文件" >> "$OUTPUT_FILE"
done
echo "扫描完成!结果已保存至 $OUTPUT_FILE。"
+47
View File
@@ -0,0 +1,47 @@
# 与服务端建立连接,跟上面的配置要对应 阿里106.15.121.26 腾讯150.158.120.215 联通云 116.162.100.119
serverAddr = "124.220.30.149"
serverPort = 7000
# 配置Token鉴权,要与服务端一致
auth.method = "token"
auth.token = "admin8466"
# 配置日志信息
#log.level = "warn"
#log.to = "/opt/frpc/frpc.log"
# frpc.toml
webServer.addr = "192.168.1.108"
webServer.port = 7400
webServer.user = "admin"
webServer.password = "admin8466"
[[proxies]]
name = "frp-fnOS-openlist-9161"
type = "tcp"
localIP = "127.0.0.1"
localPort = 7244
remotePort = 9161
#[[proxies]]
#name = "frp-fnOST-alist"
#type = "tcp"
#localIP = "127.0.0.1"
#localPort = 5244
#remotePort = 5644
[[proxies]]
name = "frp-fnOS-cwa"
type = "tcp"
localIP = "127.0.0.1"
localPort = 7083
remotePort = 7083
+30
View File
@@ -0,0 +1,30 @@
# 与服务端建立连接,跟上面的配置要对应
#serverAddr = "106.15.121.26"
#serverPort = 7000
# 配置Token鉴权,要与服务端一致
#auth.method = "token"
#auth.token = "admin8466"
# 配置日志信息
#log.level = "warn"
#log.to = "/opt/frpc/frpc.log"
# frpc.toml
webServer.addr = "127.0.0.1"
webServer.port = 7400
webServer.user = "admin"
webServer.password = "admin8466"
#[[proxies]]
#name = "frp-fnOS-alist"
#type = "tcp"
#localIP = "127.0.0.1"
# fnOS 5244 fnOST 5245 106.15.121.26 放行52445245端口
#localPort = 5244
#remotePort = 5244
+16
View File
@@ -0,0 +1,16 @@
bindAddr = "0.0.0.0"
bindPort = 7000
auth.method = "token"
auth.token = "admin8466"
webServer.addr = "0.0.0.0"
webServer.port = 7500
webServer.user = "admin"
webServer.password = "Mayi19b8"
# tls
#transport.tls.force = true
#transport.tls.certFile = "/etc/frp/ssl/server.crt"
#transport.tls.keyFile = "/etc/frp/ssl/server.key"
#transport.tls.trustedCaFile = "/etc/frp/ssl/ca.crt"
+6
View File
@@ -0,0 +1,6 @@
#!/bin/bash
rclone mount xiaoyastrm: /vol4/1000/USBD2/MediaLibrary/xiaoyastrm --header "Referer:" --multi-thread-streams 6 --buffer-size 512M --vfs-fast-fingerprint --vfs-cache-mode full --no-modtime --file-perms 0777 --copy-links --allow-other --allow-non-empty --umask 000 --cache-dir /vol1/cache/rclone
#rclone mount wd_joycloud_dsm920: /vol4/1000/USBD2/MediaLibrary/Mdsm920 --header "Referer:" --multi-thread-streams 6 --buffer-size 512M --vfs-fast-fingerprint --vfs-cache-mode full --no-modtime --file-perms 0777 --copy-links --allow-other --allow-non-empty --umask 000 --cache-dir /vol1/cache/rclone
File diff suppressed because it is too large Load Diff
+57
View File
@@ -0,0 +1,57 @@
#!/bin/bash
# ----------------------------------
# 参数配置(可修改)
# ----------------------------------
SOURCE_DIR="/vol4/1000/USBD2/MediaLibrary/Mdsm920/本地磁盘/fnOS/strms/电影/动画电影" # 要扫描的目录(网盘映射路径)
OUTPUT_FILE="/vol4/1000/USBD2/MediaLibrary/strm_stats.txt" # 结果输出文件
SLEEP_INTERVAL=0.5 # 扫描间隔(秒,可调节防止风控)
MAX_DEPTH=5 # 最大递归深度(避免扫描过深)
# ----------------------------------
# 检查目录是否存在
# ----------------------------------
if [[ ! -d "$SOURCE_DIR" ]]; then
echo "[ERROR] 目录 $SOURCE_DIR 不存在!"
exit 1
fi
# ----------------------------------
# 初始化统计变量
# ----------------------------------
declare -A dir_counts # 存储各目录的 .strm 文件数
echo "开始扫描 $SOURCE_DIR(子目录深度 $MAX_DEPTH,间隔 $SLEEP_INTERVAL 秒)..."
# ----------------------------------
# 递归遍历目录并统计 .strm 文件
# ----------------------------------
find "$SOURCE_DIR" -type d -print0 | while IFS= read -r -d '' dir; do
# 跳过超过深度的目录
if [[ $(awk -F/ '{print NF-1}' <<< "${dir#$SOURCE_DIR/}") -ge $MAX_DEPTH ]]; then
continue
fi
# 统计当前目录的 .strm 文件数
count=$(find "$dir" -maxdepth 1 -type f -name "*.strm" | wc -l)
if [[ $count -gt 0 ]]; then
dir_counts["${dir#$SOURCE_DIR/}"]=$count
echo "[发现] ${dir#$SOURCE_DIR/}: $count 个 .strm 文件"
fi
# 按需暂停(防止网盘风控)
sleep $SLEEP_INTERVAL
done
# ----------------------------------
# 输出结果
# ----------------------------------
echo "===== 结果统计 =====" > "$OUTPUT_FILE"
for dir in "${!dir_counts[@]}"; do
echo "$dir: ${dir_counts[$dir]} 个文件" >> "$OUTPUT_FILE"
done
echo "扫描完成!结果已保存至 $OUTPUT_FILE。"
+18
View File
@@ -0,0 +1,18 @@
#!/bin/bash
# 等待某个容器完全启动(支持健康检查)
CONTAINER_NAME="xiaoya" # 替换为你的容器名
MAX_RETRIES=30
SLEEP_TIME=5
for i in $(seq 1 $MAX_RETRIES); do
if docker inspect --format '{{.State.Running}}' $CONTAINER_NAME 2>/dev/null | grep -q "true"; then
echo "[INFO] Container $CONTAINER_NAME is running."
sleep 30
exit 0
fi
echo "[WAIT] Container $CONTAINER_NAME not ready ($i/$MAX_RETRIES)..."
sleep $SLEEP_TIME
done
echo "[ERROR] Timeout: Container $CONTAINER_NAME did not start!"
exit 1
@@ -0,0 +1,42 @@
#!/bin/bash
# 定义目标目录(可修改为你的路径)
TARGET_DIR="$1"
# 检查是否传入目录参数
if [[ -z "$TARGET_DIR" || ! -d "$TARGET_DIR" ]]; then
echo "[错误] 请指定有效的目录路径!"
echo "用法: $0 /path/to/directory"
exit 1
fi
# 定义目标文件扩展名(视频 + 音频)
FILE_EXTENSIONS=("mp4" "mkv" "flv" "avi" "wmv" "ts" "rmvb" "webm" "mp3" "flac" "aac" "wav" "ogg" "m4a" "wma" "alac")
echo "[INFO] 正在扫描 $TARGET_DIR 下的媒体文件..."
# 遍历所有子目录并匹配目标扩展名
find "$TARGET_DIR" -type f \( \
-iname "*.mp4" -o \
-iname "*.mkv" -o \
-iname "*.flv" -o \
-iname "*.avi" -o \
-iname "*.wmv" -o \
-iname "*.ts" -o \
-iname "*.rmvb" -o \
-iname "*.webm" -o \
-iname "*.mp3" -o \
-iname "*.flac" -o \
-iname "*.aac" -o \
-iname "*.wav" -o \
-iname "*.ogg" -o \
-iname "*.m4a" -o \
-iname "*.wma" -o \
-iname "*.alac" \) -exec ls -la {} \;
# 汇总统计
echo "===== 统计 ====="
for ext in "${FILE_EXTENSIONS[@]}"; do
count=$(find "$TARGET_DIR" -type f -iname "*.$ext" | wc -l)
echo ".$ext: $count 个文件"
done