利用cloudFlare的边缘计算workers实现外链转内链跳转

跋涉者曾经分享过一篇7b2主题外链跳转的文章,那篇文章实现的原理是在自己服务器里增加一个跳转的页面代码。

[zrz_insert_post id=1656]

不过今天看张戈大神的一篇文章CloudFlare边缘计算Workers尝鲜初探:博客跳转中间页。这篇文章谈到可以把这个跳转代码保存到cloudFlare的边缘计算workers中,从而让跳转可以在CDN里实现,显然,这样会减轻服务器计算的压力。对小水管的博客来说有一定的使用价值。

首先,你的网站要使用cloudFlare这个cdn加速。

由于国内的网络情况,直接使用往往比较卡,不过好在张戈大神折腾出了另外一个套路,使用后感觉还不错。有兴趣的朋友可以去他的网站上参考。本文不做详细的叙述。

第二,把代码添加到cloudFlare的边缘计算workers中

步骤如下:

  • 打开CF域名控制面板,如图1点击切换到Workers选项卡;
  • 点击【Launch Editor】按钮进入Workers编辑界面后,点击【Add script】输入脚本名称并保存,如图:
利用cloudFlare的边缘计算workers实现外链转内链跳转
  • 把如下代码放入代码编辑框中,此代码来自张戈博客.并点击save。

