更新文件: README.txt, rclone.conf, rclonemount.sh, install.sh, runembysim.sh 等7个文件

This commit is contained in:
ZJP Monitor
2025-07-01 12:30:10 +08:00
parent 7f613d2e69
commit 1d0d035237
7 changed files with 202 additions and 69 deletions

View File

@ -1,75 +1,38 @@
有缘人注意本zip目前僅支持"影視","OK影視"使用其他播放器或基於影視魔改的播放器使用本zip都會導致網盤内容無法播放。對本zip内的核心jar所作的任何魔改、縫合都會導致網盤原畫不可播放。
* 本ZIP所加载的资源完全来自网上公开分享的内容若有版权问题请联系相关网站删除本ZIP只读取和播放网络公开资源既不维护也不储存任何网络资源。
1.确认宿主系统中安装了rclone
****************************************************************
* 把本zip文件解壓縮到安卓設備的任意目錄 *
* 然後在播放器的點播接口設定中指定到解壓後目錄中的jsm.json *
****************************************************************
* 每次更新zip都可以覆蓋到同一個目錄覆蓋后無需重新掃碼就可以繼續使用網盤
* 可以使用影視的内部http服務器實現zip上傳和自動解壓方法用手機或PC打開http://播放器IP:9978/
* 然後點擊最後一個TAB(本地)然後創建一個新文件夾例如“tvbox”然後進入"tvbox",然後創建"js"和"lib"兩個子目錄,
* 然後點擊“上傳檔案”把本zip上傳到該目錄就會自動解壓。
以Ubuntu/Debian为例
apt update;apt install -y rclone
================================================================
以下所有说明不看也可以正常使用本zip只是给动手能力强的有缘人更多定制化的可能性。默认设置就可以欣赏绝大部分网络资源只需要切换到“网盘及弹幕设置”这个视频源扫不同网盘的二维码即可。切换方法播放器首页点击左上角图标或文字找到“网盘及弹幕设置”点击
================================================================
以openwrt为例:
opkg update; opkg install rclone
提示0: 多个播放器或多次外挂本zip情况下需要只保留一个播放器或1个外挂运行其他的要主动杀掉否则可能出现网盘播放异常.
提示1發現影视壳并不能加载最新的jar如果遇到jar表現異常或者最新的jar承諾的功能改進沒有實現請清除播放殼app的緩存后强杀播放壳后再試清除方法1在殼app的設置裏點擊“緩存”清除方法2設備的應用管理中清除殼app的數據及緩存。
提示2迅雷云盘限制极为严格不要尝试单账号多用户异地使用或多线程使用随时可能封号。
提示3播放原盘ISO时可能会呼叫外部播放器此时需要把原播放器在任务列表中锁定防止原播放器切入后台被杀掉具体方法按任务列表按钮找到原播放器点击图标在弹出菜单中选择锁定或点击锁头标志
以alpine为例:
apk install rclone
可以透过配置中的“網盤及彈幕配置”的視頻源來實現快捷方便的獲取32位token及opentoken的功能。
2.使用install.sh把压缩文件展开
複製lib/tokentemplate.json成爲lib/tokenm.json并填寫必要的内容
sh install.sh
tokenm.json格式説明
{
"token":"這裏填寫阿里云盤的32位token也可以不填寫在播放阿里云盤内容時會彈出窗口點擊QrCode用阿里云盤app掃碼",
"open_token":"這裏填寫通過alist或其他openapi提供方申請的aliyun openapi token",
"is_vip":true, //是否是阿里云盤的VIP用戶設置為true后使用vip_thread_limit設置的數值來并發加速
"vip_thread_limit":32, //這裏是阿里云盤的轉存原畫并發綫程數
"vip_thread_limit_night":"19-23=10", //這裏是阿里云盤的轉存原畫夜间并發綫程數, 等号前标识夜间时段,等号后标识线程数
"quark_thread_limit":32, //這裏是夸克網盤GO代理的并發協程數或java代理的并發綫程數若遇到賬號被限制並發數請將此數值改爲10
"quark_vip_thread_limit":32, //這裏是夸克網盤設置quark_is_vip:true之後的并發綫程數若遇到賬號被限制并發數請將此數值改爲10
"quark_thread_limit_night":"19-23=10", //這裏是夸克網盤GO代理的夜间并發協程數或java代理的并發綫程數若遇到賬號被限制並發數請將此數值改爲10
"quark_vip_thread_limit_night":"19-23=10", //這裏是夸克網盤設置quark_is_guest:false之後的夜间并發綫程數若遇到賬號被限制并發數請將此數值改爲10
"quark_is_guest":false, //本項目設置爲false表示是夸克的VIP或88VIP用戶使用更快的多綫程加載方式設置爲true表示是純免費的夸克用戶使用優化限速的多綫程加載方式
"vod_flags":"4kz|auto", //這裏是播放阿里雲的畫質選項4kz代表轉存GO原畫,4ko代表轉存Open原畫,其他都代表預覽畫質,可選的預覽畫質包括qhd,fhd,hd,sd,ld
"quark_flags":"4kz|auto", //這裏是播放夸克網盤的畫質選項4kz代表轉存原畫GO原畫其他都代表轉碼畫質,可選的預覽畫質包括4k,2k,super,high,low,normal
"uc_thread_limit":0,
"uc_is_vip":false,
"uc_flags":"4kz|auto",
"uc_vip_thread_limit":0,
"thunder_thread_limit":0,
"thunder_is_vip":false,
"thunder_vip_thread_limit":0,
"thunder_flags":"4kz",
"aliproxy":"這裏填寫外部的加速代理,用於在盒子性能不夠的情況下,使用外部的加速代理來加速播放,可以不填寫",
"proxy":"這裏填寫用於科學上網的地址連接openapi或某些資源站可能會需要用到可以不填寫",
"open_api_url":"https://api.xhofe.top/alist/ali_open/token", //這是alist的openapi接口地址也可使用其他openapi提供商的地址。
"danmu":true,//是否全局開啓阿里云盤所有csp的彈幕支持聚合類CSP仍需單獨設置例如Wogg, Wobg
"quark_danmu":true,//是否全局開啓夸克網盤的所有csp的彈幕支持, 聚合類CSP仍需單獨設置例如Wogg, Wobg
"quark_cookie":"這裏填寫通過https://pan.quark.cn網站獲取到的cookie會很長全數填入即可。"
"uc_cookie":"這裏填寫通過https://drive.uc.cn網站登錄獲取的cookie",
"thunder_username":"這裏填入用戶名或手機號,如果是手機號,記得是類似'+86 139123457'這樣的格式,+86后有空格才對",
"thunder_password":"密碼",
"thunder_captchatoken":"首次使用迅雷網盤時需要使用app彈出的登陸地址去接碼登錄並獲取captchaToken具體方法參考alist網站的文檔:https://alist.nn.ci/zh/guide/drivers/thunder.html",
"pikpak_username":"PikPak網盤的用戶名",
"pikpak_password":"PikPak網盤的密碼",
"pikpak_flags":"4kz",
"pikpak_thread_limit":2,
"pikpak_vip_thread_limit":2,
"pikpak_proxy":"用於科學上網連接PikPak網盤的代理服務器地址",
"pikpak_proxy_onlyapi":false,
"pan115_cookie":"",
"pan115_thread_limit":0,
"pan115_vip_thread_limit":0,
"pan115_is_vip":false,
"pan115_flags":"4kz",
"pan115_auto_delete":true,
"pan115_delete_code":"",
"pan115_speed_limit":0,
"pan115_speed_limit_mobile":10485760,
"pan_order":"ali|quark|uc|115|yd|thunder|pikpak"
}
3.进入embysim目录
cd embysim
4.按照emby.external目录中的alistservers.template.txt的样子自己生成alistservers.txt
cp emby.external/alistservers.template.txt emby.external/alistservers.txt
5.执行runembysim.sh
./runembysim.sh
程序会自动探测本机IP如果探测失败需要到runembysim.sh和rclonemount.sh中修改SELFIP成为真实的ip
emby的元数据自动匹配服务连接的服务器都是被墙的需要科学上网所以建议embysim
docker以bridge方式运行因为host模式会共享主机的ip有可能会把ipv6引入导致翻墙困难。
可以修改runembysim.sh加入-e HTTP_PROXY和-e HTTPS_PROXY
指向实际的翻墙代理,或直接在软路由上做分流,分流域名是:
*.themoviedb.org
*.tmdb.org
*.thetvdb.com
*.fanart.tv

