博文

RackNerd VPS搭Hysteria2 HY2梯子 年付 $10.98 1G端口 3T流量 17G存储 1GB内存

图片
点此链接购买 RackNerd 1G端口 3T流量 17G存储 1GB内存 VPS 年付 $10.98 https://my.racknerd.com/aff.php?aff=1374&pid=358 Disk Space 17 GB Bandwidth 3  TB Network Port  1 Gbps Memory          1 GB 点此链接购买 RackNerd 1G端口 1.5T流量 20G存储 1GB内存 VPS 年付 $10.99 https://my.racknerd.com/aff.php?aff=1374&pid=879 Disk Space 20  GB Bandwidth 1.5  TB Network Port  1 Gbps Memory          1 GB

申请 免费.news域名 namecheap.com 添加Cloudflare域名解析DNS 优惠码 FREEDOM24

图片
namecheap.com   有活动. .news域名首年免费. 活动地址  https://www.namecheap.com/domains/registration/gtld/news/ 优惠码 FREEDOM24 老手看一张图划重点 新手就看下面的详细图文流程 活动地址  https://www.namecheap.com/domains/registration/gtld/news/ 加购物车 右下角结账 关闭自动续期 输入优惠码 FREEDOM24 这个时候会提示你注册或登录namecheap账号.  namecheap账号流程略. 登录namecheap账号了, 再在结账页面应用优惠码, 看到结账金额是0 再确认订单. 添加到 Cloudflare 在Cloudflare上面的操作和其它域名步骤一样, 只是有一步要在 namecheap.com 上面设置你的 Nameserver

