首页
关于
友链
Search
1
ESXI 一些功能调整
626 阅读
2
天翼云网关3.0/4.0超管密码
564 阅读
3
SoftEther 客户端篇
528 阅读
4
SoftEther 服务端篇
440 阅读
5
Centos安装个人网盘Alist v3教程
384 阅读
奇思妙想
代码相关
软件分享
游戏分享
游戏相关
我的家庭影院
Ai
登录
Search
标签搜索
python
esxi
git
SoftEther
linux
apscheduler
在线
rclone
飞牛
list
列表
idm
激活码
Charles
pdf
免安装
鲁大师
图片查看器
蜂蜜浏览器
honeyview
哥特式
累计撰写
111
篇文章
累计收到
15
条评论
首页
栏目
奇思妙想
代码相关
软件分享
游戏分享
游戏相关
我的家庭影院
Ai
页面
关于
友链
搜索到
111
篇与
的结果
2025-12-16
Typecho Joe主题增加目录
Typecho Joe主题添加文章目录导航方法和样式参考:https://www.cnblogs.com/weixia-blog/p/180673661. 安装Menutree插件wget https://github.com/typecho-fans/plugins/releases/download/plugins-M_to_R/MenuTree.zip解压后放到typecho插件目录:usr/plugins2. 配置插件首先在管理后台启用插件,配置里面两个都勾上显示模式 嵌入模式 独立模式嵌入模式在文章里面直接输入1. 安装Menutree插件2. 配置插件3. 修改主题模版4. 后台的主题配置界面即可显示目录独立模式需要在模板文件写入<?php $this->treeMenu(); ?>3. 修改主题模版编辑Joe主题文件夹usr/themes/Joe/public/aside.php文件 <section class="joe_aside__item menu-tree" style="display:none;"> <div class="joe_aside__item-title menu_title"> <svg t="1642997936013" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2169" width="128" height="128"><path d="M838.3 895.9H197.9c-53.9 0-97.7-43.8-97.7-97.7V236.7c0-53.9 43.8-97.7 97.7-97.7h640.3c53.9 0 97.7 43.8 97.7 97.7v561.4c0.1 53.9-43.7 97.8-97.6 97.8zM197.9 203.8c-18.1 0-32.9 14.8-32.9 32.9v561.4c0 18.1 14.8 32.9 32.9 32.9h640.3c18.1 0 32.9-14.8 32.9-32.9V236.7c0-18.1-14.8-32.9-32.9-32.9H197.9z" fill="#666666" p-id="2170"></path><path d="M695.1 455.2H341.2c-17.9 0-32.4-14.5-32.4-32.4s14.5-32.4 32.4-32.4h353.9c17.9 0 32.4 14.5 32.4 32.4s-14.5 32.4-32.4 32.4zM695.1 578.2H341.2c-17.9 0-32.4-14.5-32.4-32.4s14.5-32.4 32.4-32.4h353.9c17.9 0 32.4 14.5 32.4 32.4s-14.5 32.4-32.4 32.4zM695.1 701.2H341.2c-17.9 0-32.4-14.5-32.4-32.4s14.5-32.4 32.4-32.4h353.9c17.9 0 32.4 14.5 32.4 32.4s-14.5 32.4-32.4 32.4zM379.1 281.1c-17.9 0-32.4-14.5-32.4-32.4V115.4c0-17.9 14.5-32.4 32.4-32.4s32.4 14.5 32.4 32.4v133.2c0 17.9-14.5 32.5-32.4 32.5zM657.1 281.1c-17.9 0-32.4-14.5-32.4-32.4V115.4c0-17.9 14.5-32.4 32.4-32.4s32.4 14.5 32.4 32.4v133.2c0 17.9-14.5 32.5-32.4 32.5z" fill="#666666" p-id="2171"></path></svg> <span class="text">目录</span> </div> <?php $this->treeMenu(); ?> </section>4. 后台的主题配置界面设置外观 --> 全局设置 --> 自定义CSS/* 核心修正:只控制我们添加的“目录”模块,不影响其他小组件 */ /* 原来的规则:.joe_post + .joe_aside > section { display: none; } */ .joe_post + .joe_aside > .menu-tree { display: block !important; /* 确保目录模块在文章页显示 */ } /* 确保“作者信息”模块显示 */ .joe_post + .joe_aside > .author { display: block; } /* 以下是纯粹的目录样式美化,按需调整 */ .menu-tree { background: var(--background); padding-bottom: 25px; position: sticky; margin-bottom: 15px; } .index-menu { max-height: 500px; overflow-y: auto; overflow-x: hidden; margin-top: 10px; overscroll-behavior: contain; } .index-menu-item { margin: 12px 0px; /* 修改这里:将上下边距从10px增加到12px或更大 */ } .index-menu-list { margin: 8px 0px 8px 15px; /* 修改这里:将上下边距从5px增加到8px,左侧缩进可保留 */ } .index-menu-link { color: var(--main); transition: all 0.2s ease-in-out 0s; padding: 5px 0px; } .index-menu-link:hover { color: var(--theme); text-shadow: var(--text-shadow); font-weight: 500; } /* 锚点跳转定位 */ .menu-target-fix { display: block; position: relative; top: -100px; } /* 2. 调整“目录”标题与下方列表的间距:增加间距 */ .joe_aside__item-title { margin-bottom: 15px; /* 可以适当增加这个值 */ } /* 在宽度小于1000px的设备上隐藏短划线,以使目录的标题正常显示 */ @media screen and (max-width: 1000px) { .joe_aside__item-title > .line { display: none; } } /* 在宽度小于800px的设备上隐藏目录侧边栏 */ @media screen and (max-width: 800px) { .menu-tree { display: none !important; } }
2025年12月16日
3 阅读
0 评论
0 点赞
2025-12-16
简单的UV使用教程
这个教程涵盖了 UV 的主要功能。随着 UV 的快速发展,建议查看官方文档获取最新信息:uv 中文文档安装UV安装 UVmacOS 和 Linux# 使用 curl curl -LsSf https://astral.sh/uv/install.sh | sh # 或者使用 pip pip install uvWindows# 使用 PowerShell powershell -c "irm https://astral.sh/uv/install.ps1 | iex" # 或者使用 pip pip install uv升级# 使用自身上升级命令(1.0版本以上) uv self update # 或使用旧的升级命令 uv pip install --upgrade uv📍 创建全局 uv.toml 的路径你需要根据操作系统,在指定目录创建一个新的文本文件,并命名为 uv.toml。操作系统全局配置文件完整路径如何快速打开/创建Windows%APPDATA%\uv\uv.toml1. 按 Win+R,输入 %APPDATA%\uv 并回车。2. 在打开的文件夹内,新建文本文档,重命名为 uv.toml。macOS / Linux~/.config/uv/uv.toml在终端执行:mkdir -p ~/.config/uv && nano ~/.config/uv/uv.toml🛠️ 创建并配置文件的步骤打开或创建文件:使用上表的方法,在正确的位置创建一个名为 uv.toml 的纯文本文件。编辑文件内容:将以下配置粘贴进去(以清华大学源为例):[[index]] url = "https://pypi.tuna.tsinghua.edu.cn/simple" # 可选的附加配置:设置并行下载数以提高速度 concurrent-downloads = 8 # 可选:如果你想设置安装相关的其他参数,正确字段是 `[pip]` # [pip] # jobs = 8 # `jobs` 参数在 `[pip]` 字段下是有效的Python 版本管理查看可用的 Python 版本uv python list安装特定 Python 版本# 安装最新 Python 3.12 uv python install 3.12 # 安装特定小版本 uv python install 3.11.5 # 安装预览版 uv python install 3.13-dev使用特定 Python 版本# 为当前项目指定 Python 版本 uv python pin 3.12 # 查看当前项目使用的 Python 版本 uv python show依赖管理从 requirements.txt 安装依赖基本安装uv pip install -r requirements.txt同步依赖(类似 pip-sync)# 同步虚拟环境中的包,使其与 requirements.txt 完全一致 uv pip sync requirements.txt安装开发依赖uv pip install -r requirements-dev.txt生成 requirements.txt从当前环境生成uv pip freeze > requirements.txt生成带哈希值的锁定文件uv pip compile pyproject.toml -o requirements.lock生成特定平台的依赖# 只生成当前平台需要的依赖 uv pip compile pyproject.toml --platform linux-x86_64创建和更新依赖添加新包uv pip install pandas # 添加到 requirements.txt uv pip install pandas && uv pip freeze > requirements.txt更新所有包uv pip compile --upgrade pyproject.toml更新特定包uv pip install "pandas>=2.0.0"项目管理初始化新项目# 创建新项目目录 mkdir my-project cd my-project # 初始化项目(会创建 pyproject.toml) uv init # 或使用指定 Python 版本初始化 uv init --python 3.12创建虚拟环境# 在当前目录创建虚拟环境 uv venv # 指定虚拟环境名称 uv venv .venv # 使用特定 Python 版本 uv venv --python 3.12激活虚拟环境Linux/macOS:source .venv/bin/activateWindows:.venv\Scripts\activate在虚拟环境中使用 uv# 激活虚拟环境后,安装依赖 uv pip install -r requirements.txt # 或直接使用 uv run 运行命令 uv run python script.py常用命令安装相关# 安装单个包 uv pip install package-name # 安装指定版本 uv pip install "package-name==1.0.0" # 安装并添加到 pyproject.toml uv add package-name # 安装开发依赖 uv add --dev black依赖解析# 解析依赖树 uv pip tree # 检查过时的包 uv pip list --outdated # 显示包信息 uv pip show package-name清理和维护# 清理缓存 uv cache clean # 删除包 uv pip uninstall package-name # 修复损坏的环境 uv pip check工作流示例示例 1:从现有 requirements.txt 开始# 1. 克隆项目 git clone project-url cd project # 2. 创建虚拟环境 uv venv # 3. 激活虚拟环境 source .venv/bin/activate # Linux/macOS # 或 .venv\Scripts\activate # Windows # 4. 安装依赖 uv pip install -r requirements.txt # 5. 运行项目 uv run python main.py示例 2:从头创建新项目# 1. 创建项目目录 mkdir new-project cd new-project # 2. 初始化项目 uv init --python 3.11 # 3. 添加依赖 uv add fastapi uv add --dev pytest # 4. 安装依赖 uv pip install # 5. 生成 requirements.txt uv pip freeze > requirements.txt示例 3:同步生产环境# 1. 在生产服务器上创建虚拟环境 uv venv --python 3.11 # 2. 激活环境 source .venv/bin/activate # 3. 同步精确版本 uv pip sync requirements.lock # 4. 启动应用 uv run gunicorn app:app与 pip 对比的优势速度更快:UV 比 pip 快 10-100 倍内置虚拟环境管理:无需额外安装 virtualenv更好的依赖解析:更快的依赖解析和冲突检测跨平台一致性:更好的跨平台依赖管理一体化工具:集成了 pip、pip-tools、virtualenv 等功能提示和技巧使用 UVX 运行工具(类似 npx):# 无需安装即可运行 Python 工具 uvx black .并行安装:# UV 默认并行安装,可通过 --no-parallel 禁用 uv pip install --no-parallel -r requirements.txt离线模式:# 使用缓存的包 uv pip install --offline package-name仅安装当前平台依赖:uv pip install --platform-current故障排除清除缓存解决问题:uv cache clean详细日志:uv pip install -v package-name强制重新安装:uv pip install --reinstall package-name配置UV 的配置文件位于:Linux/macOS: ~/.config/uv/uv.tomlWindows: %APPDATA%\uv\uv.toml示例配置:toml[[tool.uv.index]] url = "https://pypi.tuna.tsinghua.edu.cn/simple" [tool.uv] # 总是升级包 upgrade = true # 并行下载数 concurrent-downloads = 8 [tool.uv] # 缓存目录 cache-dir = "~/.cache/uv"
2025年12月16日
10 阅读
0 评论
0 点赞
2025-11-21
uniapp离线打包
超详细!uni-app Android本地打包傻瓜式教程1. 接入mPaaS,支付宝原生扫码插件支付宝原生扫码插件 - DCloud 插件市场uniapp里面按照上面的配置离线打包的时候,增加下面的配置<meta-data android:name="mobilegw.appid" android:value=""/> <meta-data android:name="workspaceId" android:value=""/> <meta-data android:name="mpaasConfigLicense" android:value=""/>在main\assets目录下,增加一个dcloud_uniplugins.json文件,我是根据插件目录里面的配置写的{ "nativePlugins": [ { "plugins": [ { "type": "module", "name": "Mpaas-Scan-Module", "class": "com.mpaas.uniapp.scan.MpaasScanModule" } ] } ] }将插件目录下的android,里面的所有内容,都复制到libs里面然后正常打包就行了2. push2.0相关maven { url 'https://mvn.getui.com/nexus/content/repositories/releases' }<service name="push" value="io.dcloud.feature.aps.APSFeatureImpl"/><intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:host="io.dcloud.unipush" android:path="/" android:scheme="unipush" /> </intent-filter>// 个推相关 manifestPlaceholders = [ "GETUI_APPID" : "GETUI_APPID", "plus.unipush.appid" : "GETUI_APPID", "plus.unipush.appkey" : "AppKey", "plus.unipush.appsecret": "AppSecret", "apk.applicationId" : "包名:比如com.test.app" ]在hb项目里面,右键,新增云函数,提交到线上,便可使用const uniPush = uniCloud.getPushManager({appId: "你的应用appId"}) //注意这里需要传入你的应用appId exports.main = async (event, context) => { let push = { "push_clientid": "", # 填写上一步在uni-app客户端获取到的客户端推送标识push_clientid "force_notification": True, # 填写true,客户端就会对在线消息自动创建“通知栏消息”。 "title": "通知栏显示的标题", "content": "通知栏显示的内容", "settings": { # 消息有效期设置,单位毫秒,-1表示不设离线。默认是 2 小时,取值范围:-1 ~ 3 * 24 * 3600 * 1000(3天)之间 "ttl": 86400000 }, "payload": { "text": "体验一下uni-push2.0" }, "badge": "+1" } return await uniPush.sendMessage(push) }dcloud的云空间,记得添加这三张表
2025年11月21日
9 阅读
0 评论
0 点赞
2025-11-20
git的一些操作
标签# 查看已有标签: git tag # 查看标签详情(备注): git tag -n # 创建标签: git tag -a v0.0.1 -m "标签的备注" # 推送标签: git push origin v0.0.1
2025年11月20日
5 阅读
0 评论
0 点赞
2025-11-17
Windows系统打包备份
它们能自动处理系统分区、引导分区,并自带一个可启动的恢复环境,直接生成一个能用来安装系统的U盘或ISO文件。以下是几个非常流行且强大的选择:AOMEI Backupper(傲梅轻松备份) - 强烈推荐这款软件对个人用户免费,功能强大且界面非常友好,是DiskGenius方案的最佳替代品。操作流程:在虚拟机中准备:启动您的Win10虚拟机。下载并安装 AOMEI Backupper Standard。(可选但推荐)运行磁盘清理,减少体积。依然建议运行 sysprep /oobe /generalize /shutdown 进行通用化,以确保系统可以部署到其他电脑。创建系统备份镜像:运行AOMEI Backupper。选择 “备份” -> “系统备份”。关键优势: 软件会自动选择所有系统启动所必需的分区(包括EFI分区和MSR分区),您无需手动选择。您只需要选择备份文件存放的位置(比如虚拟机里的D盘,或者一个网络位置)。点击“开始备份”。它会生成一个单一的、包含所有系统的镜像文件(.adi格式)和一些描述信息。创建可启动恢复介质:在软件主界面找到 “工具” -> “创建可启动媒体”。选择创建类型(推荐基于Linux或Windows PE的介质,兼容性更好)。选择输出方式为 “ISO文件”。程序会自动引导您生成一个.iso文件。这个ISO就是您的“自定义安装盘”!如何使用这个ISO安装系统?在任何一台新电脑(物理机或新虚拟机)上,用这个ISO启动。它会直接进入AOMEI Backupper的恢复界面。使用 “还原” 功能,选择您之前备份好的那个.adi系统镜像文件。软件会自动识别目标硬盘,您只需点击“开始还原”,它就会自动将整个系统(包括引导)写入硬盘。重启电脑,您熟悉的、带着所有设置和软件的Windows就出现了。
2025年11月17日
6 阅读
0 评论
0 点赞
2025-11-12
HBuilderX CLI注意事项
1. 官网地址:https://hx.dcloud.net.cn/cli/README2. 注意事项cli open./cli open -1 :open: 操作超时安装依赖apt install -y libgl1 libharfbuzz0b
2025年11月12日
4 阅读
0 评论
0 点赞
2025-09-11
飞牛遇到的一些问题
1. 个人空间与实际使用不符合#!/bin/bash btrfs quota rescan -w /vol12. 回收站内容不会自动清理比如我需要清理的是网络备份这个回收站目录下的文件#!/bin/bash # 定义要清理的目录 TRASH_DIR="/vol2/1000/.@#local/trash/网络备份" # 定义日志文件位置 LOG_FILE="/vol2/1000/网络备份/clean_network_back.log" # 获取当前时间,用于日志记录 echo "=== 清理任务开始于 $(date) ===" >> "$LOG_FILE" 2>&1 # 检查目标目录是否存在 if [ -d "$TRASH_DIR" ]; then # 计算清理前的目录大小 BEFORE_SIZE=$(du -sb "$TRASH_DIR" 2>/dev/null | cut -f1) BEFORE_SIZE=${BEFORE_SIZE:-0} # 如果目录为空或不存在,设为0 # 执行删除操作,强制删除目录下的所有文件和子目录 # 使用 /bin/rm 的绝对路径以避免别名问题 /bin/rm -rf -- "$TRASH_DIR"/* >> "$LOG_FILE" 2>&1 # 计算清理后的目录大小 AFTER_SIZE=$(du -sb "$TRASH_DIR" 2>/dev/null | cut -f1) AFTER_SIZE=${AFTER_SIZE:-0} # 如果目录为空或不存在,设为0 # 计算释放的空间(字节) FREED_SPACE=$((BEFORE_SIZE - AFTER_SIZE)) # 格式化显示空间大小 format_size() { local bytes=$1 if [ $bytes -ge 1073741824 ]; then echo "$(echo "scale=2; $bytes/1073741824" | bc) GB" elif [ $bytes -ge 1048576 ]; then echo "$(echo "scale=2; $bytes/1048576" | bc) MB" elif [ $bytes -ge 1024 ]; then echo "$(echo "scale=2; $bytes/1024" | bc) KB" else echo "${bytes} B" fi } FREED_SPACE_FORMATTED=$(format_size $FREED_SPACE) echo "成功清理目录 $TRASH_DIR 下的所有内容。" >> "$LOG_FILE" 2>&1 echo "释放空间: $FREED_SPACE_FORMATTED" >> "$LOG_FILE" 2>&1 echo "清理详情: 清理前 $(format_size $BEFORE_SIZE), 清理后 $(format_size $AFTER_SIZE)" >> "$LOG_FILE" 2>&1 else echo "错误:目录 $TRASH_DIR 不存在,清理任务已中止。" >> "$LOG_FILE" 2>&1 fi echo "=== 清理任务结束于 $(date) ===" >> "$LOG_FILE" 2>&1 echo "" >> "$LOG_FILE" 2>&1将脚本放到某个目录下,比如我的放到的是**/网络备份/clean_network_back.sh使用crontab来做定时任务# 查看当前任务 crontab -l # 编辑任务 crontab -e增加一行# 分别对应秒分时天月 0 8 * * * /vol2/1000/网络备份/clean_network_back.sh
2025年09月11日
14 阅读
0 评论
0 点赞
2025-08-19
Python极速搭建局域网文件传输服务器
在日常工作中,是否遇到下面的困扰:同事急需你电脑上的资料文件,却找不到U盘聊天工具传输速度慢,文件类型受限云存储等第三方工具存在隐私泄露风险,还需要复杂配置今天我们使用Python内置神器,3秒搭建局域网文件共享服务器!你没看错,就是3秒!核心武器:HTTP服务器模块Python自带了一个强大的模块http.server,只需要一条命令就能启动文件共享服务器# 在文件所在目录执行 python -m http.server默认端口8000,浏览器访问http://your_ip:8000,就可以查看当前目录下的所有文件实测传输1GB的文件用时不到10s(千兆局域网环境)手机连接同一个局域网,同样也能在浏览器访问服务端可以查看到所有的访问记录(如上图所示)进阶使用技巧1.自定义端口将默认的8000端口替换为其他未被占用的端口python -m http.server 78792.自定义共享目录设置共享的根目录# Linux/Mac共享/share文件夹 python3 -m http.server -d /share 7879 # Windows共享D:\share文件夹 python -m http.server -d D:\share 78793.多线程性能优化http.server默认为单线程,多人使用有高并发阻塞风险,可使用socketserver.ThreadingTCPServerimport socketserver from http.server import SimpleHTTPRequestHandler handler = SimpleHTTPRequestHandler with socketserver.ThreadingTCPServer(('', 7879), handler) as httpd: httpd.serve_forever()安全提示:使用完毕后请及时关闭文件共享服务(关闭cmd命令终端窗口即可),避免长期暴露文件技术不在于复杂,而在于解决实际问题。下次需要共享文件时,无需聊天工具来回发送,也不必寻找U盘,只需打开终端,一行命令开启专属高速文件共享通道!
2025年08月19日
15 阅读
0 评论
0 点赞
2025-08-12
使用GitHub Action 自动构建 RustDesk 客户端
1. 安装rustdeskdocker-compose 文件:假设你的域名是rustdesk.test.comservices: rustdeskapi: container_name: rustdeskapi ports: - 21114:21114 - 21115:21115 - 21116:21116 - 21116:21116/udp - 21117:21117 - 21118:21118 - 21119:21119 image: lejianwen/rustdesk-server-s6:latest environment: RELAY: "rustdesk.test.com:21117" #中继服务器:21117 ENCRYPTED_ONLY: 1 MUST_LOGIN: Y #默认为N,设置为Y 则必须登录才能链接 TZ: Asia/Shanghai RUSTDESK_API_RUSTDESK_ID_SERVER: "rustdesk.test.com:21116" #ID服务器 RUSTDESK_API_RUSTDESK_API_SERVER: "https://rustdesk.test.com" #API服务器 RUSTDESK_API_RUSTDESK_KEY: "" # 首次运行后给的 RUSTDESK_API_JWT_KEY: "随便一个" # 自定义JWT KEY,为空则不启用JWT,如果没使用lejianwen/rustdesk-server中的MUST_LOGIN,建议设置为空 RUSTDESK_API_RUSTDESK_WS_HOST: "wss://rustdesk.test.com" volumes: - ./server:/data - ./api:/app/data #将数据库挂载 restart: unless-stoppednginx文件:参考:HTTPS Reverse Proxy · lejianwen/rustdesk-api Wikiserver { server_name <server>; listen 443 ssl; ssl_certificate /etc/nginx/ssl/<server>/fullchain.pem; ssl_certificate_key /etc/nginx/ssl/<server>/privkey.pem; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://rustdesk-api:21114/; } location /ws/id { proxy_pass http://rustdesk-server:21118; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } location /ws/relay { proxy_pass http://rustdesk-server:21119; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } server { if ($host = <server>) { return 301 https://$host$request_uri; } server_name <server>; listen 80; return 404; }2. Fork Rustdesk仓库rustdesk/hbb_commonrustdesk/rustdesk2.1 拉取 Fork 后的代码请注意,替换仓库地址为你fork后的仓库地址,而不是直接复制我下面的命令 # 可选:如果需要使用代理 # git config --global http.proxy http://127.0.0.1:10808 # git config --global https.proxy http://127.0.0.1:10808 # 拉取仓库代码到本地 请替换为你fork后的仓库地址 git clone https://github.com/irains/hbb_common.git git clone https://github.com/irains/rustdesk.git 3. 修改 hbb_common代码打开 hbb_common 仓库下的 src/config.rs文件,修改 101-102 行 的默认服务器和密钥为你自己的服务器和密钥。 3.1 推送修改后的代码# 将修改的代码添加到暂存区 git add . # 将代码提交到本地仓库 git commit -m "修改默认的服务器和 key" # 将本地仓库代码推送到远程仓库 如果你没有登录过GitHub会要求你登录github git push 3.2 查看最新提交的 commit IDgit log --oneline我这里提交后的commit id是b8d80ca,可用于后续验证rustdesk服务器和key是否修改成功4. 修改 rustdesk 仓库代码我们切换到克隆下来的rustdesk代码目录下,按照下面的方式修改子模块地址并更新。4.1 更新 .gitmodules打开并编辑 .gitmodules 文件,将 url 替换为你Fork后的 hbb_common 仓库地址。比如我fork后的仓库地址是https://github.com/irains/hbb_common\则将 https://github.com/rustdesk/hbb_common地址换为前面这个地址即可,记住是hbb_common的地址,而不是rustdesk仓库的地址4.2 更新子模块将上面修改好的代码保存,执行下面的命令更新子模块到最新的commit idgit submodule sync git submodule update --remote如果上面的方法不行,用下面这个cd libs/hbb_common git checkout <上面提到的版本号> cd ../.. git add libs/hbb_common git commit -m "Pin submodule to specific version"4.3 提交并推送代码git add . git commit -m "修改子模块仓库地址" git push4.4 确认 Commit ID 更新代码推送完毕后,进入你Fork 后的 rustdesk 仓库的 libs 目录下,查看 hbb_common 后面的 commit id,确保它是3.2提到的b8d80ca(这个值每个人的是不同的),否则请回到上面的步骤重新检查是否遗漏了某个操作。 5. 触发 GitHub Action 构建5.1 创建 Tag在本地 rustdesk 仓库中创建一个新 tag,例如 1.3.9,请使用 固定格式 (如 1.3.9 或 v1.3.9),以便于自动匹配构建规则。git tag -a 1.3.9 -m "修改内置服务器和 key"5.2 增加API_SERVER来到rustdesk项目,settings --> Secrets and variables --> new repository secretname:API_SERVERsecret:RUSTDESK_API_RUSTDESK_API_SERVER的值5.3 触发 GitHub Actions 构建在 rustdesk 仓库中,进入 Actions 页面,点击下面图中的按钮启用自动构建。启用后回到本地rustdesk代码中使用下面的命令将tag推送到Github后将自动开始构建。git push --tags5.4 下载构建好的客户端Tag推送完毕后会出现下面的构建进度。 等待 Action 执行完成后(时间比较长,一个半小时左右才能全部构建完成),进入 Releases 页面,即可下载构建好的客户端并使用。
2025年08月12日
47 阅读
0 评论
0 点赞
2025-08-07
Windows使用wsl开发
安装wsl1. 安装wsl --install2. 重启电脑使用可以直接在资源管理器里面输入这个链接\\wsl$\Ubuntu\home\你的用户名cmd里面使用wsl -d Ubuntu # 默认root用户 ubuntu config --default-user root
2025年08月07日
6 阅读
0 评论
0 点赞
2025-07-12
rclone 配置同步
配置 MinIO 连接示例:n) New remote name> myminio Storage> s3 provider> Other env_auth> false access_key_id> YOUR_MINIO_ACCESS_KEY secret_access_key> YOUR_MINIO_SECRET_KEY region> us-east-1 endpoint> http://your-minio-server:9000 location_constraint> acl> storage_class> 配置 AWS S3 连接示例:n) New remote name> mys3 Storage> s3 provider> AWS env_auth> false access_key_id> YOUR_AWS_ACCESS_KEY secret_access_key> YOUR_AWS_SECRET_KEY region> ap-northeast-1 endpoint> location_constraint> acl> storage_class> 基本同步命令单向同步(MinIO → S3)rclone sync myminio:bucket1 mys3:bucket2双向同步(保持两端一致)rclone bisync myminio:bucket1 mys3:bucket2高级同步选项增量同步(只传输变化的部分)rclone sync --update myminio:bucket1 mys3:bucket2
2025年07月12日
8 阅读
0 评论
0 点赞
2025-07-10
minio命令
客户端配置# 配置别名(连接远程MinIO服务器) mc alias set myminio http://localhost:9000 ACCESS_KEY SECRET_KEY # 示例: mc alias set myminio http://127.0.0.1:9000 username password # 列出所有配置的别名 mc alias list存储桶操作# 创建存储桶 mc mb myminio/mybucket # 列出所有存储桶 mc ls myminio # 删除空存储桶 mc rb myminio/mybucket # 强制删除非空存储桶 mc rb --force myminio/mybucket对象操作# 上传文件 mc cp localfile.txt myminio/mybucket/ # 下载文件 mc cp myminio/mybucket/remotefile.txt . # 列出存储桶内容 mc ls myminio/mybucket # 删除对象 mc rm myminio/mybucket/file.txt # 递归删除目录 mc rm --recursive myminio/mybucket/mydir策略管理# 设置存储桶为公开可读 mc anonymous set download myminio/mybucket # 设置存储桶为私有 mc anonymous set none myminio/mybucket # 添加用户 mc admin user add myminio newuser newpassword # 设置用户策略 mc admin policy set myminio readwrite user=newuser监控与维护# 查看服务器信息 mc admin info myminio # 查看服务健康状态 mc admin heal myminio # 查看存储桶使用情况 mc du myminio/mybucket高级功能# 设置对象保留策略 mc retention set --default GOVERNANCE 30d myminio/mybucket # 设置对象锁定(合规模式) mc retention set --default COMPLIANCE 30d myminio/mybucket # 启用版本控制 mc version enable myminio/mybucket # 列出对象版本 mc ls --versions myminio/mybucket管理用户mc admin user # 创建用户 mc admin user add <alias> <username> <password> # 示例:创建名为reports的用户 mc admin user add myminio reports user123456 # 列出所有用户 mc admin user list <alias> # 示例:列出myminio的所有用户 mc admin user list myminio # 查看用户信息 mc admin user info <alias> <username> # 示例:查看reports用户信息 mc admin user info myminio reports # 禁用用户 mc admin user disable <alias> <username> # 示例:禁用reports用户 mc admin user disable myminio reports # 启用用户 mc admin user enable <alias> <username> # 示例:重新启用reports用户 mc admin user enable myminio reports # 删除用户 mc admin user remove <alias> <username> # 示例:删除reports用户 mc admin user remove myminio reports用户策略管理# 为用户分配策略 mc admin policy attach <alias> <policy-name> --user=<username> # 示例:为reports用户分配readonly策略 mc admin policy attach myminio readonly --user=reports # 查看用户当前策略 mc admin policy info <alias> --user=<username> # 示例:查看reports用户的策略 mc admin policy info myminio --user=reports # 解除用户策略 mc admin policy detach <alias> <policy-name> --user=<username> # 示例:移除reports用户的readonly策略 mc admin policy detach myminio readonly --user=reports用户密钥管理# 修改用户密码 mc admin user update <alias> <username> <new-password> # 示例:修改reports用户密码 mc admin user update myminio reports newpassword123 # 生成临时访问密钥 mc admin user svcacct add <alias> <username> # 示例:为reports用户创建服务账户 mc admin user svcacct add myminio reports高级用户配置# 创建带策略的新用户(一步完成) mc admin user add <alias> <username> <password> --policy-name=<policy> # 示例:创建带writeonly策略的用户 mc admin user add myminio uploader upload123 --policy-name=writeonly # 设置用户描述信息 mc admin user update <alias> <username> --description="User description" # 示例:设置用户描述 mc admin user update myminio reports --description="Monthly reports generator"用户管理实际使用案例# 1. 创建管理员用户 mc admin user add myminio admin admin123 mc admin policy attach myminio consoleAdmin --user=admin # 2. 创建只读用户 mc admin user add myminio viewer view123 mc admin policy attach myminio readonly --user=viewer # 3. 创建特定存储桶权限用户 # 先创建自定义策略文件bucket-policy.json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["s3:GetObject"], "Resource": ["arn:aws:s3:::reports-bucket/*"] } ] } # 添加策略 mc admin policy create myminio reports-reader bucket-policy.json # 创建用户并附加策略 mc admin user add myminio report-reader reader123 mc admin policy attach myminio reports-reader --user=report-reader配置同步mc mirror -w old new
2025年07月10日
18 阅读
0 评论
0 点赞
2025-06-24
github代理地址
1. 使用方法直接在对应的GitHub地址前面加内容2. 维护的地址https://ghm.078465.xyz/
2025年06月24日
15 阅读
0 评论
0 点赞
2025-05-31
护核纪元 服务器安装教程 Windows
其实其他平台都大差不差,都可以服用下载steamcmd下载后直接解压,进去后只有一个steamcmd.exe,运行它,没有运行的话在cmd里面运行steamcmd.exe安装护核纪元服务端login anonymous app_update 1963720安装完后找到游戏目录在steamcmd同级目录下的里面steamapps\common双击运行Launch.bat会产生一下服务器文件路径:C:\Users\Administrator\AppData\LocalLow\Pugstorm\Core Keeper\DedicatedServerServerConfig.json -- 服务器配置文件{ "gameId": "2222222222222222222222", //用于服务器的游戏ID。需要至少28个字符的字母和数字,不包括Y,y,x,0,O.不填或无效表示将在开始时生成一个新的ID。这里我用了一堆2来举例 "world": 0, //表示使用哪个世界文件,0将会使用worlds文件夹中0.world.gzip "worldName": "Core Keeper", //服务器名称 "worldSeed": 0, //生成新世界时使用的种子,设置为0将会随机 "maxNumberPlayers": 100, //最大游玩人数 "maxNumberPacketsSentPerFrame": 1, "networkSendRate": 20, //网络配置,不懂请无视 "worldMode": 0, //为世界设置世界模式。可以是普通(0),困难(1),创意(2),休闲(4)。注意:目前不支持在创意和非创意世界之间切换。 "seasonOverride": -1 //通过设置为None (0), Easter (1), Halloween (2), Christmas (3), Valentine (4), Anniversary (5), CherryBlossom(6)中的任何一个来覆盖当前季节。-1是根据系统日期设置的默认设置。 }复制游戏世界本地的游戏世界安装steam的路径\userdata\你的steamid\1621690\remote\worlds运行过一次之后,会在服务器产生的文件里面有一个worlds文件,复制到里面去加载modhttps://mod.io/g/corekeeper下载mod,是压缩包,解压后放在服务器的steamapps\common\Core Keeper Dedicated Server\CoreKeeperServer_Data\StreamingAssets\Modstips:没有Mods的话新建一个查看mod是否加载运行服务器之后,可以在CoreKeeperServerLog.txt日志里面看到
2025年05月31日
38 阅读
0 评论
0 点赞
2025-04-18
docker安装lucky
1. 使用docker-compose安装luckyservices: lucky: image: gdy666/lucky:latest network_mode: host restart: always volumes: - ./data:/goodluck2. 安装后,使用ddns通过指令获取ipv6curl 6.ipw.cn这时候发现没有curl命令,通过下面的方法,给容器安装curl# 在宿主机操作 wget https://github.com/moparisthebest/static-curl/releases/download/v8.4.0/curl-amd64 -O curl-static chmod +x curl-static docker cp curl-static 容器名:/usr/bin/curl docker exec 容器名 curl --version
2025年04月18日
107 阅读
0 评论
0 点赞
1
2
...
8