纯真IP/ZXinc_IPv6数据库镜像及MySQL脚本更新——IPDATA项目

IPDATA

纯真IPv4数据库镜像 / ZXinc_IPv6数据库镜像及MySQL脚本同步更新 for Python3(原czipdata项目)

Github:https://github.com/a76yyyy/ipdata(推荐)

Gitee :https://gitee.com/a76yyyy/ipdata(更新频率较低)

功能

  1. 通过Python实现纯真IPv4数据库及ZXinc_ipv6数据库的镜像更新,数据库在data文件夹下;
  2. 将数据文件解析为txt格式;
  3. 将数据文件全量导入mysql中,请先安装mysql并启用服务;
  4. 将mysql数据库中的IP数据库内的地址细分为省市区;
  5. 生成sql脚本文件的gz压缩文档,请先安装 gzip 并添加至系统变量(默认提供gz压缩文档, 不提供sql脚本);
  6. Windows使用BAT文件实现数据库的自动更新和推送;
  7. 结合计划任务可实现windows的定时更新。

数据文件

文件 内容
czipdata_version.bin 本地数据文件版本记录
czipdata.dat 纯真IPv4数据文件
czipdata.txt 纯真IPv4数据TXT文件
ipv6data.db ZXinc_IPv6数据文件
ipv6data.txt ZXinc_IPv6数据TXT文件
correct.json 地址细分纠错文件
ipdatabase.sql IP数据库sql脚本
iprange_info.sql 纯真IPv4数据表sql脚本
ipv6_range_info.sql ZXinc_IPv6数据表sql脚本
college_info.sql 高校信息表sql脚本

TODO

  1. 将数据文件导入sqlite3数据库文件中;
  2. 实现定期release;
  3. 实现data文件夹的分类存储;
  4. 实现数据库的增量更新;
  5. 实现Linux定时更新.

图片

纯真IP/ZXinc_IPv6数据库镜像及MySQL脚本更新——IPDATA项目post 91 60d9de4b0565a.png

纯真IP/ZXinc_IPv6数据库镜像及MySQL脚本更新——IPDATA项目post 91 60d9de4c90c21.png1

纯真IP/ZXinc_IPv6数据库镜像及MySQL脚本更新——IPDATA项目post 91 60d9de4d5e27d.png2

纯真IP/ZXinc_IPv6数据库镜像及MySQL脚本更新——IPDATA项目post 91 60d9de4e2b7e7.png3

API

纯真IP/ZXinc_IPv6数据库镜像及MySQL脚本更新——IPDATA项目post 91 60d9de4ee05a9.png4

示例IPv4 API接口(暂不提供源码):https://api.a76yyyy.cn/ip?function=ipInfo&params1=114.114.114.114

纯真IP/ZXinc_IPv6数据库镜像及MySQL脚本更新——IPDATA项目post 91 60d9de4f506df.png5

示例IPv6 API接口(暂不提供源码):https://api.a76yyyy.cn/ip?function=ipv6Info&params1=2400:3200::1

纯真IP/ZXinc_IPv6数据库镜像及MySQL脚本更新——IPDATA项目post 91 60d9de4fc9b8e.png6

示例日志


开始检查IPv4数据库更新: 
---------------处理中, 请稍候---------------
地址:http://update.cz88.net/ip/copywrite.rar
开始下载: .\tmp\copywrite.rar
[ .\tmp\copywrite.rar] 下载完成 0.27 KB / 0.27 KB
下载完成,共花费了0.16s
IPv4数据文件新版本: 44370, 大小: 5396789
------------------------------------------- 

开始更新IPv4数据文件:  .\data\czipdata.dat
---------------处理中, 请稍候---------------
地址:http://update.cz88.net/ip/qqwry.rar
开始下载: .\tmp\qqwry.rar
[ .\tmp\qqwry.rar] 下载完成 5270.30 KB / 5270.30 KB
下载完成,共花费了7.89s
成功写入到 .\data\czipdata.dat, 10,448,828字节
------------------------------------------- 

