Vorker开发笔记-自建的云函数平台
项目地址:https://github.com/VaalaCat/vorker
引言博客看起来有一年没更新啦,加入跳不动公司过后真的跳不动了QwQ。最近琢磨着还是该写点什么免得让大家以为我赛博失踪,这次的项目我给它取名为Voker。其基于Cloudflare公司开源的Workerd,这个Workerd就是CF知名产品Cloudflare Worker的引擎。但CF仅开源了引擎,另外的能力如运行编排、KV存储、控制面板、版本控制、日志统计收集、用户权限等功能并没有公开,所以需要自己完善这方面的能力。
代码和使用说明参考Github:Vorker
这次要做的就是Cloudflare Worker的自托管(Self Hosting)版本,代码执行能力由CF开源workerd组件提供,其余能力自行开发完成
之所以叫Voker,因为做出来的东西相比Worker不完善,所以把W砍一半就变成V了,同时做的时候人快没了,所以少了个r(qqqq以前叫voker,现在拉了一个sems和我一起,人还是在的
需求介绍此次的需求是完成一个自托管版本的Worker,主要原因是:
CF的worker域名被墙, ...
异地多人在线电影院
引言最近一段时间和npy异地,经常就会有一些一起看视频的需求,然鹅市面上视频共享的产品要么是因为版权的原因资源不足,要么是因为产品定位没有办法顾及到这种小众市场需求。
作为一个开发,遇到这种问题当然是决定要自己敲一个出来咯。
演示 演示站点:https://movie.vaala.cat/ 不保证可用性,需要的同学请自行搭建。 测试用视频地址:https://media.w3.org/2010/05/sintel/trailer.mp4
产品调研在准备自己动手之前,首先要分析市面上已有的方案有哪些,需要吸取经验和创意作为自己项目的feature。
在知乎和v2 reddit 以及油管上调研后发现,异地恋在线视频同步这种需求一般有如下几种解决方案:
打个电话喊321,最简单最直接的方案,不过遇到视频卡顿或者想要暂停和分享精彩镜头就有些麻烦了
各种国外产品,例如syncTube,twoseven等,这类产品能够同步的是Netflix或YouTube上的流媒体,在国内几乎没有受众,对我来说也是毫无用处。
各种国内产品,例如BiliBili一起看,微光等产品,这类产品也大都因 ...
在Alfred中丝滑的搜索群晖NAS中的文件
引言首先给出仓库地址
synology-alfred
在使用了一段时间的 MacOS Spotlight 搜索过后被其丝滑的体验俘获,并且作为一个多年的群晖 Synology NAS 用户,其内置的 Universal Search 功能更是及其强大,这个功能使用 ElasticSearch 提供搜索服务,使用 Apache Tika 进行数据提取,可以对 NAS 中的所有文件内容注意是内容进行检索,功能是非常的强大。
所以我萌生了将 Universal Search 搬到电脑上的想法,经过调研发现非常的困难其实是我太菜,将这么重型的服务运行在笔记本电脑上常驻是不现实的,经过一番查找发现了很多资料,最后决定使用 Alfred 与 NAS 进行交互从而快速检索文件。
主要流程由于以前没有接触过 Workflow 开发,所以这次是跟着官方的 Example 走了一遍,结果发现官方的 workflow-python 竟然不支持 Python3(官方文档说马上就要开发新版本 Workflow),并且我找到的 Synology API 只支持 Python3 ,看起来是我和 Python 五 ...
修复 MacOS TimeMachine 的同步错误
引言作为一个新的白🍎用户,对于 TimeMachine 属于又爱又恨,其官方指定的备份目标 AirPort Time Capsule 实在是过于高贵,所以我选择使用一个提供 AFP 服务的 NAS 作为备份目标磁盘 (SMB 协议据说会出现神秘掉盘问题)
在内网中快乐的使用几天后出了趟门,想着使用 Wireguard 连回内网路由段接着备份。理想非常的丰满,实践却出了问题,在某一次备份时意外断了网,回到内网中报了如下错误
1无法访问备份磁盘映像“Vaala的MacBook Pro.sparsebundle”(错误35)。
在 Apple 论坛和互联网中找到的都是让我清除备份重来,就像下面这样
https://discussionschinese.apple.com/thread/86190
但备份不久是为了防止出错?再来清理出错的备份也太本末倒置了,分析问题发生的情况后我选择降低备份频率,使用 TimeMachineEditor 阻止日间备份,并且备份只能在 Mac 不活跃时进行。不出意外,再次苟活几天后又出现了相同错误,原因竟然是 MacOS 在休眠时会自动断开网络连接导致备 ...
Mysql的UTF8与UTF8mb4
由于某个神秘项目的需要,出现了一个导入上亿条 utf8 数据到 mysql 5.7 中的需求,在实际使用的过程中,我发现 node 在向数据库中写入中文数据时会出现类似下面的报错
1failed: Error: Incorrect string value: '\\xC4\\x83ri' for column 'name' at row 1
于是我猜测是字符编码的问题,于是就将编码全都改成了 utf8,但尝试过后还是存在这个报错,遂上 stackoverflow 学习了以下前人的经验,发现了一篇文章 How to support full Unicode in MySQL databases · Mathias Bynens 这里详细讲解了 mysql 中 utf8 编码的问题,并且指出 mysql 中推荐一直使用完整的 utf8mb4 编码,这里对文章做了一个翻译
修改库、表、列
数据库名1ALTER DATABASE 库 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
表名1ALTE ...
2020
655df12fea9e4999faa35294bcc0eb97e6de1933d46fa278f0dc03174ac0adade10d23a03a4c402cfe6507a07f93f930c0f57a6321fa00295a9706756547a14c
您好, Vaala需要你的密码.
HDUACM OJ 自动 AC 机
背景因为学校政策问题,大二才学习 C 语言课程,老师要求我们刷满 HDUOJ 60 道题目,当然像我这种已经 OI 退役的选手必然不想再碰算法,于是找 vy 要了一百多道 AC 代码,写了个爬虫交了上去。抓包看了下 HDU 的提交逻辑,发现完全没有对爬虫做限制,直接用 postman 生成的代码带上 session 就能正常工作
代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051import osimport urllibimport base64import requestsimport timepath = "C:\\Users\\hahahahaha\\Documents\\Code\\hdu_auto_ac1\\srccode" # AC代码文件夹目录files = os.listdir(path)codepath = []src = {}for root, dirs, files in os.wa ...
信息论复习思维导图
有到了每年懒狗的末日,丢个图上来
限制intel处理器睿频提升轻薄本使用体验
surface book 2 已经服役两年多了,自从前几个月配置好了服务器后就大量使用了云服务迁移了计算服务和数据,大大减少了单终端的负载和重要性,于是趁着这个机会重装了系统,想着把本地的环境全部使用虚拟化部署,免得邮箱之前一样将环境整的乱七八糟。但是让我没想到的是重装过后鼠标拖动窗口移动竟然还是会出现之前一样的卡顿,但是玩游戏又不会卡顿,让我感觉到很是奇怪。打开了n多监控软件,发现在高速移动鼠标的时候会出现 cpu 频率急剧增加的情况,于是尝试使用电源配置限制最高频率,反正也没法一直跑满频率:
12powercfg -SETDCVALUEINDEX SCHEME_BALANCED SUB_PROCESSOR PROCFREQMAX 3800powercfg -SETACVALUEINDEX SCHEME_BALANCED SUB_PROCESSOR PROCFREQMAX 3800
然后重启生效,重启过后发现很多小问题都得到了解决,鼠标拖动也是丝般顺滑,舒服
ctfd使用ctfd-whale动态靶机插件搭建靶场指南
引言由于之前的文章使用的是赵师傅的仓库,里面的 ctfd 版本不能保持官网最新,很多师傅都提到了这个问题,于是重新部署了一下 ctfd 并做一下记录首先要注意的是系统版本,经过众多师傅的反馈发现 Ubuntu 20 会出现不可预测的 bug,请尽量使用 Ubuntu 18 部署该文章历史版本:github
部署这里我使用 frankli0324 师傅 fork 后修改的赵师傅 ctfd whale 的版本进行搭建,并对配置文件和项目文件进行了一些定制后打包到了我自己的仓库方便部署
VaalaCat/ctfd_whale
VaalaCat/CTFd
准备安装环境由于动态靶机是使用 docker 实现的,所以首先要准备安装一下 docker
1curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
然后还要准备 docker-compose
1sudo pip3 install docker-compose -i https://pypi.tuna.tsinghua.edu.cn/sim ...