使用 Cloudflare Worker 无Node环境搭建PT-Gen服务
本教程参考BFDZ的教程和Rhilip的项目介绍,感谢两位的工作,本人只是重新写一个无Node环境情况下直接用Cloudflare Worker的小白版教程(毕竟我也是个小白),此教程搭建的服务一般只用于个人学习使用,一切商用行为导致的后果本人一概不负责。
项目地址: https://github.com/Rhilip/pt-gen-cfworker
项目Demo地址: https://ptgen.rhilip.info/
Cloudflare Worker介绍
文档: https://workers.cloudflare.com/docs
Cloudflare Worker是Cloudflare推出的serverless服务,可以使用Javascript以及WebAssembly语言进行编程,其最简单的代码示例如下:
// 1. Register a FetchEvent listener that sends a custom // response for the given request. addEventListener('fetch', event => { event.respondWith(handleRequest(event.request)) }) // 2. Return a custom request object async function handleRequest(request) { return new Response("hello world") }
并提供了相应的CLI工具 Wrangler 进行APP构建。此外,还提供了很简洁的调试界面。
最为良心的Cloudflare Worker是可以免费使用的(免费计划一天最多100,000次请求)
部署基于Cloudflare Worker的PT-Gen
和原项目相比,Pt-Gen-cfworker并不需要你在VPS上搭建复杂(并不)的Python3+uwsgi工具链,只需要你有Cloudflare帐号就可以。
本教程并不介绍Cloudflare帐号的注册方法(请自己搜索),仅分有无Node.js环境对不同用户部署方法进行介绍。
一、无Node环境直接部署
因为项目主文件 index.js 加载了两个npm库用于解析页面,所以并不能直接使用。不过在项目的build分支中,使用Travis CI自动构建了 可以用于CF-Worker的 script.js 。
所以进入Cloudflare的Worker面板,并创建新的Worker并绑定一个KV空间即可。
1.创建KV空间
此空间用于缓存,避免频繁请求浪费次数和空间(个人使用也足够了)
![](http://pan.iqiyi.com/file/sns_comment_v2/jAH71WtT1I-J53OI0vX_3s5h_oL9ACarIX_AF6q4NKuk32x3BecUYbhTTF4FxzY-KIPBOPOAI0rj0U9EUA0nvQ.jpg)
2.创建Worker
![](http://pan.iqiyi.com/file/sns_comment_v2/89jU6RahewMu5VfRodZE4msAw-Lg6bRyUrxOz2vrhOOfs1alw5PyB5tHKDGHsYuYZzHKIBMIGq-2s24ETsZl4w.jpg)
先使用默认的代码内容即可
![](http://pan.iqiyi.com/file/sns_comment_v2/CO9m4fil4xttEBLhu33AX4W0bacyb3MvNPO8-VROtNChj7QXH0SlM_1802mZs07s4ONIxeMHtfdg3yhU58o8zg.jpg)
3.修改Worker的配置
![](http://pan.iqiyi.com/file/sns_comment_v2/7d2W-uyVQH4zekMGqtddg-FvlRO67Mtf_ig7RXNGjazHuss9Ty8FG2Nto--EVaBykxFa0vDQ_bOoZG3MOcVSIA.jpg)
4.设置Worker的环境变量
![](http://pan.iqiyi.com/file/sns_comment_v2/uO2R5V73z-BNXZovWCixJ92xW-N2V5wFrBop9ZMP715eC9xevZYHZ9F1A4bYI1PfizTZrJEIdaGtxKngsVucmw.jpg)
5.添加APIKEY、DOUBAN_COOKIE、PT_GEN_STORE等变量
![](http://pan.iqiyi.com/file/sns_comment_v2/iSyMvZdPIEi1jRoGlTxfSUKyn7sH5ZGUIKbo9oz5-a-BCRBzvQSxo2751lK9GO_5v7znmYlOvePGEcxXDt4tPA.jpg)
![](http://pan.iqiyi.com/file/sns_comment_v2/aHyH2ssZdkE_suwjOXAfdcjy13v0M06odfqQPsAeiGZI-EWSJgBEOy71AqmlHvxsFVk8BVR64UAIz51X1ltmPQ.jpg)
6.修改Worker.js内容
![](http://pan.iqiyi.com/file/sns_comment_v2/4HqVl0KzAcHM2xnTDRsKzvfmau25rYGQrCDIZeVJeMHSI3WpJG2V69kRUImnp2UZ42y8-q9JaH3p4j2Z4LoXpg.jpg)
清空Worker.js默认内容,复制https://github.com/Rhilip/pt-gen-cfworker/blob/build/script.js这个文件内的全部内容进去
![](http://pan.iqiyi.com/file/sns_comment_v2/PHWQsfoY5SaLXuOt34aVD5m5O8n_UBhizASUYkbw43r5DaGVtskaCdFQO7bDFYgFlgiZqHr8jA2lumpt5-Z8cw.jpg)
![](https://blog.rhilip.info/usr/uploads/2019/07/1494080402.png)
7.测试代码是否生效
![](http://pan.iqiyi.com/file/sns_comment_v2/EwKD7KLoYb_Nwg9tawIZ7z7cWx7C3KWAcR-sr0RXeSGIZmMTRjOhYVKhSMq4ZqDeFixFoLINwhtpSfICJI2HvQ.jpg)
上述操作验证有效后直接点“Save and deploy”即可食用了!!!
二、Node环境下使用Wrangler部署
本文不做介绍,各位自行参考BFDZ的教程和Rhilip的项目,也蛮简单的,当然个人用,直接一个CF的Worker不香吗?
评论
评论关闭