基于Cloudflare/CloudDNS/GitHub使用免费域名部署NewBing的AI服务

news2024/10/6 1:38:44

部署前准备:

Cloudflare 账号 https://dash.cloudflare.com/login

CloudDNS 账号 https://www.cloudns.net/

GitHub 账号 https://github.com/Harry-zklcdc/go-proxy-bingai

Cloudflare

部署 Worker

CloudDNS

获取免费二级域名

GitHub

New Bing Ai 项目

https://github.com/Harry-zklcdc/go-proxy-bingai

开始部署:

打开 github 项目:https://github.com/Harry-zklcdc/go-proxy-bingai

登录 github

往下拉,找到 Cloudflare Worker 部署

进入 workers 的流水线,按照提示步骤操作

第一步:【Authorize GitHub with Workers】

第二步:【Configure Cloudflare Account】

授权完成后,需要用到 Cloudflare 账号,可以选择或创建 Cloudflare 账号,因为之前已经准备好了 Cloudflare 账号, 选择【I have an account】进入设置 Account ID 和 API Token 页面

获取 Account ID 方式:

点击【Workers Dashboard】,在新窗口打开 Workers Dashboard,

点击【创建应用程序】》点击【部署】,

然后点击左侧的【Workers and pages】的概述,

在右侧找到 账号 ID( Account ID ),复制到流水线的 Account ID 栏。

获取  API Token 方式:

点击【My Profile】,在新窗口打开 Cloudflare 个人中心,API 令牌页面,点击【创建令牌】

找到“编辑 Cloudflare Workers”模板,点击后面的【使用模板】

上面的不动,帐户资源选择“所有账户”,区域资源选择“所有区域”,然后点击下方的【继续以显示摘要】,再点击【创建令牌】

然后,复制令牌到流水线的 API Token 栏。

接下来需要 Fork repository,即将 https://github.com/Harry-zklcdc/go-proxy-bingai 这个项目的代码拷贝到自己 github 账户下

点击【Fork】》点击【Create fork】

接下来继续按流水线操作

第三步:【Deploy with GitHub Actions】

开启 GitHub Actions 功能

点击“Repository – Actions”链接,打开了已经 Fork 到自己账户下的项目地址 如:https://github.com/star8521/go-proxy-bingai/actions

点击【I understand my workflows, go ahead and enable them】按钮,开启 GitHub Actions

开启后,再回到刚才的流水线页面:点击【Workflows enabled】

最后点击部署【Deploy】按钮

项目就开始部署了

再回到 Cloudflare 面板,可以看到【go-proxy-bingai】应用程序已经部署完成

至此,worker 也就部署完成了,不过还需要设置。

点击应用程序【go-proxy-bingai】,点击“设置”,添加环境变量。

设置》变量》添加变量

此处设置的目的是用来自动过 Bing 的人机验证机制,变量名称【BYPASS_SERVER】,值为【https://bypass.b1ng.chat】,这个人机验证服务是项目作者部署的。

设置完点击【部署】

点击【触发器】,可以看到已经自动分配了一个域名,但由于众所周知的原因,国内基本不容易访问,而且一般更喜欢用自己的域名,那么接下来 就是绑定到自己的域名。

点击上面的【添加自定义域】,输入自己的域名,就可以了。

免费二级域名申请

打开网站 https://www.cloudns.net/

有账号就直接输入邮箱和密码登录,没有就需要注册,注册也比较简单,只需要输入名称、邮箱、密码,然后点击注册,然后到注册的邮箱中 点击激活即可。

网站也支持中文,在语种处选择“简体中文”即可

进入控制面板后,点击【创建区域】,选择【免费区域】

be/ch 的域名可以托管到 Cloudflare,选这两种的域名

创建后,进入域名设置,把默认的域名解析删除

在 Cloudflare 添加站点

输入注册的域名 点击继续

选择 Free 免费计划,继续

更新域名服务器

系统会自动扫描 DNS 记录等一系列操作,然后打开 DNS 记录添加页面,

直接点击继续,系统会提示“没有 DNS 记录,Cloudflare 将无法激活您的站点。最好立即设置 DNS 记录。”,点击确认,查看如何更改您的名称服务器。

