Openwrt Hotplug脚本实现ddns

最近在PVE中安装了OpenWrt,某些情况下群晖的DDNS无法更新dnspod的记录,所以想通过Openwrt来实现。如果是用koolshare就很简单酷软插件可以实现一切,但现在用的原版Openwrt,所以只能自己折腾。软件包里的ddns插件不支持dnspod,需要自己写代码。结果就搜到了OpenWrt Hotplug脚本 + Dnspod api 实现ms级延迟的DDNS记录更新,简单方便,先需要通过dnspod的api获取到domain_id和recode_id,然后建立/etc/hotplug.d/iface/30-dnspod.sh文件,内容如下

#!/bin/sh
# wan ifup
if [ $ACTION = "ifup" -a $INTERFACE = "wan" ]
then
    wget -q -O - --post-data="login_token=<login_token>&format=json&domain_id=<domain_id>&record_id=<record_id>&record_line_id=0&sub_domain=<sub_domain>"  https://dnsapi.cn/Record.Ddns --no-check-certificate  > /dev/null
fi

把上面<>里的内容换一下就OK了,现状唯一的问题是dnspod的api限制每小时5次更新,如果一小时内连续5次更换了ip就会被锁定一小时,一般情况下不会出现这种状况吧

UG_NX12.0 for Linux 安装

最近折腾了Manjaro,比Ubuntu要好用点,之前好久都没用linux了,偶尔用用电脑都是笔记本+win10,少折腾。双11弄了一套R5 2400G的主机,现在继续折腾linux中。

工作中要用到UG,从网上下到了UG NX12.0 for linux的版本。反复折腾了几天,终于在manjaro上跑起来了。首先是必须要安装ksh,就是AT&T公司的那个,之前不熟悉arch系的linux操作,安装的相近的mksh。结果是没有结果。
安装完成后会提示缺少一些东西,通过软件包管理器都能搜到,安装后就能启动。会提示连接不到许可服务器,启动不了,需要改环境变量,/etc/profile.d/nx_login.cshnx_profile.sh 破解的许可服务用的是27800@pcname。

接下来就是没法输入,猜测是和fcitx冲突,卸载fcitx安装ibus解决问题。最后是界面始终是英文的问题,网上找N多方法都没解决,看ug的安装文档,最后死马当活马,改了$UGII_BASE_DIR/ugii/ugii_env_ug.dat 文件里 UGII_LANG=simpl_chinese。

启动,完美!
截图_2018-12-06_20-48-55.png

Debian9+nginx使用 Let's Encrypt

主机上的web服务器基本都换成了Caddy,无需操心SSL证书的问题。但是还有一台是Debian9+nginx,暂时也没打算更换,所以就要自动设置获取 Let's Encrypt的证书。certbot ,在执行$ sudo apt-get install python-certbot-nginx -t stretch-backports 的过程中出现了错误提示

E: The value 'stretch-backports' is invalid for APT::Default-Release as such a release is not available in the sources

编辑/etc/apt/sources.list 在末尾加上一行

deb http://ftp.debian.org/debian stretch-backports main

update后,再重新执行安装命令就可安装成功。然后再执行

$ sudo certbot --authenticator webroot --installer nginx

依照提示完成就行了,问题是certbot自动修改的网站配置文件可能会有问题,还需要需修改nginx的网站配置文件。

酷Q机器人+HTTP API实现评论提醒发送到QQ

前几天撸了个京东云的主机 win系统,准备偶尔挂点小东西,觉得有点浪费,就试了试CoolQ机器人。效果还不错,应用插件很多,能实现很多功能,不过都不怎么感冒。准备自己写个插件结果发现自己的编程水平差得有点远,玩玩php还将就。主要是网站应用,所以搜到了CoolQ HTTP API 插件,完全的HTTP API,很熟悉的感觉。在原来邮件提醒插件的基础上加了点东西就可以让提醒消息发送到QQ,very cool!So easy!