Let's Encrypt 的多证书申请及 NginX 配置

前言

无意翻到 Let's Encrypt (下称 LE )已支持 OCSP Must-Staple 扩展的消息
再加上之前也想升级双证书
于是又有了重新折腾一次的动力。
记录如下——

特别提示:
如果仅是希望使现有证书支持 OCSP Must-Staple ,
用原私钥重新生成 CSR 申请证书即可。
详见 CSR 一节。

准备

服务器环境

推荐使用 nginx-autoinstall 脚本进行安装,
原 Repo 仅适用于 Debian 8
其它发行版需要稍作修改。
(我 Fork 的 CentOS 版稍晚更新)

编译并安装完可以使用如下工具测试相关特性:

工具选择

CA 当然选择免费且开源的 LE
工具方面则依旧选用 ACME-Tiny
官方列表中亦罗列不少,
包括最近很流行的国人作品 ACME.sh
若选用其它工具则签发流程会有所变化(相应环节会稍作说明)。

密钥强度及算法选择

RFC5480 ,对 ECDSA 证书的推荐组合如下:

- 阅读剩余部分 -

我的 Homebrew “自酿”

介绍

Homebrew 其实不用介绍, OSX 用户必备。

BTW 其实它还有个 Linux 的 Fork
用过,哭过,往事毋庸再提……

所含公式

按照 Homebrew 体系的命名路数,
或许翻译为“配方”比较好?

nali

“珊瑚虫”的 Soff 所编写名为 nali (=哪里?)的程序,
官方的功能介绍是“dig ,traceroute 等命令的输出的 IP 附加上地理信息”。

使用示例如下:

$ dig google.com +short | nali
216.58.xxx.xxx[中国 香港]
$ nali 127.0.0.1
127.0.0.1[本机地址]

当然,最大的便利还是弃用珊瑚虫转而使用 IPIP.net 的免费版 IP 信息库(每半年更新),
使用该工具进行转换。
会定期更新,届时执行 nali-update 即可跟随更新。

2017-02-21 已更新至 2017-01 月 IPIP.net 的免费版数据。

提供一个选项:

  • --without-dnsutils-scripts: 如果你更习惯管道方式,而不是使用带 nali- 前缀的多个脚本的话。

- 阅读剩余部分 -

[UserScript] SpeciLink Remastered - 点击特殊链跳转至 115 云、迅雷离线、 QQ 离线和小米路由器进行下载

介绍

多年前写过一个 Firefox 扩展和一个油猴脚本
都是用来简化在浏览器上对“特殊链”的处理。
这么多年过去,
浏览器早已放弃 Firefox 改用 Chrome ,
“下载器”也从离线迅雷换到了 115 云
那么工具也该更新更新了。

之前的油猴脚本仍能够“部分”工作——
magnet: 之外的其它“特殊链”伪协议均不能注册到 Chrome 中。
于是抽空写了另一个脚本,
功能如下:

  • 支持处理 magnet:ed2k:thunder:flashget:qqdl 等俗称的“特殊链”;
  • 对于上述特殊链,支持点击后跳转至 115 云迅雷离线 QQ 离线小米路由器自动添加下载任务。

取名为 Specilink Remastered
是为了纪念之前的那个 Firefox 扩展。

配置项

脚本本身支持的配置项如下,
请打开脚本管理器在源码中编辑:

var Configs = {
    'enabled_handler'       : 'thunder', // “下载器”可选项:115, thunder, qq, miwifi
    'auto_add_task'         : true,      // 是否自动添加下载任务,否则需要你手动点击按钮
    'auto_add_task_timeout' : 10000,     // 自动下载的监听时间,单位毫秒
    'register_protocols'    : false,     // 是否注册为浏览器内置 Handler
    'debug_mode'            : false,     // 是否开启调试模式
};

- 阅读剩余部分 -

OSMC 下播放 FHD 3D 视频

前言

