lua-resty-digitalelement

查询 DigitalElement 数据库文件

$ opm get cebollia/lua-resty-digitalelement

lua-resty-digitalelement

用于将 IPv4 地址与 DigitalElement NetAcuity 数据库进行查询的 Lua 库,这些数据库已导出到 JSON 文件。

安装

    opm get revcontent/lua-resty-digitalelement

运行

    # nginx.conf
    
    init_worker_by_lua_block {
    
      de = require("digitalelement")
      _, err = de.init({
        geo = { file = "/usr/local/digitalelement/geo.json" },
        vpn = { file = "/usr/local/digitalelement/vpn.json" }
      })
    
      if err then
        for k, v in pairs(err) do
          ngx.log(ngx.ERR, "Failed to load DigitalElement " .. k .. " database: " .. v)
        end
      end
    
    }


    local res, err = de.lookup("geo", ngx.var.remote_addr)
    if err then
      ngx.log(ngx.ERR, "IP Geo Lookup Failed: " .. err)
    else
      ngx.say(res["country"])
      ngx.say(res["region"])
      ngx.say(res["city"])
      -- ... additional database keys
    end
    
    local res, err = de.lookup("vpn", ngx.var.remote_addr)
    if err then
      ngx.log(ngx.ERR,"IP VPN Lookup Failed: " .. err)
    else
      ngx.say(res["vpn-proxy-type"])
      ngx.say(res["vpn-proxy-description"])
      ngx.say(res["vpn-proxy-names"])
      -- ... additional database keys
    end
    

导出 DigitalElement 文件

您需要将数据库下载到本地电脑并安装 netacuity-textfile-creator.sh 实用程序。完成此操作后,运行以下命令生成此包可以导入的输出文件。

    ./netacuity-textfile-creator.sh --db_path=/path/to/db --db=1 --no_compress --output_format=json --output_file=./output.json

创建自定义 IP 范围文件

如果您想利用自己的数据来分析用户 IP 地址,请创建一个文件,每行都是一个 JSON 字符串。所需的键值对是 start-ipend-ip

    {"start-ip":"192.168.0.0","end-ip":"192.168.0.255","name":"My Home Network"}
    {"start-ip":"10.0.0.0","end-ip":"10.0.255.255","name":"My Work Network","contact":"user@domain"}
    {"start-ip":"74.2.11.3","end-ip":"74.2.11.3","name":"School","note":"Each range can have unique keys."}

未来更新

  • 更快的导入数据

  • 支持 CSV 和压缩文件

  • 更好的尝试优化,目前仅优化了第四个八位字节。 =back

POD 错误

嘿!上面的文档有一些编码错误,解释如下:

大约第 89 行

=over 未关闭 =back

作者

Richard Onyon (cebollia)

许可证

2bsd

依赖项

版本