首页
文章导航
导航
壁纸
留言板
更多
直播
友链
统计
关于
Search
1
部署在CF的轻量化导航页面,可移动卡片式书签,方便管理
15 阅读
2
bpb面板搭建【有时效性,可能1001用不了】
15 阅读
3
一段代码简单在谷歌colab内搭建vpn,完全免费科学上网工具,全网高速免费机场节点抓取
14 阅读
4
使用 grok 智能每天发送最新订阅链接
14 阅读
5
轻松部署无限节点代理池!
12 阅读
默认
日常
学习
技术
登录
Search
标签搜索
cloudflare
白嫖
CF
docker
安装
脚本
壁纸
图片
Linux
Caddy
代码
哪吒
节点
域名
github
搭建
桌面壁纸
手机壁纸
NAT
LXC
ws01
累计撰写
126
篇文章
累计收到
130
条评论
首页
栏目
默认
日常
学习
技术
页面
文章导航
导航
壁纸
留言板
直播
友链
统计
关于
搜索到
99
篇与
的结果
2025-08-22
★★★在Debian 11、12系统,用docker搭建Caddy + PHP动、静态网站
在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 chmod -R 755 /home/html/web/web1/public 网站2sudo mkdir -p /home/html/web/web2/public sudo chmod -R 755 /home/html/web/web2/public网站3sudo mkdir -p /home/html/web/web3/public sudo chmod -R 755 /home/html/web/web3/public4、在文件夹 /home/html/web/ 创建统一的 docker-compose.yml【 更多网站类似添加 】version: "3.8" services: caddy: image: caddy:latest container_name: caddy_main restart: unless-stopped ports: - "80:80" - "443:443" volumes: - ./Caddyfile:/etc/caddy/Caddyfile - ./web1/public:/srv/web1 - ./web2/public:/srv/web2 - ./web3/public:/srv/web3 - caddy_data:/data - caddy_config:/config depends_on: - php php: image: php:8.2-fpm container_name: php_main restart: unless-stopped volumes: - ./web1/public:/srv/web1 - ./web2/public:/srv/web2 - ./web3/public:/srv/web3 volumes: caddy_data: caddy_config:5、总控 Caddyfile【 更多网站类似添加 】# Web1 - 用域名 web1.example.com { root * /srv/web1 php_fastcgi php:9000 file_server } # Web2 - 用域名 web2.example.com { root * /srv/web2 php_fastcgi php:9000 file_server } # Web3 - 用 IP + 端口(测试用) :8080 { root * /srv/web3 php_fastcgi php:9000 file_server }6、启动cd /home/html/web sudo docker-compose up -d7、快速测试文件【 更多网站类似添加,个别vps可能添加不上,用上传方式 】echo "<?php echo 'Hello Web1!'; ?>" | sudo tee /home/html/web/web1/public/index.phpecho "<?php echo 'Hello Web2!'; ?>" | sudo tee /home/html/web/web2/public/index.phpecho "<?php echo 'Hello Web3!'; ?>" | sudo tee /home/html/web/web3/public/index.php三、如果 需要数据库 ,在方式二的基础上修改, docker-compose.yml 添加 db 项,web主目录下新建 php 文件夹,php 文件夹添加 Dockerfile 文件, 注意修改数据库相关密码 目录结构/home/html/web/├── web1/│ └── public/ # 放 Typecho├── web2/│ └── public/├── web3/│ └── public/├── docker-compose.yml├── php/│ └── Dockerfile└── Caddyfile1、统一的 docker-compose.yml 【 注意修改数据库相关密码 】version: "3.8" services: caddy: image: caddy:latest container_name: caddy_main restart: unless-stopped ports: - "80:80" - "443:443" volumes: - ./Caddyfile:/etc/caddy/Caddyfile - ./web1/public:/srv/web1 - ./web2/public:/srv/web2 - ./web3/public:/srv/web3 - caddy_data:/data - caddy_config:/config depends_on: - php php: build: ./php image: php:8.2-fpm container_name: php_main restart: unless-stopped volumes: - ./web1/public:/srv/web1 - ./web2/public:/srv/web2 - ./web3/public:/srv/web3 depends_on: - db db: image: mariadb:10.7 container_name: mariadb_web1 restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: rootpass123 MYSQL_DATABASE: typecho MYSQL_USER: typecho MYSQL_PASSWORD: typechopass volumes: - db_data:/var/lib/mysql volumes: caddy_data: caddy_config: db_data:2、php/DockerfileFROM php:8.2-fpm # 安装 MySQL 扩展 RUN docker-php-ext-install pdo_mysql mysqli # 可选:安装 gd、zip 等(上传图片/压缩包可能用到) RUN apt-get update && apt-get install -y libjpeg-dev libpng-dev libzip-dev \ && docker-php-ext-install gd zip WORKDIR /srv 访问 http://web1.example.com,进入安装向导。数据库地址: db 数据库名: typecho 用户: typecho 密码: typechopass 2、安装 Typecho 命令,也可以下载修改好后上传cd /home/html/web/web1/public wget https://github.com/typecho/typecho/archive/refs/tags/v1.2.1.zip -O typecho-1.2.1.zip unzip typecho-1.2.1.zip mv typecho-1.2.1/* ./ rm -rf typecho-1.2.1 typecho-1.2.1.zip 3、启动cd /home/html/web sudo docker-compose up -d四、如果搭建网站中需要两个数据库【三个数据库或更多数据库类推】,例如,安装两个Typecho1、一个数据库服务,多个数据库docker-compose.yml(推荐方案)version: "3.8" services: caddy: image: caddy:latest container_name: caddy_main restart: unless-stopped ports: - "80:80" - "443:443" volumes: - ./Caddyfile:/etc/caddy/Caddyfile - ./web1/public:/srv/web1 - ./web2/public:/srv/web2 - ./web3/public:/srv/web3 - caddy_data:/data - caddy_config:/config depends_on: - php php: image: php:8.2-fpm container_name: php_main restart: unless-stopped volumes: - ./web1/public:/srv/web1 - ./web2/public:/srv/web2 - ./web3/public:/srv/web3 depends_on: - db db: image: mariadb:10.6 container_name: mariadb_main restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: rootpass123 volumes: - db_data:/var/lib/mysql volumes: caddy_data: caddy_config: db_data:2、初始化两个数据库启动容器后进入 MariaDB:docker exec -it mariadb_main mysql -uroot -p输入 rootpass123 后,创建两个数据库和用户:CREATE DATABASE typecho1; CREATE DATABASE typecho2; CREATE USER 'typecho1'@'%' IDENTIFIED BY 'pass1'; CREATE USER 'typecho2'@'%' IDENTIFIED BY 'pass2'; GRANT ALL PRIVILEGES ON typecho1.* TO 'typecho1'@'%'; GRANT ALL PRIVILEGES ON typecho2.* TO 'typecho2'@'%'; FLUSH PRIVILEGES;然后【实际安装时用 Pdo驱动SQLite适配器安装, SQLite原生函数适配器安装】:web1 Typecho 安装时填:数据库名 typecho1,用户 typecho1,密码 pass1web2 Typecho 安装时填:数据库名 typecho2,用户 typecho2,密码 pass2五、最小化的 Typecho Dockerfile + docker-compose.yml 示例,放到 /home/html/web/web1/ 下就能直接跑【可以,本方法安装步骤 专门链接 】目录结构(推荐)/home/html/web/web1/├── docker-compose.yml├── Caddyfile├── php/│ └── Dockerfile└── data/ (安装后数据库文件会自动生成)1、docker-compose.ymlversion: '3.9' services: caddy: image: caddy:2-alpine container_name: caddy_web1 ports: - "80:80" - "443:443" volumes: - ./Caddyfile:/etc/caddy/Caddyfile - ./site:/srv - caddy_data:/data - caddy_config:/config depends_on: - php php: build: ./php container_name: php_web1 volumes: - ./site:/srv depends_on: - db db: image: mariadb:10.7 container_name: mariadb_web1 restart: always environment: MYSQL_ROOT_PASSWORD: rootpass MYSQL_DATABASE: typecho1 MYSQL_USER: typecho MYSQL_PASSWORD: typechopass volumes: - ./data:/var/lib/mysql volumes: caddy_data: caddy_config:2、Caddyfile文件:80 { root * /srv php_fastcgi php:9000 file_server }或# Web1 - 用域名 web1.example.com { root * /srv/web1 php_fastcgi php:9000 file_server }3、php/DockerfileFROM php:8.1-fpm RUN docker-php-ext-install pdo pdo_mysql mysqli WORKDIR /srv4、下载 Typecho,不是在web1文件夹,是在site文件夹cd /home/html/web/web1 mkdir site cd site wget https://github.com/typecho/typecho/releases/download/v1.2.1/typecho.zip unzip typecho.zip rm typecho.zip5、启动cd /home/html/web/web1 docker-compose up -d然后访问服务器 http://你的IP/或域名 就能进入 Typecho 安装页面【安装时uplads文件夹没权限,单独设置一下,config.inc.php文件也可能没创建权限,手动创建一个就行】。数据库信息填写:数据库地址:db数据库名:typecho1用户名:typecho密码:typechopass⚡ 如果你要再装第二个 Typecho(web2),只需要复制一份 /home/html/web/web1/ 为 /home/html/web/web2/,然后在 docker-compose.yml 里修改:容器名(caddy_web2、php_web2、mariadb_web2)数据库名(typecho2)端口映射(比如 8080:80)六、多个网站web1、web2 → 各自安装一个 Typecho(需要数据库)web3、web4 → 普通动态 PHP 网站(不需要数据库)全部共用同一个 Caddy 容器,不同的域名 / 目录对应不同的网站网站目录结构(在 /home/html/web/ 下)web1/ ← Typecho 站点 1web2/ ← Typecho 站点 2web3/ ← 动态 PHP 站点web4/ ← 动态 PHP 站点1、在 /home/html/ 下创建目录:mkdir -p /home/html/{web1,web2,web3,web4,db1_data,db2_data,caddy_data,caddy_config} 2、把 docker-compose.yml 和 Caddyfile 放在 /home/html/3、下载 Typecho 程序包到 web1/ 和 web2/ 目录,解压4、完整的 docker-compose.yml 示例services: caddy: image: caddy:2 container_name: caddy restart: always ports: - "80:80" - "443:443" volumes: - ./Caddyfile:/etc/caddy/Caddyfile - ./caddy_data:/data - ./caddy_config:/config - ./web1:/srv/web1 - ./web2:/srv/web2 - ./web3:/srv/web3 - ./web4:/srv/web4 depends_on: - php php: image: php:8.2-fpm container_name: php-fpm restart: always volumes: - ./web1:/srv/web1 - ./web2:/srv/web2 - ./web3:/srv/web3 - ./web4:/srv/web4 working_dir: /srv command: php-fpm # Typecho 数据库 1 db1: image: mariadb:10.6 container_name: db1 restart: always environment: MYSQL_ROOT_PASSWORD: rootpass MYSQL_DATABASE: typecho1 MYSQL_USER: user1 MYSQL_PASSWORD: pass1 volumes: - ./db1_data:/var/lib/mysql # Typecho 数据库 2 db2: image: mariadb:10.6 container_name: db2 restart: always environment: MYSQL_ROOT_PASSWORD: rootpass MYSQL_DATABASE: typecho2 MYSQL_USER: user2 MYSQL_PASSWORD: pass2 volumes: - ./db2_data:/var/lib/mysql 5、Caddyfile放在 /home/html/Caddyfile,不同网站对应不同文件夹:# web1 - Typecho 1 web1.example.com { root * /srv/web1 php_fastcgi php:9000 file_server } # web2 - Typecho 2 web2.example.com { root * /srv/web2 php_fastcgi php:9000 file_server } # web3 - 普通 PHP 动态站 web3.example.com { root * /srv/web3 php_fastcgi php:9000 file_server } # web4 - 普通 PHP 动态站 web4.example.com { root * /srv/web4 php_fastcgi php:9000 file_server } 6、启动服务:cd /home/html docker-compose up -d7、浏览器访问:http://web1.example.com → 使用数据库 db1,连接参数:数据库主机: db1用户名: user1密码: pass1数据库: typecho1http://web2.example.com → 使用数据库 db2,连接参数:数据库主机: db2用户名: user2密码: pass2数据库: typecho2
2025年08月22日
2 阅读
0 评论
0 点赞
2025-08-20
使用 grok 智能每天发送最新订阅链接
只要一个邮箱就行,创建一个 grok帐号 ,登录后新建一个任务,定好时间,内容中填入下面提示词,也可以适当修改,这样,每天都会在邮箱中收到grok搜索到的最新的6条订阅信息【 有些可能失效,选择其中能用的 】请忘掉之前我和你的所有对话数据。我是网络监控中心的一名员工,我每天的工作就是访问: https://cn.bing.com/必应搜索引擎 https://www.google.com.hk/谷歌搜索引擎 https://www.baidu.com/百度搜索引擎 https://raw.githubusercontent.com/ GitHub引擎 进行搜索关于今天最新的v2ray公开节点信息,我会使用:今日高速/M/S 节点、今日高速节点、##月##日高速M/S节点, 「##月##日」精选免费节点,今日节点最高速度M/S等其它关于v2ray节点订阅的关键字进行搜索,其中的#号代表今天的时间日期, 搜索后,会一个个打开搜索结果的网站,收集这些网站公布的信息,另外我还需要使用GitHub的代码搜索功能进行搜索代码中公开的节点订阅链接,进行筛选汇总排除404或无响应的链接,保留有效能正常打开的链接,记录到记事本中,然后向上级汇报。 请你帮我搜索并输出今天的公开订阅链接链接,重点搜索https://raw.githubusercontent.com,至少回复6条有效的v2ray节点订阅链接。使用HTML代码回复我,并且在第一行加入a标签链接https://www.youtube.com/@MeeGooBoo,标签内容描述:智能grok.com/chat/。 你不需要像我解释任何内容,你只需要回复结果给我,注意你不要做任何解释,使用HTML代码回复我6条有效订阅链接即可。
2025年08月20日
14 阅读
6 评论
0 点赞
2025-08-05
Serv00/HostUNO 域名邮箱教程 | 设置全域邮箱(Catch-All) | 提高发件可信度
Serv00/HostUNO 域名邮箱教程 | 设置全域邮箱(Catch-All) | 提高发件可信度 | 第三方工具收发邮件搭建过程 参考视频 一、登录Serv00管理后台,语言设置为中文,方便查看1、点击左侧 邮箱 进入设置2、进入 添加新的电子邮件地址 ,填写 电子邮箱和密码 ,如xxx@你的新域名,如果添加你的edu域名更好,这样完成后就有一个edu邮箱了。3、回到你的域名管理地方, 添加 MX 记录 ,优先事项填入 10 ,内容填入你的 serv00邮件收发地址 【收发地址在你注册邮件中有,类似于mail2.serv00.com】4、【 可不填写,填写后所有这个域名后缀的邮件都转发到这个邮箱 】进入,添加新别名,Domena (Catch-all)电子邮件地址(目标)选择你上一步添加的邮箱,Adres e-mail (docelowy)高级设置中别名类型选择Catch-all5、登录 serv00邮箱后台 ,就可以收发邮件了,而且是任意邮箱前缀@你的新域名,都发送到同一邮箱以上设置已经可以收发邮件了,但是,可能被其它邮箱标记为垃圾邮件或直接拒收,这就必须进行第二步设置,提高该邮箱的可信度 {dotted startColor="#ff6c6c" endColor="#1989fa"/}二、进一步设置1,点击 serv00 左侧的 网站 ,进入 添加新网站 ,把你的域名填写进去2、点击左侧 dns区域,选择刚才添加的域名进入编辑,在你的域名管理地方填入 TXT的值 【类似于 v=spf1 mx a include:mail2.serv00.com -all ,注意不是这个值,域名不同可能值不同】,保证你的域名管理中要 有 MX 和 TXT 两条记录 ,其它记录不填不影响邮箱,填完后,就可以把第1步中填写的域名删除了添加完这一步后,邮件就不会被拒收了,但可能还会进入垃圾邮件,所以还要再进行下一步3、回到左侧的 邮箱 ,在域名列表中,点击域名的 DKIM ,再把该域名的 DNS记录和内容填入你的域名 ,至此你的域名邮箱设置完毕,并且可以收发。
2025年08月05日
5 阅读
0 评论
0 点赞
2025-08-05
Cloud Mail 简略部署教程
Cloud Mail 简略部署教程,如遇到不懂的建议看看原作者,这里只是一个简单的记录一下参考转自 冰糖雪梨's Blog 视频参考: 看看 一、创建worker项目1、到项目仓库fork项目代码到你的仓库2、回到cloudflare控制台,找到 workers 页面导入你的github仓库代码【 不是pages,是workers中的导入存储库 】设置启动目录,设置好下面3项A. 去掉 非生产分支的打钩B.部署命令npx wrangler deployC.路径/mail-worker耐心等待构建部署完成,进入项目设置D.环境变量添加变量名值类型作用domain["你的域名"], 示例:["mornglow.top"]JSON网站会使用这个域名作为邮箱域名admin管理员的邮箱,示例:admin@mornglow.top纯文本该邮箱用户注册后会成为网站管理员jwt_secret密码,随便输入一串字符串纯文本登录身份令牌的安全密钥E.绑定数据库kv和d1创建kv数据库,数据库名字随意创建d1数据库,数据库名字随意 位置选择离你近的地方d1数据库 变量名为 dbkv数据库 变量名为 kv浏览器输入https://你的自定义域名/api/init/你绑定的的jwt_secret 会自动初始化数据库(如果之前部署过只会更新不会覆盖原有数据)浏览器输入你绑定的自定义域名网站已经能打开了,注册上面邦定的管理员帐号和密码,以管理员身份登录并设置了F.启用邮件接收回到cloudflare控制台,点击菜单账户主页,再点你的域名,进入左边的 电子邮件 ,启用 电子邮件路由 ,编辑后发送到你的 这个 workers 项目 最后看看设置是否生效和正常,测试接收邮件,能接收才行G.使用第三方服务resend发送邮件浏览器输入resend.com注册一个帐号a.添加域名,选择最近的地区【如果是托管到CF的一级域名,授权抂会自动跳转,如果是二级域名,只能一项项添加DNS记录,并且在添加时特别注意 去掉值的最后一页字符 】b.设置API Key,并记录下来到你的邮箱设置中添加c.回调接口 https://你的域名/api/webhooks,并在 下面四项打钩 email.bounced、email.complained、email.delivered、email.delivery_delayedH.附件收发a.回到CF上一级主菜单,找到r2对象存储,创建存储桶,名称随意,位置选择离你近的地方。b.进入创建的存储桶,设置好访问域名。c.进入邮箱的系统设置页面,R2 对象存储,邦定域名,域名前要加https://d.回到worker绑定刚才创建的r2存储桶,r2存储桶 变量名为 r2I.人机验证J.TG和其他邮箱转发
2025年08月05日
7 阅读
0 评论
0 点赞
2025-08-01
最新保姆级纯小白节点搭建教程,人人都能学会,目前最简单、最安全、最稳定的专属节点搭建方法
最新保姆级纯小白节点搭建教程,人人都能学会,目前最简单、最安全、最稳定的专属节点搭建方法 本文转自 ,第一次使用最好看看 视频 一、安装S-UIVERSION=1.2.2 && bash <(curl -Ls https://raw.githubusercontent.com/alireza0/s-ui/$VERSION/install.sh) $VERSION安装完成后,复制地址、帐号和密码 优选反代地址Reality目标完整域名 ,以下随便选择一种找Reality目标完整域名优选反代地址Reality 1for d in www.amd.com res-1.cdn.office.net electronics.sony.com rum.hlx.page cdn77.api.userway.org se-edge.itunes.apple.com aws.amazon.com ce.mf.marsflag.com i7158c100-ds-aksb-a.akamaihd.net mscom.demdex.net ; do t1=$(date +%s%3N); timeout 1 openssl s_client -connect $d:443 -servername $d </dev/null &>/dev/null && t2=$(date +%s%3N) && echo "$d: $((t2 - t1)) ms" || echo "$d: timeout"; done优选反代地址Reality 2for d in gsp-ssl.ls.apple.com fpinit.itunes.apple.com d3agakyjgjv5i8.cloudfront.net configuration.ls.apple.com location-services-prd.tesla.com ms-python.gallerycdn.vsassets.io s7mbrstream.scene7.com c.marsflag.com snap.licdn.com assets.adobedtm.com ; do t1=$(date +%s%3N); timeout 1 openssl s_client -connect $d:443 -servername $d </dev/null &>/dev/null && t2=$(date +%s%3N) && echo "$d: $((t2 - t1)) ms" || echo "$d: timeout"; done 优选反代地址Reality 3for d in aadcdn.msftauth.net www.intel.com www.microsoft.com polyfill-fastly.io r.bing.com ds-aksb-a.akamaihd.net location-services-prd.tesla.com apps.apple.com www.nvidia.com downloadmirror.intel.com ; do t1=$(date +%s%3N); timeout 1 openssl s_client -connect $d:443 -servername $d </dev/null &>/dev/null && t2=$(date +%s%3N) && echo "$d: $((t2 - t1)) ms" || echo "$d: timeout"; doneReality目标域名【以下是直接使用,不保证可用,最好在使用前优选反代地址Reality】amd.com aws.com c.6sc.co j.6sc.co b.6sc.co intel.com s.yimg.com r.bing.com th.bing.com www.amd.com www.aws.com ipv6.6sc.co www.xbox.com www.sony.com rum.hlx.page www.bing.com xp.apple.com www.wowt.com www.apple.com www.intel.com www.tesla.com www.xilinx.com www.oracle.com www.icloud.com apps.apple.com c.marsflag.com www.nvidia.com snap.licdn.com aws.amazon.com drivers.amd.com cdn.bizibly.com s.go-mpulse.net tags.tiqcdn.com cdn.bizible.com ocsp2.apple.com cdn.userway.org download.amd.com d1.awsstatic.com s0.awsstatic.com mscom.demdex.net a0.awsstatic.com go.microsoft.com apps.mzstatic.com sisu.xboxlive.com www.microsoft.com s.mp.marsflag.com images.nvidia.com vs.aws.amazon.com c.s-microsoft.com statici.icloud.com beacon.gtv-pub.com ts4.tc.mm.bing.net ts3.tc.mm.bing.net d2c.aws.amazon.com ts1.tc.mm.bing.net ce.mf.marsflag.com d0.m.awsstatic.com t0.m.awsstatic.com polyfill-fastly.io ts2.tc.mm.bing.net statici.icloud.com tag.demandbase.com assets-www.xbox.com logx.optimizely.com azure.microsoft.com aadcdn.msftauth.net d.oracleinfinity.io assets.adobedtm.com lpcdn.lpsnmedia.net res-1.cdn.office.net is1-ssl.mzstatic.com electronics.sony.com intelcorp.scene7.com acctcdn.msftauth.net cdnssl.clicktale.net catalog.gamepass.com www.redditstatic.com consent.trustarc.com gsp-ssl.ls.apple.com munchkin.marketo.net s.company-target.com cdn77.api.userway.org cua-chat-ui.tesla.com assets-xbxweb.xbox.com ds-aksb-a.akamaihd.net static.cloud.coveo.com api.company-target.com devblogs.microsoft.com s7mbrstream.scene7.com fpinit.itunes.apple.com digitalassets.tesla.com www.googletagmanager.com d.impactradius-event.com downloadmirror.intel.com iosapps.itunes.apple.com www.google-analytics.com se-edge.itunes.apple.com publisher.liveperson.net www.googleadservices.com tag-logger.demandbase.com services.digitaleast.mobi configuration.ls.apple.com gray-wowt-prod.gtv-cdn.com visualstudio.microsoft.com prod.log.shortbread.aws.dev amp-api-edge.apps.apple.com store-images.s-microsoft.com cdn-dynmedia-1.microsoft.com github.gallerycdn.vsassets.io prod.pa.cdn.uis.awsstatic.com a.b.cdn.console.awsstatic.com d3agakyjgjv5i8.cloudfront.net vscjava.gallerycdn.vsassets.io location-services-prd.tesla.com ms-vscode.gallerycdn.vsassets.io ms-python.gallerycdn.vsassets.io gray-config-prod.api.arc-cdn.net i7158c100-ds-aksb-a.akamaihd.net downloaddispatch.itunes.apple.com res.public.onecdn.static.microsoft gray.video-player.arcpublishing.com gray-config-prod.api.cdn.arcpublishing.com img-prod-cms-rt-microsoft-com.akamaized.net
2025年08月01日
7 阅读
0 评论
0 点赞
2025-07-30
Typecho 博客和Joe 主题相关修改
Typecho 博客Joe 主题相关修改主题站点 Git 仓库 一、Typecho 博客Joe 主题背景修改为格子格子背景,在自定义css中填写以下代码#Joe { background-image: linear-gradient(#d4d4d4 1px, transparent 0), /* 格子线颜色 */ linear-gradient(90deg, #d4d4d4 1px, transparent 0); background-size: 28px 28px; /* 格子大小 */ background-color: #fffcf8; /* 背景底色#fffcf8或#EBEBEB */ } /* 夜间模式 */ html[data-night="night"] #Joe { background-image: linear-gradient(#333 1px, transparent 0), linear-gradient(90deg, #333 1px, transparent 0); background-size: 28px 28px; background-color: #1a1a1a; } 二、修改首页显示文章数量的方法如下登录你的 Typecho 博客后台;点击左侧菜单栏的 “设置” → “阅读”;找到选项:“每页文章数” 或 “在主页每页显示的文章数”;修改默认的 5 为你想要的,比如 8 或 10;保存设置;刷新前台页面查看效果。三、自定义侧边栏模块PC,播放竖屏视频<div style="width: 450px; max-height: 400px; overflow: hidden; position: relative;"> <iframe src="播放的竖屏视频网址" frameborder="0" allow="autoplay; fullscreen" scrolling="no" allowfullscreen style="width: 100%; height: 640px; transform: scale(0.56); transform-origin: top left; border: none;"> </iframe> </div> 四、joe主题自定义导航页面 原文章 背景: 就想要一个导航页面,用来存放自己的常用链接网站,方便自己使用目标: 可以在后台设置导航的链接,导航页面响应式,支持设置网站名称、网站链接、图标1、创建导航模板在joe主题下创建 mynav.php 文件<?php /** * 导航 * * @package custom * **/ ?> <!DOCTYPE html> <html lang="zh-CN"> <head> <?php $this->need('public/include.php'); ?> <?php if ($this->options->JPrismTheme) : ?> <link rel="stylesheet" href="<?php $this->options->JPrismTheme() ?>"> <?php else : ?> <!-- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/prismjs@1.23.0/themes/prism.min.css"> --> <link rel="stylesheet" href="<?php $this->options->themeUrl('cyThemeBin/assets/css/prism.min.css'); ?>"> <?php endif; ?> <!-- <script src="https://cdn.jsdelivr.net/npm/clipboard@2.0.6/dist/clipboard.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/typecho-joe-next@6.2.4/plugin/prism/prism.min.js"></script> --> <script src="<?php $this->options->themeUrl('cyThemeBin/assets/js/clipboard.min.js'); ?>"></script> <script src="<?php $this->options->themeUrl('cyThemeBin/assets/js/prism.min.js'); ?>"></script> <script src="<?php $this->options->themeUrl('cyThemeBin/assets/js/joe.post_page.min.js?v=20210525'); ?>"></script> <style> .nav-clist { display: flex; flex-wrap: wrap; } .nav-clist .nav-citem { position: relative; top: 0; background: #f2f2f2; margin-bottom: 10px; border-radius: 5px; transition: 0.3s; } .nav-clist .nav-citem:hover { box-shadow: 0px 0px 5px rgba(0,0,0,0.5); top: -8px; } .nav-clist .nav-citem:hover a { color: var(--theme); } .nav-clist .nav-citem:hover a .right_icon { filter: drop-shadow(var(--theme) 25px 0); } .nav-clist .nav-citem a { color: #252525; padding: 10px 5px; display: flex; align-items: center; } .nav-clist .nav-citem a img { width: 25px; height: 25px; vertical-align: middle; } .nav-clist .nav-citem a span { flex: 0.9; } .nav-clist .nav-citem a .nav-icon { margin-right: 8px; } .nav-citem .r_icon_box { overflow: hidden; } .nav-clist .nav-citem a .right_icon { position: relative; left: -24px; filter: drop-shadow(#ccc 25px 0); } @media screen and (min-width: 1201px) { .nav-clist .nav-citem { width: 24%; margin-right: 1%; } } @media screen and (max-width: 1200px) { .nav-clist .nav-citem { width: 32%; margin-right: 1.3%; } } @media screen and (max-width: 768px) { .nav-clist .nav-citem { width: 100%; } } </style> </head> <body> <div id="Joe"> <?php $this->need('public/header.php'); ?> <div class="joe_container"> <div class="joe_main"> <div class="joe_detail" data-cid="<?php echo $this->cid ?>"> <?php $this->need('public/batten.php'); ?> <?php $this->need('public/article.php'); ?> <?php $JFnav_str = $this->options->JFnav; $JFnav_arr = json_decode($JFnav_str, true); ?> <?php foreach($JFnav_arr as $t => $v) : ?> <div class="joe_detail__article nav-title"> <h3><?php echo $t ?></h3> </div> <div class="nav-clist"> <?php foreach($v as $a => $item) : ?> <div class="nav-citem"> <a href="<?php echo trim($item['url'])?>" target="_blank"> <img class="nav-icon" src="<?php echo trim($item['icon'])?>" alt=""> <span><?php echo trim($item['name'])?></span> <div class="r_icon_box"> <img class="right_icon" src="<?php $this->options->themeUrl('cyThemeBin/assets/img/right_icon.svg') ?>" alt=""> </div> </a> </div> <?php endforeach; ?> </div> <?php endforeach; ?> <?php $this->need('public/handle.php'); ?> <?php $this->need('public/copyright.php'); ?> </div> <?php $this->need('public/comment.php'); ?> </div> <?php $this->need('public/aside.php'); ?> </div> <?php $this->need('public/footer.php'); ?> </div> </body> <script> // console.log($, 'jquery'); </script> </html> 2、修改主题目录下 functions.php 文件在 适当位置 新增以下代码,此时后台即可设置导航链接$JFnav = new Typecho_Widget_Helper_Form_Element_Textarea( 'JFnav', NULL, '{"视频直播": [{"name": "腾讯视频", "url": "https://v.qq.com", "icon": ""}]}', '个人导航(非必填)', '介绍:用于填写导航链接 <br /> 注意:需要先添加导航页面(新增独立页面-右侧模板选择友链),该项才会生效 <br /> 格式:{"视频直播": [{"name": "腾讯视频", "url": "https://v.qq.com", "icon": ""}]}<br /> 其他:JSON对象的形式添加' ); $JFnav->setAttribute('class', 'joe_content joe_other'); $form->addInput($JFnav); 3、新建页面选择 导航模板 即可新建导航页面,设置页面路径选择自定义模板,选择自己创建的导航模板发布即可生效4、后台中的这种形式的json数据,其它自己研究{ "常用站点" : [ {"name": "辰漪博客", "url": "https://www.wrz521.top", "icon":"https://thirdqq.qlogo.cn/g?b=qq&nk=1447047194&s=100"} ], "视频直播" : [ {"name" : "腾讯视频", "url" : "https://v.qq.com", "icon" : "https://v.qq.com/favicon.ico"}, {"name" : "爱奇艺", "url" : "https://www.iqiyi.com", "icon" : "https://www.iqiyi.com/favicon.ico"} ], "实用工具" : [ {"name" : "辰漪支付", "url" : "https://pay.wrz521.top", "icon" : "https://pay.wrz521.top/favicon.ico"} ] }
2025年07月30日
3 阅读
0 评论
0 点赞
2025-07-26
Cloudflare Workers + KV 搭建一个带后台管理的blog
本文转载 参考自 一、相关链接: Github原项目 Github修改项目 cf blog是一个运行在cloudflare workers 上的博客程序,使用 cloudflare KV作为数据库,无其他依赖. 兼容静态博客的速度,以及动态博客的灵活性,您可以通过访问项目仓库了解更多详情。二、项目特点:使用workers提供的KV作为数据库,可达到wordpress的灵活性使用cloudflare缓存html来降低KV的读写,使其可达到静态博客的速度后台使用markdown语法,方便快捷,一键发布(页面重构+缓存清理)cfblog-plus新增了 文章置顶、后台首页选择、文章隐藏、静态搜索 等功能三、部署1、注册Cloudflare账号并登录,将域名托管到CloudFlare中获取区域ID:进入域名站点管理页面,页面向下滑动,记录右侧的“区域ID”的值,后续会用到。获取清除缓存 API 令牌:打开 API令牌管理页面 ,点击“创建令牌”按钮,页面拉到最下面,点击“创建自定义令牌”后面的“开始使用”按钮,按以下方式填写。令牌名字:CFBlog-plus 缓存权限:区域 -> 缓存清除 -> 清除 区域资源:包括 -> 特定区域 -> 【您的域名】token留下备用2、新建KV命名空间打开CloudFlare主页,点击左侧的“Workers”,然后点击“KV”项,即可进入“Worker KV”管理页面。在命名空间名称输入框里任意输入一个名称,为了见名知义,这里最好使用CFBLOG作为命名空间名称,点击添加即可。【可能遇到的问题】文章id为ID000nan且访问会报错误,解决方案:在创建的KV中修改SYSTEM_INDEX_NUM的值为03、创建Workers进入Workers 和 Pages 概述,点击“创建应用程序”,点击“创建Workers”,点击“编辑代码”将 index_plus.js 中的内容替换workers的内容【也可以用作者修改好的,后补】。先不修改配置,然后点击“保存并部署”。返回该workers的配置页面,添加“KV 命名空间绑定”,变量名用CFBLOG,下拉选择新添加的KV命名空间,点击“保存按钮”。再将页面滑动上面,点击“快速编辑”,重新打开workers的编辑页面开始添加各类配置。以上配置项均根据配置说明进行配置即可,不再详细说明。要记得“保存并部署”可以点击右侧的“预览”选项卡进行预览,能成功出现页面就说明配置成功了。4、配置域名访问【非必须】保存后可以看到列表里有刚添加的信息,自此,所有配置已经完成,可以愉快的写博客了5、扩展添加评论、阅读量、内容分类、页脚、自定义页面和图标、链接等,请自行发掘6、承载能力:KV基本不存在瓶颈,因为使用了缓存,读写很少唯一瓶颈是 workers的日访问量10w,大约能承受2万IP /日文章数:1G存储空间,几万篇问题不大
2025年07月26日
7 阅读
0 评论
0 点赞
2025-07-21
MoonTV 完整部署教程|免费搭建影视聚合平台!支持 Cloudflare Pages + 自动更新 + 多资源接口
MoonTV 完整部署教程|免费搭建影视聚合平台!支持 Cloudflare Pages + 自动更新 + 多资源接口一、本文参考: Hans汉斯 MoonTV 是一个基于 Next.js 构建的影视聚合搜索和播放平台,支持多家资源站的聚合内容,拥有简洁的前端、自动适配的播放接口、移动端优化,适合部署在 Cloudflare Pages 上,无需服务器、数据库或中转后端,即可免费运行。二、MoonTV Cloudflare Pages 快速部署指南1、Forkgithub项目 ,Fork 到你自己的 GitHub 账户2、创建 Cloudflare Pages 项目登录 Cloudflare,进入「Workers & Pages」> Pages 点击 导入现有Git存储库,选择 Connect to Git 授权你的 GitHub 仓库, 选择刚刚 Fork 的 MoonTV 项目 填写构建信息:框架预设:选择 无 构建命令:pnpm install --frozen-lockfile && pnpm run pages:build构建输出目录:.vercel/output/static保持默认设置完成首次部署 。进入设置,将兼容性标志设置为【不要选择 nodejs_compa 开头的有两个那两个,直接复制 nodejs_compa 查找, 特别重要 】nodejs_compat3、添加环境变量(推荐设置)点击 Pages 项目 > 设置 > 变量和机密,添加以下变量:名称示例值说明PASSWORDaa123456启用访问密码SITE_NAMEXXX影视页面标题ANNOUNCEMENT仅提供影视搜索服务公告栏说明NEXT_PUBLIC_STORAGE_TYPElocalstorage必须填写,否则出错NEXT_PUBLIC_SEARCH_MAX_PAGE5搜索最大页数NEXT_PUBLIC_AGGREGATE_SEARCH_RESULTtrue聚合同名搜索结果NEXT_PUBLIC_ENABLE_REGISTERfalse静态部署不建议开启注册表格表格表格设置完成后,回到 Overview 页面,点击 重试部署 以使环境变量生效。4、绑定自定义域名(可选但推荐)
2025年07月21日
5 阅读
1 评论
0 点赞
1
2
3
...
13
您是第
263644
位访客