将IPv4数据文件写入文本文件中 dat -> txt
-------------------------------------------
写入文件  .\data\czipdata.txt 中, 请稍候...
写入完成, 写入 530116 条数据.
------------------------------------------- 

开始检查IPv6数据库更新: 
---------------处理中, 请稍候---------------
地址:http://ip.zxinc.org
IPv6数据文件新版本: 20210511
------------------------------------------- 

开始更新IPv6数据文件:  .\data\ipv6wry.db
---------------处理中, 请稍候---------------
地址:http://ip.zxinc.org/ip-20210511.7z
开始下载: .\tmp\ip-20210511.7z
[ .\tmp\ip-20210511.7z] 下载完成 552.43 KB / 552.43 KB
下载完成,共花费了0.47s
成功写入到 .\data\ipv6wry.db, 565,689字节
------------------------------------------- 

将IPv6数据文件写入文本文件中 db -> txt
-------------------------------------------
写入文件  .\data\ipv6data.txt 中, 请稍候...
写入完成, 写入 176315 条数据.
------------------------------------------- 

检索IPv4数据库是否存在 
---------------处理中, 请稍候---------------
将IPv4数据文件" .\data\czipdata.txt"导入Mysql数据库中: 
---------------处理中, 请稍候---------------
本批次(行:0 - 99999)已处理完成。共需处理100000条,成功转换100000条。
系统将自动处理下一批IPv4数据(行:100000 - 199999)…… 
---------------处理中, 请稍候---------------
…… 
---------------处理中, 请稍候---------------
本批次(行:500000 - 530115)已处理完成。共需处理30116条,成功转换30116条。
-------------------------------------------
已全部导入完成, 共导入530116条IPv4数据.

连接IP数据库, 并检索大学数据库信息: 
---------------处理中, 请稍候---------------
大学数据库不存在,重新部署中: 
---------------处理中, 请稍候---------------
从https://github.com/pg7go/The-Location-Data-of-Schools-in-China导入大学-8084.json至 .\tmp\college.json
成功将大学地址数据写入到 .\tmp\college.json, 1,752,894字节
------------------------------------------- 
将大学数据文件" .\tmp\college.json"导入Mysql数据库中: 
---------------处理中, 请稍候---------------
本批次(行:0 - 999)已处理完成。共需处理1000条,成功转换1000条。
系统将自动处理下一批IP数据(行:1000 - 1999)…… 
---------------处理中, 请稍候---------------
…… 
---------------处理中, 请稍候---------------
本批次(行:8000 - 8083)已处理完成。共需处理84条,成功转换84条。
------------------------------------------- 
已全部导入完成, 共导入8084条数据.

IP数据库连接成功! 
------------------------------------------- 
开始载入纠错文件correct.json: 
---------------处理中, 请稍候---------------
载入完成! 
------------------------------------------- 
将IP数据库内的地址细分为省市区: 
---------------处理中, 请稍候---------------
本批次(行:0 - 19999)已处理完成。共需处理20000条,成功转换20000条。
系统将自动处理下一批IP数据(行:20000 - 40000)…… 
---------------处理中, 请稍候---------------
…… 
---------------处理中, 请稍候---------------
本批次(行:520000 - 530115)已处理完成。共需处理10116条,成功转换10116条。
------------------------------------------- 
已全部完成转换。
操作完成! 

检索IPv6数据库是否存在 
---------------处理中, 请稍候---------------
将IPv6数据文件" .\data\ipv6wry.db"导入Mysql数据库中: 
---------------处理中, 请稍候---------------
…… 
---------------处理中, 请稍候---------------
本批次(行:150000 - 176314)已处理完成。共需处理26315条,成功转换26315条。
-------------------------------------------
已全部导入完成, 共导入176315条IPv6数据.

连接IP数据库, 并导出为sql文件: 
---------------处理中, 请稍候---------------
IP数据库gz压缩档导出成功! 
高校信息表gz压缩档导出成功! 
IPv4数据表gz压缩档导出成功! 
IPv6数据表gz压缩档导出成功! 

 .\
