ws01博客 - 搭建
type: channel
link: https://boke.us.to/index.php/tag/%E6%90%AD%E5%BB%BA/
items: CF _worker搭建 WS01 Note-20251019
items: ★★★在Debian 11、12系统，用docker搭建Caddy + PHP动、静态网站
items: 用Cloudflare轻松搭建Uptime-Flare监控服务！实时掌握网站状况！
items: 永久免费节点搭建！通过Cloudflare Worker部署免费的VLESS节点，4K高速，解锁Netflix、ChatGPT
items: 部署MJJ自己的信息聚合站 —— rss-reader改版搭建～（内含详细步骤）

CF _worker搭建 WS01 Note-20251019
type: item
date: 2025-10-19T15:21:00+03:00
description: CF _worker搭建 WS01 Note，可设置私人日记或公开分享变量设置：1、帐号：USERNAME，默认：9527a2、密码：PASSWORD，默认：9527abc3、KV空间邦定：WS01_NOTE_KV// WS01 Note - Cloudflare Workers + KV 日记本应用 // 作者: WS01 // 功能: 基于Cloudflare Workers和KV数据库的简单日记本 export default { async fetch(request, env, ctx) { const url = new URL(request.url); const path = url.pathname; // 处理CORS const corsHeaders = { 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS', 'Access-Control-Allow-Headers': 'Content-Type, Authorization', }; if (request.method === 'OPTIONS') { return new Response(null, { status: 200, headers: corsHeaders }); } try { // 路由处理 if (path === '/' || path === '/login') { return new Response(getLoginPage(), { headers: { 'Content-Type': 'text/html; charset=utf-8', ...corsHeaders } }); } if (path === '/diary') { return new Response(getDiaryPage(), { headers: { 'Content-Type': 'text/html; charset=utf-8', ...corsHeaders } }); } // 查看具体日记页面 if (path.startsWith('/diary/') && path.split('/').length === 3) { const diaryId = path.split('/')[2]; return new Response(getDiaryDetailPage(diaryId), { headers: { 'Content-Type': 'text/html; charset=utf-8', ...corsHeaders } }); } // 分享日记目录页面路由 if (path === '/share') { return new Response(getShareIndexPage(), { headers: { 'Content-Type': 'text/html; charset=utf-8', ...corsHeaders } }); } // 分享页面路由 if (path.startsWith('/share/') && path.split('/').length === 3) { const shareId = path.split('/')[2]; return new Response(getSharePage(shareId), { headers: { 'Content-Type': 'text/html; charset=utf-8', ...corsHeaders } }); } if (path === '/api/auth') { return handleAuth(request, env, corsHeaders); } if (path === '/api/diary') { return handleDiaryAPI(request, env, corsHeaders); } // 添加分享相关API路由 if (path === '/api/diary/share' && (request.method === 'POST' || request.method === 'PUT')) { return handleShareDiary(request, env, corsHeaders); } // 获取分享日记API路由 if (path.startsWith('/api/share/') && path.split('/').length === 4) { const shareId = path.spli…

