博文

无交互的方式使用dpkg-reconfigure locales解决Debian13中文显示问题

图片
TL;DR sudo sed -i 's/^# *\(en_US.UTF-8 UTF-8\)/\1/' /etc/locale.gen sudo locale-gen export LANG=en_US.UTF-8

把我的 ghproxy 以python的方式运行一个后端

图片
需求 一直以来, 我都是教别人用嫖 cloudflare 的 worker 的方式来搭 ghproxy, 如果被封, 相当于封域名. 今天又遇到一个人求助, 而我自己的ghproxy域名已经被封完了. 所以我想, 用python的方式运行一个后端吧. 这样, 有些人有VPS资源的, 可以自己马上跑一个后端出来. 本来, 我fork的原项目就是支持python的, 我只要针对自己添加的嵌套脚本调用 github 资源的逻辑 做一些更新就好. 现在gpt的力量很强大了. Github 项目已提交更新 https://github.com/crazypeace/gh-proxy 以下为使用教程. python 环境 apt install -y python3-pip pip3 install flask requests --break-system-packages 下载 ghproxy 文件 wget https://github.com/crazypeace/gh-proxy/raw/refs/heads/master/app/main.py wget https://github.com/crazypeace/gh-proxy/raw/refs/heads/master/app/uwsgi.ini 修改 main.py 在本教程中, 用稍微"危险"一点的方式, 快速地实现基本功能. 所以监听IP设置为 0.0.0.0 即, 向外部监听. 端口为了不与常见端口冲突, 修改为 8000 . 启动 ghproxy python3 main.py 启动成功后, ghproxy后端地址为 http://你的VPS的IP: 8000 / * 注意,  开头是 http 没有 s 8000 是你修改 main.py 时设置的端口号 末尾有 / ** 注意, 这个方式是在当前终端环境下运行 ghproxy. 不能 Ctrl+C 中止. 不能断开ssh连接. 我写本教程的本意就是让你要用的时候才开, 用完就关. 使用方式 浏览器打开一个ghproxy web页面工具, 比如  https://crazypeace.github.io/gh-proxy/ 把后端的地址填写到这个位置 然后按你原来就会的方式使用这个前端页面来 转换一键脚本命令. 特别的,...

不换行空格NBSP问题的后续

图片
上一篇讲到我发现了我的博文的代码段有可能含有NBSP的问题. 今天偶然发现, 复制代码段的按钮, 得到的结果会含有NBSP. 比如, 下面的例子. 用鼠标选择, 右键菜单复制, 得到的结果是左边的. 点击代码段的复制按钮, 得到的结果是右边的. (包含一些NBSP字符) 我拿我的代码和问题描述去问 claude. 方案1 将innerText改为textContent 具体实施 https://crazypeace.github.io/blogger-replace-blockquote-to-pre/blockquote-add-copy-button1.js 测试结果不对. 不仅继续含有NBSP, 而且换行也没有了. 拿上面的问题继续问 claude 方案2 在innerText得到的结果中, 针对性地清理NBSP 原有的代码是"浓缩"为一整行的JS, 我很难在里面找到特定的位置修改, 也担心眼睛看花修改错. 所以我把原有的一整行JS丢给claude, 要求修改后输出同样的一整行给我. 我再落实到自己的代码中, 具体实施 https://crazypeace.github.io/blogger-replace-blockquote-to-pre/blockquote-add-copy-button2.js 测试结果不错, NBSP没有了.  不过, 原文中的 1个空行, 会变成2个空行. 不影响使用, 不管了. ======== 最终采用方案2, 同步到原项目中 https://crazypeace.github.io/blogger-replace-blockquote-to-pre/blockquote-add-copy-button.js 我的项目的使用者不需要做改动.

Debian10 apt update问题 更新软件源 2025-8-11

不知道现在还有多少人在用 Debian10 是不是觉得自己的VPS内存太小, 不敢用 Debian 11 / 12 我今天突发奇想, 拿一个 Racknerd 的 小内存VPS 重装成 Debian10 看今时今日(2025-8-11)用 Debian10 搭梯有没有什么问题. 一开始 apt update 报错, 我想到了以前的经验 apt update --allow-releaseinfo-change apt dist-upgrade 但是发现这样操作之后 还是 apt update 不成功. 再继续搜索了一些资料 需要编辑软件源文件 /etc/apt/sources.list 原来的文件内容全部删掉, 修改为 deb https://archive.debian.org/debian buster main contrib non-free deb-src https://archive.debian.org/debian buster main contrib non-free deb https://archive.debian.org/debian-security buster/updates main contrib non-free deb-src https://archive.debian.org/debian-security buster/updates main contrib non-free deb https://archive.debian.org/debian buster-updates main contrib non-free deb-src https://archive.debian.org/debian buster-updates main contrib non-free 然后安装证书 apt install debian-archive-keyring 就可以正常安装其它软件了. 我试了以下这些都没问题 caddy v2ray xray hysteria2 aria2 go编译 (naive caddy) python3 (telegram bot) node.js (酒馆SillyTavern) 用到我自己的一键脚本项目 https://github.com/crazypeace/v2ray_wss ht...

不换行空格NBSP造成Linux执行命令时出错