addEventListener('fetch', event => { event.respondWith(handleRequest(event.request)) }) /** * Fetch and log a request * @param {Request} request */ html = `<html><html lang="zh-CN"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"><meta name="renderer" content="webkit"><meta http-equiv="Cache-Control" content="no-transform" /><meta http-equiv="Cache-Control" content="no-siteapp" /><meta name="robots" content="noindex, nofollow" /><meta name="applicable-device" content="pc,mobile"><meta name="HandheldFriendly" content="true" /><meta name="description" content="跳转页面" /><meta name="keywords" content="跳转页面" /><script>var base64EncodeChars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var base64DecodeChars=new Array(-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,-1,,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1);function base64encode(str){var out,i,len;var c1,c2,c3;len=str.length;i=;out="";while(i<len){c1=str.charCodeAt(i++)&255;if(i==len){out+=base64EncodeChars.charAt(c1>>2);out+=base64EncodeChars.charAt((c1&3)<<4);out+="==";break}c2=str.charCodeAt(i++);if(i==len){out+=base64EncodeChars.charAt(c1>>2);out+=base64EncodeChars.charAt(((c1&3)<<4)|((c2&240)>>4));out+=base64EncodeChars.charAt((c2&15)<<2);out+="=";break}c3=str.charCodeAt(i++);out+=base64EncodeChars.charAt(c1>>2);out+=base64EncodeChars.charAt(((c1&3)<<4)|((c2&240)>>4));out+=base64EncodeChars.charAt(((c2&15)<<2)|((c3&192)>>6));out+=base64EncodeChars.charAt(c3&63)}return out}function base64decode(str){var c1,c2,c3,c4;var i,len,out;len=str.length;i=;out="";while(i<len){do{c1=base64DecodeChars[str.charCodeAt(i++)&255]}while(i<len&&c1==-1);if(c1==-1){break}do{c2=base64DecodeChars[str.charCodeAt(i++)&255]}while(i<len&&c2==-1);if(c2==-1){break}out+=String.fromCharCode((c1<<2)|((c2&48)>>4));do{c3=str.charCodeAt(i++)&255;if(c3==61){return out}c3=base64DecodeChars[c3]}while(i<len&&c3==-1);if(c3==-1){break}out+=String.fromCharCode(((c2&15)<<4)|((c3&60)>>2));do{c4=str.charCodeAt(i++)&255;if(c4==61){return out}c4=base64DecodeChars[c4]}while(i<len&&c4==-1);if(c4==-1){break}out+=String.fromCharCode(((c3&3)<<6)|c4)}return out}function utf16to8(str){var out,i,len,c;out="";len=str.length;for(i=;i<len;i++){c=str.charCodeAt(i);if((c>=1)&&(c<=127)){out+=str.charAt(i)}else{if(c>2047){out+=String.fromCharCode(224|((c>>12)&15));out+=String.fromCharCode(128|((c>>6)&63));out+=String.fromCharCode(128|((c>>)&63))}else{out+=String.fromCharCode(192|((c>>6)&31));out+=String.fromCharCode(128|((c>>)&63))}}}return out}function utf8to16(str){var out,i,len,c;var char2,char3;out="";len=str.length;i=;while(i<len){c=str.charCodeAt(i++);switch(c>>4){case :case 1:case 2:case 3:case 4:case 5:case 6:case 7:out+=str.charAt(i-1);break;case 12:case 13:char2=str.charCodeAt(i++);out+=String.fromCharCode(((c&31)<<6)|(char2&63));break;case 14:char2=str.charCodeAt(i++);char3=str.charCodeAt(i++);out+=String.fromCharCode(((c&15)<<12)|((char2&63)<<6)|((char3&63)<<));break}}return out}function doit(){var f=document.f;f.output.value=base64encode(utf16to8(f.source.value));f.decode.value=utf8to16(base64decode(f.output.value))}; function GetQueryString(name) { var reg = new RegExp("(^|&)"+ name +"=(.*)$"); var r = window.location.search.substr(1).match(reg); if(r!=null) { return  unescape(r[2]); } else { return window.location.pathname.replace("/goto/",""); //注意代码中的/goto/和跳转地址/goto/保持一致,请记得自行修改!     } } jump_url = GetQueryString("url"); // 若传入的是base加密数据,则进行解密处理if( jump_url == base64encode(base64decode(jump_url))) { jump_url = base64decode(jump_url); } // 自定义一些特殊字符串的跳转,请根据实际需求自行发挥,比如:// 访问 "/goto/baidu" 会跳转到百度首页:if(jump_url=="baidu") { jump_url="https://www.baidu.com/"; } // 访问 "/goto/cf" 会跳转到cloudflare首页:if(jump_url=="cf") { jump_url="https://www.cloudflare.com/"; } // 网址校验var UrlReg = "^((http|https|thunder|qqdl|ed2k|Flashget|qbrowser|ftp|rtsp|mms)://)"; if(jump_url == null || jump_url.toString().length<1 || !jump_url.match(UrlReg)) { document.title = "参数错误,正在返回首页..."; jump_url = location.origin; } // 延时执行跳转setTimeout(function link_jump() { // 防止盗用,但是微信等客户端无法取得referrer,因此这里允许了referrer为空的访问,请自行修改zhang.ge为自己的域名  var MyHOST = new RegExp("ewader\.com"); if (!MyHOST.test(document.referrer) && document.referrer.length ) { alert("请不要盗用本站跳转页面!"); location.href = "https://tunan.org/"; return; } location.href = jump_url; },1000); setTimeout(function(){window.opener=null;window.close();}, 50000); </script><title>页面加载中,请稍候...</title><style type="text/css">a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:;padding:;border:;font-size:100%;font:inherit;vertical-align:baseline}body{background:#3498db}#loader-container{width:188px;height:188px;color:#fff;margin: auto;position:absolute;top:50%;left:50%;margin-right:-50%;transform:translate(-50%,-50%);border:5px solid #3498db;border-radius:50%;-webkit-animation:borderScale 1s infinite ease-in-out;animation:borderScale 1s infinite ease-in-out}#loadingText{font-family:"Microsoft YaHei",Helvetica,Arial,Lucida Grande,Tahoma,sans-serif,Raleway,sans-serif;font-size:1.4em;position:absolute;top:50%;left:50%;margin-right:-50%;transform:translate(-50%,-50%)}@-webkit-keyframes borderScale{0%{border:5px solid #fff}50%{border:25px solid #3498db}100%{border:5px solid #fff}}@keyframes borderScale{0%{border:5px solid #fff}50%{border:25px solid #3498db}100%{border:5px solid #fff}} </style></head><body><div id="loader-container"><p id="loadingText">页面加载中...</p></div></body></html>` //console.log(html) async function handleRequest(request) { const newResponse = new Response(html) newResponse.headers.set('Content-Type', 'text/html'); return newResponse }

  • 点击【routers】按钮切到路由编辑界面,点击【Add router】后如图添加路由:点击save
利用cloudFlare的边缘计算workers实现外链转内链跳转

至此,已经大功告成,想看效果的可以点击上面的外链,值得说明的一点是,cloudFlare的边缘计算workers是收费服务,不过每天有免费10w的请求数量,对我们这个小博客来说,是非常非常的够用了。

如果,你也在使用cloudFlare,不妨也可以用用这个玩意,毕竟充分利用外部资源是我等小博主追求的目标哈。

Read more

天上有雨,未落人间——说说《需卦》