★★★在Debian 11、12系统，用docker搭建Caddy + PHP动、静态网站
type: item
date: 2025-08-22T02:24:00+03:00
description: 在Debian 11、12系统，用docker搭建Caddy + PHP动、静态网站文件夹 home/html/web/web1 一、常规安装，一个网站，不用数据库【推荐用第二或第三个方式 多站点 方式安装，便于以后在vps上搭建更多网站】，方法可行。 目录结构 （建议）/home/html/web/web1/├── docker-compose.yml├── Caddyfile└── public/ # 网站文件 (index.php, index.html等)1、更新系统sudo apt update && sudo apt upgrade -y2、安装 Docker 和 Docker Composesudo apt install -y docker.io docker-compose3、创建网站目录a、灵活安装sudo mkdir -p /home/html/web/web1 cd /home/html/web/web1或 b、简单安装【推荐】创建目录结构# 创建目录结构 sudo mkdir -p /home/html/web/web1/public创建 Caddyfile，解析好域名的，:80可替换域名example.com# 创建 Caddyfile cat << 'EOF' | sudo tee /home/html/web/web1/Caddyfile :80 { root * /srv php_fastcgi php:9000 file_server } EOF创建测试 PHP 文件# 创建测试 PHP 文件 cat << 'EOF' | sudo tee /home/html/web/web1/public/index.php <?php phpinfo(); EOF4、编写 docker-compose.ymlversion: "3.8" services: caddy: image: caddy:latest container_name: caddy_web1 restart: unless-stopped ports: - "80:80" - "443:443" volumes: - ./Caddyfile:/etc/caddy/Caddyfile - ./public:/srv - caddy_data:/data - caddy_config:/config depends_on: - php php: image: php:8.2-fpm container_name: php_web1 restart: unless-stopped volumes: - ./public:/srv volumes: caddy_data: caddy_config:5、编写 Caddyfile，如果第三步中已安装好域名的，此步省略example.com { root * /srv php_fastcgi php:9000 file_server }6、放置测试文件，如果第三步中已放置测试文件，此步省略echo "<?php phpinfo(); ?>" > /home/html/web/web1/public/index.php7、启动服务cd /home/html/web/web1 sudo docker-compose up -d查看容器状态：sudo docker ps8、访问测试打开浏览器访问 http://服务器IP/如果绑定了域名（并改了 Caddyfile），访问 https://你的域名/二、多站点 Caddyfile 模板【不用数据库】，以三个web1、web2、web3为例，更多个网站类推，方法可行目录结构建议 /home/html/web/├── web1/│ ├── public/ # 网站1的文件│ ├── Caddyfile.web1 # 网站1配置├── web2/│ ├── public/ # 网站2的文件│ ├── Caddyfile.web2 # 网站2配置├── web3/│ ├── public/ # 网站3的文件│ ├── Caddyfile.web3 # 网站3配置└── docker-compose.yml # 统一的 compose└── Caddyfile # 主配置，引用各站点1、更新系统sudo apt update && sudo apt upgrade -y2、安装 Docker 和 Docker Composesudo apt install -y docker.io docker-compose3、创建三个目录结构并给予权限【 更多网站类似添加 】网站1sudo mkdir -p /home/html/web/web1/public sudo …

用Cloudflare轻松搭建Uptime-Flare监控服务！实时掌握网站状况！
type: item
date: 2024-12-22T17:01:00+03:00
description: 用Cloudflare轻松搭建Uptime-Flare监控服务！实时掌握网站状况！本文转载自：https://am.809098.xyz/am-uptime-flare/Uptime-Flare是一个监控工具，能够帮助你监控网站的可用性和性能。通过Cloudflare你可以轻松部署这个服务，免费监控你的网站，告别宕机烦恼！ 原项目地址： 其它项目地址 一、需要准备的前提资料创建Cloudflare TOKEN 用于github部署用创建链接：https://dash.cloudflare.com/profile/api-tokens点击创建令牌,选择 编辑 Cloudflare Workers 模板,然后将 帐户资源 设置为自己的账户。 区域资源 设置为 所有区域二、部署uptime-flare1、打开 原项目地址： 其它项目地址 点击项目首页的 use this template ,然后点击 create new repo 完成项目创建2、设置 SECRET点击 settings -> secrets and variables -> new repo secret② Name 的值是 CLOUDFLARE_API_TOKEN③ Secret 的值是在CF获得的 Token 值3、修改 uptime.config.ts 文件修改 PageConfig 配置里的Links数组,这是监控首页的站点显示信,不是监控的站点,如links: [ { link: 'https://am.809098.xyz', label: '个人博客' }, { link: 'https://809098.xyz', label: 'Blog', highlight: true }, ]修改 WorkConfig 配置,里面是要监控的站点monitors: [ { id: 'am.809098.xyz', name: '个人博客', method: 'GET', target: 'https://am.809098.xyz', tooltip: 'My production server monitor', statusPageLink: 'https://am.809098.xyz', timeout: 10000, }, ], 3、在github的actions看部署成功,就完成了部署