一直在 RPi v2 上安装 OSMC 作为家用影音播放器(+网络加速服务),
不得不说相较于动辄近千的诸多安卓 OTT 盒子 ,
其性价比可用“奇高”来形容。

上半年升级 X9300D 之后折腾了一阵子各种盒子,
但播放全高清 3D 我仍旧使用 OSMC
(事实上目前因为安卓的 libnfs 性能问题我已基本用回它)。

对基于 Kodi 的 3D 播放方案有兴趣的童鞋可关注此帖
作者会定期更新。

准备

硬件

若想确认硬件上是否支持,
SSH 到 OSMC 执行:

tvservice -m CEA | grep 3D: --color
           mode 4: 1280x720 @ 60Hz 16:9, clock:74MHz progressive 3D:FP|TopBot|SbS-HH
           mode 5: 1920x1080 @ 60Hz 16:9, clock:74MHz interlaced 3D:FP|TopBot|SbS-HH
           mode 19: 1280x720 @ 50Hz 16:9, clock:74MHz progressive 3D:FP|TopBot|SbS-HH
           mode 20: 1920x1080 @ 50Hz 16:9, clock:74MHz interlaced 3D:FP|TopBot|SbS-HH
           mode 32: 1920x1080 @ 24Hz 16:9, clock:74MHz progressive 3D:FP|TopBot|SbS-HH
           mode 34: 1920x1080 @ 30Hz 16:9, clock:74MHz progressive 3D:FP|TopBot

可见我的显示设备支持多种模式下的 FP (即“帧封装”), TAB (亦作 OU ,即“上下”) 和 SBS (即“左右”)格式(可惜不支持 4K 3D );
FP (Frame Packing) 就是我们今天的目标——

- 阅读剩余部分 -

RouterOS 中 RAW 表的基本规则配置一例

RouterOS6.36rc21 开始支持 raw——

*) firewall - added pre-connection tracking filter - "raw"  table, that allow to protect connection-tracking from unnecessary traffic;

料想其与 iptables 的该特性优势一致(可提升性能),
于是尝试将以前写在主表的部分规则移到了 raw 表:

/ip firewall raw
add chain=prerouting action=drop packet-size=1492-65535 log=no protocol=icmp comment="Drop oversized unfragmented packets"
add chain=prerouting action=drop in-interface=all-ppp icmp-options=8:0 log=no protocol=icmp comment="Drop pings from WAN"
add cchain=prerouting action=drop in-interface=all-ppp dst-port=53 log=no protocol=tcp comment="Drop tcp DNS queries from WAN"
add chain=prerouting action=drop in-interface=all-ppp icmp-options=8:0 log=no protocol=icmp comment="Drop udp DNS queries from WAN"
add chain=prerouting action=drop tcp-flags=fin,syn log=no protocol=tcp comment="SYN-FIN attack protection"
add chain=prerouting action=drop tcp-flags=syn,rst log=no protocol=tcp comment="SYN-RST attack protection"
add chain=prerouting action=drop tcp-flags=fin,psh,urg,!syn,!rst,!ack log=no protocol=tcp comment="X-Mas attack protection"
add chain=prerouting action=drop tcp-flags=fin,!syn,!rst,!psh,!ack,!urg log=no protocol=tcp comment="NMAP FIN attack protection"
add chain=prerouting action=drop tcp-flags=fin,syn,rst,ack,urg,!psh log=no protocol=tcp comment="NMAP Push attack protection"
add chain=prerouting action=drop tcp-flags=fin,psh,urg,!syn,!rst,!ack log=no protocol=tcp comment="NMAP FIN/PSH/URG attack protection"
add chain=prerouting action=drop tcp-flags=!fin,!syn,!rst,!psh,!ack,!urg log=no protocol=tcp comment="NULLflags attack protection"
add chain=prerouting action=drop tcp-flags=fin,syn,rst,psh,ack,urg log=no protocol=tcp comment="ALLflags attack protection"