首页
关于
Search
1
AdGuardHome 安装及部署教程
48,936 阅读
2
Oracle开放全部端口并关闭防火墙
13,000 阅读
3
关于微软Azure学生白嫖指南
12,709 阅读
4
搭建基于telegram的无限网盘
11,955 阅读
5
最新Cloudflare免费自选IP教程(非Partner)
10,500 阅读
默认分类
技术搬砖
教学设计
故事奇谈
生活琐事
错题分析
精品软件
登录
找到
6
篇与
Cloudflare
相关的结果
2026-04-28
Mosdns+ADG实现DNS分流、缓存、去广告
Mosdns+ADG实现DNS分流、缓存、去广告 参考链接:https://linux.do/t/topic/155566 参考链接:https://linux.do/t/topic/1146529 Mosdns:仅负责 DNS 分流查询 AdGuard Home(ADG):负责 DNS 去广告、缓存 DNS泄漏: " 所谓的DNS泄露国内节点,只是在IP分流时,查询了国内DNS引起,仅在理论上有安全问题。当然这个DoH使用境外服务器进行IP分流,完美解决泄漏问题 [DNS分流与泄露分析] "境内检测:https://nstool.netease.com 境外检测:DNS Leak Test - BrowserLeaks MosDNS搭建 官方文档:mosdns wiki | mosdns-wiki-zh 配置文件 下载分流所需文件 使用以下脚本,修改变量 v2dat_dir 为你的保存路径 (保存为 .sh 文件后, 记得 chmod +x xxx.sh 赋权): #!/bin/sh set -e # Exit if any command fails TMPDIR=$(mktemp -d) trap 'rm -rf "$TMPDIR"' EXIT # Ensure temporary directory is removed on script exit v2dat_dir=<自定义路径>/mosdns geodat_update() { curl --connect-timeout 5 -m 60 -kfSL -o "$TMPDIR/geoip.dat" "https://raw.githubusercontent.com/Loyalsoldier/geoip/release/geoip-only-cn-private.dat" curl --connect-timeout 5 -m 60 -kfSL -o "$TMPDIR/geosite.dat" "https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat" \cp -a "$TMPDIR"/geoip.dat "$TMPDIR"/geosite.dat $v2dat_dir } # Unpack and process the data v2dat_dump() { mkdir -p "$v2dat_dir/rules/" curl -fSL -o "$v2dat_dir/v2dat" "https://raw.githubusercontent.com/xukecheng/scripts/main/v2dat" chmod +x "$v2dat_dir/v2dat" rm -f "$v2dat_dir/rules/geo"*.txt "$v2dat_dir/v2dat" unpack geoip -o "$v2dat_dir/rules/" -f cn "$v2dat_dir/geoip.dat" "$v2dat_dir/v2dat" unpack geosite -o "$v2dat_dir/rules/" -f apple -f cn -f 'geolocation-!cn' "$v2dat_dir/geosite.dat" rm -rf "$v2dat_dir/v2dat" } update_local_ptr() { curl --connect-timeout 5 -m 60 -kfSL -o "$v2dat_dir/rules/local-ptr.txt" "https://raw.githubusercontent.com/sbwml/luci-app-mosdns/v5/luci-app-mosdns/root/etc/mosdns/rule/local-ptr.txt" } geodat_update v2dat_dump update_local_ptr touch $v2dat_dir/rules/force-nocn.txt touch $v2dat_dir/rules/force-cn.txt # force-cn 是强制本地解析域名,force-nocn 是强制非本地解析域名 echo "localhost 127.0.0.1" >> $v2dat_dir/rules/hosts.txtchmod +x xxx.sh ./xxx.sh检查文件 tree -f <变量 v2dat_dir 定义的路径><变量 v2dat_dir 定义的路径> ├── <变量 v2dat_dir 定义的路径>/geoip.dat ├── <变量 v2dat_dir 定义的路径>/geosite.dat └── <变量 v2dat_dir 定义的路径>/rules ├── <变量 v2dat_dir 定义的路径>/rules/force-cn.txt ├── <变量 v2dat_dir 定义的路径>/rules/force-nocn.txt ├── <变量 v2dat_dir 定义的路径>/rules/geoip_cn.txt ├── <变量 v2dat_dir 定义的路径>/rules/geosite_apple.txt ├── <变量 v2dat_dir 定义的路径>/rules/geosite_cn.txt ├── <变量 v2dat_dir 定义的路径>/rules/geosite_geolocation-!cn.txt ├── <变量 v2dat_dir 定义的路径>/rules/hosts.txt └── <变量 v2dat_dir 定义的路径>/rules/local-ptr.txtDNS 配置文件 dns.yaml ################ DNS Plugins ################# plugins: - tag: google type: forward args: concurrent: 2 upstreams: - addr: "tls://dns.google" dial_addr: "8.8.8.8" enable_pipeline: true # TCP/DoT 启用 RFC 7766 新的 query pipelining 连接复用模式 - addr: "tls://dns.google" dial_addr: "8.8.4.4" enable_pipeline: true - tag: cloudflare type: forward args: concurrent: 2 upstreams: - addr: "tls://1dot1dot1dot1.cloudflare-dns.com" dial_addr: "1.1.1.1" enable_pipeline: true - addr: "tls://1dot1dot1dot1.cloudflare-dns.com" dial_addr: "1.0.0.1" enable_pipeline: true - tag: ali type: forward args: concurrent: 2 upstreams: - addr: "tls://dns.alidns.com" dial_addr: "223.5.5.5" enable_pipeline: false - addr: "tls://dns.alidns.com" dial_addr: "223.6.6.6" enable_pipeline: false # dnspod doh dot - tag: dnspod type: forward args: concurrent: 2 upstreams: - addr: "tls://dot.pub" dial_addr: "120.53.53.53" enable_pipeline: true - addr: "tls://dot.pub" dial_addr: "1.12.12.12" enable_pipeline: true # local dns # - tag: local # type: forward # args: # concurrent: 1 # upstreams: # - addr: "udp://192.168.1.1:53" # server 失败 - tag: reject_2 type: sequence args: - exec: reject 2 # 拒绝响应 - tag: reject_3 type: sequence args: - exec: reject 3 # 不支持的操作 - tag: reject_5 type: sequence args: - exec: reject 5配置文件 config.yaml 在本配置中,禁用了对IPv6的解析。如需启用,去除 prefer_ipv4 相关即可 配置中设置了ECS 并固定了IP(见 ecs_cn 部分),建议自行修改,否则可能明显减速 ECS: EDNS Client Subnet 附官方文档关于 ECS 部分:可执行插件 | mosdns-wiki-zh (gitbook.io) log: level: info # file: "/etc/mosdns/mosdns.log" api: http: "0.0.0.0:5534" include: ['/etc/mosdns/dns.yaml'] plugins: # 国内域名 - tag: geosite_cn type: domain_set args: files: - "/etc/mosdns/rules/geosite_cn.txt" # 国内 IP - tag: geoip_cn type: ip_set args: files: - "/etc/mosdns/rules/geoip_cn.txt" # 苹果域名 - tag: geosite_apple type: domain_set args: files: - "/etc/mosdns/rules/geosite_apple.txt" # 国外域名 - tag: geosite_no_cn type: domain_set args: files: - "/etc/mosdns/rules/geosite_geolocation-!cn.txt" - tag: hosts type: hosts args: files: - "/etc/mosdns/rules/hosts.txt" - tag: local_ptr type: domain_set args: files: - "/etc/mosdns/rules/local-ptr.txt" - tag: forward_udp type: forward args: concurrent: 2 upstreams: - addr: "223.5.5.5" - addr: "119.29.29.29" - tag: forward_local type: fallback args: primary: ali # 主dns secondary: dnspod # 备用dns threshold: 500 always_standby: true - tag: forward_remote type: fallback args: primary: cloudflare # 主dns secondary: google # 备用dns threshold: 500 always_standby: true # ECS - tag: ecs_cn type: "ecs_handler" args: forward: false # 是否转发来自下游的 ecs preset: 202.38.193.28 # 发送预设 ecs | 华工IP send: false # 是否发送 ecs mask4: 24 # ipv4 掩码。默认 24 | 12 mask6: 48 # ipv6 掩码。默认 48 | 32 - tag: no_ecs type: "ecs_handler" args: forward: false # 是否转发来自下游的 ecs preset: "" # 发送预设 ecs send: false # 是否发送 ecs mask4: 24 mask6: 48 # 国外解析 - tag: forward_remote_upstream type: sequence args: - exec: $no_ecs - exec: prefer_ipv4 - exec: query_summary forward_remote - exec: $forward_remote # 响应操作 - tag: has_resp_sequence type: sequence args: - matches: has_resp exec: accept # 查询国内域名 # 返回非国内IP则 drop_resp - tag: query_is_non_local_ip type: sequence args: - exec: $ecs_cn - exec: prefer_ipv4 - exec: $forward_local - matches: "!resp_ip $geoip_cn" exec: drop_resp # fallback: 失败时回滚 # 回滚机制: 如果 primary 抛出错误,或返回但没有应答,或在 threshold 毫秒内无响应,则执行 secondary 。因无响应触发 fallback 时,如果 primary 比 secondary 先返回了应答,则依旧会采用 primary 的应答。 # 错误处理: 如果 primary 和 secondary 都无应答 (抛出了错误,无响应直到超时,返回了但无应答),则抛出错误。 ## 此处做了防止DNS泄露的处理: 强制转发到远程DNS (摘自Github: sbwml/luci-app-mosdns) - tag: fallback type: fallback args: primary: forward_remote_upstream secondary: forward_remote_upstream threshold: 500 always_standby: true # 原做法 # - tag: fallback # type: fallback # args: # primary: query_is_non_local_ip # secondary: forward_remote_upstream # threshold: 500 # always_standby: true - tag: apple_domain_fallback type: fallback args: primary: query_is_non_local_ip secondary: forward_udp threshold: 100 always_standby: true # 匹配苹果域名的插件 - tag: query_is_apple_domain type: sequence args: - matches: qname $geosite_apple exec: $apple_domain_fallback - exec: query_summary apple_domain_fallback # 匹配本地域名的插件 - tag: query_is_local_domain type: sequence args: - exec: $ecs_cn - exec: prefer_ipv4 - matches: qname $geosite_cn exec: $forward_local - exec: query_summary forward_local # 查询国外域名 - tag: query_is_no_local_domain type: sequence args: - matches: qname $geosite_no_cn exec: $forward_remote_upstream - tag: query_is_reject_domain type: sequence args: - matches: - qtype 12 - qname $local_ptr exec: reject 3 - matches: qtype 65 exec: reject 3 # 主要的运行逻辑插件 # sequence 插件中调用的插件 tag 必须在 sequence 前定义, # 否则 sequence 找不到对应插件。 - tag: main_sequence type: sequence args: - exec: $hosts - exec: jump has_resp_sequence - exec: forward_edns0opt 8 - exec: $query_is_apple_domain - exec: jump has_resp_sequence - exec: $query_is_reject_domain - exec: jump has_resp_sequence - exec: $query_is_local_domain - exec: jump has_resp_sequence - exec: $query_is_no_local_domain - exec: jump has_resp_sequence - exec: $fallback - exec: jump has_resp_sequence # 启动 udp 服务器 - tag: udp_server type: udp_server args: entry: main_sequence listen: ":5353" # 启动 tcp 服务器 - tag: tcp_server type: tcp_server args: entry: main_sequence listen: ":5353"末尾两项配置为 Mosdns 的 DNS 服务端口配置 Cloudflare 优选IP配置 保存Cloudflare IP网段 cd rules wget https://www.cloudflare.com/ips-v4 -O cf4.txt wget https://www.cloudflare.com/ips-v6 -O cf6.txt cat cf4.txt cf6.txt > cloudflare-cidr.txt 需要自行创建优选 Cloudflare IP文件:cloudflare-ip.txt config.yaml 加入配置: ## 原配置文件新增: # 匹配 Cloudflare IP # source: https://www.cloudflare.com/zh-cn/ips - tag: cloudflare_cidr type: ip_set args: files: - "/etc/mosdns/rules/cloudflare-cidr.txt" # 优选 Cloudflare IP # 需自行创建填写 - tag: cloudflare_ip type: ip_set args: files: - "/etc/mosdns/rules/cloudflare-ip.txt" ## 原配置文件修改: # 有响应终止返回 - tag: has_resp_sequence type: sequence args: - matches: has_resp exec: accept - matches: resp_ip $cloudflare_cidr exec: black_hole $cloudflare_ip启动 Docker 创建docker-compose.yaml文件 services: mosdns: image: irinesistiana/mosdns:latest container_name: mosdns restart: unless-stopped network_mode: host environment: - TZ=Asia/Shanghai volumes: # 请将下面的 "<自定义路径>" 替换为你实际想要的宿主机路径,例如 ./mosdns 或 /opt/mosdns - <自定义路径>:/etc/mosdnsdocker-compose up -d测试可用性 dig +short www.baidu.com @127.0.0.1 -p 5353正常会有IP输出,否则请检查 Mosdns 容器日志看启动是否正常 AdGuard Home 官方脚本安装 在终端中运行以下命令: curl -sSL https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh如果提示 curl: command not found ,那是因为没装 Curl ubuntu/debian 系统安装 Curl 方法: apt-get install curl -ycentos 系统安装 Curl 方法: yum install curl -y以 IP:映射出的端口 方式进入引导配置界面(如:http://127.0.0.1:3000),在引导步骤中配置各服务监听端口 监听的端口需要是宿主机未使用的端口,因为后面会以 host 网络模式重建容器 【网页管理界面】的监听端口默认 80 ,这个端口很可能会有冲突,特别是在 云服务器 上部署的,建议修改 【DNS服务器】监听接口默认53,国内未经备案使用,可能被主机商检测到,建议修改 image图片 设置管理用户 设置的用户名与密码请三思。因为后续无法在面板上直接更改,只能通过 htpasswd 重新生成hash再修改到配置文件,麻烦了点 image图片 后面一路选择 “下一步” 即可。 最后如果你点击了 “打开仪表盘”,若是先前的【网页管理界面】的监听端口设置的不是已映射的端口,跳转后打不开是正常的基础设置 1. 将上游DNS服务器设置为Mosdns image图片 应用设置: image图片 image图片 2. 禁用 IPv6 解析 由于上面 Mosdns 的配置里也禁用了对 IPv6 的解析,所以这里顺便也禁用吧image图片 3. DNS 缓存 image图片 4. 去广告 image图片 添加规则集: image图片 # 黑名单: filters: - enabled: true url: https://adguardteam.github.io/HostlistsRegistry/assets/filter_1.txt name: AdGuard DNS filter id: 1 - enabled: true url: https://adguardteam.github.io/HostlistsRegistry/assets/filter_2.txt name: AdAway Default Blocklist id: 2 - enabled: true url: https://anti-ad.net/easylist.txt name: Anti-ad id: 1717366234 - enabled: true url: https://gist.githubusercontent.com/Ewpratten/a25ae63a7200c02c850fede2f32453cf/raw/b9318009399b99e822515d388b8458557d828c37/hosts-yt-ads name: YouTobe id: 1717366236 - enabled: true url: https://cdn.jsdelivr.net/gh/jdlingyu/ad-wars@master/hosts name: 大圣净化 id: 1717366237 - enabled: true url: https://raw.githubusercontent.com/xinggsf/Adblock-Plus-Rule/master/mv.txt name: 乘风视频 id: 1717366238 - enabled: true url: https://easylist-downloads.adblockplus.org/easylistchina.txt name: easylistchina id: 1717366239 - enabled: true url: https://easylist-downloads.adblockplus.org/easylist.txt name: easylist id: 1717366240 - enabled: true url: https://raw.githubusercontent.com/Cats-Team/AdRules/main/dns.txt name: ad-dns id: 1717366242 - enabled: true url: https://raw.githubusercontent.com/Goooler/1024_hosts/master/hosts name: 澳门皇家赌场 id: 1717366244 - enabled: true url: https://raw.githubusercontent.com/TG-Twilight/AWAvenue-Ads-Rule/main/AWAvenue-Ads-Rule.txt name: 秋风 id: 1718626718 - enabled: true url: https://adguardteam.github.io/HostlistsRegistry/assets/filter_29.txt name: 'CHN: AdRules DNS List' id: 1720846363可在 自定义过滤规则 中单独放行/拉黑(子)域名 # 白名单(自定义过滤规则): @@||dataflow.biliapi.com^$important @@||lxcdn.dl.files.xiaomi.net^$important ||u3.ucweb.com^ @@||ip.taobao.com^$important @@||adashbc.ut.taobao.com^$important @@||s.click.tmall.com^$important @@||s.click.taobao.com^$important @@||taobao.com^ @@||clientlog3.music.163.com^$important @@||app-monitor.ele.me^$important @@||mon.snssdk.com^$important @@||datacollector-drcn.dt.hicloud.com^$important @@||ele.me^ @@||elemcdn.com^ @@||alipayobjects.com^ @@||jianshu.com^ #||ctobsnssdk.com^ #||pangolin.snssdk.com^ #||pangolin-sdk-toutiao.com^ #||pangolin-sdk-toutiao-b.com^ #||pglstatp-toutiao.com^ #||dm.toutiao.com^ #||ulogs.umeng.com^ #||aaid.umeng.com^ #||tnc*.zijieapi.com^ #||mssdk-bu.bytedance.com^ ||api2.coolapk.com/v6/feed/detail$replace=/"include_goods_ids":\[.*?]\,"include_goods":\[.*?]\,/ / ||api2.coolapk.com/v6/feed/detail$replace=/\,"detailSponsorCard":{.*}/}}/ # csdn广告 ||lupic.cdn.bcebos.com^ # 简书广告 ||pp.chuzushijian.cn^ ||cdn-file-ssl-wan.ludashi.com^ ||cdn-file-ssl-wan.ludashi.com/wan/newswf/dlgglm^$important # 解除张大妈 @@||smzdm.com^ @@||zdmimg.com^ # 贴吧 ## tieba-ares.cdn.bcebos.com/mis/2023-5/1683789351139/ac0b4431fb1b.gif ||tieba-ares.cdn.bcebos.com/mis^$important ||tieba-ares.cdn.bcebos.com^$important # 解除夸克 @@||myquark.cn^ @@||quark.cn^ # 解除阿里 @@||aliyuncs.com^ # @@||netease.com^ # 酷安_测试faild #||tr.byteurl.cn^$important #||pull-flv-f29.douyincdn.com^$important #||pull-hls-vr-l11.douyincdn.com^$important #||frontier100-toutiao.toutiaoapi.com^$important #||p3-shortvideo-sign.toutiaoimg.com^$important #||niu-agjsnj.snssdk.com^$important #||mssdk3-normal-lf.zijieapi.com^$important # 酷安+番茄 ||pangolin-sdk-toutiao.com^ ||zijieapi.com^$app=com.dragon.read ||frontier-toutiao.snssdk.com^$app=com.dragon.read ||pangolin-sdk-toutiao-b.com^ ||ads5-normal-lf.zijieapi.com^$app=com.dragon.read ||pglstatp-toutiao.com^ # 解除CSDN #@@||blog.csdn.net # 解除哔哩哔哩 @@||bilibili.com^ # 同花顺看点 @@||10jqka.com.cn^$important #@@||mo.baidu.com^$important # 京东 @@||jd.com^$important @@||360buyimg.com^$important # 王者 @@||ap6.ssl.msdk.qq.com^$important @@||szlong.weixin.qq.com^$important # 快手? @@||kuaishou.httpdns.pro^$important @@||mime.baidu.com^$important #||astrill4u.com^$client='103.98.17.11' #||astrill4u.com^$important @@||dc.sigmob.cn^$important # Copilot @@||githubusercontent.com^$important @@||github.com^$important # 阻止扫描 ||astrill4u.com^$important #@@||qq.com^$important @@||3g.qq.com^$important @@||public.gdtimg.com^$important # shoppy @@||shoppy.gg^$important # QQ @@||qpic.cn^$important #@@||qq.com^$important @@||t9.baidu.com^$important @@||b.bdstatic.com^$important @@||t7.baidu.com^$important @@||sofire.baidu.com^$important @@||t8.baidu.com^$important @@||smartop-sdkapi.jiguang.cn^$importantDOH / DOT / DOQ 配置 首先你需要一个域名,并为其申请好了证书 1. 配置域名 & 端口 转到【设置】\=\>【加密设置】: image图片 注意:如果配置了 DOH 端口,那么这个端口也是可以直接访问ADG面板!! 2. 配置域名证书 & 密钥 这里选择直接粘贴。当然你也可以配置路径image图片 配置完成后,各协议的使用地址见菜单栏的【设置指导】,如: https://域名:DOH端口/dns-query quic://域名:DOQ端口 tls://域名:DOT端口安卓的系统设置中的【私密/加密DNS】为 DOT 协议,且只能填写域名、使用 853 端口,无法更改 如果你的 853 端口惨遭阻断,可以使用 AdGuard 这个APP 3. Nginx反代 如果不想使用带端口的地址,需要Nginx反代,共用443端口 location /dns-query { # 关键修改点:使用 https 协议,并且指向你截图中的 DOH 端口 proxy_ssl_server_name on; proxy_ssl_name $host; proxy_pass https://127.0.0.1:你的doh端口/dns-query; proxy_http_version 1.1; 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_read_timeout 60s; proxy_send_timeout 60s; }使用教程 IPhone启用系统级DoH,从此直连L站 第一步:获取并下载描述文件 (:⚠️: 必须使用 Safari 浏览器) 苹果系统限制了只有自带的 Safari 浏览器才能触发描述文件的下载和安装机制。 打开手机上的 Safari 浏览器。访问专门为苹果设备生成 DNS 描述文件的开源工具网站。推荐使用这个极简又安全的生成器: DNS Profile Creator (这是一个著名的开源项目,专门生成苹果系统能认的 .mobileconfig 文件) (如图:选择DoH,并填写DoH server URL:https://域名/dns-query,上面还有个Name of DNS provider,随便取个名字就行) image图片 第二步:点击最下面add to profile,之后在跳转的这个界面里面点击download下载,之后会有个弹出框,需要点击一下允许 image图片 第三步:在 iOS 设备进入 设置 → 通用 → VPN 与设备管理,找到 EMAS HTTPDNS DoH Configuration,点击安装 image图片 电脑端DoH服务器使用教程 对于Edge,打开设置\=\>隐私、搜索和服务\=\>安全性,然后修改以下的选项成图中的样子 image图片 对于Chrome,打开设置\=\>隐私与安全\=\>安全,然后启用"使用安全DNS",像下面这样! image图片 其他自建DOH方案 RethinkDNS 无需服务器,Deno/Cloudflare等均可部署, ①Cloudflare一键部署本方案 注意:由于worker域名被墙,最好有一个托管在cf的域名指向这个worker ②Deno教程: 先去这个项目的Github地址,Fork一份到自己的仓库 image图片 打开deno部署官网,登陆Github账号 点击 image图片 来创建新的来自Github的项目 然后,点击自己的头像,找到你Fork的"serverless-dns项目" 就像这样! image图片 仿照这样填完,点击"Deploy Project"! image图片 稍等两分钟左右 等待部署好后,你就拥有了自己的DoH服务器! 食用方法: image图片 复制这里的部署地址,然后拼贴到下面这个网址中就是你的DoH服务地址(我使用Edge,所以这里也是Edge的配置!) https://[上面你获取的地址]/dns-query{?dns}NbDNS 前提 首先,你要有一台外国的Linux服务器,面板可选(如果你没有我就默认你可以自己完成下面的文件操作!) 十分建议配置反向代理,如果你不配置也可以,但你的DoH服务将会裸奔 打开/home/nbdns/data文件夹 首先在其中创建config.json,并复制粘贴以下内容进去 { "serve_addr": "127.0.0.1:8853", "web_addr": "0.0.0.0:8854", "strategy": 2, "timeout": 4, "built_in_cache": false, "bootstrap": [ {"address": "tcp://8.8.4.4:53"}, {"address": "tcp://1.0.0.1:53"} ], "upstreams": [ {"address": "tcp-tls://dns.google:853"}, {"address": "tcp-tls://one.one.one.one:853"}, {"address": "https://dns.google/dns-query"}, {"address": "https://cloudflare-dns.com/dns-query"}, {"address": "https://dns.opendns.com/dns-query"}, {"address": "https://doh.sb/dns-query"}, {"address": "https://dns9.quad9.net/dns-query"} ], "doh_server": { }, "blacklist": [".discord.com",".linux.do",".github.com"] }下载 china.txt 并改名为 china_ip_list.txt 到 data 文件夹 wget https://raw.githubusercontent.com/gaoyifan/china-operator-ip/refs/heads/ip-lists/china.txt -O data/china_ip_list.txt文件结构: |- home |- nbdns |- data |- config.json |- china_ip_list.txt直接Docker部署! services: nbdns: volumes: - '/home/nbdns/data:/nbdns/data' ports: - '8853:8853/udp' - '8854:8854' container_name: nbdns image: ghcr.io/naiba/nbdnsdocker-compose up -d本配置没有为DoH服务配置密码,所以十分建议使用Nginx反代端口(8854)后使用https+域名访问 Cloudflare DOH 进入Cloudflare Zero Trust界面 image图片 创建 DNS 位置,位置名称自定义,并如图勾选,然后依次点击 继续 - 完成 完成创建 image图片 记录好 基于 HTTPS 的 DNS 的值,形如 https://xxxxxx.cloudflare-gateway.com/dns-query 后面将会用到 创建描述文件 替换 DoH 接入地址后将文件重命名为 dns-over-https.mobileconfig 后下载到 iOS 设备,这里提供一个临时文件中转服务:FF2A File,然后在 iOS 设备进入 设置 → 通用 → VPN 与设备管理,找到 EMAS HTTPDNS DoH Configuration,点击安装 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>PayloadContent</key> <array> <dict> <key>DNSSettings</key> <dict> <key>DNSProtocol</key> <string>HTTPS</string> <key>ServerURL</key> <!---- 把此处的地址替换为 DoH 接入地址 ---> <string>https://xxxxxx.cloudflare-gateway.com/dns-query</string> </dict> <key>PayloadDescription</key> <string>Configures iOS to use EMAS HTTPDNS DoH</string> <key>PayloadDisplayName</key> <string>EMAS HTTPDNS DoH</string> <key>PayloadIdentifier</key> <string>com.apple.dnsSettings.managed.9B498EC0C-EF6C-44F0-BFB7-0000658B99AC</string> <key>PayloadType</key> <string>com.apple.dnsSettings.managed</string> <key>PayloadUUID</key> <string>465AB183-5E34-4794-9BEB-B5327CF61F27</string> <key>PayloadVersion</key> <integer>1</integer> <key>ProhibitDisablement</key> <false/> </dict> </array> <key>PayloadDescription</key> <string>Adds EMAS HTTPDNS DoH configuration to iOS</string> <key>PayloadDisplayName</key> <string>EMAS HTTPDNS DoH Configuration</string> <key>PayloadIdentifier</key> <string>com.emas.apple-dns</string> <key>PayloadRemovalDisallowed</key> <false/> <key>PayloadType</key> <string>Configuration</string> <key>PayloadUUID</key> <string>130E6D6F-69A2-4515-9D77-99342CB9AE76</string> <key>PayloadVersion</key> <integer>1</integer> </dict> </plist>各种Cloudflare Worker-Doh脚本 [!NOTE] Cloudflare脚本的使用都差不多,你所需要做的只是 \=\>进入你的Cloudflare控制主页 \=\>计算与AI \=\>Workers与Pages \=\>创建应用程序 \=\> 点击从 Hello World! 开始右侧的开始使用 \=\>编辑代码 \=\>粘贴你获得到的代码(我们称这个为Worker代码) 非常推荐的步骤(拥有域名的前提下,设置自定义域):\=\> 设置 \=\> 域和路由 \=\> + 添加 \=\> 自定义域 \=\> 填入你需要的域名名称 (这个域名需要在你的CF账户内) \=\> 添加域 (可选,此举可以提高安全性)\=\> 回到域与路由 \=\> 类型workers.dev右侧的三个点 \=\>禁用域 然后你的"Worker地址"应该为你最新绑定的域名,否则为原显示域名 可选/部分项目要求的步骤:\=\>设置 \=\>变量与机密 \=\>+ 添加 \=\>填写表单 变量名称与值视项目所定 jqknono佬的CF-Doh项目 jqknono/cloudflare-doh: 使用cloudflare代理DoH 本项目的Worker代码链接为 复制这个里面获得的所有文本 然后添加环境变量 变量名称为 DOMAIN_MAPPINGS内容为 { "/google": { "targetDomain": "dns.google", "pathMapping": { "/query-dns": "/dns-query" } }, "/cloudflare": { "targetDomain": "one.one.one.one", "pathMapping": { "/query-dns": "/dns-query" } }, "/quad9": { "targetDomain": "dns.quad9.net", "pathMapping": { "/query-dns": "/dns-query" } } }之后,你可以拥有以下端点的DoH服务器 GoogleDoH https://[你的Worker地址]/google/query-dns{?dns}CloudflareDoH https://[你的Worker地址]/cloudflare/query-dns{?dns}Quad9DoH https://[你的Worker地址]/quad9/query-dns{?dns}cmliu佬的cf-DoH项目 cmliu/CF-Workers-DoH: CF-Workers-DoH 是一个基于 Cloudflare Workers 构建的 DNS over HTTPS (DoH) 解析服务。 本项目的Worker代码链接为:复制这个里面获得的所有文本 直接部署即可食用,默认DoH为Cloudflare,可参照项目修改 之后,你可以拥有以下端点的DoH服务器 CloudflareDoH https://[你的Worker地址]/dns-query{?dns}
技术搬砖
# AdGuard Home
# Cloudflare
# Mosdns
# DOH
admin
9小时前
0
8
1
2025-09-23
Cloudflare域名临时邮箱
一、cloudflare_temp_email image图片 image图片 部署地址:https://temp-mail-docs.awsl.uk/ 核心功能 邮件处理 使用 rust wasm 解析邮件,解析速度快,几乎所有邮件都能解析,node 的解析模块解析邮件失败的邮件,rust wasm 也能解析成功 支持发送邮件,支持 DKIM 验证 支持 SMTP 和 Resend 等多种发送方式 增加查看 附件 功能,支持附件图片显示 支持 S3 附件存储和删除功能 垃圾邮件检测和黑白名单配置 邮件转发功能,支持全局转发地址 用户管理 使用 凭证 重新登录之前的邮箱 添加完整的用户注册登录功能,可绑定邮箱地址,绑定后可自动获取邮箱JWT凭证切换不同邮箱 支持 OAuth2 第三方登录(Github、Authentik 等) 支持 Passkey 无密码登录 用户角色管理,支持多角色域名和前缀配置 用户收件箱查看,支持地址和关键词过滤 管理功能 完整的 admin 控制台 admin 后台创建无前缀邮箱 admin 用户管理页面,增加用户地址查看功能 定时清理功能,支持多种清理策略 获取自定义名字的邮箱,admin 可配置黑名单 增加访问密码,可作为私人站点 集成与扩展 完整的 Telegram Bot 支持,以及 Telegram 推送,Telegram Bot 小程序 添加 SMTP proxy server,支持 SMTP 发送邮件,IMAP 查看邮件 Webhook 支持,消息推送集成支持 CF Turnstile 人机验证限流配置,防止滥用 Gihub Actions 部署 初始化/更新 D1 数据库 创建数据库 打开 cloudflare 控制台,选择 Storage & Databases -> D1 SQL Database -> Create Database,点击创建数据库 image图片 创建完成后,我们在 cloudflare 的控制台可以看到 D1 数据库 初始化数据库注意 你也可以跳过初始化数据库,在部署完成后,在 admin 页面的 快速设置 -> 数据库 中,点击 初始化数据库 按钮来初始化数据库打开 Console 标签页,输入仓库中 db/schema.sql 文件的内容,点击 Execute 执行 image图片 更新数据库 schema schema 更新,请确认你之前部署的版本, 查看 更新日志 找到需要执行的 patch 文件, 执行, 例如: db/2024-01-13-patch.sql 打开 Console 标签页,输入 patch 文件的内容,点击 Execute 执行 image图片 Github Actions 配置 Fork 仓库并启用 Actions 在 GitHub fork 本仓库 打开仓库的 Actions 页面 找到 Deploy Backend 点击 enable workflow 启用 workflow 如果需要前后端分离部署, 找到Deploy Frontend 点击 enable workflow 启用 workflow 配置 Secrets 然后在仓库页面 Settings -> Secrets and variables -> Actions -> Repository secrets, 添加以下 secrets: 公共 secrets 名称说明CLOUDFLARE_ACCOUNT_IDCloudflare 账户 ID, 参考文档CLOUDFLARE_API_TOKENCloudflare API Token, 参考文档 worker 后端 secrets 名称说明BACKEND_TOML后端配置文件,参考此处DEBUG_MODE(可选) 是否开启调试模式,配置为 true 开启, 默认 worker 部署日志不会输出到 Github Actions 页面,开启后会输出BACKEND_USE_MAIL_WASM_PARSER(可选) 是否使用 wasm 解析邮件,配置为 true 开启, 功能参考 配置 worker 使用 wasm 解析邮件USE_WORKER_ASSETS(可选) 部署带有前端资源的 Worker, 配置为 true 开启 pages 前端 secrets 注意 如果选择部署带有前端资源的 Worker, 则无须配置这些 secrets 名称说明FRONTEND_ENV前端配置文件,请复制 frontend/.env.example 的内容,并参考此处修改FRONTEND_NAME你在 Cloudflare Pages 创建的项目名称,可通过 用户界面 或者 命令行 创建FRONTEND_BRANCH(可选) pages 部署的分支,可不配置,默认 productionTG_FRONTEND_NAME(可选) 你在 Cloudflare Pages 创建的项目名称,同 FRONTEND_NAME,如果需要 Telegram Mini App 功能,请填写 部署 打开仓库的 Actions 页面 找到 Deploy Backend 点击 Run workflow 选择分支手动部署 如果需要前后端分离部署, 找到 Deploy Frontend, 点击 Run workflow 选择分支手动部署 如何配置自动更新 打开仓库的 Actions 页面,找到 Upstream Sync,点击 enable workflow 启用 workflow 如果 Upstream Sync 运行失败,到仓库主页点击 Sync 手动同步即可 配置邮件转发 设置完成后才能接收邮件了 回到 cloudflare 控制台,点击菜单账户主页,再点你的域名 图片 菜单栏会发生变化 图片 图片 图片 启用电子邮件 图片 图片 设置转发到 worker 图片 图片 设置完成的样子 图片 使用 Resend 发送邮件 1. 在 Resend 绑定并验证发信域名 登录 Resend 后台,进入 Domains,点击 Add Domain。 按向导添加你的发件域名,并在 DNS 处添加相应记录,待验证通过。 示意图(流程参考): 图片 图片 图片 图片 图片 完成后,确保域名状态为 Verified。发件地址必须使用该已验证域名,例如:no-reply@yourdomain.com 2. 创建 Resend API Key 进入 Resend → API Keys,点击 Create API Key。 建议选择可读写权限(Emails: send/read/update),并妥善保存生成的 Key。 参考截图: 图片 图片 图片 3. 在 Cloudflare Workers 配置变量 可以在 Cloudflare 的 UI 界面中,在Variables and Secrets 下面,将变量 RESEND_TOKEN 添加到 secrets 中 配置 Telegram Bot 注意:worker 默认的 worker.dev 域名的证书是不被 telegram 支持的,配置 Telegram Bot 请使用自定义域名 注意:如果要使用 Telegram Bot, 请先新建KV并后端绑定 KV 配置 worker 使用 wasm 解析邮件 如果你使用了 webhook 转发,或者 telegram bot 接受邮件,但是邮件内容是乱码,或者无法解析,你对解析的需要更高的要求,可以使用这个功能。 下载 worker-with-wasm-mail-parser.zip 回到 Overview,找到刚刚创建的 worker,点击 Edit Code, 删除原来的文件,上传 worker.js 和 wasm 后缀的文件, 点击 Deploy NOTE 上传需要先点击左侧菜单的 Explorer, 在文件列表的窗口里点击鼠标右键,在右键菜单里找到 Upload image图片 image图片 Telegram Bot 配置 请先创建一个 Telegram Bot,然后获取 token,然后在 Cloudflare 的 UI 界面中添加变量:TELEGRAM_BOT_TOKEN到 Variables and Secrets 下面 可设置白名单用户 点击初始化即可完成配置。 点击查看状态,可以查看当前配置的状态。 image图片 Mini App部署 从这里下载 zip, telegram-frontend.zip 修改压缩包里面的 index-xxx.js 文件 ,xx 是随机的字符串 搜索 https://temp-email-api.xxx.xxx ,替换成你worker 的域名,然后部署新的zip文件 部署完成后,请在 admin 后台的 设置 -\> 电报小程序 页面 电报小程序 URL 中填写网页 URL。 请在 @BotFather 处执行 /setmenubutton,然后输入你的网页地址,设置左下角的 Open App 按钮。 请在 @BotFather 处执行 /newapp 新建 app 来注册 mini app。 二、MoeMail部署 image图片 image图片 image图片 特性 隐私保护:保护您的真实邮箱地址,远离垃圾邮件和不必要的订阅 实时收件:自动轮询,即时接收邮件通知 灵活有效期:支持 1 小时、24 小时、3 天或永久有效 主题切换:支持亮色和暗色模式 响应式设计:完美适配桌面和移动设备 自动清理:自动清理过期的邮箱和邮件 PWA 支持:支持 PWA 安装 免费自部署:基于 Cloudflare 构建, 可实现免费自部署,无需任何费用 可爱的 UI:简洁可爱萌萌哒 UI 界面 发件功能:支持使用临时邮箱发送邮件,基于 Resend 服务 Webhook 通知:支持通过 webhook 接收新邮件通知 权限系统:支持基于角色的权限控制系统 OpenAPI:支持通过 API Key 访问 OpenAPI Github Actions 部署 自动触发:推送新的 tag 时自动触发部署流程 手动触发:在 GitHub Actions 页面手动触发 部署步骤 在 GitHub 仓库设置中添加以下 Secrets: CLOUDFLARE_API_TOKEN: Cloudflare API 令牌 CLOUDFLARE_ACCOUNT_ID: Cloudflare 账户 ID AUTH_GITHUB_ID: GitHub OAuth App ID AUTH_GITHUB_SECRET: GitHub OAuth App Secret AUTH_SECRET: NextAuth Secret,用来加密 session,请设置一个随机字符串 CUSTOM_DOMAIN: 网站自定义域名,用于访问 MoeMail (可选, 如果不填, 则会使用 Cloudflare Pages 默认域名) PROJECT_NAME: Pages 项目名 (可选,如果不填,则为 moemail) DATABASE_NAME: D1 数据库名称 (可选,如果不填,则为 moemail-db) KV_NAMESPACE_NAME: Cloudflare KV namespace 名称,用于存储网站配置 (可选,如果不填,则为 moemail-kv) 选择触发方式: 方式一:推送 tag 触发 # 创建新的 tag git tag v1.0.0 # 推送 tag 到远程仓库 git push origin v1.0.0方式二:手动触发 进入仓库的 Actions 页面 选择 "Deploy" workflow 点击 "Run workflow" 部署进度可以在仓库的 Actions 标签页查看 注意事项 确保所有 Secrets 都已正确设置 使用 tag 触发时,tag 必须以 v 开头(例如:v1.0.0) Deploy to Cloudflare Workers图片Deploy to Cloudflare Workers 邮箱域名配置 在 MoeMail 个人中心页面,可以配置网站的邮箱域名,支持多域名配置,多个域名用逗号分隔 title="邮箱域名配置"图片 Cloudflare 邮件路由配置 为了使邮箱域名生效,还需要在 Cloudflare 控制台配置邮件路由,将收到的邮件转发给 Email Worker 处理。 登录 Cloudflare 控制台 选择您的域名 点击左侧菜单的 "电子邮件" -> "电子邮件路由" 如果显示 “电子邮件路由当前被禁用,没有在路由电子邮件”,请点击 "启用电子邮件路由" title="启用电子邮件路由"图片 点击后,会提示你添加电子邮件路由 DNS 记录,点击 “添加记录并启用” 即可 title="添加电子邮件路由 DNS 记录"图片 配置路由规则: Catch-all 地址: 启用 "Catch-all" 编辑 Catch-all 地址 操作: 选择 "发送到 Worker" 目标位置: 选择刚刚部署的 "email-receiver-worker" 保存 title="配置路由规则"图片 注意事项 确保域名的 DNS 托管在 Cloudflare Email Worker 必须已经部署成功 如果 Catch-All 状态不可用(一直 loading),请点击路由规则旁边的目标地址, 进去绑定一个邮箱 权限系统 本项目采用基于角色的权限控制系统(RBAC)。 角色配置 新用户默认角色由皇帝在个人中心的网站设置中配置: 公爵:新用户将获得临时邮箱、Webhook 配置权限以及 API Key 管理权限 骑士:新用户将获得临时邮箱和 Webhook 配置权限 平民:新用户无任何权限,需要等待皇帝册封为骑士或公爵 角色等级 系统包含四个角色等级: 皇帝(Emperor) 网站所有者 拥有所有权限 每个站点只能有一个皇帝 公爵(Duke) 超级用户 可以使用临时邮箱功能 可以配置 Webhook 可以使用创建 API Key 调用 OpenAPI 可以被皇帝贬为骑士或平民 骑士(Knight) 高级用户 可以使用临时邮箱功能 可以配置 Webhook 可以被皇帝贬为平民或册封为公爵 平民(Civilian) 普通用户 无任何权限 可以被皇帝册封为骑士或者公爵 角色升级 成为皇帝 第一个访问 /api/roles/init-emperor 接口的用户将成为皇帝,即网站所有者 站点已有皇帝后,无法再提升其他用户为皇帝 角色变更 皇帝可以在个人中心页面将其他用户设为公爵、骑士或平民 权限说明 邮箱管理:创建和管理临时邮箱 Webhook 管理:配置邮件通知的 Webhook API Key 管理:创建和管理 API 访问密钥 用户管理:升降用户角色 系统设置:管理系统全局设置 系统设置 系统设置存储在 Cloudflare KV 中,包括以下内容: DEFAULT_ROLE: 新注册用户默认角色,可选值为 CIVILIAN、KNIGHT、DUKE EMAIL_DOMAINS: 支持的邮箱域名,多个域名用逗号分隔 ADMIN_CONTACT: 管理员联系方式 MAX_EMAILS: 每个用户可创建的最大邮箱数量 皇帝角色可以在个人中心页面设置 发件功能 MoeMail 支持使用临时邮箱发送邮件,基于 Resend 服务。 功能特性 临时邮箱发件:可以使用创建的临时邮箱作为发件人发送邮件 角色权限控制:不同角色有不同的每日发件限制 支持 HTML:支持发送富文本格式邮件 角色发件权限 角色每日发件限制说明皇帝 (Emperor)无限制网站管理员,无发件限制公爵 (Duke)5封/天默认每日可发送5封邮件骑士 (Knight)2封/天默认每日可发送2封邮件平民 (Civilian)禁止发件无发件权限提示:皇帝可以在个人中心的邮件服务配置中自定义公爵和骑士的每日发件限制。配置发件服务 获取 Resend API Key 访问 Resend 官网 注册账号 在控制台中创建 API Key 复制 API Key 供后续配置使用 配置发件服务 皇帝角色登录 MoeMail 进入个人中心页面 在"Resend 发件服务配置"部分: 启用发件服务开关 填入 Resend API Key 设置公爵和骑士的每日发件限制(可选) 点击保存配置 验证配置 配置保存后,有权限的用户在邮箱列表页面会看到"发送邮件"按钮 点击按钮可以打开发件对话框进行测试 注意事项 Resend 限制:请注意 Resend 服务的发送限制和定价政策 域名验证:使用自定义域名发件需要在 Resend 中验证域名 反垃圾邮件:请遵守邮件发送规范,避免发送垃圾邮件 配额监控:系统会自动统计每日发件数量,达到限额后将无法继续发送 配额重置:每日发件配额在每天 00:00 自动重置 三、Cloud-Mail image图片 image图片 部署文档:https://doc.skymail.ink/ 首先你要注册一个域名,如果你要拿来注册一些网站或者游戏比如 steam 不要用 top xyz 这种廉价域名有可能会网站被当临时邮箱拦截 1 绑定域名 注册账号登录到 cloudflare 控制台,开始绑定域名(如果你已经绑定好了可以直接跳到第二步) 图片 图片 选择免费的计划 图片 图片 设置 dns 图片 不同的厂商的修改 dns 都差不多,这里以华为云为例 图片 设置完成后可能要等几分钟,期间可以刷新浏览器看有没有完成 图片 完成后的界面 图片 这样子账户主页就会显示你的域名了,域名绑定完成 图片 2 创建 worker 项目 到项目仓库 fork 项目代码到你的仓库 图片 图片 这样子仓库就会复制到你那边了 图片 回到 cloudflare 控制台,找到 workers 页面导入你的 github 仓库代码 图片 图片 图片 设置启动目录 图片 等待构建部署完成 图片 构建完成后的页面 图片 这时候项目就会出现在 worker 列表了,点击名字进入可以查看和设置 图片 3 设置环境变量 服务还需要设置一些环境变量和绑定数据库才能正常运行 图片 添加以下变量,注意 domain 是 json 类型的,管理员账号之后需要你在注册页面注册 变量名值类型作用domain["你的域名"], 示例:["mornglow.top"],多域名 ["doamin1","domain2"]JSON网站会使用这个域名作为邮箱域名admin管理员的邮箱,示例:admin@mornglow.top纯文本对应的用户变成管理员jwt_secret随便输入一串字符串,示例:Z7f!xPq8mV@L2bC$r9X&N1t纯文本登录身份令牌的安全密钥图片 设置完成自定义域名和环境变量的样子 图片 4 绑定数据库 找到左侧菜单存储和数据库,创建 kv 数据库,数据库名字随意 图片 创建 d1 数据库,数据库名字随意 位置选择离你近的地方 图片 回到 worker 设置界面绑定刚刚创建的数据库 d1 数据库 变量名为 db kv 数据库 变量名为 kv 图片 浏览器输入 https:// 你的自定义域名 / api/init / 你绑定的的 jwt_secret 会自动初始化数据库 (如果之前部署过只会更新不会覆盖原有数据) 图片 浏览器输入你绑定的自定义域名网站已经能打开了,注册登录了 图片 5 启用邮件接收 设置完成后才能接收邮件了 回到 cloudflare 控制台,点击菜单账户主页,再点你的域名 图片 菜单栏会发生变化 图片 图片 图片 启用电子邮件 图片 图片 设置转发到 worker 图片 图片 设置完成的样子 图片 测试接收邮件 图片 6 附件收发 设置完这一步后才能接收附件和发送附件,如果你不需要可以跳过 回到上一级菜单,找到 r2 对象存储,创建存储桶 图片 桶名字可以随便填 位置选择离你近的地方 图片 设置自定义域名 图片 图片 自定义域名添加到项目设置里面 图片 回到 worker 绑定刚才创建的 r2 存储桶 r2 存储桶 变量名为 r2 图片 7 邮件发送 使用第三方服务 resend 发送邮件 浏览器输入 resend.com 注册 图片 添加域名 图片 图片 图片 图片 等待验证完成 图片 验证完成后的样子 图片 创建 apiKey 图片 图片 图片 回到项目网站设置 图片 设置邮件状态回调接口 图片 回调接口 https:// 你的项目自定义域 / api/webhooks 图片 图片 8 人机验证 设置这一步后可以开启人机验证,防止网站被机器人批量注册 菜单栏找到 turnstile 图片 图片 添加你的域名 图片 名字随意 图片 复制这两个密钥 图片 回到项目设置页面设置密钥 图片 9 TG 和其他邮箱转发 在 TG 搜索找到这个人 图片 创建机器人并且获取 token 图片 给机器人一条发消息 图片 浏览器输入 https://api.telegram.org/bot 你的机器 TOKEN/getUpdates 获取 chat_id 如果获取不到就再给机器人发几条消息 图片 设置 token 和 chat_id 图片 转发到其他服务商邮箱 在 cloudflare 验证邮箱 图片 设置邮箱 图片 四、freemail image图片 image图片 image图片 image图片 功能特性 现代化界面 毛玻璃效果:采用现代化的毛玻璃(Glassmorphism)设计风格 简约美观:浅色背景,动态渐变,视觉效果出色 响应式设计:完美适配桌面和移动设备 动画效果:平滑的过渡动画和微交互反馈 邮箱管理 智能生成:随机生成临时邮箱地址,支持自定义长度和域名 历史记录:自动保存历史生成的邮箱,方便重复使用 便捷删除:支持删除单个邮箱和批量管理 一键切换:快速在不同邮箱间切换 用户管理功能 角色与权限: 三层权限模型(严格管理员 Strict Admin / 高级用户 Admin / 普通用户 User),严格管理员拥有全部权限 用户列表: 查看用户名、角色、邮箱上限/已用、是否允许发件、创建时间等关键信息 用户邮箱: 查看指定用户名下的邮箱列表,支持一键复制邮箱地址 创建用户: 通过用户名/密码/角色创建新用户 编辑用户: 支持改名、重置密码、角色切换、发件权限开关、调整邮箱上限 分配邮箱: 批量为用户分配邮箱地址(支持多行粘贴,自动格式校验) 删除用户: 解除用户与邮箱的绑定关系(不会删除邮箱实体与邮件数据) 前端权限防护: 管理页进入前进行快速鉴权,未授权自动跳转,避免内容闪现 操作确认与反馈: 关键操作提供二次确认弹窗与统一 Toast 提示,操作状态与结果清晰可见 邮件功能 实时接收:自动接收和显示邮件,支持HTML和纯文本 自动刷新:选中邮箱后每8秒自动检查新邮件 智能预览:自动提取和高亮显示验证码内容 详细查看:优化的邮件详情显示,支持完整内容渲染 一键复制:智能识别验证码并优先复制,或复制完整邮件内容 灵活删除:支持删除单个邮件或清空整个邮箱 发件支持(Resend) :已接入 Resend,可使用临时邮箱地址发送邮件并查看发件记录(发件箱),支持自定义发件显示名(fromName)与批量/定时/取消等能力 一键部署 Deploy to Cloudflare Workers图片Deploy to Cloudflare Workers 1. 首先点击 Deploy to Cloudflare 2 登陆账号后会进入,推荐选择亚洲地区(当然不选择亚洲也没关系) 不要修改数据库名称和R2名称 可能导致无法查询 图片 3. 点击创建部署,然后耐心等待克隆部署 图片 4. 点击继续处理项目,绑定必须的环境变量 图片 环境变量说明 变量名说明必需TEMP_MAIL_DBD1 数据库绑定是MAIL_EMLR2 存储桶绑定,用于保存完整的邮件 EML 文件是MAIL_DOMAIN用于生成临时邮箱的域名,支持多个,使用逗号或空格分隔(如 iding.asia, example.com)是ADMIN_PASSWORD后台访问密码(严格管理员登录)是ADMIN_NAME严格管理员用户名(默认 admin)否JWT_TOKEN / JWT_SECRETJWT 签名密钥(二选一,推荐 JWT_TOKEN)是RESEND_API_KEYResend 发件 API Key。使用发件功能需要配置否FORWARD_RULES邮件转发(转发到指定邮箱)。支持两种格式:JSON 数组 或 逗号分隔 KV否图片 5. 添加完成后点击部署即可 注:这三个变量是必须的,其他变量例如 管理员名称,发邮件密钥可自行决定是否添加 最后就可以打开对应的 worker 连接登陆了 图片 6. 默认管理员账号为 admin 7. 记得将域名邮箱的 catch-all 绑定到 worker 上(不绑定无法接收到邮件) 进入域名的 Email Routing 设置 添加 Catch-all 规则 目标设置为 Worker: temp-mail-worker 图片/idingi 8、设置自定义域名(可选) 在 Worker 设置中添加自定义域名,或使用 workers.dev 子域名。 9、FORWARD_RULES 示例 说明:规则按前缀匹配,命中第一个前缀即转发;* 为兜底规则。未配置或设置为空/disabled/none 时不进行任何转发。 逗号分隔(KV): FORWARD_RULES="vip=a@example.com,news=b@example.com,*=fallback@example.com" JSON 数组: FORWARD_RULES='[{"prefix":"vip","email":"a@example.com"},{"prefix":"*","email":"fallback@example.com"}]' 仅指定某些前缀(无兜底): FORWARD_RULES="code=a@example.com,login=b@example.com" 禁用转发: FORWARD_RULES="" 或 FORWARD_RULES="disabled" 或 FORWARD_RULES="none" 或 FORWARD_RULES="[]" 转发的目标地址需要在 Cloudflare 的 Email Addresses 中添加/验证 注意事项 静态资源缓存:Workers + Assets 对静态文件可能有缓存。更新 index.html 后如未生效,请在 Cloudflare 控制台进行 Purge Everything,并在浏览器执行强制刷新(Ctrl/Cmd+F5)。 图标路径:favicon 建议使用相对路径(例如 favicon.svg),避免挂在子路径时 404。 邮件路由:若需接收真实邮件,请正确配置 Cloudflare Email Routing(MX 记录、Catch‑all → 绑定到 Worker)。 R2 存储:R2 用于保存完整的邮件 EML 文件,支持邮件下载功能。R2 有免费额度限制,建议定期清理过期邮件。 数据库与费用:D1 有免费额度限制;建议定期清理过期邮件以节省存储空间与额度。 安全:务必在生产环境修改 ADMIN_PASSWORD、JWT_TOKEN,并限制仓库/项目的敏感信息暴露。 Resend 教程(发件) 1. 在 Resend 绑定并验证发信域名 登录 Resend 后台,进入 Domains,点击 Add Domain。 按向导添加你的发件域名,并在 DNS 处添加相应记录,待验证通过。 示意图(流程参考): 图片 图片 图片 图片 图片 完成后,确保域名状态为 Verified。发件地址必须使用该已验证域名,例如:no-reply@yourdomain.com 2. 创建 Resend API Key 进入 Resend → API Keys,点击 Create API Key。 建议选择可读写权限(Emails: send/read/update),并妥善保存生成的 Key。 参考截图: 图片 图片 图片 3. 在 Cloudflare Workers 配置变量 本项目运行在 Cloudflare Workers,需把密钥配置为 Secret,域名配置为普通变量。 方式一:命令行(Wrangler) # 设置 Resend 密钥(Secret) wrangler secret put RESEND_API_KEY # 或者使用下面同义变量(不推荐):RESEND_TOKEN / RESEND # 设置普通变量(可写入 wrangler.toml 的 [vars]) # 多域名用逗号/空格分隔 # 例:MAIL_DOMAIN="iding.asia, example.com"方式二:Dashboard(Git 集成部署常用) 进入 Cloudflare Dashboard → Workers → 选中你的 Worker → Settings → Variables。 在 Secrets 添加 RESEND_API_KEY。 在 Variables 添加 MAIL_DOMAIN,值为你用于收取 / 发件的域名列表(需与 Resend 已验证域名一致)。 4. 关联项目并部署 # 本地开发 wrangler dev # 正式部署 wrangler deploy确保 wrangler.toml 已绑定 D1 数据库与静态资源(仓库已配置)。 5. 前端使用发件功能(发件箱) 在首页先生成或选择一个邮箱地址。 点击 “发邮件”,填写收件人、主题与内容,点击发送。 后端会调用 Resend API 发出邮件,并在数据库记录,前端可在 “发件箱” 查看记录与详情。 注意: 发件地址为当前选中邮箱(形如 xxx@你的域名)。你的域名需在 Resend 已验证。 若返回 未配置 Resend API Key,说明没有设置或没有以 Secret 形式提供 RESEND_API_KEY。 6. 常见问题 403/Unauthorized:域名未验证或 From 与已验证域名不一致。 429 / 限流:短时间大量请求,稍后重试或开启队列。 中文 / HTML 内容:本项目会将 HTML 直接提交给 Resend,同时自动生成纯文本版本,提升兼容性。 7. 相关后端接口 POST /api/send 发送单封邮件 GET /api/sent?from=xxx@domain 获取发件记录列表 GET /api/sent/:id 获取发件详情 DELETE /api/sent/:id 删除发件记录 以上接口由 src/apiHandlers.js 与 src/emailSender.js 实现,调用 Resend REST API 完成发件 / 查询 / 取消等操作。 故障排除 邮件接收不到 检查 Cloudflare 邮件路由配置是否正确 确认域名的 MX 记录设置 验证 MAIL_DOMAIN 环境变量配置 数据库连接错误 确认 D1 数据库绑定名称为 TEMP_MAIL_DB 检查 wrangler.toml 中的数据库 ID 是否正确 运行 wrangler d1 list 确认数据库存在 登录问题 确认 ADMIN_PASSWORD 环境变量已设置 检查 JWT_TOKEN 或 JWT_SECRET 配置 尝试清除浏览器缓存和 Cookie 界面显示异常 确认静态资源路径配置正确 检查浏览器控制台是否有 JavaScript 错误 验证 CSS 文件加载是否正常 自动刷新不工作 确认已选中邮箱地址 检查浏览器是否支持 Page Visibility API 查看网络连接是否稳定 调试技巧 使用 wrangler dev 进行本地调试 查看 Worker 的实时日志:wrangler tail 使用浏览器开发者工具检查网络请求 检查 D1 数据库中的数据:wrangler d1 execute TEMP_MAIL_DB --command "SELECT * FROM mailboxes LIMIT 10"
技术搬砖
# Cloudflare
# 临时邮箱
# Catch
# Resend
admin
1年前
0
274
0
2025-09-20
可托管cloudflare免费域名泛域名解析教程
image图片 一、需双向解析的免费域名 https://x10hosting.com/ 注:60 天不活跃会删号 elementfx.com x10.mx https://www.cloudns.net/ 注:域名没有解析访问会删除 cloudns.club dnsabr.com ip-ddns.com cloudns.cX cloudns.eu cloudns.in cloudns.info ddns-ip.net dns-cloud.net dns-dynamic.net cloudns.nz cloudns.org ip-dynamic.org cloudns.ph cloudns.pro cloudns.pw cloudns.us 二、泛域名解析教程(以x10为例) 1、x10添加NS记录 @(用于 CF 验证),两个 ns 记录都要改成 cf 的,框选起来的 "." 要留着 image图片 _acme-challenge(用于证书申请),新增两个 NS 记录,名称: "_acme-challenge" ,值: CF 给的两个NS域名,一样要加点 image图片 2、x10添加CNAME记录 * 指向优选域名,比如cloudflare.182682.xyz,这样就成功泛解析了,以后只需要在cloudflare添加dns解析即可使用,而且还是Cloudflare的优选CDN网络 最后的记录应该长这样: image图片 3、托管Cloudflare 与顶级域名托管到Cloudflare步骤一致,但添加子域名解析时,一定要设置仅DNS,不能开小黄云
技术搬砖
# Cloudflare
# x10hosting
# cloudns
# 双向解析
admin
1年前
0
288
0
2024-08-13
使用阿里云 OSS 存储服务 + CloudFlare 配置图床
image.png图片 前言 带宽联盟是 Cloudflare 推出的一项服务,由一群具有前瞻性思维的云服务和网络公司组成,致力于为共同客户降低或免除数据传输(带宽)费用。为什么能做到非常低甚至能免除成本呢?云厂商跟 Cloudflare 直接的数据传输,是通过专用网络接口 (PNI) 或专用互连的,中间不经过任何网络提供商(比如电信),既然是直连,那么就不存在 PNI 的增量成本了,自然也就便宜了。虽然阿里云不是第一批加入带宽联盟的,但是到现在为止也加入一年多了(我白嫖也一年多了),并推出了 Cloudflare+Alibaba Cloud OSS 的解决方案。这点还是非常良心的,虽然腾讯云后来也加入了,但是我觉得不够“清晰透明”,就一直没试过。 虽然有时候 Cloudflare 是“减速 CDN”,但是既然咱选择了白嫖,那么就要贯彻到底了,对于有海外业务的小伙伴来说,这样反而能省下不少的开销 存储费用 根据存储费用文档,我们可以了解到,在海外(部分)区域,标准存储(本地冗余)容量支持使用5 GB/月的免费额度(即每月标准存储(本地冗余)容量≤5 GB时,不收取标准存储(本地冗余)容量费用)。 虽然不支持中国大陆免费 5GB 存储,不过并没有关系,支持的话我也不推荐你用,往下看就明白了。 流量费用 根据流量费用文档,我们可以了解到,在海外(部分)区域,外网流出流量(oss_flow_out)支持使用5 GB/月的免费额度(即每月外网流出流量≤5 GB时,不收取外网流出流量费用)。 有的小伙伴可能会好奇,既然可以免流,那这 5GB 外网流出流量还有什么用呢?看我上面那张图,你会发现,外网流出流量,无法做到完全没有。我每个月都有几 KB 的漏网之鱼,这还是我用量少的情况下,用的多自然就可能漏的多。原因就是你无法把缓存命中率做到 100%,可能我设置方式不是最优,但是能做到接近 100% 也就够了。但我们还需要防范直接打到源站的流量,这 5GB 相当于一个缓冲,如何防范打到源站,我下面也会讲。 请求费用 根据请求费用文档,算了没必要看了,请求费用是需要收费滴,不过好在便宜,几乎可以忽略不计。 想必有经验的小伙伴已经察觉到了,这套方案防 D 不防 C,不过方案是有平替的,只是各有优劣。但对于本身有这个需求的用户来说,确实能省钱。 最后,是 Cloudflare 这边的费用 对于阿里云来说,传输到 Cloudflare 是零出口费用。 有一点需要特别注意:出口传输费优惠或豁免可能需要与托管服务提供商注册,不适用于源于中国大陆的数据传输。也就是说,OSS 源站必须是海外节点,所以大陆节点没有免费 5GB 存储,其实无所谓的啦!主要操作流程 创建 Bucket:开通 OSS 并创建 Bucket。创建 Bucket 时选择海外的地域(如果在别的地域没有服务器的话,建议使用香港),存储类型选择标准存储即可,读写权限一定要选择私有,其余的附加服务按需启用(有的得加钱)。 image.png图片 但为了让图床正常使用,需要设置让Cloudflare的ip能够访问。 Cloudflare的ip官方已经给出了: IP Ranges 简单处理一下, 173.245.48.0/20,103.21.244.0/22,103.22.200.0/22,103.31.4.0/22,141.101.64.0/18,108.162.192.0/18,190.93.240.0/20,188.114.96.0/20,197.234.240.0/22,198.41.128.0/17,162.158.0.0/15,104.16.0.0/13,104.24.0.0/14,172.64.0.0/13,131.0.72.0/22 配置访问权限:进入权限控制 -> Bucket 授权策略面板,添加授权,配置如下图。 image.png图片 配置 CDN:在 CloudFlare 的 DNS 管理面板添加 CNAME 记录,目标设为 Bucket 的域名(可以在 Bucket 的概览界面找到),代理状态设为已代理,否则 CDN 不起作用。 image.png图片 image.png图片 绑定域名:在阿里云的 Bucket 配置 -> 域名管理界面绑定你刚设置的域名,这时阿里云需要验证域名的所有权,按照其所说的在 CloudFlare 的 DNS 管理处添加指定 TXT 记录即可。 image.png图片 创建并添加证书:在 CloudFlare 的配置面板的 SSL/TLS -> 源服务器处,选择创建证书。创建之后会告诉你源证书与私钥,这个界面暂时不要动。打开刚才在阿里云控制台绑定证书的界面,选择证书托管,并上传 SSL 证书,这时会打开 SSL 证书的界面,选择上传证书,并将 CloudFlare 给出的源证书和密钥复制到上传证书的对应字段处(证书名字随便设),然后确定。这时切换回上传 SSL 证书,应该就能在证书名称处看到刚刚设置的证书名字了(看不到的话重开一下这个界面试试),选中,然后点下方的上传即可。 然后我们查看域名绑定配置,发现已经绑定上了。然后我们去上传一张照片。 image.png图片 image.png图片 自有域名选择自己配置好的解析域名,我们就可以看到 URL 已经变成咱们自定义的啦! 安全性配置 跨域设置:在阿里云 OSS 的数据安全 -> 跨域设置中创建跨域规则,来源设置为你的网站的地址。为了能让网站在本地测试时也能正常展示图片,建议同时添加localhost:*与127.0.0.1:*。 防盗链设置:和跨域设置类似。不同之处在于 Referer 是包含请求协议的,所以类似于example.org或localhost:*等不包括协议的配置是无效的,需要改为https://example.com或*://localhost:*;需要注意的是*.example.org虽然是有效的,但是没有指定 https 协议,安全起见最好改为https://*.example.org。 设置错误页:S3协议的bucket在公开读的权限下会默认展示桶内文件列表和路径,特征明显而且并不友好。绝大多数的对象存储都支持设置静态网站index.html和错误页404.html的设置,比如阿里云OSS在【基础设置】-【静态页面】下。这里随手找了两个单页供选择和参考 image.png图片 CloudFlare安全规则: image.png图片 PicGo 配置 PicGo 是一款快速上传图片到图床,并自动复制图片 URL 到剪贴板的工具,你可以在 Github 的 release 页获取该程序。 权限设置:在阿里云的权限控制 -> Bucket 授权策略面板新增授权,配置如下: image.png图片 如果当前没有 RAM 子帐号,请点击右上角头像 -> 访问控制,然后在左侧的身份管理 -> 用户处创建一个子帐号。创建完成后在子帐号的详情页创建 AccessKey,得到 AccessKey 的 KeyID 与 KeySecret,保留备用。 上传配置:打开 PicGo 主界面,在图床设置 -> 阿里云 OSS 内填写对应的表单项。“KeyID” 与 “KeySecret” 即刚才获取的子帐号 AccessKey 的 KeyID 与 KeySecret,“设定 Bucket” 为 Bucket 的名称,“存储区域” 为 Bucket 所在区域(与 Bucket 域名内的值统一,例如oss-cn-hongkong),自定义域名填写你设置的域名,其余两项按需填写即可。配置完成后点击确定并设为默认图床。 参考网站: https://blog.furffisite.link/p/imagebed-oss-conf https://blog.besscroft.com/articles/2022/distributed-storage-oss/
技术搬砖
# Cloudflare
# oss
admin
2年前
0
977
1
2024-07-30
不绑信用卡,设置 Cloudflare 团队账户(Zero Trust)
image.png图片 绑定或不绑定信用卡,申请 Cloudflare Zero Trust (团队账户)免费科学上网 Cloudflare 上网方式有三种。 1、warp 账户,默认开通送 1G 流量。 2、warp + 账户,相当于 warp pro 账户,通过关注 telegram 相关频道可获得 23.84PB 流量,这是多少?我给大家简单换算一下,1G 等于 1 千兆,1T 等于 1 千 G,1PG 等于 1 千 T)这些浏流量对于普通用户来说已经足足够用了, 3、但还有比这更好的方案,那就是使用团队账户上网,如果开通了 teams 团队账户(Zero Trust 账户),就相当于获得了无限的流量。 第一步:注册 Cloudflare 账户 Cloudflare 注册对区域,邮箱没有要求,国内的 QQ 邮箱、163 邮箱都可注册 Cloudflare 账户,但得是真实的邮箱,能够接收验证邮件。 1、打开 Cloudflare 官网: image.png图片 2、输入邮箱和密码 image.png图片 3、验证邮箱: image.png图片 第二步:Zero Trust 设置 1、登录 CF 登录后,点击 Zero Trust 开始进入设置 image.png图片 2、输入团队名称 团队名称可任意起名,系统会验证是否重名。注册 Cloudflare 后第一次登陆,进入 Zero Trust 时会看到下面的页面。 image.png图片 如果已经添加过团队名称会看到下面的页面 image.png图片 3、选择免费计划(Free $0 / user / month) 输入团队名称后,点击 Next 进入付费计划选择页面,选免费计划。 image.png图片 图片 4、选择继续支付(proceed to payment) 这块不用担心,由于我们选择的是免费计划,输入信用卡信息点击支付时不会扣费。免费计划支持 50 个用户登陆访问。 image.png图片 5、添加支付方式 点 Add payment method 按钮进入支付信息填写页面 image.png图片 下面的步骤需要绑定信用卡,想绑定信用卡的朋友接着往下看,不想绑定信用卡的朋友跳到【第五步】 [](#89252ce1df494d9b88bd553d96488dc9 "6、添加支付信息")6、添加支付信息 信用卡需使用可以支付外币的信用卡,比如带 VISA/MASTER 标识的信用卡卡。 用户名称用汉语拼音填写,与信用卡一致,地址信息照实填写就行,也可以找一个虚拟地址。 image.png图片 图片 7、点下一步支付 这里我们可以看到,费用是零。这里也可看到,团队用户计划中,可以允许 50 个用户登陆访问。 image.png图片 第三步:设置客户端验证规则 1、Settings 进入客户端设置 点击 Settings,再点 WARP Client image.png图片 2、点击 Manage 进入客户端规则设置 注意:只有绑定了支付信息的用户,才能看到 WARP Client 下的 Manage 按钮。 image.png图片 3、点击 Add a rule 添加规则 在这里添加的规则面对的是想登录的客户端用户 image.png图片 4、设置用户登录规则 Rule name:规则名称,名称可以任意填写 Rule action:规则动作,保持默认(Allow) Selector:选择约束条件,这里选择以邮箱后缀最为约束条件(Emails ending in) Value:允许登录的邮箱后缀。如下图中添加了四个邮箱后缀,表示只有这四类邮箱才可以注册登录。 Save:添加完成后,一定要记得保存 image.png图片 第四步:下载客户端 Cloudflare 支持五种客户端,macOS、windows、iOS、Android、Linux 点 Downloads 进入客户端下载页面。也可打开 https://1.1.1.1 页面下载 image.png图片 image.png图片 第五步:无卡注册步骤 1、链接设备 从支付信息填写页面退出后,点击 My Team 下的 Devices 调出 Connect a device 按钮。第一次进入时看不到 Connect a device 按钮,需按照下面方法操作。 操作方法:先点击 My Team 下的 Users,再点击 Devices,如果没有出现,再次按顺序点 Users 和 Devices,直到 Devices 下出现 Connect a device 按钮,如下图所示。 image.png图片 2、添加验证规则 点击【 Connect a device 】打开添加登陆规则页面,点击【Create an enrollment policy】按钮 image.png图片 3、输入登陆规则 系统默认以邮箱后缀作为客户端的验证规则。这里填写需要验证的邮箱后缀(如:@hotmail.com),然后点 save 保存。 image.png图片 4、获取团队名称 点击页面中的 Windows 按钮,系统会自动打开一个页面,不用管。 image.png图片 image.png图片 5、复制团队名称 5.1、点击选项卡,返回之前的页面 image.png图片 5.2、返回后会看到团队名称。复制团队名称,复制完成后这个页面不要关闭,一直保持这个状态。 image.png图片 第六步:客户端设置 1、安装客户端 此处以 windwos 版安装为例。除了 Win 版,Cloudflare 还提供了 macOS、安卓版、苹果版、Linux 版。 安装非常简单,双击运行安装文件,按照提示点击下一步完成安装即可。 image.png图片 image.png图片 image.png图片 安装完成后,会在右下角看到一个类似云朵的图标。点击右下角的 Cloudflare 图标,按照提示点击下一步,并同意并接受协议。 image.png图片 image.png图片 image.png图片 2、设置团队账户(Zero Trust) 2.1、点击右下角 Cloadflare 图标,点击齿轮图标 image.png图片 2.2、添加偏好设置 image.png图片 2.3、点击账户→ 使用 Cloudflare Zero Trust 登陆 image.png图片 2.4、点下一步并同意隐私条款 image.png图片 image.png图片 2.5、输入团队名称并确定 image.png图片 2.6、发送验证码 输入要登陆的邮箱地址后,点击发送按钮(send me a code),系统会发一串验证码到这个邮箱。 image.png图片 2.7、接受验证码并验证 image.png图片 image.png图片 验证成功后 image.png图片 点击右下角的 Cloadflare 图标,稍等片刻后,图标由红色的 warp + 改为蓝色的 Zero Trust,注册完成。 image.png图片 点击按钮后显示已连接,表示已经成功联网,可以科学上网了。 image.png图片 绑定信用卡与未绑定的不同 绑定信用卡后,登陆账户可以随时编辑、修改、删除客户端登陆规则。未绑定信用卡的用户登陆后,无法看到已有的规则、虽然能添加规则,但无法修改和删除规则,添加规则操作不直观也不方便,操作相对繁琐。
技术搬砖
# Cloudflare
# warp
# zeroTrust
admin
2年前
0
7,384
1
2022-10-23
最新Cloudflare免费自选IP教程(非Partner)
一、写在开头 此方法需要启用Cloudflare for SaaS并添加付款信用卡(支持银联)或PayPal 至少要有2个域名,一个做主域名:marisalnc.com,一个做回源:dnsht1.cf 源服务器:你真正要访问的IP地址,这台服务器供Cloudflare获取资源 二、添加域名到Cloudflare 把主域名和回源的域名添加到Cloudflare FAQ:当然你的主域名也可以在其他DNS注册商,华为云,阿里云等等都可以博主这里直接都用CF做演示 图片 三、进入"回源"域名设置页 1、添加源站DNS记录 图片 2、"回源"域名添加自定义主机名 依次点击左侧目录中的SSL/TLS ——> 自定义主机名,然后点击启用Cloudflare For Saas; 填写支付信息(支持银联卡和Paypal),会进行扣费验证(1美刀)然后立即退还; 在"回退源"一栏中输入回退域的子域名,点击"添加回退源" 图片 四、进入"主域名"域名设置页 注意:如果你的自选域名和回源域名都在Cloudflare则可以像我一样添加域名记录,反之请按照官方的方法去你主域名所在的域名解析商(华为云,阿里云)添加"TXT"记录 添加完刷新自定义主机! 图片 图片 等待状态变为有效后,开始自选IP;记得每年更新一次证书! 注意:证书有效后主域名删除上面主域名添加的记录!别把源域名的自定义主机删了。 五、自选IP 1、把主域名接入到支持分运营商解析的服务商(已接入请跳过),这里推荐几个免费的:华为云DNS,青云DNS【推荐做法,也可直接使用CloudFlare】 2、使用以下脚本来选择IP,记得用不同运营商的设备分别测一下: Cloudflare ST最出名的项目,功能强大但需下载对应系统和架构的可执行文件; Better Cloudflare IP基于bat和bash,简单,通用性强. 六、主域名指向自选的IP 删除刚刚添加的"TXT"验证记录和CNAME记录 把主域名指向自选的IP或者优选域名 注意:如果你的主域名在Cloudflare,这里代理状态要改为"仅限DNS" 方案一:CNAME记录指向已经优选IP的域名 本站优选域名:speed.marisalnc.com 图片 方案二:A记录指向已经优选IP 图片 七、测试访问及注意事项 **源站使用主域名的SSL证书,不要使用回源域名的SSL证书 主域名在Cloudflare可以直接使用15年的源服务器证书(注意:源服务器证书不是客户端证书!)** 图片 图片 注意事项: 删除"源域名"的自定义主机名将导致"主域名"回源(无法访问) 不能把"主域名"CNMAE到"源域名",如:a.com(主)CNAME b.com(源),这样写主域名和源域名都可访问达不到自选效果,这个仅作为一开始的证书验证,验证完证书主域名请删除这两个验证记录 记得要定期检查自选的IP是否可用
技术搬砖
# Cloudflare
# 自选ip
admin
4年前
0
10,500
3