使用Chromedp+GoQuery模拟人工操作,打通系统数字壁垒
前言在团体内部,往往有着多个系统,系统之间往往是一个个数据孤岛,各自互不连通,各自为政。为了打通各个系统,一方面可以通过统一认证(SSO,Single-Sing-On,单点登录);一方面,对于不太需要用户登录的系统,只需要从其中获取一些信息的系统,也可以做一个中间件去抓取并提供这些信息返回给用户。这次,我们就需要打通两个系统,要实现内部 VPN 系统的用户注册、删除用户、查询连接信息(也就是增删改),并把这些信息返回给另一个系统(比如 OA,或是其它系统/第三方调用)。我们这次就来做这样的一个中间件。
思路我们要对接的 VPN 系统是 django-sspanel ,由于没有数据表结构,大概看了一下增删改查都涉及到多个表的变更,所以直接去操作数据库显然是不明智的,而这个系统也没有接口文档,简单抓了一下包发现请求除了登录后的 cookies ,还需要携带一个 csrf-token ,而这个 token 也不知道是怎么生成出来的,感觉可能是根据时间为基础计算的,每次登录都不一样,和之前做的每日健康打卡不一样,那个只需要一个 Authorization 认证 Code 就行,而且有 ...
PluJS显身手,博客换新颜
前言换到 Plumemo 已经有一年多时间了,博客的轮播图也很久没有换过了,虽然图源辗转从 jsdelivr 先后换到了某第三方()和自建图床,但是轮播图的内容却一直没有换,究其原因主要是懒轮播图换起来太麻烦了,所以这次打算彻底解决一下这个问题
细心的朋友可能已经注意到从 12 月 14 号开始,博客上了一批必蓝碧蓝档案的新图,就是用我新做的工具安排上的,下面就来介绍一下我写的这个小工具 —— PluJS
PluJS简介PluJS 的名字来源于博客系统 Plumemo 和轮播图链接地址存储和调用方式(JavaScript)二者相结合,所以叫做 PluJS 。软件的图标是碧蓝档案的白洲梓。使用 Golang 编写,GUI 使用了 fyne 库,能够生成 Plumemo 轮播图的 JavaScript 文件,实现轮播图的增删改查。软件在 GitHub 上开源,可以在 GitHub 获取源码和编译好的小工具本体,项目地址:https://github.com/luckykeeper/PluJs,顺带求 Star ~
原理和需求Plumemo 的轮播图不能在系统后台配置,而是在主题文件夹内的 ...
打造一个智能温湿度监测平台
前言最近需要整一个智能物联网平台来接入机房温湿度监控,旧有的设备是 Konnad 的温湿度传感器 ,是 RS485 协议的 ModBus RTU 设备,通过 ZLAN 的串口服务器转成 ModBus 设备,这套价格比较贵,而且用起来非常麻烦,必须用十六进制的指令码去查数据,返回的数据还是一个低位前置的十六进制浮点,想用起来需要自己开发。所以趁这次机会换成低价方便的 ESPHome+小米米家蓝牙温湿度计2 的方案,平台选择了 Home Assistant(以下简称 HA)的方案
硬件准备HA
Home Assistant(HA) 是物联网智能系统的中枢,在各物联网平台中,目前 HA 是最广泛使用的物联网平台,有着最广泛的生态。能够将不同品牌厂商的设备连接到本地服务器上,而无需依赖厂商的云服务,也可以将不支持苹果 HomeKit 的设备接入 HomeKit 平台,能够在本地控制智能物联网设备(HA无需联网也可控制)。HA 能够连接 TCP/IP 设备、BLE 设备、ZigBee 设备、Z-Wave 设备等多种协议的设备。
在较大规模部署中,设备往往分布在多处,直接将蓝牙接收器设 ...
无人值守一键全自动装机?快来试试Cobbler
前言最近在研究 DHCP 服务,注意到 DHCP 可以配挺多 Option 的,其中我觉得最有意思的就是 Option66 和 Option67 了,指定这两个参数就可以实现网络启动,通过搭建 PXE 服务就可以实现无人值守一键装机,不需要 U 盘,不需要人看着,只需要插上网线就能搞定,是不是很有意思?今天咱们就来安装一套 PXE 服务!
准备阶段选型概述网上的教程基本上都是把 DHCP 服务和 PXE 服务安装在一台机器上面,在实际的网络环境中,往往已经存在了 DHCP 服务(路由器 or 交换机),而且这种通过手写配置的 DHCP 并不好进行管理,所以本次部署我们将 DHCP 和 PXE 分开。
顺带一提,如果需要把 DHCP 和 PXE 放在一台机器上运行,可以不装 dhcp 包,试试 ISC DHCP 加上 glass 管理界面,前几天搭了一套还挺好看。不过 glass 是一个 DashBoard ,只能看状态不能做设置,WEB 上给了一个写设置的地方但是其实是一个网页编辑器,还是要写文本的配置,不小心改错了就寄()
DHCPDHCP 的话,可以用内网现有的 DHCP 服务 ...
用Go来完成每日健康自动打卡
前言快开学了怎么还是没有动静捏,让天天打卡哩,整一个自动打卡节省自己的时间,写完之后在这里记录一下思路供各位参考
思路概述学校使用耶鲁大学的 CAS 来做 SSO 统一身份认证,调整了 CAS 的默认加密方法,有点复杂,前端看不懂啦(看了一下,加盐了,而且可能拼接了一个字段上去,没看出来具体是哪种方式,应该是SHA系列的加密),所以打算用 Chrome 模拟点击的方式来登录系统,拿到认证 Code 或者直接去填写
旧版旧版做起来比较简单,因为有 WEB 版的,就直接在 WEB 上填写,Go 的话有个 chromedp 库可以调用并操作一个无头(Headless)的 Chrome 浏览器,通过 HTML 的选择器可以选择相应元素并进行操作,登录那里选择用户名和密码的框框,然后把用户的学工号和密码输入进去敲个回车即可完成登录流程,需要特别注意的是,用程序操作时浏览器不会自动跳转到登录后页面,需要手动跳转一下到 OA 首页,就可以直接进入,不会再跳回到 CAS 页面。接下来直接跳转到旧版填报页面填报即可
新版新版的情况比较复杂,通过 Fiddler 抓包可以发现新版只能在 APP(Andr ...
网络改造&IPV6设置小记
概述这个假期回来把自己家的网络进行了一次大改造,主要是实现了以下内容
增加了两台机器(单网口),并实现虚拟化
实现到 LuckyServer 方向的网络互通
实现自建 DNS Server
增加旁路网关
增加 IPTV 服务器
使用 LuckyServer 端设备对本端网络设备进行监控
增加了 IPV6 并对外提供服务
为了实现以上目的,增加了两台 X86 的机器,使用 PVE 进行了虚拟化,用 PPTP 打通了两端网络,AdGuard 实现 DNS 服务,OpenWRT 实现旁路网关,MQiTV 实现 IPTV 服务器,Cacti 对网络设备进行监控,使用之前建设的 serverstat 平台监控新增的两台设备的运行状况,UptimeRobot 从外网端进行监测
细嗦01 虚拟化虚拟化本次选择了非常经典的 ProxmoxVE ,选择 PVE 的原因有这么几个
UnRAID 一台机器需要一个U盘,很浪费U盘
本次不需要用机器来跑 Docker
不需要存储功能
PVE 的 Debian 系统本身可以跑一些程序
相比 ESXI 开源免费
安装非常简单,需要注意的是虚拟化如果要做成 ...
LuckyBlog里站上线!
点击这里访问里站
什么?!!你居然访问不了?!不是吧不是吧,2202年了,不会还有人没有用上 IPV6 吧!(doge)
里站仅支持 IPV6 访问,不支持 IPV4 访问喵~
部分不适合放在主站的内容将搬至里站
Q & A里站有什么?
不大适合放在主站的内容,包括随笔,吐槽,个人寄事等等
没有 IPV6 ?
拜拜了您嘞~
里站是用啥整的?
halo ,Dream 主题,想用 Halo 很久了
主站今后会放些什么?
正经技术向的内容吧
使用dlib和face_recognition做一个简单的人脸识别
前言这段时间比较闲,看边上屋子里面的老师在玩 opencv ,于是也打算玩玩,因为之前从来没有接触过,于是打算先用人脸识别上个手
语言和库的选择因为对 Python 比较熟悉,所以当然是用 Py 啦,然后就在 GitHub 上瞎逛,看到了这个 https://github.com/ageitgey/face_recognition ,上面写着
The world’s simplest facial recognition api for Python and the command line
既然是 world’s simplest ,当然就选这个啦
看了一下,是用 Python 调用的 C++ 写的 dlib 来整的
编译 dlib (痛苦面具)最开始试了一下 CPU 版,卡的鸭皮,因为自己的电脑有显卡,所以还是在自己的电脑上面来整,但是自己的电脑又不方便装 Linux ,双系统系统盘位置又不大够,于是只好在 Windows 上 en 整
Windows 整各种和 AI 有关的都非常不友好,dlib 光编译就花了我两天,甚至整的有点小破防,所以下面讲讲咋整
系统准备硬件、OSWi ...
使用Python实现一个简单的跳转站检测
前言因为我的博客和跳转站在两台不同位置的机器上,博客的那台机器时不时会停电,所以很早之前就一直想做一个博客存活检测程序,并自动返回页面给访客(之前一直都是发现博客站挂了手动换文件)。在刚有这个想法的时候还比较菜,当时跑去问了 W ,他说拿 js 可以整一个。后面因为各种各样的事情要忙,这个事情就一直咕着,最近手头的事情办的差不多了,又想到了这个,整好近半年写了点 Python ,于是花了不到半个小时糊了这么个东西出来。
代码见 https://github.com/luckykeeper/jumpSite_Detect
思路思路非常简单,用 request 去爬 CDN 和博客站
如果都是 200 OK,开放跳转
如果 CDN 挂了,博客没挂,跳转站页面资源切换到自建网盘,同时开放跳转
如果 CDN 挂了(或者没挂),博客站挂了,切换到故障页面,提醒访客稍后再来
页面切换方法:提前准备三个 HTML 文件(分别对应以上三种情况)
状态展示方法:字符串替换,在 HTML 文件想插入状态的地方放一段注释,像这样
<!-- devinput -->
Python 搜索替 ...
开源可自建的酷炫网络攻击地图,不来试试嘛?
开源地址:https://github.com/luckykeeper/attackMap
文档站:https://luckykeeper.github.io/attackMap/
后端:python
数据库:MongoDB
前端:ECharts ,基于 http://jsorz.cn/blog/2015/12/attack-map-with-amd.html 修改
第一次在B站上做视频,没想到因为 ECharts 的地图 B 站没给过,那就放在这里吧
欢迎尝试,要是感觉还可以的话希望能去 GitHub 给个 Star