图片
今天在我自己的博客文章里面复制脚本命令, 在执行时报奇怪的错误. 查了半天, 发现是空格的问题. 发现脚本执行出问题后, 我先是目测仔细检查, 应该没问题. 然后照着文章手打命令, 能正常执行.  但, 就是直接复制出来执行会报错. 首先是放在我常用的 notepad3 里面对比, 发现有个"空格"似乎有点不"正常". 我换了个编辑器 notepad++ 后,  可以看到那个奇怪的空格是 NBSP 不换行空格 Non-Breaking Space 原因找到了, 但是不确定我的博客文章还有哪些页面有这个问题. 我试过各种搜索方法, 都是把 NBSP 当作空格理解. 而我实在没办法每篇博文都翻一遍. 所以, 如果你遇到了这个问题, 欢迎反馈给我. 可以在我的 github 项目的 issue 区留言, 也可以反馈给我的Telegram https://t.me/+ISuvkzFGZPBhMzE1 至于根本原因, 我搞不清楚. 从我正常执行的linux命令, 到编辑blogger文章发布. 是哪个步骤把空格转换成了NBSP. 最奇怪的是, 不是每一个空格都变成了NBSP. 如果是 bash 后面的空格变成了NBSP, 有可能是报 bash 相关的错误. 如果是 curl 后面的空格变成了NBSP, 有可能是报 curl 相关的错误. :(

Mihomo (Clash-meta) 择优录取 url-test 自动选择能用的端口和协议

图片
问题 如果你只有自己一个VPS. 你同意 我的观点 , 同时把 hy2, reality, wss 都搭起来了. 如果用 Reality, 运营商特别积极地干扰, 节点经常断. 运营商还没有把事做绝, 搞到完全封IP. 就是端口时不时地断一下, 几分钟就断一下. 如果用 Hy2, 运营商也时不时的Qos. 如果用 WSS, 感觉现在 Tls in Tls 的体验也不好了. 思路 1. Reality 可以多开几个端口 2. 用 Mihomo (Clash-meta) 自动选择 url-test 功能 自动选择当前能用的协议 实践 和 上一篇 大部分相同, 有些步骤略有变化.  1. Reality 可以多开几个端口 直接编辑 xray 的配置文件 config.json 如果是我的脚本, 或官方 xray 脚本安装的, 配置文件位置在 /usr/local/etc/xray/config.json 做法就是把 Reality 的 inbound 复制一份, 把端口那里改改. 注意两个 花括号 {} 之间, 要加个英文半角的逗号. (为了符合json格式) 然后重启 xray 服务 systemctl restart xray   2. 得到新的 Reality 节点的分享链接 在原来的分享链接的基础上, 你只要修改端口的部分. 最好再把备注改改, 方便后续区别. 如果你觉得上面这样的操作太难. 那么你可以在翻墙客户端里面复制一份节点, 再修改参数, 然后把新的节点分享链接复制出来. 3. 运行 Mihomo-party 官方安装文件  https://github.com/mihomo-party-org/mihomo-party/releases 解压, 运行. * 运行 Mihomo-party 要用 右键菜单 管理员身份 4. Sub-store 转换订阅链接 打开 Mihomo 自带的 Sub-store, 添加单条订阅 输入你的节点分享链接 Reality, Hy2, WSS 节点分享链接都一起丢进去. 这里面我还加了一条使用CloudFlare优选cname域名节点链接 5. Mihomo 添加订阅链接 6. 添加 自动选择 url-test 覆写配置yaml 点击新出现的覆写配置yaml,  打开编辑. ...

Mihomo (Clash-meta) 故障转移 fallback 自动选择能用的端口

图片
问题 如果你只有自己一个VPS, 搭了 Reality. 运营商特别积极地干扰, 节点经常断. 运营商还没有把事做绝, 搞到完全封IP. 就是端口时不时地断一下, 几分钟就断一下. 思路 1. Reality 可以多开几个端口 2. 用 Mihomo (Clash-meta) 故障转移 fallback 功能 自动选择当前能用的端口 实践 1. Reality 可以多开几个端口 直接编辑 xray 的配置文件 config.json 如果是我的脚本, 或官方 xray 脚本安装的, 配置文件位置在 /usr/local/etc/xray/config.json 做法就是把 Reality 的 inbound 复制一份, 把端口那里改改. 注意两个 花括号 {} 之间, 要加个英文半角的逗号. (为了符合json格式) 然后重启 xray 服务 systemctl restart xray 2. 得到新节点的分享链接 在原来的分享链接的基础上, 你只要修改端口的部分. 最好再把备注改改, 方便后续区别. 如果你觉得上面这样的操作太难. 那么你可以在翻墙客户端里面复制一份节点, 再修改参数, 然后把新的节点分享链接复制出来. 3. 运行 Mihomo-party 官方安装文件  https://github.com/mihomo-party-org/mihomo-party/releases 解压, 运行. * 运行 Mihomo-party 要用 右键菜单 管理员身份 4. Sub-store 转换订阅链接 打开 Mihomo 自带的 Sub-store, 添加单条订阅 输入你的节点分享链接 5. Mihomo 添加订阅链接 6. 添加 故障转移 fallback 覆写配置yaml 点击新出现的覆写配置yaml,  打开编辑. 设置yaml文件内容 proxy-groups:   - name: 故障转移     type: fallback     include-all: true     interval: 300     tolerance: 50     url: https://cp.cloudflare.com/gen...

The Hot3 in Last 30 Days

Mihomo (Clash-meta) 择优录取 url-test 自动选择能用的端口和协议

Mihomo (Clash-meta) 故障转移 fallback 自动选择能用的端口

不换行空格NBSP造成Linux执行命令时出错