A  data/college_info.sql.gz
M  data/czipdata_version.bin
M  data/ipdatabase.sql.gz
M  data/iprange_info.sql.gz
M  data/ipv6_range_info.sql.gz
M  data/ipv6data_version.bin
[main 1c2b048] 定时同步 2021-06-26 10:29:53
 10 files changed, 6 insertions(+), 4 deletions(-)

WordPress国内更新方法

WordPress作为应用非常广泛的建站程序,不仅深受Bloger的喜欢而且一些企业站也都是采用WordPress,WordPress更新也算是很频繁的,但因为众所周知的问题,国内连接国外网络并不是特别通畅,而且貌似WordPress对中国区也有特别的“429 too many requests”照顾,升级一下WordPress、插件不是一般的麻烦,接下来总结一下目前两种便捷的方法。
From VPS侦探

一、wp-cli

wp-cli 是WordPress官方推出的一个wp命令行管理工具,可以很方便的对wp站点进行升级WordPress、安装插件、管理用户、评论、主题等等,这里我们主要用wp-cli的升级功能。

1.1 安装wp-cli

1.先说一下安装方法:

wget --no-check-certificate https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar -O /usr/local/bin/wp && chmod +x /usr/local/bin/wp

如果下载安装很慢的话可以尝试:

wget --no-check-certificate https://raw-gh.vpser.workers.dev/wp-cli/builds/gh-pages/phar/wp-cli.phar -O /usr/local/bin/wp && chmod +x /usr/local/bin/wp

2.wp-cli命令使用需要在WordPress网站目录下,如wp网站目录为:/home/wwwroot/a76yyyy/web,则需要先

cd /home/wwwroot/a76yyyy/web

3.然后执行升级WordPress命令:

wp core update --allow-root

因为这样还是要通过WordPress官网升级的,所以可能还是下载不下来。

PS:如果遇到如下错误(找不到php的执行文件)

/usr/bin/env: php: No such file or directory

(env会通过$PATH所指定的路径去寻找php的可执行文件),我的php执行文件其实在/usr/local/php-7.0.14/bin/php这里,那么我们可以为这个文件添加一个软链接,即可:

ln -s /usr/local/php-7.0.14/bin/php /usr/local/bin/php

composer -V

1.2 wp安装包进行升级

以最新中文版本为例(如需旧版本请自行替换版本)

官网下载地址:https://cn.wordpress.org/latest-zh_CN.zip

在网站目录下执行:wget --no-check-certificate https://cn.wordpress.org/latest-zh_CN.zip

也可以通过迅雷等工具下载,然后再上传到网站目录下,执行:wp core update --allow-root latest-zh_CN.zip 即可自动进行升级。

二、wp-china-yes插件

插件的实现基本上分为两种:搭建WordPress的反向代理网站替换网站里的更新地址和插件中使用http(s)代理,推荐使用第一种,即借助wp-china-yes插件来实现。

插件地址:https://gitee.com/litepress/wp-china-yeshttps://github.com/litepress/wp-china-yes

1.跳转到plugins目录

cd /home/wwwroot/a76yyyy/domain/a76yyyy/web/wp-content/plugins/

2.下载插件并解压

wget --no-check-certificate https://github.com/litepress/wp-china-yes/releases/download/v3.3.1/wp-china-yes.zip

unzip wp-china-yes.zip

3.进入插件页面,点击已安装的插件,启用wp-china-yes,启用后可根据自身需要对插件进行相关设置

WordPress国内更新方法启用.png

如果WordPress更新过程中出现错误"另一更新正在进行":可以打开phpmyadmin在对应WordPress数据库里执行一下:delete from wp_options where option_name='core_updater.lock'; 就可以了。

4.更新WordPress

升级时如出现如下错误

WordPress国内更新方法升级失败.png1

跳转到网站目录

cd /home/wwwroot/a76yyyy/domain/a76yyyy

由于执行更新程序的是www用户,而这个目录下很多文件的所有者是root用户,即www用户没有权限,所以修改目录所有者即可,输入命令:

chown -R www:www ./

现在再次运行WordPress更新程序

WordPress国内更新方法升级成功.png2

大功告成!!!