BIN
embysim.docker.tar.xz Normal file

Binary file not shown.

BIN
embysim.tar.xz Normal file

Binary file not shown.

40
install.sh Normal file
View File

@ -0,0 +1,40 @@
#!/bin/bash
prog="$0"
while [ -h "${prog}" ]; do
newProg=`/bin/ls -ld "${prog}"`
newProg=`expr "${newProg}" : ".* -> \(.*\)$"`
if expr "x${newProg}" : 'x/' >/dev/null; then
prog="${newProg}"
else
progdir=`dirname "${prog}"`
prog="${progdir}/${newProg}"
fi
done
progdir=`dirname "${prog}"`
cd "${progdir}"
mkdir embysim
cd embysim
echo "extract embysim docker image..."
xz -dc -v ../embysim.docker.tar.xz > embysim.docker.tar
echo "extract embysim docker image finish"
echo "load embysim docker to system..."
docker load -i embysim.docker.tar
rm -f embysim.docker.tar
echo "load embysim docker to system finish"
echo "extract embysim data and prog..."
tar xf ../embysim.tar.xz
echo "extract embysim data and prog finish"
echo "copy scripts..."
mv ../rclonemount.sh ../runembysim.sh ../rclone.conf .
echo "copy scripts finish"
echo "all assets installed"
cd ..
echo "You can run embysim/runembysim.sh to start"

5
rclone.conf Normal file
View File

@ -0,0 +1,5 @@
[webdavsim-nas]
type = webdav
pass = LicA6JEdhZ3Gk1FbXGvqA5g-IPG3jDpqpMf69A
url = http://127.0.0.1:5678
user = guest

