2021 年

利用 Cloudflare Worker 反代 Blogger 站台

Tony 提交于

Cloudflare Worker 可以无服务器跑一些 js 小程序,网上已经有不少脚本了,例如做导航站。
 

本文介绍一个适用于 Cloudflare Worker 的代理程序 cf-revpxy ,特点是 一个 worker 反代多个站点,支持文本替换,资源替换功能。
 

原料

Github:https://github.com/KusakabeSi/cf-revpxy

一个使用 Cloudflare 解析的域名。

步骤

  1. 在 Cloudflare 新建一个 worker(❗切记选免费的 tier)
  2. https://github.com/KusakabeSi/cf-revpxy/blob/main/worker.js 的内容贴到 worker 的 Script 编辑框里
  3. 代码最上面的部分(第二行开始)的 reverse = {} ,要按照 这里的模板修改 https://github.com/KusakabeSi/cf-revpxy/blob/main/reverse_demo.js
  4. 保存并且发布该 worker
  5. 在 Cloudflare 域名管理部分里的 Worker ,点击右面的 add route,输入反代后的域名例如 blogger.tonyhead.com 后加 /*❗切记切记,否则打不开子页面),worker 下拉选择第一步新建的 worker,保存
  6. 在 Cloudflare 域名管理部分里的 DNS,添加 blogger 的 CNAME 记录,指向步骤1里的 workder 二级域名(类似 abc-xyz-1234.cf用户名.workers.dev),切记要打开橙色云,然后保存
  7. 访问 https://blogger.tonyhead.com,就是你看到的这里 🙌💐
     

需要调整的地方

回到上面步骤3的 reverse 段落,对 "replace": {}, "reverse": {}, "redirect": {} 字段进行修改(类似 Nginx 的 sub_filter),来达到替换静态资源/路径的目的。具体什么意思,请参考步骤3里的例子。

例如 CF 刚好分配到欧盟的 IP 的话,会触发欧盟的 cookie 通知,导致页面会多一段 cookiechoices.js,利用 "replace": { '/js/cookienotice.js': '',} 就可以轻松去掉。

强大的替换功能甚至可以不用再通过注释解义去修改模板文件了( </head> -> </head><!---->,  </body> -> &lt;!--</body>--&gt;&lt;/body&gt; 这种),对模板的“伤害 ”可以尽量减少,分享皮肤起来也更加方便。
 

缺点

  • CF 橙色云有众所周知的网络问题
  • 因为在 blogger 后台不用设置域名,所以反代后的域名对不上,有可能申请不了AdSense
  • 需要搜索功能的话还是得找个空间储存 indie_compiled.js 
  • 需要小控件的话(例如分享按钮)还是得找个空间储存 widgets.js
     

优点

  • 设置简单
     
  • 不用服务器
  • 不用找可用 GHS IP
  • 移动版同样可用
  • 强大的替换功能如上所述
  • 一个 worker 可以反代 N 个网站
  • https 证书由 Cloudflare 自动签发

回到顶部

文章标签

Cloudflare 免费版现已支持视频,音频和压缩文件的缓存了

Tony 提交于

9月12号以来一个在线电台的网站流量跌了很多,日志显示流量只是平时的 1/10,但访客数没有变化。上传了一个新的 mp3 文件测试,日志里没有回源,说明流量被CDN(Cloudflare)缓存了下来,但我记得以前 CF 并不会缓存 mp3 格式,找了一圈,发现 Cloudflare 关于文件缓存部分的说明发生了变化。

Note

The Free, Pro, and Business plans additionally support APK, EXE, DMG, BIN, ISO, ZIP, RAR, ZST, TAR, BZ2, 7z, GZ, MP4, MKV, AVI, WEBM, MP3, OGG, and FLAC file extensions.

https://developers.cloudflare.com/cache/about/default-cache-behavior

还支持 MP4 和 MKV,小主机在线看片不是梦。😁

9月12日开始流量陡然下降但访客数没有减少。

Cloudflare 给出的统计在 9月15日当天一度节省了 251GB 的流量,5-7 天内(今天是17号)综合节省了75%的流量,反推出该网站每月流量在 5-6 TB 左右。

该网站 YTD 的带宽是 15Mbps 左右,但 9月12日后已经小于 2Mbps,看来不用更换主机了,感谢 Cloudflare 为广大站长省钱。🤑

文章标签

💾 姐姐别墅 NAS QNAP TS-212P3

Tony 提交于

服役时间

服役时间:2021年08月11日起,XXXX年XX月XX日止,共服役XXXX天。

回到顶部

设备故事

功耗:2个3TB硬盘待机功率为17W左右。

回到顶部

外观

QNAP TS-212P3

相关链接

  1. QNAP TS-212P3开箱使用简评
  2. 大妈首发:QNAP 威联通 TS-212P3 入门级NAS 了解下

回到顶部

[已退役]💻 HP Envy x360 13

Tony 提交于

服役时间

服役时间:2021年07月07日起,2023年11月20日止,共服役866天。

回到顶部

设备故事

精致的 13寸小机器,1.3kg 及 14.9mm 的身材和 TypeC 口充电使得这台🍟薯条本非常便携,但 COVID-19 后出差的机会变得很少了,这台本子被放在单位杂物柜里,通过 TypeC 接上 docking 用来摸鱼非常方便。

回到顶部

配置

 

回到顶部

相关链接

回到顶部

文章标签

如何在 MovableType 子站点启用干净搜索

Tony 提交于

多站台功能一直是 MovableType 的卖点,但实际使用中子站点在进行搜索和评论操作中会暴露 MT 后台的地址,无伤大雅但我们可以改进一下。

针对搜索功能,改进的方法包括:

  1. 不使用搜索,使用清晰的分类和完整的存档页面(小站点完全可以)。
  2. 人为弱化搜索结果页的设计感,尽量减少被访客加入收藏夹的机会。
  3. 使用第三方搜索引擎,对后台没有负担,但如果站点没有收录或者收录较少时效果就很差了。

在 MovableType 启用干净搜索的方法,在子站点的 Nginx 的 Rewrite 处加入:

location /search {
   proxy_pass http://127.0.0.1:5000;
   rewrite ^/search/(.*)$ /cgi-bin/mt/mt-search.cgi?search=$1&IncludeBlogs=22&limit=20 break;
}

Blogs=22 替换成 MT 子站点的ID,再修改一下 Search Widget 里的代码,使之匹配 /search/ 就可以了。

rewrite 很简单,但 proxy_pass 的引入可以很方便地令地址栏保持一致,再次感叹一下 PSGI 模式运行 的便利性。

相关链接

  1. 搞懂nginx的rewrite模块
  2. Nginx rewrite URL examples with and without redirect address
  3. Nginx Rewrite URL Rules Examples
  4. GET request without the question mark
  5. meme图

文章标签

🚲 接娃买菜 小牛电动 F0 50

Tony 提交于

服役时间

服役时间:2021年04月29日起,XX年XX月XX日止,共服役XXXX天。

回到顶部

设备故事

第一台电动自行车,作为共享单车和油车之间的一个补充。电动车的助力让江南西尽头的店都变得触手可及,接娃放学后去吃个双皮奶,逛逛宝岗大道、江南西、沙园一片的内街是非常合适的。

2021年4月赶上了预售,到手只要2099,不知道后续上牌能不能顺利解决。

https://item.jd.com/10028508588003.html

回到顶部

2021-11-30 更新

已经上牌,在微信公众号 广州交警 自助操作,再去指定地点验车上牌即可。

广州178063

回到顶部

F0 VS G0 区别

  1. G0有40公里和60公里版,目前F0只有50公里版。
  2. 车篮都是三点式固定,G0由2颗M6,1颗M8固定。F0由3颗M8固定。

之前我没有开过电动单车的经验,不知道好坏,但用下来的感受是:不推荐购买这个产品。

回到顶部

存在问题

  1. 动力回收减速非常突兀,自己单人驾驶时尚能控制,载人时就困难了,动力回收时的减速比急刹车还厉害,对前座的小孩潜在伤害极大。
  2. 原厂车篮的扣具很紧,无法单手开关车篮,壮汉如我也必须用双手,还得使劲,京东购物页面里还有手指生疼的评论。😨

回到顶部

相关链接

  1. 小牛发票查询

回到顶部

[已退役] 🖥️ 新奇士橙 Coloader

Tony 提交于

服役时间

玩了几个月就觉得没意思了,闲置。

回到顶部

设备故事

心心念 J1900 的机子很久了,很好奇到底有多省电。在逛海鲜市场的时候看到有类似的 J3160 ,于是300元入手,J3160  + 4GB + 320GB HDD。

确实很省电,待机 8W,看电影 12W 左右,遗憾的是斗鱼不能观看高清和弹幕。

目前用来当 Resilio Sync 的保种机,用来维护自己做种的几个资源。

回到顶部

外观

回到顶部

配置

回到顶部

相关链接

 

回到顶部

文章标签

升级到 Drupal 9

Tony 提交于

升级到 Drupal 9

Drupal 的🚂小火车已经来到 了 9 号车站,赶紧上车吧!

花了很多时间把 Drupal 9 升级搞懂了,目前网站从 8.9.11 升级到了 9.1.5,以下是大致的升级流程。

  1. ❗ 备份好 Drupal 8 的 Web 目录和 数据库
  2. 确保正在使用的 Drupal 8 模块都是有 Drupal 9 版本或者支持 Drupal 9 的,有工具但我用第9步里的方法 😉
  3. 寻找同类型的支持 Drupal 9 的模块来取代旧的模块,例如 TagClouds 可以取代 Tagadelic
  4. 对于不能割舍又没有对应 Drupal 9 的模块加入 core_version_requirement 标识,还有可能要改一些代码
  5. 在 settings.php 里加入 $settings['config_sync_directory'] = '/your-path-of-drupal/sync'; 并建立 sync 文件夹
  6. 把 Drupal 8 根目录下的 core 和 vendor 目录删除,把 sites 目录下的 simpletest 目录删除
  7. 下载 Drupal 9
  8. Drupal 9 解压后,把所有文件覆盖到原 Drupal 8 目录
  9. 浏览器打开 http://drupal/update.php,如果有错误提示回到第2步 debug 😨
  10. 如无错误表示升级完成
  11. 删除缓存,开门营业 🎉
  12. 如果你是老实人一个版本一个版本升级上来的还会遇到🕳 不能添加新内容的问题,解决方法在10楼和37楼(Drupal不流行不是没有原因的)

通过这次升级我还摸底了一下网站经过长期使用后所产生的变化,虽然有一些目前不能修复的地方,但都有绕过去的方法,总的来说对网站的整体结构是更加有把握的。

文章标签

📚 页面/专题/手册

🏷️ 标签云