往下拉,找到更新名称服务器,复制您的已分配的 Cloudflare 名称服务器

到域名申请的网站页面

添加新纪录》

类型:NS

主机名为空

指向到:Cloudflare 分配的域名服务器

添加 2 条域名服务器

再回到 Cloudflare 域名配置页面,点击【继续】

点击开始使用

再回到 Cloudflare 面板首页,查看域名解析状态,显示对勾,显示有效,即完成域名配置。

接下来就是如何把域名绑定到 worker 上

在 Cloudflare 面板左侧栏上点击“Workers 和 Pages”,点击进入应用程序“go-proxy-bingai”

依次点击 设置》触发器》添加自定义域》输入域名》点击添加自定义域

建议域名用子域名,即在申请的域名前加前缀,比如:ai.xxx.cloudns.ch

因为有了子域名,还需要在域名申请站(CloudDNS)添加域名解析,即再添加 2 条 NS 解析记录

接下来,就是配置 https 证书了

再回到 Cloudflare 面板首页,点击域名,在左栏点击 SSL/TLS》边缘证书

点击三角形 展开,配置证书相关解析,每个都配置完成

添加新纪录》类型:txt

配置完成后,大概 1 小时左右就可以显示生效了

待生效后,就可以通过域名来访问了

AI 跑起来了,那么就开始来玩吧

先问个沙雕问题: π的小数点后 100 位

回答还是蛮快的

孙悟空和齐天大圣打架,帮谁

接下来 用 DALLE3 来玩一下 AI 绘画

不过需要先登录一下账号

通过账号密码登录的方式不管用,用一键登录,不过需要安装油猴和脚本插件

再点击【确定】

再来试试图像生成。

天青色等烟雨 而我在等你

哎哟,不错哦

来源:基于Cloudflare/CloudDNS/GitHub使用免费域名部署NewBing的AI服务-武穆逸仙

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1718647.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++ 快排算法

今天看到一种清爽的快速算法,复习一下~ 快速排序算法的平均时间复杂度是O(n log n),最坏情况下的时间复杂度是O(n^2)。 快速排序的最佳情况是每次分割都平均分配元素,这种情况下时间复杂度可降至O(n log n)。 快速排序的基本步骤如下&#…

qwen-moe

一、定义 qwen-moe 代码讲解, 代码qwen-moe与Mixtral-moe 一样, 专家模块qwen-moe 开源教程Mixture of Experts (MoE) 模型在Transformer结构中如何实现,Gate的实现一般采用什么函数? Sparse MoE的优势有哪些?MoE是如…

【智能算法】三角拓扑聚合优化算法(TTAO)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献5.代码获取 1.背景 2024年,S Zhao受到数学相似三角形拓扑结构启发,提出了三角拓扑聚合优化算法(Triangulation Topology Aggregation Optimizer, TTAO)。 2.算…

Unity中的MVC框架

基本概念 MVC全名是Model View Controller 是模型(model)-视图(view)-控制器(controller)的缩写 是一种软件设计规范,用一种业务逻辑、数据、界面显示 分离的方法组织代码 将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时&#x…

ch4网络层---计算机网络期末复习(持续更新中)

网络层概述 将分组从发送方主机传送到接收方主机 发送方将运输层数据段封装成分组 接收方将分组解封装后将数据段递交给运输层网络层协议存在于每台主机和路由器上 路由器检查所有经过它的IP分组的分组头 注意路由器只有3层(网络层、链路层、物理层) 网络层提供的服务 一…

无人售货机零售业务成功指南:从市场分析到创新策略

在科技驱动的零售新时代,无人售货机作为一种便捷购物解决方案,正逐步兴起,它不仅优化了消费者体验,还显著降低了人力成本,提升了运营效能。开展这项业务前,深入的市场剖析不可或缺,需聚焦消费者…

命令模式(行为型)

目录 一、前言 二、命令模式 三、总结 一、前言 命令模式(Command Pattern)是一种行为型设计模式,命令模式将一个请求封装为一个对象,从而可以用不同的请求对客户进行参数化;对请求排队或记录请求日志,以…

【C++】C++入门2.0

