arm
架构,顺便搭建一些Android
虚拟机,方便进行各种实验。Android
虚拟机(带显卡)Desktop
的系统,不要安装Server
版本!!!Desktop
的系统,不要安装Server
版本!!!Desktop
的系统,不要安装Server
版本!!!Desktop
的系统自带了显卡驱动,而Server
版本并没有,导致显卡无法正常驱动。除非不打算用显卡了,否则必须老老实实安装Desktop
版本的系统arm
架构,顺便搭建一些Android
虚拟机,方便进行各种实验。Android
虚拟机(带显卡)Desktop
的系统,不要安装Server
版本!!!Desktop
的系统,不要安装Server
版本!!!Desktop
的系统,不要安装Server
版本!!!Desktop
的系统自带了显卡驱动,而Server
版本并没有,导致显卡无法正常驱动。除非不打算用显卡了,否则必须老老实实安装Desktop
版本的系统passwd
apt update & apt upgrade -y
准备网口配置数据
lan1 enP4p65s0 c0:74:2b:fe:ea:4e
lan2 enP3p49s0 c0:74:2b:fe:ea:4f
具体操作参考https://foxi.buduanwang.vip/virtualization/pve/1902.html
停止原有 NetworkManager
systemctl disable NetworkManager
systemctl stop NetworkManager
rm /etc/network/interfaces.d/*
具体修改后/etc/network/interfaces
配置数据如下
iface enP4p65s0 inet manual
iface enP3p49s0 inet manual
auto vmbr0
iface vmbr0 inet static
address 192.168.103.241/22
gateway 192.168.103.1
bridge-ports enP4p65s0
bridge-stp off
bridge-fd 0
auto vmbr1
iface vmbr1 inet manual
bridge-ports enP3p49s0
bridge-stp off
bridge-fd 0
具体修改后的 /etc/hostname
配置如下
opi5plus
具体修改后 /etc/hosts/
配置如下
127.0.0.1 localhost.localdomain localhost
192.168.103.241 opi5plus.pvetest.com opi5plus
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
其他操作
#添加DNS
echo "nameserver 223.5.5.5" >>/etc/resolv.conf
注:原文中的安装gpg证书这一步失败,我改为了使用 wget 命令就能成功
wget https://mirrors.apqa.cn/proxmox/debian/pveport.gpg -O /etc/apt/trusted.gpg.d/pveport.gpg
RK3588笔记https://github.com/jiangcuo/Proxmox-Arm64/wiki/RK3588-NOTE
#安卓11
mkdir -p /mnt/nvme0n1p2/docker/redroid_11/data
docker run -dit \
--restart=always \
--name redroid_11 \
--privileged \
--pull always \
-v /mnt/nvme0n1p2/docker/redroid_11/data:/data \
-p 5511:5555 \
redroid/redroid:11.0.0-latest
#安卓12
mkdir -p /mnt/nvme0n1p2/docker/redroid_12/data
docker run -dit \
--restart=always \
--name redroid_12 \
--privileged \
--pull always \
-v /mnt/nvme0n1p2/docker/redroid_12/data:/data \
-p 5512:5555 \
redroid/redroid:12.0.0-latest
mkdir -p /mnt/nvme0n1p2/docker/redroid_12/data
mkdir -p /mnt/nvme0n1p2/docker/redroid_13/data
mkdir -p /mnt/nvme0n1p2/docker/redroid_14/data
#横屏chisbread/rk3588-gaming:redroid-firefly
docker run -itd \
--restart=always \
--name redroid_12 \
--privileged \
-v /mnt/nvme0n1p2/docker/redroid_12/data:/data \
-p 5512:5555 \
chisbread/rk3588-gaming:redroid-firefly \
androidboot.redroid_height=1600 \
androidboot.redroid_width=2560 \
androidboot.redroid_dpi=480 \
androidboot.redroid_gpu_mode=host \
--mount=type=bind,source=/dev/mali0,destination=/dev/mali0
#竖屏dobox:rk3588-202303017
docker run -itd \
--restart=always \
--name redroid_13 \
--privileged \
-v /mnt/nvme0n1p2/docker/redroid_13/data:/data \
-p 5513:5555 \
registry.cn-hangzhou.aliyuncs.com/whsyf/dobox:rk3588-202303017 \
androidboot.redroid_gpu_mode=host \
--mount=type=bind,source=/dev/mali0,destination=/dev/mali0
#registry.cn-hangzhou.aliyuncs.com/whsyf/dobox:rk3588-202303017
#shangzebei/rk3588 androidboot.redroid_gpu_mode=mali
#进入Redroid容器查看安卓日志
docker exec -it redroid_12 sh
logcat
尝试容器虚拟安卓https://wiki.t-firefly.com/zh_CN/ROC-RK3588S-PC/usage_aic.html
ARM GPU讨论https://github.com/istoreos/istoreos/issues/1121
rk3588-云手机-dockerhttps://blog.csdn.net/zcg121314/article/details/128994290
甲骨文ARM利用docker镜像运行安卓云手机 http://bbs.apkplus.com/?t/128.html
GPU驱动https://github.com/ChisBread/rk3588-gaming-step-by-step/blob/main/gpu-envs.md
在 RK3399 上运行开源的 GPU 驱动https://dev.t-firefly.com/thread-100733-1-1.html
尝鲜 ARM Mali 开源 Vulkan 驱动 panvkhttps://zhuanlan.zhihu.com/p/480270449
Manjaro ARM Orange Pi 5 Plushttps://github.com/manjaro-arm/opi5-plus-images
# step0. 内核编译参数(也许不是必选)
#编译内核时关闭 CONFIG_DRM_IGNORE_IOTCL_PERMIT
# step1. 下载GPU固件到/lib/firmware
sudo wget https://github.com/tsukumijima/libmali-rockchip/tree/master/firmware/g610/mali_csffw.bin -O /lib/firmware/mali_csffw.bin
# step2. 安装环境依赖
sudo apt install build-essential cmake meson git python3-mako libexpat1-dev bison flex libwayland-egl-backend-dev libxext-dev libxfixes-dev libxcb-glx0-dev libxcb-shm0-dev libxcb-dri2-0-dev libxcb-dri3-dev libxcb-present-dev libxshmfence-dev libxxf86vm-dev libxrandr-dev libwayland-dev libx11-xcb-dev
# step3. 编译安装libdrm (覆盖原有的旧版)
git clone https://gitlab.freedesktop.org/mesa/drm
mkdir drm/build
cd drm/build
meson
sudo ninja install
# step4. 编译安装wayland-protocols
git clone https://gitlab.freedesktop.org/wayland/wayland-protocols
mkdir wayland-protocols/build
cd wayland-protocols/build
git checkout 1.24
meson
sudo ninja install
# 注:出现Pkg-config binary for machine 0 not found. Giving up.
# 解决办法:apt install pkg-config
# step5. 编译安装panfork (安装到/opt/panfrost)
git clone https://gitlab.com/panfork/mesa
mkdir mesa/build
cd mesa/build
meson -Dgallium-drivers=panfrost -Dvulkan-drivers= -Dllvm=disabled --prefix=/opt/panfrost
sudo ninja install
# step1. 下载GPU固件到/lib/firmware
sudo wget https://github.com/tsukumijima/libmali-rockchip/tree/master/firmware/g610/mali_csffw.bin -O /lib/firmware/mali_csffw.bin
# step2. 添加ppa
sudo add-apt-repository ppa:liujianfeng1994/panfork-mesa
# step3. 使用中科大ppa反代(可选)
sudo sed -i -e "s@http.*://ppa.launchpadcontent.net@https://launchpad.proxy.ustclug.org@g" /etc/apt/sources.list.d/*
sudo apt update
# step4. 原地升级
sudo apt dist-upgrade
# step5. 安装32位环境(可选)
sudo apt install -y libegl-mesa0:armhf libgbm1:armhf libgl1-mesa-dri:armhf libglapi-mesa:armhf libglx-mesa0:armhf
#检查linux模块是否能支持android
apt install linux-modules-extra-`uname -r`
modprobe binder_linux devices="binder,hwbinder,vndbinder" #进程通信模块
modprobe ashmem_linux #内存共享模块
mkdir -p /mnt/nvme0n1p2/docker/redroid_1/data
docker run -itd --rm --privileged \
--pull always \
-v /mnt/nvme0n1p2/docker/redroid_1/data:/data \
-v /dev/net/tun:/dev/tun \
-v /dev/mali0:/dev/mali0 \
-p 5501:5555 \
--name redroid_1 \
registry.cn-hangzhou.aliyuncs.com/whsyf/dobox:rk3588-202303017
docker exec -it redroid_1 sh
logcat
Linux GPU初始化失败
dmesg | grep -i mali
执行结果如下:
尝试驱动GPU
mkdir -p /mnt/nvme0n1p2/docker/redroid_13/data
docker run -itd \
--restart=always \
--name redroid_13 \
--privileged \
-v /dev/mali0:/dev/mali0 \
-v /mnt/nvme0n1p2/docker/redroid_13/data:/data \
-p 5513:5555 \
shangzebei/rk3588 androidboot.redroid_gpu_mode=mali
添加防火墙规则 iptables
#临时开放端口
iptables -A INPUT -p tcp --dport 5500:5599 -j ACCEPT
#永久开放端口
apt-get install iptables-persistent
netfilter-persistent save
三、编译内核
参考文章:
https://blog.seeflower.dev/archives/203/
https://blog.csdn.net/u013833472/article/details/129485916
四、安装PVE
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
apt update && apt install -y proxmox-ve
passwd
apt update & apt upgrade -y
准备网口配置数据
lan1 enP4p65s0 c0:74:2b:fe:ea:4e
lan2 enP3p49s0 c0:74:2b:fe:ea:4f
具体操作参考https://foxi.buduanwang.vip/virtualization/pve/1902.html
停止原有 NetworkManager
systemctl disable NetworkManager
systemctl stop NetworkManager
rm /etc/network/interfaces.d/*
具体修改后/etc/network/interfaces
配置数据如下
iface enP4p65s0 inet manual
iface enP3p49s0 inet manual
auto vmbr0
iface vmbr0 inet static
address 192.168.1.222/22
gateway 192.168.1.1
bridge-ports enP4p65s0
bridge-stp off
bridge-fd 0
auto vmbr1
iface vmbr1 inet manual
bridge-ports enP3p49s0
bridge-stp off
bridge-fd 0
具体修改后的 /etc/hostname
配置如下
opi5plus
具体修改后 /etc/hosts/
配置如下
127.0.0.1 localhost.localdomain localhost
192.168.1.222 opi5plus.pvetest.com opi5plus
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
其他操作
#添加DNS
echo "nameserver 223.5.5.5" >>/etc/resolv.conf
注:原文中的安装gpg证书这一步失败,我改为了使用 wget 命令就能成功
wget https://mirrors.apqa.cn/proxmox/debian/pveport.gpg -O /etc/apt/trusted.gpg.d/pveport.gpg
RK3588笔记https://github.com/jiangcuo/Proxmox-Arm64/wiki/RK3588-NOTE
#安卓11
mkdir -p /mnt/nvme0n1p2/docker/redroid_11/data
docker run -dit \
--restart=always \
--name redroid_11 \
--privileged \
--pull always \
-v /mnt/nvme0n1p2/docker/redroid_11/data:/data \
-p 5511:5555 \
redroid/redroid:11.0.0-latest
#安卓12
mkdir -p /mnt/nvme0n1p2/docker/redroid_12/data
docker run -dit \
--restart=always \
--name redroid_12 \
--privileged \
--pull always \
-v /mnt/nvme0n1p2/docker/redroid_12/data:/data \
-p 5512:5555 \
redroid/redroid:12.0.0-latest
mkdir -p /mnt/nvme0n1p2/docker/redroid_12/data
mkdir -p /mnt/nvme0n1p2/docker/redroid_13/data
mkdir -p /mnt/nvme0n1p2/docker/redroid_14/data
#横屏chisbread/rk3588-gaming:redroid-firefly
docker run -itd \
--restart=always \
--name redroid_12 \
--privileged \
-v /mnt/nvme0n1p2/docker/redroid_12/data:/data \
-p 5512:5555 \
chisbread/rk3588-gaming:redroid-firefly \
androidboot.redroid_height=1600 \
androidboot.redroid_width=2560 \
androidboot.redroid_dpi=480 \
androidboot.redroid_gpu_mode=host \
--mount=type=bind,source=/dev/mali0,destination=/dev/mali0
#竖屏dobox:rk3588-202303017
docker run -itd \
--restart=always \
--name redroid_13 \
--privileged \
-v /mnt/nvme0n1p2/docker/redroid_13/data:/data \
-p 5513:5555 \
registry.cn-hangzhou.aliyuncs.com/whsyf/dobox:rk3588-202303017 \
androidboot.redroid_gpu_mode=host \
--mount=type=bind,source=/dev/mali0,destination=/dev/mali0
#registry.cn-hangzhou.aliyuncs.com/whsyf/dobox:rk3588-202303017
#shangzebei/rk3588 androidboot.redroid_gpu_mode=mali
#进入Redroid容器查看安卓日志
docker exec -it redroid_12 sh
logcat
尝试容器虚拟安卓https://wiki.t-firefly.com/zh_CN/ROC-RK3588S-PC/usage_aic.html
ARM GPU讨论https://github.com/istoreos/istoreos/issues/1121
rk3588-云手机-dockerhttps://blog.csdn.net/zcg121314/article/details/128994290
甲骨文ARM利用docker镜像运行安卓云手机 http://bbs.apkplus.com/?t/128.html
GPU驱动https://github.com/ChisBread/rk3588-gaming-step-by-step/blob/main/gpu-envs.md
在 RK3399 上运行开源的 GPU 驱动https://dev.t-firefly.com/thread-100733-1-1.html
尝鲜 ARM Mali 开源 Vulkan 驱动 panvkhttps://zhuanlan.zhihu.com/p/480270449
Manjaro ARM Orange Pi 5 Plushttps://github.com/manjaro-arm/opi5-plus-images
# step0. 内核编译参数(也许不是必选)
#编译内核时关闭 CONFIG_DRM_IGNORE_IOTCL_PERMIT
# step1. 下载GPU固件到/lib/firmware
sudo wget https://github.com/tsukumijima/libmali-rockchip/tree/master/firmware/g610/mali_csffw.bin -O /lib/firmware/mali_csffw.bin
# step2. 安装环境依赖
sudo apt install build-essential cmake meson git python3-mako libexpat1-dev bison flex libwayland-egl-backend-dev libxext-dev libxfixes-dev libxcb-glx0-dev libxcb-shm0-dev libxcb-dri2-0-dev libxcb-dri3-dev libxcb-present-dev libxshmfence-dev libxxf86vm-dev libxrandr-dev libwayland-dev libx11-xcb-dev
# step3. 编译安装libdrm (覆盖原有的旧版)
git clone https://gitlab.freedesktop.org/mesa/drm
mkdir drm/build
cd drm/build
meson
sudo ninja install
# step4. 编译安装wayland-protocols
git clone https://gitlab.freedesktop.org/wayland/wayland-protocols
mkdir wayland-protocols/build
cd wayland-protocols/build
git checkout 1.24
meson
sudo ninja install
# 注:出现Pkg-config binary for machine 0 not found. Giving up.
# 解决办法:apt install pkg-config
# step5. 编译安装panfork (安装到/opt/panfrost)
git clone https://gitlab.com/panfork/mesa
mkdir mesa/build
cd mesa/build
meson -Dgallium-drivers=panfrost -Dvulkan-drivers= -Dllvm=disabled --prefix=/opt/panfrost
sudo ninja install
# step1. 下载GPU固件到/lib/firmware
sudo wget https://github.com/tsukumijima/libmali-rockchip/tree/master/firmware/g610/mali_csffw.bin -O /lib/firmware/mali_csffw.bin
# step2. 添加ppa
sudo add-apt-repository ppa:liujianfeng1994/panfork-mesa
# step3. 使用中科大ppa反代(可选)
sudo sed -i -e "s@http.*://ppa.launchpadcontent.net@https://launchpad.proxy.ustclug.org@g" /etc/apt/sources.list.d/*
sudo apt update
# step4. 原地升级
sudo apt dist-upgrade
# step5. 安装32位环境(可选)
sudo apt install -y libegl-mesa0:armhf libgbm1:armhf libgl1-mesa-dri:armhf libglapi-mesa:armhf libglx-mesa0:armhf
#检查linux模块是否能支持android
apt install linux-modules-extra-`uname -r`
modprobe binder_linux devices="binder,hwbinder,vndbinder" #进程通信模块
modprobe ashmem_linux #内存共享模块
mkdir -p /mnt/nvme0n1p2/docker/redroid_1/data
docker run -itd --rm --privileged \
--pull always \
-v /mnt/nvme0n1p2/docker/redroid_1/data:/data \
-v /dev/net/tun:/dev/tun \
-v /dev/mali0:/dev/mali0 \
-p 5501:5555 \
--name redroid_1 \
registry.cn-hangzhou.aliyuncs.com/whsyf/dobox:rk3588-202303017
docker exec -it redroid_1 sh
logcat
Linux GPU初始化失败
dmesg | grep -i mali
执行结果如下:
尝试驱动GPU
mkdir -p /mnt/nvme0n1p2/docker/redroid_13/data
docker run -itd \
--restart=always \
--name redroid_13 \
--privileged \
-v /dev/mali0:/dev/mali0 \
-v /mnt/nvme0n1p2/docker/redroid_13/data:/data \
-p 5513:5555 \
shangzebei/rk3588 androidboot.redroid_gpu_mode=mali
添加防火墙规则 iptables
#临时开放端口
iptables -A INPUT -p tcp --dport 5500:5599 -j ACCEPT
#永久开放端口
apt-get install iptables-persistent
netfilter-persistent save
三、编译内核
参考文章:
https://blog.seeflower.dev/archives/203/
https://blog.csdn.net/u013833472/article/details/129485916
四、安装PVE
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
apt update && apt install -y proxmox-ve
]]>cat /proc/mdstat
结果如下cat /proc/mdstat
结果如下Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [raidF1]
md2 : active raid1 sda3[0] sdb3[1]
9761614848 blocks super 1.2 [2/2] [UU]
md3 : active raid1 sdd3[0]
9761614848 blocks super 1.2 [1/1] [U]
md4 : active raid1 sde3[0](E)
9761614848 blocks super 1.2 [1/1] [E]
md1 : active raid1 sde2[12](F) sdd2[2] sdb2[1] sda2[0]
2097088 blocks [12/3] [UUU_________]
[===================>.] resync = 95.7% (2007872/2097088) finish=0.0min speed=34742K/sec
md0 : active raid1 sda1[0] sdb1[1] sdd1[2]
2490176 blocks [12/3] [UUU_________]
unused devices: <none>
synospace --stop-all-spaces
经过好几分钟才执行完毕
mdadm --assemble --scan
提示mdadm: No arrays found in config file or automatically
mdadm -D /dev/md4
打印信息如下
/dev/md4:
Version : 1.2
Creation Time : Wed Jul 26 22:34:45 2023
Raid Level : raid1
Array Size : 9761614848 (9309.40 GiB 9995.89 GB)
Used Dev Size : 9761614848 (9309.40 GiB 9995.89 GB)
Raid Devices : 1
Total Devices : 1
Persistence : Superblock is persistent
Update Time : Fri Dec 8 22:54:55 2023
State : clean
Active Devices : 1
Working Devices : 1
Failed Devices : 0
Spare Devices : 0
Number Major Minor RaidDevice State
0 8 67 0 active sync /dev/sde3
mdadm -Sf /dev/md4
结果显示mdadm: stopped /dev/md4
mdadm -Cf /dev/md4 -e1.2 -n1 -l1 /dev/sde3 -ua5b0d4b7:e8234314:801ffbc1:2f576d39
相对于教程,使用了一个随机的UUID虽然各种异常错误,但reboot
以后,群晖系统确实恢复正常了
https://pve.proxmox.com/wiki/Upgrade_from_7_to_8
注意:
如果远程使用ssh连接的话,建议先使用screen
命令,避免网络不稳定,操作中断导致的各种问题
apt update -y && apt dist-upgrade -y
sed -i_orig "s/data.status === 'Active'/true/g" /usr/share/pve-manager/js/pvemanagerlib.js
sed -i_orig "s/if (res === null || res === undefined || \!res || res/if(/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
sed -i_orig "s/.data.status.toLowerCase() !== 'active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
systemctl restart pveproxy
pveversion
最新的版本是 7.4.15
]]>https://pve.proxmox.com/wiki/Upgrade_from_7_to_8
注意:
如果远程使用ssh连接的话,建议先使用screen
命令,避免网络不稳定,操作中断导致的各种问题
apt update -y && apt dist-upgrade -y
sed -i_orig "s/data.status === 'Active'/true/g" /usr/share/pve-manager/js/pvemanagerlib.js
sed -i_orig "s/if (res === null || res === undefined || \!res || res/if(/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
sed -i_orig "s/.data.status.toLowerCase() !== 'active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
systemctl restart pveproxy
pveversion
最新的版本是 7.4.15
pve7to8
cp /etc/apt/sources.list /etc/apt/sources.list_bak
sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list
cp /etc/apt/sources.list.d/pve-install-repo.list /etc/apt/sources.list.d/pve-install-repo.list_bak
sed -i -e 's/bullseye/bookworm/g' /etc/apt/sources.list.d/pve-install-repo.list
apt update
apt dist-upgrade
升级中会出现一些交互界面,下面是官网的建议
/etc/issue -> Proxmox VE will auto-generate this file on boot, and it has only cosmetic effects on the login console.
Using the default "No" (keep your currently-installed version) is safe here.
/etc/lvm/lvm.conf -> Changes relevant for Proxmox VE will be updated, and a newer config version might be useful.
If you did not make extra changes yourself and are unsure it's suggested to choose "Yes" (install the package maintainer's version) here.
/etc/ssh/sshd_config -> If you have not changed this file manually, the only differences should be a replacement of ChallengeResponseAuthentication no with KbdInteractiveAuthentication no and some irrelevant changes in comments (lines starting with #).
If this is the case, both options are safe, though we would recommend installing the package maintainer's version in order to move away from the deprecated ChallengeResponseAuthentication option. If there are other changes, we suggest to inspect them closely and decide accordingly.
/etc/default/grub -> Here you may want to take special care, as this is normally only asked for if you changed it manually, e.g., for adding some kernel command line option.
It's recommended to check the difference for any relevant change, note that changes in comments (lines starting with #) are not relevant.
If unsure, we suggested to selected "No" (keep your currently-installed version)
sed -i_orig "s/data.status === 'Active'/true/g" /usr/share/pve-manager/js/pvemanagerlib.js
sed -i_orig "s/if (res === null || res === undefined || \!res || res/if(/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
sed -i_orig "s/.data.status.toLowerCase() !== 'active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
systemctl restart pveproxy
Q: 提示【Upgrade wants to remove package 'proxmox-ve' 】
A: 在升级前尝试执行【apt remove linux-image-amd64】
https://xn--z7x900a.love
http://我不是.肥猫.love:63/接口禁止贩卖
]]>https://xn--z7x900a.love
http://我不是.肥猫.love:63/接口禁止贩卖
http://饭太硬.top/tv
http://itvbox.cc/tvbox/云星日记/1.m3u8
https://神器每日推送.tk/pz.json
https://tvbox.cainisi.cf
https://ghproxy.com/raw.githubusercontent.com/FongMi/CatVodSpider/main/json/config.json
http://pandown.pro/tvbox/tvbox.json
http://home.jundie.top:81/top98.json
http://drpy.site/js1
]]>takagen99版拥有全新UI外观、功能更加丰富,支持挂载WebDav和本地盘,播放器显示分辨率、网速、时间屏显等功能。
二、TVbox使用教程
首页点击“设置”,选择“配置地址”,输入”数据源地址“,开启存储权限,“确定”后选择数据源,然后就可以使用了。
takagen99版拥有全新UI外观、功能更加丰富,支持挂载WebDav和本地盘,播放器显示分辨率、网速、时间屏显等功能。
二、TVbox使用教程
首页点击“设置”,选择“配置地址”,输入”数据源地址“,开启存储权限,“确定”后选择数据源,然后就可以使用了。
三、TvBox 接口配置
(时间长了,部分接口可能会失效,欢迎反馈!)
https://dxawi.github.io/0/0.json
https://download.kstore.space/download/2863/01.txt
https://liu673cn.github.io/box/m.json
https://raw.liucn.cc/box/m.json
https://raw.liucn.cc/box/xiaopingguo.json
http://52bsj.vip:81/api/v3/file/get/29899/box2.json?sign=3cVyKZQr3lFAwdB3HK-A7h33e0MnmG6lLB9oWlvSNnM%3D%3A0
https://raw.githubusercontent.com/chengxueli818913/maoTV/main/44.txt" target="_blank" rel="noopener noreferrer nofollow ugc">https://ghproxy.com/https://raw.githubusercontent.com/chengxueli818913/maoTV/main/44.txt
https://cdn.jsdelivr.net/gh/chengxueli818913/maoTV@main/44.txt
https://freed.yuanhsing.cf/TVBox/meowcf.json
https://notabug.org/imbig66/tv-spider-man/raw/master/配置/0801.json
http://js.134584.xyz/json/pp87.json
http://52bsj.vip:98/wuai
https://pastebin.com/raw/gtbKvnE1(广告)
https://cdn.jsdelivr.net/gh/GaiVmao/dianshiyuan@main/yuan2.txt(广告)
https://raw.iqiq.io/liu673cn/box/main/m.json
https://raw.iqiq.io/zhanghong1983/TVBOXZY/main/TVBOX/iqiqgr.json
https://raw.githubusercontent.com/tv-player/tvbox-line/main/tv/ptest.json" target="_blank" rel="noopener noreferrer nofollow ugc">https://ghproxy.com/https://raw.githubusercontent.com/tv-player/tvbox-line/main/tv/ptest.json
https://raw.githubusercontent.com/tv-player/tvbox-line/main/tv/ikbb.json" target="_blank" rel="noopener noreferrer nofollow ugc">https://ghproxy.com/https://raw.githubusercontent.com/tv-player/tvbox-line/main/tv/ikbb.json
https://wds.ecsxs.com/223843.txt
https://pastebin.com/raw/gtbKvnE1
https://pastebin.com/raw/sbPpDm9G
https://agit.ai/hu/hcr/raw/branch/master/MMM.txt
https://freed.yuanhsing.cf/TVBox/meowcf.json
https://github.com/YuanHsing/freed/raw/master/TVBox/meow.json
https://dxawi.github.io/0/0.json
https://raw.githubusercontent.com/UndCover/PyramidStore/main/py.json
https://raw.iqiq.io/lm317379829/PyramidStore/pyramid/py.json
https://leezn.github.io/TVBox/py.json
https://leezn.github.io/TVBox/js.json
链接:https://pan.quark.cn/s/b6a4b17e74dc
参考链接:https://www.wpzyk.cn/thread-110648.htm?sort=asc
]]>@echo off & setlocal enabledelayedexpansion
rem ===================需手动设置===================
rem 设定片头片尾长度,格式为 HH:mm:ss.fff
set "s1=00:01:07.0"
set "s2=00:01:30.0"
rem ================================================
for /f "tokens=1-4delims=:." %%a in ("%s2%") do (
set /a "t2=(1%%a %% 100 *3600 + 1%%b %% 100 * 60 + 1%%c %% 100) * 1000 + 1%%d %% 1000"
)
md myvideo 2>nul
for %%i in (*.avi *.mkv *.mp4 *.flv) do (
for /f "tokens=2-5delims=:., " %%a in ('ffmpeg -i "%%i" 2^>^&1 ^| find "Duration:"') do (
set /a "t=(1%%a%%100*3600+1%%b%%100*60+1%%c%%100)*1000+1%%d0%%1000,t-=t2,ms=t%%1000,t/=1000"
set /a h=t/3600,m=t%%3600/60,s=t%%60,h+=100,m+=100,s+=100,ms+=1000
set "t=!h:~1!:!m:~1!:!s:~1!.!ms:~1!"
ffmpeg -ss !s1! -to !t! -accurate_seek -i "%%i" -c copy -avoid_negative_ts 1 "myvideo\%%i" -y
)
)
pause
]]>@echo off & setlocal enabledelayedexpansion
rem ===================需手动设置===================
rem 设定片头片尾长度,格式为 HH:mm:ss.fff
set "s1=00:01:07.0"
set "s2=00:01:30.0"
rem ================================================
for /f "tokens=1-4delims=:." %%a in ("%s2%") do (
set /a "t2=(1%%a %% 100 *3600 + 1%%b %% 100 * 60 + 1%%c %% 100) * 1000 + 1%%d %% 1000"
)
md myvideo 2>nul
for %%i in (*.avi *.mkv *.mp4 *.flv) do (
for /f "tokens=2-5delims=:., " %%a in ('ffmpeg -i "%%i" 2^>^&1 ^| find "Duration:"') do (
set /a "t=(1%%a%%100*3600+1%%b%%100*60+1%%c%%100)*1000+1%%d0%%1000,t-=t2,ms=t%%1000,t/=1000"
set /a h=t/3600,m=t%%3600/60,s=t%%60,h+=100,m+=100,s+=100,ms+=1000
set "t=!h:~1!:!m:~1!:!s:~1!.!ms:~1!"
ffmpeg -ss !s1! -to !t! -accurate_seek -i "%%i" -c copy -avoid_negative_ts 1 "myvideo\%%i" -y
)
)
pause
https://blog.zhheo.com/p/4f4d0864.html
https://wwa.lanzoui.com/i65Ucnq7kta原作者分享链接,密码:6fpt
https://zhheo.lanzouo.com/iZ7PNxftu2j防丢博主备份链接
CI_COMMIT_REF_NAME
: The branch or tag name for which project is built.
CI_CONFIG_PATH
: The path to the CI/CD configuration file. Defaults to .gitlab-ci.yml. Read-only inside a running pipeline.
CI_PROJECT_PATH
: The project namespace with the project name included.
CI_BUILDS_DIR
: The top-level directory where builds are executed.
CI_PROJECT_DIR
: The full path the repository is cloned to, and where the job runs from. If the GitLab Runner builds_dir parameter is set, this variable is set relative to the value of builds_dir. For more information, see the Advanced GitLab Runner configuration.
CI_COMMIT_REF_NAME
: The branch or tag name for which project is built.
CI_CONFIG_PATH
: The path to the CI/CD configuration file. Defaults to .gitlab-ci.yml. Read-only inside a running pipeline.
CI_PROJECT_PATH
: The project namespace with the project name included.
CI_BUILDS_DIR
: The top-level directory where builds are executed.
CI_PROJECT_DIR
: The full path the repository is cloned to, and where the job runs from. If the GitLab Runner builds_dir parameter is set, this variable is set relative to the value of builds_dir. For more information, see the Advanced GitLab Runner configuration.
https://github.com/szyhf/gitlab-study/blob/master/gitlab-ci.yml配置说明.md
https://docs.gradle.org/current/samples/sample_building_java_applications_multi_project.html
https://meigit.readthedocs.io/en/latest/gitlab_ci_.gitlab-ci.yml_detail.html
https://docs.gitlab.com/ce/ci/variables/README.html
https://docs.gitlab.com/ee/ci/variables/predefined_variables.html
]]><encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
<providers>
<pattern>
<pattern>
{
"timestamp": "%date{\"yyyy-MM-dd HH:mm:ss\"}",
"log_level": "%level",
"class_name": "%class",
"thread": "%thread",
"message": "%message",
"stack_trace": "%exception{5}"
}
</pattern>
</pattern>
<arguments/>
</providers>
</encoder>
]]><encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
<providers>
<pattern>
<pattern>
{
"timestamp": "%date{\"yyyy-MM-dd HH:mm:ss\"}",
"log_level": "%level",
"class_name": "%class",
"thread": "%thread",
"message": "%message",
"stack_trace": "%exception{5}"
}
</pattern>
</pattern>
<arguments/>
</providers>
</encoder>
import static net.logstash.logback.marker.Markers.*
/*
* Add "name":"value" to the JSON output.
*/
logger.info(append("name", "value"), "log message");
/*
* Add "name1":"value1","name2":"value2" to the JSON output by using multiple markers.
*/
logger.info(append("name1", "value1").and(append("name2", "value2")), "log message");
只能通过ALTER TABLE不能create index
ALTER TABLE tbl_name ADD INDEX (column), ALGORITHM=INPLACE, LOCK=NONE;
]]>只能通过ALTER TABLE不能create index
ALTER TABLE tbl_name ADD INDEX (column), ALGORITHM=INPLACE, LOCK=NONE;
ALGORITHM=INPLACE
更优秀的解决方案,在当前表加索引,步骤:
1.创建索引(二级索引)数据字典
2.加共享表锁,禁止DML,允许查询
3.读取聚簇索引,构造新的索引项,排序并插
入新索引
4.等待打开当前表的所有只读事务提交
5.创建索引结束
ALGORITHM=COPY
通过临时表创建索引,需要多一倍存储,还有更多的IO,步骤:
1.新建带索引(主键索引)的临时表
2.锁原表,禁止DML,允许查询
3.将原表数据拷贝到临时表
4.禁止读写,进行rename,升级字典锁
5.完成创建索引操作
LOCK=DEFAULT
:默认方式,MySQL自行判断使用哪种LOCK模式,尽量不锁表
LOCK=NONE
:无锁:允许Online DDL期间进行并发读写操作。如果Online DDL操
作不支持对表的继续写入,则DDL操作失败,对表修改无效
LOCK=SHARED
:共享锁:Online DDL操作期间堵塞写入,不影响读取
LOCK=EXCLUSIVE
:排它锁:Online DDL操作期间不允许对锁表进行任何操作
https://dev.mysql.com/doc/refman/8.0/en/create-index.html
https://dev.mysql.com/doc/refman/8.0/en/innodb-online-ddl-operations.html#online-ddl-index-syntax-notes
https://stackoverflow.com/questions/4244685/create-an-index-on-a-huge-mysql-production-table-without-table-locking
https://www.jianshu.com/p/81d7d7ed6d86
一款命令行式哔哩哔哩下载器. Bilibili Downloader.
https://github.com/nilaoda/BBDown
中国节假日补班日历
https://github.com/lanceliao/china-holiday-calender
本图收集了常见CPU型号单核跑分图,包括英特尔 酷睿(Intel Core)桌面处理器系列, 英特尔 酷睿(Intel Core)移动处理器系列和AMD 锐龙(Ryzen)处理器系列。
https://github.com/mediv01/CPU-Single-Core-Benchmark
一款命令行式哔哩哔哩下载器. Bilibili Downloader.
https://github.com/nilaoda/BBDown
中国节假日补班日历
https://github.com/lanceliao/china-holiday-calender
本图收集了常见CPU型号单核跑分图,包括英特尔 酷睿(Intel Core)桌面处理器系列, 英特尔 酷睿(Intel Core)移动处理器系列和AMD 锐龙(Ryzen)处理器系列。
https://github.com/mediv01/CPU-Single-Core-Benchmark
https://github.com/ineo6/homebrew-install
KMS Server
https://github.com/Wind4/vlmcsd
This is a Go library that allows you to access your Authy TOTP tokens.
https://github.com/alexzorin/authy
将 Home Assistant 实体同步至巴法云,并使用小爱同学/天猫精灵/小度音箱控制。
https://github.com/larry-wong/bemfa