更自由地使用 各种一键脚本(未裁剪)

 像我这样的小白们, 入门的第一步, 最常见的就是使用各种一键脚本先实现自己的基本需求. 接着随着时间的推移, 我们慢慢会觉得这些一键脚本有各种各样"不爽"的地方. 那么, 我们可以利用linux的文本修改工具sed, 达到查找替换, 添加, 删除等效果. 极简一键脚本带参数使用时, 跳过确认参数的步骤 bash <(curl -L https://github.com/crazypeace/xray-vless-reality/raw/main/install.sh | sed '/pause()\s*{/a return') 4 8443 原理解释  https://zelikk.blogspot.com/2024/10/cp-bash-skip-pause.html 强行重装233boy的sing-box脚本 bash <(wget -qO- -o- https://github.com/233boy/sing-box/raw/main/install.sh | sed '/err()\s*{/a return') 强行重装233boy的v2ray脚本 bash <(wget -qO- -o- https://git.io/v2ray.sh | sed '/err()\s*{/a return') 强行重装233boy的xray脚本 bash <(wget -qO- -o- https://github.com/233boy/Xray/raw/main/install.sh | sed '/err()\s*{/a return') 原理解释  https://zelikk.blogspot.com/2024/12/233boy-sing-box-install-err-skip.html 233boy的sing-box脚本安装完成后, 修改配置时强行跳过验证域名DNS解析报错 安装完后, 先执行 find /etc/sing-box/sh -type f -name "*.sh" -exec sed -i '/err()\s*{/a return' {} + 再按正常操作修改配置. 原理解释  https://zeli...

在不同的平台部署 webssh 自定义添加不同的标识 修改部署的文件

图片
webssh 可以部署在 koyeb, fly.io, serv00 教程: https://zelikk.blogspot.com/2023/10/huashengdun-webssh-codesandbox.html https://zelikk.blogspot.com/2023/10/github-codespaces-flyio-webssh.html https://linux.do/t/topic/211113 在有人反馈的时候, 想知道是部署在哪个平台上的出了问题, 那么可以自定义添加不同的标识, 如: https://ssh.icdyct.nyc.mn/ http://ssh.icdyct.live/ https://flyio-webssh.fly.dev/ 本质上是修改文件. 这里, 你需要修改 webssh/templates/index.html HTML语法略.  本文我想记录一下, 针对不同的平台, 用什么方法修改文件. Koyeb 在部署完成后, 点击你部署的service 有一个 console 功能 在这里, 你可以修改文件. 比如, nano webssh/templates/index.html fly.io 我的教程是使用 Github Codespaces 来部署 ,  这里实际上 Github Codespaces 是生成了一个 "临时的" 环境, 里面有你的 repo 的所有文件的一份复制. 我们可以在 fly deploy 之前, 修改这个环境里的文件. 如, nano webssh/templates/index.html 这个修改只应用到 Github Codespaces 生成的这一份临时复制文件, 不影响你的原始 repo serv00 整个过程是在 serv00 的环境上操作 , 当然可以直接修改 serv00 上面的文件. 就是普通的 linux 命令行操作. nano webssh/templates/index.html serv00 用 Xshell 去登录的话, 登录方式选 Keyboard Interactive ======= koyeb 上面的修改方式是"临时"的. 如果项目重启, 那么会恢复到一开始的...

强行重装 233boy的sing-box脚本 取消脚本报错退出的逻辑

图片
如果你的VPS安装过233boy的sing-box脚本,  但是不知道什么原因, (当然很可能是你自己乱搞的原因 XD ) 现在用起来有问题,  而当你重装的时候, 脚本提示你用 sing-box reinsall, 而当你用 sing-box reinsall 的时候, 又提示报错 那么, 我们有一个思路是, 把脚本报错的逻辑跳过, 这样可以让重装操作继续下去. 思路跟 跳过DNS解析检验报错 一样, 在 err() 函数下面直接插一行 return 体现在一键安装脚本上, 变化思路和 跳过kejilion的脚本里的一些逻辑 的原理一样. 最终成果如下 bash <(wget -qO- -o- https://github.com/233boy/sing-box/raw/main/install.sh | sed '/err()\s*{/a return' ) ======== 后记 当然, 这样做的后果就是脚本中原有的报错退出逻辑也全都失效了, 所以你要确保使用的参数都是正确的. 同理可得 233boy的v2ray脚本 bash <(wget -qO- -o- https://git.io/v2ray.sh  | sed '/err()\s*{/a return' ) 233boy的xray脚本 bash <(wget -qO- -o- https://github.com/233boy/Xray/raw/main/install.sh  | sed '/err()\s*{/a return' )  

KV-woker 纯练手项目 保护 _ 开头的 Key VS code 重构 JS 代码 提取代码为函数

图片
KV-woker 项目准备实现的功能列表见此: https://zelikk.blogspot.com/2024/12/kv-woker-1.html 今天实现: 保护 _ 开头的 KV对. 因为我们的目标是把配置项都放到 KV 中保存. 按目前的设计, 需要把理更多的配置项的 KV 放到 protect_keylist 中. 如果未来系统有配置项的扩充, 那么就要记得在 protect_keylist 中添加, 这是不优雅的.  我们可以约定, 配置项在 KV 中都以 _ 开头保存. 这一点和自动生成短链的方法也不冲突, 自动生成短链的字符中不含有 _ 符号. 本项目目前保护两个KV, _admin_pwd_ 和 _user_pwd_ , 不允许用户 修改, 删除, 查询. 目前的实现, 是设置了一个数组 protect_keylist 在业务逻辑中, 使用判断数组中是否有元素的方式 List.includes(key) , 来判断是否是属于需要保护的key. if (protect_keylist.includes(req_key)) 这一功能的效果就是: https://newkvdb.crazypeace.workers.dev/_user_pwd_ 显示404 https://newkvdb.crazypeace.workers.dev/_admin_pwd_  显示404 而且在  https://newkvdb.crazypeace.workers.dev/kvdbkvdb LoadKV, 是查询不到 _admin_pwd_ 和 _user_pwd_ 的 value 的 第 1 步 先将 if (protect_keylist.includes(req_key)) 这个判断重构为一个函数 鼠标拖选 "protect_keylist.includes(req_key)" , 右键, "Refactor...", "Extract to function in global scope",  输入新函数的名字, "checkProtectKey" 回车Enter确认 你会发现, 之前选中的文字被替换为了一个函数调用 而文件的末尾, 新增了一个函数, 函数内容就是你之前选中的语句...

KV-woker 纯练手项目 把worker.js 里的配置项改为在 KV 中保存

图片
KV-woker 项目准备实现的功能列表见此: https://zelikk.blogspot.com/2024/12/kv-woker-1.html 今天实现: 把worker.js 里的配置项改为在 KV 中保存 第 1 步 在 KV 中把配置都添加进去, 前后都加上 _ 第 2 步 把 worker.js 里面的值当作默认值, 当KV中没有设置时, 维持程序运转.  从 KV 中读取配置值, 我们观察分为两类, 布尔值  Boolen 和 字符串 String. 所以做两个函数分别用于读取 布尔值  Boolen 和 字符串 String, 方便重复使用. 然后我们把这个构造配置值的函数, 放到访问worker时的调用函数的一开头. 测试发现有问题, 显示的不是 pastebin 页面. 检视代码, 发现 index_html, result_html, response_header, 这3个变量, 是和配置项有关系的. 所以把这3个也放到一个函数中, 同样的, 在访问worker时的调用函数的一开头就调用一下. 测试  https://newkvdb.crazypeace.workers.dev/kvdbadmin 功能正常, 而且可以通过页面直接改写配置项的值, 并生效. 比如, 控制 能否 读取全部KV *** 提交修改记录  https://github.com/crazypeace/KV-woker/commit/26752fc

KV-woker 纯练手项目 2个密码 对应不同的权限

图片
KV-woker 项目准备实现的功能列表见此: https://zelikk.blogspot.com/2024/12/kv-woker-1.html 今天实现: 2个权限和对应的密码. 管理员权限 和 用户权限 第 1 步 用 _admin_pwd_ 和 _user_pwd_ 实现原来 password 的控制访问的功能 在 KV 中, 添加记录 Key: _user_pwd_   Value:  (我随便定的示例) kvdbkvdb Key: _admin_pwd_ Value:  (我随便定的示例) kvdbadmin 原项目 Url-Shorten-Worker 中, 是在 KV 库中保存 password 来 控制访问权限的. 代码中, 在这里从KV库中获取  password 对应的 value, 作为校验密码. 后续的逻辑, 都是使用这个变量 password_value 与JSON中的password字段比较, 或者是与浏览器访问的path比较. 我们这么修改,  代码的最开头, 增加一个数组 const user_key_list = [   " _admin_pwd_ ",   " _user_pwd_ " ] 在代码原来从 KV库 查询 password 的地方, 改为 将每个 user_key_list 的成员, 从KV库查询, 并将结果保存到 user_password_value_list const user_password_value_list = await Promise.all(   user_key_list.map(async key => await KVDB.get(key) || null) ); * JS的语法是比较奇怪, 我们拿人类语言去问 GPT 就好了. 在校验权限的地方, 原来是判断 password_value 是否等于 XXXX.  改为 判断 user_password_value_list 是否包含 XXXX 测试 https://newkvdb.crazypeace.workers.dev/ kvdbkvdb https://newkvdb.crazypeace.w...

The Hot3 in Last 30 Days

RackNerd VPS搭Hysteria2 HY2梯子 年付 $10.98 1G端口 3T流量 17G存储 1GB内存

强行重装 233boy的sing-box脚本 取消脚本报错退出的逻辑

KV-woker 纯练手项目 保护 _ 开头的 Key VS code 重构 JS 代码 提取代码为函数