一、前置准备
1.设备已完成 Bootloader 解锁。
2.电脑端配置好 adb/fastboot 环境变量。
3.解压 rootfs-ubuntu-gnome-7.0-resolute.zip,获取 rootfs.img 和内核驱动镜像。
二、刷机指令
adb reboot bootloaderfastboot erase dtbo
fastboot erase boot
fastboot erase cache
fastboot erase userdatafastboot flash boot u-boot.imgfastboot flash userdata rootfs.img如果报错
libc++abi: terminating due to uncaught exception of type std::bad_alloc: std::bad_alloc:使用转换
.\img2simg rootfs.img rootfs_sparse.img在进行
fastboot flash userdata rootfs_sparse.img下载地址:
https://github.com/thka2016/lpunpack_and_lpmake_cmake/releases
fastboot flash cache xiaomi-k20pro-boot.imgfastboot rebootuser用户默认密码:1234
设置root用户密码:
sudo passwd

今天就把之前长期合作的技术公司解约了,准备自己干了。然后找外援,更加疯了一样的拓展业务。我的内心从未有如此的焦急感,不管是被辞退找工作,还是继续干加班熬夜。
这次让我想到了之前我同学不和我一起租房子的事情。原来所有的事情都不是让你做好准备去做的,也许是平平淡淡的一纸空文,也许是幽幽的叹息。人生的命运就被社会的大浪下拍在了沙滩。
我好像什么都没有做,人生就被判下了死刑。
慢慢来吧,人生的路还很长,这一辈子,没有什么让你准备充足去做的,硬着头皮上就行了,能干多少算多少。跌跌撞撞的走下去总比烂在荒野里要好吧。
平芜尽处是春山,与君共勉
]]>在您的Mac上打开"终端"(Terminal)应用,然后输入以下命令:
查看当前设置
pmset -g sched设置每天定时开关机
要设置每天早上8点开机,晚上12点(24:00)关机,请运行以下命令:
sudo pmset repeat poweron MTWRFSU 08:00:00 shutdown MTWRFSU 00:00:00这里参数的含义:poweron 表示开机shutdown 表示关机MTWRFSU 代表每天(Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday)08:00:00 表示早上8点整00:00:00 表示午夜12点整
pmset -g sched如何取消定时任务
如果您以后想取消这些定时任务,可以运行:
sudo pmset repeat cancel注意事项
M1芯片兼容性:M1芯片的Mac电脑支持pmset的定时功能,但某些旧的参数可能不适用。上面提供的命令适用于M1芯片Mac。
电源要求:为了确保定时开机功能正常工作,建议将Mac连接到电源适配器。
系统版本:在较新的macOS版本中,您也可以通过"系统设置" > "电池" > "调度"来设置定时开关机,但使用终端命令提供了更多灵活性。
]]>在这个信息爆炸的时代,我们每天都在消费大量的内容——看一部电影、读一本书、产生一个灵感。然而,这些内容往往如流水般逝去,留下的只有模糊的记忆。
MookNote 诞生于对简洁工具的追求。
我相信,好的工具应该像纸笔一样自然,不打扰思考,只记录生活。它不应该有繁琐的注册流程,不应该将你的数据存储在陌生的服务器上,更不应该用花哨的功能分散你的注意力。
我厌烦了一款软件让用户不断地注册来注册去,使用手机号验证来验证去,数据部不于自己,甚至自己写的笔记也不属于自己,我不喜欢这样,我想一款优秀的软件应该抛去繁杂的设计,就像太极一般的黑白两色。就像专业的人做专业的事情一样,MookNote主打记录生活一切有迹可循的影视娱乐,想法笔记。
MookNote名字的由来也是让我冥思苦想,Mo取自Movie的前两个字母ok取自book的后两个字母,Note则名为笔记,名字就这么来了。影视,书籍,笔记的三项生活记录,因为热爱,所以记录,因为想法,所以书写。
目前笔记还处于基础功能的版本,希望各位能多给我提提建议,我也会在其中做一些取舍,能与不能我都会一一记录下来的。在此,希望大家能多多帮助我这一个不知名的小开发者。
最后的最后,感谢阿里千问的通义灵码,让我一个小小的java开发者接触到Android开发,帮了我的大忙,帮了我最纯真的梦想。
]]>emulator文件夹并进入emulator程序修改模拟器DNS配置 , 命令如下emulator -avd 模拟器名称 -dns-server 8.8.8.8 114.114.114.114emulator -list-avds键盘win+R,输入cmd
cd 盘符:存放路径/sdk/emulatoremulator -list-avdsemulator -avd 模拟器名称 -dns-server 8.8.8.8 114.114.114.114
]]>docker-compose.yml
name: immich_server
services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:v2
volumes:
- /Users/mac/Documents/docker/dockge/docker/stacks/immich/data:/data
- /Users/mac/Documents/docker/dockge/docker/stacks/immich/img:/img
- /etc/localtime:/etc/localtime:ro
environment:
- REDIS_HOSTNAME=
- REDIS_PORT=
- REDIS_PASSWORD=
- REDIS_DBINDEX=2
# 如果 Immich Server 本身还需要数据库连接信息(通常需要),请添加
- DB_HOSTNAME=database # 使用内部服务名
- DB_PORT=5432
- DB_USERNAME=
- DB_PASSWORD=
- DB_DATABASE_NAME=
ports:
- 2283:2283
depends_on:
- database
restart: always
healthcheck:
disable: false
immich-machine-learning:
container_name: immich_machine_learning
image: ghcr.io/immich-app/immich-machine-learning:v2
volumes:
- model-cache:/cache
# 将你存放模型的目录挂载到容器的 /cache/clip
- /Users/mac/Documents/docker/dockge/docker/stacks/immich/ViT-B-32__openai:/cache/clip/ViT-B-32__openai
- /Users/mac/Documents/docker/dockge/docker/stacks/immich/XLM-Roberta-Large-Vit-B-16Plus:/cache/clip/XLM-Roberta-Large-Vit-B-16Plus
- /Users/mac/Documents/docker/dockge/docker/stacks/immich/facial-recognition:/cache/facial-recognition
environment:
- REDIS_HOSTNAME=
- REDIS_PORT=
- REDIS_PASSWORD=
- REDIS_DBINDEX=2
# 如果 ML 服务也需要数据库连接信息,请添加
- DB_HOSTNAME=database
- DB_PORT=5432
- DB_USERNAME=
- DB_PASSWORD=
- DB_DATABASE_NAME=
restart: always
healthcheck:
disable: false
database:
container_name: immich_postgres
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23
environment:
POSTGRES_PASSWORD:
POSTGRES_USER:
POSTGRES_DB:
POSTGRES_INITDB_ARGS: --data-checksums
volumes:
- /Users/mac/Documents/docker/dockge/docker/stacks/immich/db:/var/lib/postgresql/data
shm_size: 128mb
restart: always
healthcheck:
disable: false
volumes:
model-cache: null
networks: {}
服务详解 (Services)
HKEY_CLASSES_ROOT\Folder\shell在 Debian/Ubuntu:
sudo apt update && sudo apt install davfs2在 CentOS/RHEL (可能需要EPEL源):
sudo yum install davfs2sudo mkdir /home/dellevin/zhang/jellyfin/media/webdav/g3编辑 /etc/davfs2/secrets 文件,添加一行:
/home/dellevin/zhang/jellyfin/media/webdav/g3 webdav账户 webdav密码sudo chmod 600 /etc/davfs2/secretssudo mount -t davfs http://webdav地址/path /home/dellevin/zhang/jellyfin/media/webdav/g3sudo umount /home/dellevin/zhang/jellyfin/media/webdav/g3
]]>我有一个习惯,就是喜好回顾自己的曾经。虽然我对我的同学和好友常说“人生本就应该往前看,一直回头,永远不会长大。”可是真到自己的头上我却是做不到。
曾经的我喜好写日记,随笔,虽然烂的不行,但是每当我回顾的时候,不管当时是喜是忧。那份曾经用自己残缺的文笔封印住的悸动,在回顾的时候总会有些松动。
自从工作以后,日记随笔的频率越来越低的,多的反倒是工作的日志。我就像是丢失了近两年的记忆一般,在今晚回顾的时候竟然空无一物,望着空荡荡的日记,我不禁一次又一次的问自己,我到底是谁?
在这个碎片化的时代,信息爆炸的初期,良莠不齐的信息大批量的涌入我们的视野。我们看着,嬉笑着,怒骂着,感叹着,然后继续面无表情的获取下一条信息,这些残缺无比的信息构筑了一个个残缺无比的人。一碰就碎。贫瘠的知识,片面的视野还有一个麻木的青年。
我不禁一次又一次的问自己,“你愿做一位痛苦的苏格拉底还是一只快乐的猪?”。我一遍又一遍的告诉自己,“我要做一位痛苦的苏格拉底”。可是这样真的好累啊。这两年我的生活如同“一只快乐的猪”,可是这真的是我自己吗?我也不知道了。或许我不应该上学的。我应该像村里的其他人一样,辍学,外出打工,最后遇见一位女生,结婚生子,然后慢慢的老去,结束自己的一生。
谁能告诉我,人生到底是什么?
]]>设置->常用设置->面板栏隐藏,隐藏如下功能
WAF、WP Tools、多用户、邮局、节点管理
不想用,隐藏就行了。

