Hermit Cottage

更新了 Show UserAgent 插件中的 ip2c 地址

因为 Show UserAgent 插件作者已经三年没有更新该插件,且所使用数据库中的 ip 地址 ip-to-country.bin 是 2012 年的,因此终于不能忍受过期的数据,今天将其更新了。

想不到还挺麻烦,不是说网上直接下载一个 ip 地址数据库就搞定了。幸好插件的/ip2c 目录内有个 README 文件:

IP2C 2.0.0 – Copyright (C) 2006 Omry Yadan (omry@yadan.net), all rights reserved

IP2C is an efficient library that resolves the country of an IP address based on a binary database.
Two database sources are supported:
Webhosting.info : http://ip-to-country.webhosting.info/(注:已失效)
Software77 : http://software77.net/cgi-bin/ip-country/geo-ip.pl

Currently, IP2C is shipped with a database from Webhosting.info.

Home page:
http://firestats.cc/wiki/ip2c

Software77 里面,下载的 ip 地址有两种:IPV4 和 IPV6,得取 IPV4 的。下载格式也有几种,摸索了半天选了 csv 格式的文件,下载解压后得到 IpToCountry.csv。下一步得把 csv 转换成 bin 格式以压缩体积。这得用到 Java,满脑门子黑线,记得上一次用 Java 还是在 2006 年硕士毕业做毕设时……怎么配置路径的都忘得一干二净了,印象里极其复杂。抱着试试的态度随便下了一个 jdk1.8.0_66,好在如今 Java 也与时俱进,一路点下去直接安装完毕即可,也不需要配置什么环境。

运行时发生了错误,想了一下应该是缺乏 ip2c.jar 这个运行包的缘故。于是再到 http://firestats.cc/wiki/ip2c 下载了 IP2C 2.0.0 (Database version : 2012.12.10),里面的文件可都是好东西。把 ip2c.jar 解压缩到相同的文件夹,然后运行:

java -jar ip2c.jar -c IpToCountry.csv ip-to-country.bin
ip2c
ip2c

于是得到 ip-to-country.bin 文件,将这个文件上传到插件 Show UserAgent 的/ip2c 目录下替换原文件即可!

(注:目前因主机服务商用了阿里云抗 DDos,因此 1 月 6 日后的国旗均显示为阿里云的美国 ip 地址。经反映后,主机服务商在 cPanel 加了 nginx 处理静态文件,以及加了显示原 ip 功能,但导致了其它问题……只得作罢。最后,自己安装插件 real ip 后解决,1 月 18 日后的 ip 均已正常。感谢茉莉!)

12 条评论

发表评论 →
Safari 9 Safari 9 iPhone iOS 9.2 iPhone iOS 9.2

@瑾瑜 每个评论者的 ip 等 user agent 都会被 wp 记录到 wp 的数据库,这只是显示出来而已,哈哈。这些浏览器国旗什么的应该算不上隐私吧!

发表评论

2004-2019 © Hermit Cottage