永久免费节点搭建！通过Cloudflare Worker部署免费的VLESS节点，4K高速，解锁Netflix、ChatGPT
type: item
date: 2024-07-19T04:01:00+03:00
description: 永久免费节点搭建！通过Cloudflare Worker部署免费的VLESS节点，4K高速，解锁Netflix、ChatGPT本文转载自： 科技小露 本文是通过 zizifn 大佬的一个开源项目 edgetunnel ，使得我们可以免费的在 Cloudflare 上面通过部署 Worker ，来创建一个免费 VLESS 节点！一、准备工作注册 Cloudflare 账号并登录二、CloudFlare 部署免费节点原作者 GitHub 源项目地址 Worker 部署 VLESS1、来到 Cloudflare 首页，点击 Workers 和 Pages ，创建 Work ，自定义名称，然后部署！而后，编辑代码，清除原先代码，填入如下代码： Workers代码 2、在线生成一个 UUID ，用于替换下面代码中第七行的 UUID。（或是用 V2rayN 生成一个）3、因为原项目里面的代码“ proxy IP ”为空，关于 proxy IP ，是用于转发CF的一些流量，所以，若是存在套了CF的一些网站无法打开，请更换其中的其他网址，也就是第九行中的部分网址！ProxyIP 可以替换成域名或优选IPproxyip.us.fxxk.dedyn.io更多 proxyIP 列表：CM 维护proxyip.us.fxxk.dedyn.io IP落地区域: 美国 维护频率: 12小时/次 proxyip.sg.fxxk.dedyn.io IP落地区域: 新加坡 维护频率: 12小时/次 proxyip.jp.fxxk.dedyn.io IP落地区域: 日本 维护频率: 12小时/次 proxyip.hk.fxxk.dedyn.io IP落地区域: 香港 维护频率: 12小时/次 proxyip.aliyun.fxxk.dedyn.io IP落地区域: 阿里云 维护频率: 4小时/次 proxyip.oracle.fxxk.dedyn.io IP落地区域: 甲骨文 维护频率: 4小时/次 proxyip.digitalocean.fxxk.dedyn.io IP落地区域: 数码海 维护频率: 4小时/次白嫖哥维护workers.cloudflare.cyouMingyu 维护my-telegram-is-herocore.onecf.eu.org sg.ipdb.rr.nu nl.ipdb.rr.nu hk.ipdb.rr.nu jp.ipdb.rr.nu us.ipdb.rr.nu小一维护hk.cf.zhetengsha.eu.org sg.cf.zhetengsha.eu.org us.cf.zhetengsha.eu.org jp.cf.zhetengsha.eu.org代码修改完毕以后，点击右边的部署 – 保存并部署，然后点击左边的箭头，返回！ 4、访问创建的vlessjd，在网站后加上“/UUID” ，即可看到节点信息，当然，里面包含了 订阅链接！ 至此，节点部署完毕，复制 VLESS 的订阅链接，粘贴到 V2rayN 里面。其它使用和优选等自己找教程

部署MJJ自己的信息聚合站 —— rss-reader改版搭建～（内含详细步骤）
type: item
date: 2024-06-10T09:49:00+03:00
description: 部署MJJ自己的信息聚合站 —— rss-reader改版搭建～（内含详细步骤）本文摘自： topang 原项目 rss-reader 在原项目（旧版）基础上改动：自定义标题和描述列表高度一点样式预览 一、搭建准备：小鸡一键安装好dockercurl -fsSL https://get.docker.com | sh && ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/local/bin二、开始：1、创建文件夹，如“rrx”mkdir rrx2、进入文件夹cd rrx/3、创建文件：config.json（“listHeight”控制列表高度，源多可以试试300）{ "values": [ "https://rss.nodeseek.com/", "https://hostloc.com/forum.php?mod=rss&fid=45&auth=389ec3vtQanmEuRoghE%2FpZPWnYCPmvwWgSa7RsfjbQ%2BJpA%2F6y6eHAx%2FKqtmPOg", "https://linux.do/latest.rss", "https://www.v2ex.com/feed/vps.xml", "https://rss.agag.us.kg/telegram/channel/@vps_track_share", "https://rss.agag.us.kg/telegram/channel/wawowiki", "https://rss.agag.us.kg/telegram/channel/XiangxiuNB", "https://plink.anyfeeder.com/jingjiribao", "https://plink.anyfeeder.com/guangmingribao", "https://plink.anyfeeder.com/people-daily", "https://plink.anyfeeder.com/newscn/whxw", "https://plink.anyfeeder.com/36kr" ], "refresh": 6, "autoUpdatePush": 7, "nightStartTime": "06:30:00", "nightEndTime": "19:30:00" }4、创建文件：docker-compose.yml【现已修改的源有：原版srcrs和其它修改源topang、huhengbo1992等，各有特点】a、srcrs原版源version: "3" services: server: image: srcrs/rss-reader:latest container_name: rss-reader restart: always ports: - "8880:8080" volumes: - "$PWD/config.json:/app/config.json"b、topang修改源version: "3" services: server: image: topang/rss-reader-mix:latest container_name: rss-reader-mix restart: always ports: - "8880:8080" volumes: - "$PWD/config.json:/app/config.json"c、huhengbo1992修改源version: "3" services: server: image: huhengbo1992/rss-reader:latest container_name: rss-reader restart: always ports: - "8880:8080" volumes: - "$PWD/config.json:/app/config.json"5、启动！docker-compose up -d访问8880端口（ip:8880）6、添加反代（Nginx配置文件添加在server{...}里面） location ^~ /{ proxy_pass http://127.0.0.1:8880; 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 REMOTE-HOST $remote_addr; proxy_set_header Upgrade $http…