一开始我本以为这个是在utils-lib.js里面带着的,后来通过减慢请求查看到是在请求里面带着的。通过搜索关键词get_pay_type发现,是通过getRecommendContent这个请求函数带过来的。所以我们需要在这里设置返还值为空即将
getRecommendContent=()=>useAxios.post("ajax/get_pay_type")替换成
getRecommendContent=()=>{return []}
删掉如下部分
{path:"ssh",name:"ssh",meta:{title:"SSH登录日志"},component:()=>__vitePreload(()=>import("./index57.js?v=1766131796"),__vite__mapDeps([]),import.meta.url)},
删掉如下部分
{path:"auto-deploy",name:"auto-deploy",meta:{title:"自动部署"},component:()=>__vitePreload(()=>import("./index89.js?v=1766131796").then(e=>e.i),__vite__mapDeps([]),import.meta.url)},
删掉如下部分
{path:"safe-detect",name:"safe-detect",meta:{title:"安全检测"},component:()=>__vitePreload(()=>import("./index46.js?v=1766131796"),__vite__mapDeps([]),import.meta.url)},{path:"keyword",name:"keyword",meta:{title:"违规词检测"},component:()=>__vitePreload(()=>import("./index47.js?v=1766131796"),__vite__mapDeps([]),import.meta.url)},
删掉如下部分
,{path:"php-safe",name:"php-safe",meta:{title:"PHP网站安全"},component:()=>__vitePreload(()=>import("./index48.js?v=1766131796"),__vite__mapDeps([]),import.meta.url)},{path:"intrusion",name:"intrusion",meta:{title:"入侵防御"},component:()=>__vitePreload(()=>import("./index49.js?v=1766131796"),__vite__mapDeps([]),import.meta.url)},{path:"fixed",name:"fixed",meta:{title:"系统加固"},component:()=>__vitePreload(()=>import("./index50.js?v=1766131796"),__vite__mapDeps([]),import.meta.url)},{path:"network-scan",name:"network-scan",meta:{title:"扫描感知"},component:()=>__vitePreload(()=>import("./index51.js?v=1766131796"),__vite__mapDeps([]),import.meta.url)}找到 index74.js

