commit
This commit is contained in:
@@ -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。"
|
||||
Executable
+47
@@ -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
|
||||
|
||||
Executable
+30
@@ -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
|
||||
|
||||
Executable
+16
@@ -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"
|
||||
Executable
+6
@@ -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
Executable
+57
@@ -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。"
|
||||
|
||||
Executable
+18
@@ -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
|
||||
Reference in New Issue
Block a user