63
rclonemount.sh Normal file
View File

@ -0,0 +1,63 @@
#!/bin/sh
prog="$0"
while [ -h "${prog}" ]; do
newProg=`/bin/ls -ld "${prog}"`
newProg=`expr "${newProg}" : ".* -> \(.*\)$"`
if expr "x${newProg}" : 'x/' >/dev/null; then
prog="${newProg}"
else
progdir=`dirname "${prog}"`
prog="${progdir}/${newProg}"
fi
done
progdir=`dirname "${prog}"`
cd "${progdir}"
num=$(mount |grep "/external"|wc -l)
if [ $num -lt 1 ]; then
mkdir -p external
mount -o bind,shared emby.external external
echo "mount emby.external to external to mark shared"
fi
mkdir -p external/rclone.media rclone.cache
chmod 777 external/rclone.media rclone.cache
url=$(cat rclone.conf |grep -E "^url"|sed -e 's/.*\(http.*\)/\1/'|head -1)
echo "webdav url:$url"
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
do
echo "loop: $i"
curl -v -L $url
if [ $? -eq 0 ]; then
break
fi
echo "found error, sleep 3s, and retry..."
sleep 3
done
num=$(ps -ef|grep "rclone --config"|grep -v grep|wc -l)
if [ $num -gt 1 ]; then
echo "more than 1 run, exit myself."
exit
fi
echo "ready to rclone mount, please wait...(abount 30s)"
rclone --config rclone.conf mount webdavsim-nas:/dav external/rclone.media --daemon --daemon-wait 60s --no-check-certificate --allow-other --umask 000 --default-permissions --dir-cache-time 1h --webdav-vendor rclone --vfs-cache-mode writes --vfs-read-chunk-size 32M --vfs-read-chunk-size-limit 1G --buffer-size 64M --vfs-cache-max-age 1h --vfs-cache-max-size 10G --timeout 1800s --contimeout 10s --daemon-timeout 300s --poll-interval 1s --low-level-retries 2 --cache-dir rclone.cache --log-file rclone.log
echo "mount ok"
interface=$(ip route show | grep default | awk '{print $5}')
SELFIP=$(ip addr show $interface | grep -w inet | awk '{print $2}' | cut -d/ -f1|head -1)
echo "DETECT SELF IP:${SELFIP}, if this is not correct, change SELFIP to your real ip"
if [ "$SELFIP" != "" ]; then
if [ ! -e config.selfip.modified.dat ]; then
if [ -e emby.config/config/system.xml ]; then
touch config.selfip.modified.dat
echo "auto change embysim's selfip to $SELFIP, please restart embysim"
sed -i -e "/<LocalNetworkAddresses>/{:a;N;/<\/LocalNetworkAddresses>/!ba;s/.*<\/LocalNetworkAddresses>/<LocalNetworkAddresses><string>$SELFIP<\/<string><\/LocalNetworkAddresses>/}" emby.config/config/system.xml
fi
fi
fi

62
runembysim.sh Normal file
View File

@ -0,0 +1,62 @@
#!/bin/bash
prog="$0"
while [ -h "${prog}" ]; do
newProg=`/bin/ls -ld "${prog}"`
newProg=`expr "${newProg}" : ".* -> \(.*\)$"`
if expr "x${newProg}" : 'x/' >/dev/null; then
prog="${newProg}"
else
progdir=`dirname "${prog}"`
prog="${progdir}/${newProg}"
fi
done
progdir=`dirname "${prog}"`
cd "${progdir}"
mkdir -p emby.tmp emby.cache >/dev/null 2>&1
chmod 777 emby.tmp emby.cache
docker stop embysim
docker rm embysim
num=$(mount |grep "/external"|wc -l)
if [ $num -lt 1 ]; then
mount -o bind,shared emby.external external
echo "mount emby.external to external to mark shared"
fi
num=$(mount |grep "/rclone.media"|wc -l)
if [ $num -gt 0 ]; then
echo "WARN: rclone.media already mounted, the webdav content may be outdate"
else
./rclonemount.sh &
fi
interface=$(ip route show | grep default | awk '{print $5}')
SELFIP=$(ip addr show $interface | grep -w inet | awk '{print $2}' | cut -d/ -f1|head -1)
echo "DETECT SELF IP:${SELFIP}, if this is not correct, change SELFIP to your real ip"
# --gpus all \
# -e HTTP_PROXY=http://192.168.101.1:8118 \
# -e HTTPS_PROXY=http://192.168.101.1:8118 \
# --net=host \
docker run -d \
--sysctl net.ipv6.conf.all.disable_ipv6=1 \
--name embysim \
-v $progdir/emby.config:/config \
-v $progdir/external:/external:rshared \
-v $progdir/emby.tmp:/tmp \
-v $progdir/emby.cache:/cache \
--device /dev/dri:/dev/dri \
-p 8096:8096 \
-p 8920:8920 \
-p 5678:5678 \
--env UID=1000 \
--env GID=100 \
--env GIDLIST=100 \
--env SELFIP=${SELFIP} \
--restart on-failure \
pandagroove/embysim:1.0.0