从 APNIC 获取中国大陆地区的 IP 地址数据库

全球互联网 IP 地址分配由互联网号码分配局(IANA)机构负责。IANA 将分配工作委托给五大区域互联网机构管理(RIR),其中亚太网络信息中心(APNIC)负责管理亚太地区的事务。我们可以在 APNIC 的网站上找到所有分配给亚太地区的 IPv4/IPv6 地址数据库。通过该数据库,可以准确地知道某个 IP 地被分配给了哪个国家或地区。

打开 APNIC 网站首页,在导航菜单中选择「Insights -> Raw Data」,进入 ftp 数据下载站点。也可以通过 http 接口访问 ftp 目录。下载最新数据文件:delegated-apnic-latest

……

    Windows 常用软件清单

    个人日常使用的 Windows 软件清单。并非推荐,仅供参考

    创建支持 Kotlin 协程的 Vert.x 服务代理

    本文提供一个方法,可用于创建支持 Kotlin 协程的 Vert.x 服务代理

    Laravel 强制 api 路由组返回 JSON

    Laravel 的默认错误处理器通过 Illuminate\Http\RequestexpectsJson() 方法来决定是否将错误信息渲染成 JSON 格式输出。这要求将请求头的 Accept 字段设置为 application/json。本文提供一种方法,在尽可能减少代码的情况下,强制让 api 路由组中的所有错误响应变成 JSON 格式,而不依赖于请求的 Accept 头部

    「犬与华人不准入」与B站UP主的「财富密码」

    「犬与华人不准入」,或者说「华人与狗不得入内」是一则流传已久的都市传说。之所以被称作「都市传说」是因为所有人都在谈论它,却没有人能提供任何确凿的影像证据,它可能是真的,也可能并不存在。而这则传闻能在后世流传甚广,则完全归功于某强大的宣传机器的作用:1960年公开的周作人日记中记载了「犬与华人不准入」这七个字;歌舞剧《东方红》被钦定加入这一元素;方志敏在《可爱的中国》中记述了此事并入选语文教材。最终使得这一传闻成为几代人「正确的历史记忆」。

    ……

      使用 Cloudflare 的源站缓存控制

      Cloudflare 默认不缓存 HTML 页面,必须通过添加页面规则(Page Rule)来开启网页缓存。然而,免费用户每个站点最多只能添加三条规则。对于一个复杂的项目来说,三条规则是远远不够用的。通过设置源站缓存控制(Origin Cache Control),可以仅使用一条规则来启用全站缓存。

      ……

        安装纯净版腾讯 QQ

        众所周知,腾讯 QQ PC 版是个流氓软件,会在系统种塞入各种垃圾进程,比如 QQProtect.exe。这些进程不但拖垮系统性能,并且由于运行在系统权限下,给系统安全和用户隐私带来各种问题。而 QQ 国际版已经多年未更新了,很多新功能不被支持。

        网上有第三方修改的绿色版 QQ 安装包,不过个人不建议使用。对于 Win 10 用户,可以从微软应用商店里安装 QQ。如果是旧版本的 Windows 或者系统内没有微软应用商店,则可以通过以下方法,实现手动安装。

        ……

        使用 Google Authenticator(谷歌身份验证器)

        某些简单的业务场景需要一个管理后台,但是系统却没有复杂到需要引入一套用户体系。那么,谷歌身份验证器(Google Authenticator)可以作为管理后台的一种简单的身份认证方式。

        Google Authenticator 是一款基于时间(TOTP)与哈希(HOTP)的一次性密码算法的两步验证软件令牌。其原理是通过密钥与时间或者计数器序列计算出一个六到八位的一次性密码。

        其中 HOTP 算法需要服务端维护一个额外的计数器,需要客户端和服务端的计数器保持同步才能验证一致。而 TOTP 算法只要保证服务端和客户端的时间同步即可验证一致(默认时间误差窗口是30秒)。

        ……

        Java 获取包中所有的类

        刚接触 Java,没想到连这种基础功能都需要自己实现,而且还如此复杂。虽然最后也完成了实现代码,不过最后还是使用了 org.reflections 第三方包。记录实现代码,万一以后用得到

        Vert.x 项目自动重新部署

        Vert.x 是一款基于 JVM 的高性能异步框架。使用官网提供的项目生成器创建的 gradle 配置有一个 BUG,导致在 Windows 环境下无法完成自动部署。 修复方法如下