NAME
Plack::Middleware::IPMatch - 查找指定 IP (CIDR) 所对应的标签 LABEL
SYNOPSIS
enable 'Plack::Middleware::IPMatch',
IPFile => [ '/path/to/CT.txt', '/path/to/CNC.txt' ];
DESCRIPTION
Plack::Middleware::IPMatch 这个是使用, Net::IP::Match::Trie 来实现的超级快的进行 CIDR 转换成指定的 LABEL 的模块. 因为是使用的前缀树实现, 所以有着超级快的查询速度.
CONFIGURATION
IPFile
IPFile => '/path/to/CT-IP.dat';
IPFile => [ '/path/to/CT-IP.dat', '/path/to/CNC-IP.dat' ];
这个需要本身有自己整理过的 IP 数据库, 然后给整个数据库存成文本格式
IPFile 格式
格式需要自己来收集 IP 数据, 存成如下格式的文本
112.122.128.0/21,CNC-AH-AH
112.122.136.0/23,CNC-AH-AH
112.122.138.0/25,CNC-AH-AH
112.122.138.128/29,CNC-AH-AH
112.122.138.144/28,CNC-AH-AH
112.122.138.160/27,CNC-AH-AH
112.122.138.192/26,CNC-AH-AH
Header
IPMATCH_LABEL
默认会在 $env 的哈希中增加 IPMATCH_LABEL
的字段的 Header, 这就是查询的结果
可以使用如下的方式来访问
$env->{IPMATCH_LABEL}
MATCH_IP
进行 ip 转换时候所使用的 IP 地址, 默认会存到这个 header 中传给应用
AUTHOR
扶凯 <iakuf@163.com>
LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.