Recently, I rewrote the IP query tool IPRSS using the webman framework.

Publish: 2022-07-05 | Modify: 2022-07-05

In 2018, I wrote an open-source IP lookup tool called IPinfo, referring to "整合了多接口的IP地址查询工具IPinfo". However, the project hasn't been updated for a long time.

IPinfo

Due to poor planning and low performance, maintaining and expanding IPinfo became difficult. Therefore, this time, Xiaoz used the high-performance and scalable PHP framework webman to refactor it, and renamed it to IPRSS.

IPRSS

Experience it here: https://ip.rss.ink/

High-performance Multi-level Caching Design

IPRSS uses offline IP databases instead of third-party online APIs. However, that's not enough. IPRSS is designed as a multi-level caching IP lookup service, with the following structure:

Client > Redis > MySQL > Offline IP database

First, it checks for cached data in Redis. If not found, it searches the MySQL cache. If still not found, it looks up the IP in the database until a result is found. Once a result is found, the data is cached in Redis and MySQL, providing caching services for the next query.

Support for Batch IP Lookup

Thanks to the high-performance multi-level caching design, IPRSS also supports batch IP lookup, supporting up to 100 IPs at a time. Here's a screenshot:

Batch IP Lookup

Support for API Calls

Currently, IPRSS provides IP lookup interfaces for CZ88, IP2Location, and GeoLite2, which can be called directly online. For more details, please refer to: IP RSS API

Support for IPv6

In addition to IPv4 addresses, IPRSS also supports IPv6 address lookup.

IPv6 Lookup

Finally

If you encounter any issues or have any suggestions while using IPRSS, please feel free to leave a comment.

IPRSS official website: https://ip.rss.ink/


Comments