天上有雨,未落人间——说说《需卦》

《易经》六十四卦中,《需卦》排在第五。 前面几卦,乾坤是天地之本,屯是起步之难,蒙是启蒙之初,到了第五卦——《需》——天地间万象已动,人也有所思、有所欲,但偏偏,这一步还不能迈出去。 需,有孚,光亨,贞吉,利涉大川。 等,不是停,是蓄。 卦象:天上有云,水未落 需卦的卦象是:上坎(☵,水)下乾(☰,天)。 水在天上,正是积雨之象。我们站在地上,仰望天空,望着那片厚厚的云,知道它迟早会落雨,但此时此刻,还未滴下哪怕一丝甘露。 这就叫“需”。 你知道目标在前,力量也已在身,但时机未到,不能躁进。 用现在的话说就是:“你已经准备好了,但世界还没准备好接住你。” 这不是消极,而是一种审时度势的智慧。

By 老刘
小米SU7又出事了,我们到底该怪谁?

小米SU7又出事了,我们到底该怪谁?

6月11日晚上,郑州街头,一辆小米SU7失控连撞十几辆车——电动车、小轿车都没躲过,车头几乎报废,现场一度混乱不堪。更早之前,安徽那起SU7高速起火致三人死亡的事故也还没从大家脑海中淡去。 姑且不说到底是不是智能驾驶的原因, 也有很多它的粉丝说比亚迪出事多少多少,归根到底还都是电车的问题,那么电车怎么老出事? 是车太猛?人太嫩?还是对“智能驾驶”理解太美好? 动力太猛,新手真心顶不住 先说车。SU7有多猛?顶配版零百加速2秒多,马力直接干到1000匹以上,这种性能放在燃油车里,那就是超跑级别。 但问题是,买它的大多是年轻人,很多是人生第一辆车,甚至有的刚拿驾照没多久。这种“猛兽”配“新司机”的组合,说实话,确实危险系数高。一脚电门下去,车先冲出去了,人还没反应过来。 郑州这次的女司机,就是刚提车不久。车一失控,根本刹不住。不是她不会开,而是这车给新手的容错空间实在太小了。 智能驾驶不是“放手驾驶” 再说智能驾驶。小米宣传的NOA、

By 老刘
站在新高考的起点:对两年后女儿的期许

站在新高考的起点:对两年后女儿的期许

2025年的高考今天落幕,这是“3+1+2”模式全面实施的第一年。从改革到首考,从认知到实践,这不仅是对学生能力的测量,更是一种教育方向的宣示。 作为家长,我对这次高考有三点深刻感受: 一、语文卷:不再“刷题”,更考“立志与思辨” 今年全国卷一作文聚焦“民族魂”,从老舍、艾青、穆旦的文字中引导学生理解爱国情怀的不同方式 。考题不仅强调情感共鸣,也要求结构逻辑清晰,表达真诚、语言自然流畅 。 这道作文开放而不空洞:任何有生活、有思考的学生,都能找到表达路径;但能够精准逻辑、有独立见解,并融入素材,便是真高分。 这使我明白,真正的语文能力,不在于套路,而在于“你是谁”——有温度、有思想、有立场。 二、历史题:文言与史料,强调跨学科理解 今年历史全国卷大量使用文言史料,并引导学生依据不同角度进行对比、评析与判断

By 老刘
荔枝路远,道在人心——从《易经》看李善德的一生

荔枝路远,道在人心——从《易经》看李善德的一生

马伯庸的小说《长安的荔枝》及其改编剧集,看似讲述一场跨越千里的荔枝运输奇旅,实则以小人物的遭遇折射盛唐末期政治、社会、文化的真实图景。主人公李善德,这位从九品小吏,在完成“运荔枝”这一看似荒诞实则关乎权力的任务中,演绎出一部小人物在大时代中如何“知命”、“尽性”、“归真”的命运史。 本文尝试以《易经》的视角,借其卦象与哲思,还原李善德的命运轨迹与精神转化。 一、《屯卦》:困中求进,命运起始 卦辞:“屯,元亨,利贞。勿用有攸往。利建侯。” “屯”象征万物初生,动荡未定。李善德身为地方文吏,无权无势,却在极为不利的局势中被委以“千里送荔枝”之命——这是危也是机。他组建了一支临时小队,历经风雨山川、盗贼瘴气,表面是传荔枝,实则是在夹缝中求生存。这正是“屯”卦中的“利建侯”

By 老刘