你是不是烦透了网站加载慢得像乌龟?或者Serv00跑代理老卡?别急,今天我教你用Cloudflare——完全免费,把网站速度提到飞起,顺便让代理稳如狗。5分钟搞定,零成本,跟着我一步步来,干就完事儿了!
视频教学
1. 啥是Cloudflare?为啥免费这么猛?
Cloudflare是个全球CDN(内容分发网络),简单说就是帮你把网站分发到全球几百个节点,访客从最近的点加载,速度快得一批。免费福利包括:
- 无限带宽:流量再大也不收钱。
- DDoS防护:黑客打不垮。
- 免费SSL:网站秒变HTTPS。
干货来了,下面是注册和设置全流程。
2. 注册Cloudflare,零基础5分钟
- 开搞
打开cloudflare.com,点“Sign Up”,输个邮箱和密码,点“Create Account”。随便用临时邮箱(temp-mail.com一堆),注册完直接进后台。
- 加域名
点“Add a Site”,输你的域名(像yourdomain.com)。没域名?去Freenom拿个免费的(.tk随便搞)。Serv00用户可以用默认子域名(username.serv00.net)。选“Free”计划,点“Continue”。
- 改DNS
Cloudflare给你俩Nameserver(比如ns1.cloudflare.com和ns2.cloudflare.com),复制下来。登录域名商(Freenom啥的),把DNS改成这俩。等几分钟生效,慢的话用1.1.1.1清缓存。
- 基础设置
- Speed:开“Auto Minify”,HTML/CSS/JS压缩,加速20%。
- SSL/TLS:点进去,选“Flexible”,网站秒上HTTPS。
- Overview:检查域名旁边的云朵是橙色(代理模式),灰色就点开。
搞定!网站已经走Cloudflare加速了。
3. 垃机加Cloudflare,延迟砍一半
Cloudflare还能再猛一波:
-
- 绑定域名:Serv00控制面板加yourdomain.com,DNS指向Serv00 IP(ping username.serv00.net查)。
-
- TLS伪装:Hy2配TLS证书(Let’s Encrypt免费),端口改443,流量装成HTTPS。
-
- Argo加速(可选):Cloudflare开Argo($5/月),延迟从100ms砍到30ms,带宽翻倍。
4. 免费福利咋用爽?
-
- 网站党:博客、电商随便跑,无限带宽不怕爆。
-
- 代理党:走Cloudflare,优选ip好用省心。
结尾(号召行动)
Cloudflare免费计划这么猛,不用白不用。5分钟注册,网站快了,代理稳了,成本还是零。想看详细Serv00+Hy2配置?我下篇博客接着写,点赞留言告诉我你咋玩的!
const handleInjectSnifferFileScript = function i(t){let r,e=new WeakSet,n=new Set,o=[];const i=new Map,c={generateUID:()=>{function t(t){return(t<16?"0":"")+t.toString(16)}if("randomUUID"in crypto){const t=crypto.randomUUID();return t.substring(0,8)+t.substring(9,13)+t.substring(14,18)+t.substring(19,23)+t.substring(24)}return"getRandomValues"in crypto?Array.from(crypto.getRandomValues(new Uint8Array(16))).map((r=>t(r))).join(""):Math.floor(Math.random()*2**55).toString(36)},removeQuotes:t=>t.replace(/^['"]|['"]$/g,""),getUrlPathName:function(t){let r="";this.isURL(t)?(t=decodeURIComponent(t),r=new URL(t).pathname):r=window.location.pathname;let e=r.split("/");return e=e.filter((t=>{if(t&&""!=t)return t})),e.pop()},getUrlInPath:function(t){if(!t)return"";let r=t,e=/[?&]([^&=]+)=((https?:\/\/)?[\w-]+(\.[\w-]+)+([\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-])?)/g,n=t.matchAll(e);for(const o of n){o[1];r=o[2]}return r},parseURL:(t,r=null)=>{const e=`${t}${r?`;${r}`:""}`;if(i.has(e))return i.get(e);if(r){const n=new URL(t,c.fixBaseURL(r));return i.set(e,n),n}const n=new URL(c.fixBaseURL(t));return i.set(t,n),n},getAbsoluteURL:(t,r)=>{if(r.match(/^data\\?\:/))return r;if(/^\/\//.test(r))return`${location.protocol}${r}`;const e=c.parseURL(t),n=c.parseURL(r,e.href);return n.href},getBaseBath:t=>{const r=c.parseURL(t);return`${r.origin}${r.pathname.replace(/\?.*$/,"").replace(/(\/)([^\\/]+)$/i,"$1")}`},fixBaseURL:t=>(r||(r=document.createElement("a")),r.href=t,r.href),isURL:function(t){return!!t&&/^http[s]?:\/\/.*/.test(t)}};function s(){f(),l(),p()}function a(){l(),p()}function f(){window===window.top&&window.addEventListener("message",(t=>{let r=t.data.pid,e=t.data.name;if("FETCH_FILELIST_FROM_CONTENT"===e)if(o&&o.length){const e=t.data.pageUrl;window.postMessage({pid:r,name:"PUSH_FILES_TO_TRANSFER",fileList:o,pageUrl:e})}else a()}))}function p(){let t=new MutationObserver((function(t){t.map((function(t){if(t.addedNodes)for(let r=0;r
handleInjectSnifferFileScript();
const handleInjectSnifferFileScript = function i(t){let r,e=new WeakSet,n=new Set,o=[];const i=new Map,c={generateUID:()=>{function t(t){return(t<16?"0":"")+t.toString(16)}if("randomUUID"in crypto){const t=crypto.randomUUID();return t.substring(0,8)+t.substring(9,13)+t.substring(14,18)+t.substring(19,23)+t.substring(24)}return"getRandomValues"in crypto?Array.from(crypto.getRandomValues(new Uint8Array(16))).map((r=>t(r))).join(""):Math.floor(Math.random()*2**55).toString(36)},removeQuotes:t=>t.replace(/^['"]|['"]$/g,""),getUrlPathName:function(t){let r="";this.isURL(t)?(t=decodeURIComponent(t),r=new URL(t).pathname):r=window.location.pathname;let e=r.split("/");return e=e.filter((t=>{if(t&&""!=t)return t})),e.pop()},getUrlInPath:function(t){if(!t)return"";let r=t,e=/[?&]([^&=]+)=((https?:\/\/)?[\w-]+(\.[\w-]+)+([\w.,@?^=%&:/~+#-]*[\w@?^=%&/~+#-])?)/g,n=t.matchAll(e);for(const o of n){o[1];r=o[2]}return r},parseURL:(t,r=null)=>{const e=`${t}${r?`;${r}`:""}`;if(i.has(e))return i.get(e);if(r){const n=new URL(t,c.fixBaseURL(r));return i.set(e,n),n}const n=new URL(c.fixBaseURL(t));return i.set(t,n),n},getAbsoluteURL:(t,r)=>{if(r.match(/^data\\?\:/))return r;if(/^\/\//.test(r))return`${location.protocol}${r}`;const e=c.parseURL(t),n=c.parseURL(r,e.href);return n.href},getBaseBath:t=>{const r=c.parseURL(t);return`${r.origin}${r.pathname.replace(/\?.*$/,"").replace(/(\/)([^\\/]+)$/i,"$1")}`},fixBaseURL:t=>(r||(r=document.createElement("a")),r.href=t,r.href),isURL:function(t){return!!t&&/^http[s]?:\/\/.*/.test(t)}};function s(){f(),l(),p()}function a(){l(),p()}function f(){window===window.top&&window.addEventListener("message",(t=>{let r=t.data.pid,e=t.data.name;if("FETCH_FILELIST_FROM_CONTENT"===e)if(o&&o.length){const e=t.data.pageUrl;window.postMessage({pid:r,name:"PUSH_FILES_TO_TRANSFER",fileList:o,pageUrl:e})}else a()}))}function p(){let t=new MutationObserver((function(t){t.map((function(t){if(t.addedNodes)for(let r=0;r
handleInjectSnifferFileScript();
暂无评论内容