各位读者老爷好,本鼠最近浅学了一点C的入门知识!利用本博客作为笔记的同时也希望得到各位大佬的垂阅! 目录 1. 引用 1.1.引用的概念 1.2.引用的特性 1.3.引用的使用场景 1.4.引用的易错点 1.5.引用的优势 1.6.引用和指针 2.内联函数 …

B端UI设计,演绎高情逸态之妙

B端UI设计,演绎高情逸态之妙

汽车IVI中控开发入门及进阶(二十三):i.MX8

前言: IVI市场的复杂性急剧增加,而TimeToMarket在几代产品中从5年减少到2-3年。Tier1正在接近开放系统的模型(用户可以安装应用程序),从专有/关闭源代码到标准接口/开放源代码,从软件堆栈对系统体系结构/应用层/系统验证和鉴定的完全所有权,越来越依赖第三方中间件和平…

STM32自己从零开始实操03:输出部分原理图

一、继电器电路 1.1指路 延续使用 JZC-33F-012-ZS3 继电器,设计出以小电流撬动大电流的继电器电路。 (提示)电路需要包含:三极管开关电路、续流二极管、滤波电容、指示灯、输出部分。 1.2数据手册重要信息提炼 联系排列&…

Rainbond 携手 TOPIAM 打造企业级云原生身份管控新体验

TOPIAM 企业数字身份管控平台, 是一个开源的IDaas/IAM平台、用于管理账号、权限、身份认证、应用访问,帮助整合部署在本地或云端的内部办公系统、业务系统及三方 SaaS 系统的所有身份,实现一个账号打通所有应用的服务。 传统企业 IT 采用烟囱…

NSS题目练习5

[NISACTF 2022]babyupload 打开后尝试上传php,jpg,png文件都没成功 查看源代码发现有个/source文件 访问后下载压缩包发现有一个python文件 搜索后知道大致意思是,上传的文件不能有后缀名,上传后生成一个uuid,并将uuid…

redis缓存token设置jwt令牌过期时间

登录接口 在上文中 我们已经设置了自定义登录接口自定义拦截器jwt登录校验接口模拟账号登录_jwt自定义拦截器-CSDN博客https://blog.csdn.net/2202_75352238/article/details/138424691?spm1001.2014.3001.5501 但是上文jwt过期时间是由yml文件中配置的,比较不优雅…

Amis源码构建 sdk版本

建议在linux环境下构建(mac环境下也可以),需要用到sh脚本(amis/build.sh)。 Js sdk打包是基于fis进行编译打包的,具体可见fis-conf.js: amis-master源码下载:https://github.com/baidu/amis g…

【OceanBase诊断调优】—— obdiag 工具助力OceanBase数据库诊断调优(DBA 从入门到实践第八期)

1. 前言 昨天给大家分享了【DBA从入门到实践】第八期:OceanBase数据库诊断调优、认证体系和用户实践 中obdiag的部分,今天将其中的内容以博客的形式给大家展开一下,方便大家阅读。 2. 正文 在介绍敏捷诊断工具之前,先说说OceanBa…

【C语言】常见的动态内存的错误

前言 在动态内存函数的使用过程中我们可能会遇到一些错误,这里将常见的错误进行总结。 对NULL解引用 请看以下代码: 可以看到,这时我们的malloc开辟是失败的,所以返回的是空指针NULL,而我们却没有进行检查&#xff0…

使用PNP管控制MCU是否需要复位

这两台用到一款芯片带电池,希望电池还有电芯片在工作的时候插入电源不要给芯片复位,当电池没电,芯片不在工作的时候,插入电源给芯片复位所以使用一个PNP三极管,通过芯片IO控制是否打开复位,当芯片正常工作的…

反激电源压敏电阻设计

压敏电阻的作用:浪涌防护。在电源出现浪涌冲击时,保护核心器件不受到损坏。其实类似于稳压二极管 瞬间的瞬态波 1 压敏电压 单位是,虽然压敏电阻可以吸收很大的浪涌能量,但是不能承受mA以上的持续电流。压敏电压计算公式 2 通流容…

(函数)字符串拼接(C语言)

一、运行结果&#xff1b; 二、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h> # include <string.h>//声明字符串拼接函数&#xff1b; void splice(char a[100], char b[100]);int main() {//初始化变量值&#xff1b;char a[100] …