因为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.plCurrently, 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
于是得到ip-to-country.bin文件,将这个文件上传到插件Show UserAgent的/ip2c
目录下替换原文件即可!
(注:目前因主机服务商用了阿里云抗DDos,因此1月6日后的国旗均显示为阿里云的美国ip地址。经反映后,主机服务商在cPanel加了nginx处理静态文件,以及加了显示原ip功能,但导致了其它问题……只得作罢。最后,自己安装插件real ip后解决,1月18日后的ip均已正常。感谢茉莉!)
总觉得你对这个功能情有独钟……
我玩着玩着就不想玩了
@Betty嗯,我挺喜欢这功能的
你这算泄露评论者隐私吧?哈哈。
@瑾瑜每个评论者的ip等user agent都会被wp记录到wp的数据库,这只是显示出来而已,哈哈。这些浏览器国旗什么的应该算不上隐私吧!
@S̆̈嗯嗯,可以发现你们偶尔翻墙呀。
@瑾瑜也不完全准确,有时候是因为主机服务商用了proxy或firewall,导致ip变成了国外……
好久没看到你的更新(RSS)了,以为不更了尼
@勺子我一直更新的呀!RSS也一直有的。
曾经也折腾过这玩意,哈哈……https://cyhour.com/156
@老杨哈哈哈,你怎么不早点讲!!我摸索了半天!
@S̆̈我也是这才看到你折腾啊……
@老杨主要还是你没早点扩散消息啊……
感谢,我也发现数据库好久没更新了,按照您的方法更新到最新了
@loukky客气了
@S̆̈不过更新以后,反而没有了ipv6的数据(ip2c官方的数据库似乎有带ipv6的数据,不过不知道是怎样的格式)
@loukky这是我五年前写的更新方法,其实自己现在也没有在用这个插件了。还期待你能够发掘一下它的潜力,出一些新版本。