漏洞扫描删除如下部分
{type:"custom",render:()=>w(P,{onClick:ee},{default:()=>{var e,t;return[S("漏洞扫描"),w("span",{class:"ml-4px py-1px px-4px text-center font-bold ".concat((null==(e=Se.value)?void 0:e.loophole_num)>0?"text-danger":"text-warning")},[null==(t=Se.value)?void 0:t.loophole_num])]}})},网站安全删除如下部分
,{type:"custom",render:()=>w(P,{onClick:te},{default:()=>{var e,t;return[S("网站安全"),w("span",{class:"ml-4px py-1px px-4px text-center font-bold ".concat((null==(e=Se.value)?void 0:e.web_scaning_times)>0?"text-danger":"text-warning")},[null==(t=Se.value)?void 0:t.web_scaning_times])]}})}去除 table 表格的右侧的统计和 waf

{onClick:e=>{le(e,"monitor-setting")},title:"统计"},{onClick:e=>{le(e,"bt_waf")},title:"WAF"},找到 index235.js

删除该部分
{label:"防篡改",name:"antiTamper",lazy:!0,render:()=>r(()=>import("./index463.js?v=1766131796"),__vite__mapDeps([]),import.meta.url)},{label:"网站安全",lazy:!0,name:"siteSecurity",render:()=>r(()=>import("./index464.js?v=1766131796"),__vite__mapDeps([]),import.meta.url)},主要路径为/www/server/panel/BTPanel/static/css/style.css 一下更改需要在此文件内进行调整,如需更改其他部分会另作说明

.icon-end-time-free[data-v-402b09ab]{ 后面添加 display:none;

.recom-view[data-v-81e888c5]{ 后面添加 display:none

找到如下路径的/www/server/panel/BTPanel/static/css里面的style.css搜索advantage-view吧这里面的display:flex改成display:none

.svgtofont-left-waf:before{content:""} 替换成 .svgtofont-left-waf:before{dispaly:none;content:""}
]]>