Cloudflare 是一家总部位于美国的科技公司,成立于2009年,简称‘大善人’。专注于提供内容交付网络(CDN)、互联网安全服务和分布式域名服务器服务。Cloudflare 旨在增强个人、企业网站的性能和安全性,通过其服务帮助网站抵抗网络攻击,同时加快页面加载速度。
①注册Cloudflare
注册地址:https://dash.cloudflare.com/sign-up
②免信用卡为cloudflare添加付款方式
原文地址:https://linux.do/t/topic/48306
③R2免费图床+Picgo+Typora
1.1 R2介绍
Cloudflare R2 存储允许开发人员存储大量非结构化数据,而无需支付与典型的云存储服务相关的昂贵的出站带宽费用。对比于阿里云的OSS存储。
1.2 创建R2存储桶
1.3 设置R2
创建之后点击Settings:
添加自定义域名以及开放Public URL Access
设置成功之后则是这样:
1.4 设置PicGo
请开始你的R2之旅。
1.5 Typora设置
④Cloudflare域名邮箱
Cloudflare 推出了电子邮件转发,这是创建任意数量电子邮件地址的最直接方式,以便将邮件转发到您自己、家人或团队已在使用的邮箱。
⑤Cloudflare项目部署
1.1 图床项目
Telegraph-Image:免费图片托管解决方案,Flickr/imgur 替代品。使用 Cloudflare Pages 和 Telegraph。
项目地址:https://github.com/cf-pages/Telegraph-Image
原理:
Cloudflare KV 每天只有 1000 次的免费写入额度,每有一张新的图片加载都会占用该写入额度,如果超过该额度,图片管理后台将无法记录新加载的图片。
每天最多 100,000 次免费读取操作,图片每加载一次都会占用该额度(在没有缓存的情况下,如果你的域名在 Cloudflare 开启了缓存,当缓存未命中时才会占用该额度),超过黑白名单等功能可能会失效
每天最多 1,000 次免费删除操作,每有一条图片记录都会占用该额度,超过将无法删除图片记录
每天最多 1,000 次免费列出操作,每打开或刷新一次后台/admin 都会占用该额度,超过将进行后台图片管理
绝大多数情况下,该免费额度都基本够用,并且可以稍微超出一点,不是已超出就立马停用,且每项额度单独计算,某项操作超出免费额度后只会停用该项操作,不影响其他的功能,即即便我的免费写入额度用完了,我的读写功能不受影响,图片能够正常加载,只是不能在图片管理后台看到新的图片了。
部署过程:在项目之下有明确的项目部署教程,请认真观看。
部署成功样例:
前端样式:
后台样式:
1.2 电报私聊机器人
原文地址:https://www.nodeseek.com/post-29975-1
原文地址:https://www.nodeseek.com/post-31988-1
原文地址:https://www.nodeseek.com/post-122678-1
1.从@BotFather创建Tg-bot并获取token
BotFather链接:https://t.me/BotFather
2.从uuidgenerator获取一个随机uuid作为secret
3.从@username_to_id_bot获取你的用户id
4.登录cloudflare,创建一个worker
直接傻瓜式一键点击部署:
增加一个ENV_BOT_TOKEN变量,数值为从步骤1中获得的token
增加一个ENV_BOT_SECRET变量,数值为从步骤2中获得的secret
增加一个ENV_ADMIN_UID变量,数值为从步骤3中获得的用户id
KV名称设置为nfd
回到workers页面,选择你刚创建的workers,点击快速编辑:
进入https://github.com/small-haozi/worker-SXbot.js/blob/main/worker.js,点击复制并部署!
将这个网址复制到浏览器,在后面添加"/registerWebhook",然后回车
网页中会弹出OK。
查看bot机器人:
1.3 短链项目
一个使用 Cloudflare Pages 创建的 URL 缩短器。
项目地址:https://github.com/x-dr/short
搭建过程:
首先Fork项目:
Cloudflare连接github:
创建D1数据库:
DROP TABLE IF EXISTS links;
CREATE TABLE IF NOT EXISTS links (
`id` integer PRIMARY KEY NOT NULL,
`url` text,
`slug` text,
`ua` text,
`ip` text,
`status` int,
`create_time` DATE
);
DROP TABLE IF EXISTS logs;
CREATE TABLE IF NOT EXISTS logs (
`id` integer PRIMARY KEY NOT NULL,
`url` text ,
`slug` text,
`referer` text,
`ua` text ,
`ip` text ,
`create_time` DATE
);
评论