Name | ip-check JSON |
Version |
1.5.9
JSON |
| download |
home_page | None |
Summary | Powerful cdn network speed test utils. |
upload_time | 2024-04-12 07:50:03 |
maintainer | None |
docs_url | None |
author | nobitaqaq |
requires_python | >=3.8 |
license | None |
keywords |
cdn
speed test
network speed
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# ip-check
高效的cdn 测速工具,用于ip 优选。
## 安装
```shell
pip install ip-check --upgrade
```
## 使用方法
```shell
ip-check --help
usage: ip-check [-h] [-w WHITE_LIST] [-b BLOCK_LIST] [-pl PREFER_LOCS] [-pp PREFER_PORTS] [-lv MAX_VT_IP_COUNT] [-lr MAX_RT_IP_COUNT]
[-ls MAX_ST_IP_COUNT] [-p PORT] [-H HOST] [-dr] [-dv] [-ds] [-o OUTPUT] [-f] [-s SPEED] [-r RTT] [-l LOSS] [-c CONFIG] [-v] [-ns]
[--version]
source [source ...]
ip-check 参数
positional arguments:
source 测试源文件
optional arguments:
-h, --help show this help message and exit
-w WHITE_LIST, --white_list WHITE_LIST
偏好ip参数, 格式为: "expr1,expr2", 如"8,9" 会筛选8和9开头的ip
-b BLOCK_LIST, --block_list BLOCK_LIST
屏蔽ip参数, 格式为: "expr1,expr2", 如"8,9" 会过滤8和9开头的ip
-pl PREFER_LOCS, --prefer_locs PREFER_LOCS
偏好国家地区选择, 格式为: "expr1,expr2", 如"hongkong,japan" 会筛选HongKong 和Japan 地区的ip
-pp PREFER_PORTS, --prefer_ports PREFER_PORTS
针对ip:port 格式的测试源筛选端口, 格式为: "expr1,expr2", 如"443,8443" 会筛选出443 和8443 端口的ip
-lv MAX_VT_IP_COUNT, --max_vt_ip_count MAX_VT_IP_COUNT
最大用来检测有效(valid) ip数量限制,0表示使用config.ini中的配置
-lr MAX_RT_IP_COUNT, --max_rt_ip_count MAX_RT_IP_COUNT
最大用来检测rtt ip数量限制,0表示使用config.ini中的配置
-ls MAX_ST_IP_COUNT, --max_st_ip_count MAX_ST_IP_COUNT
最大用来检测下载(speed) 速度的ip数量限制,0表示使用config.ini中的配置
-p PORT, --port PORT 用来检测的端口
-H HOST, --host HOST 可用性域名
-dr, --disable_rt 是否禁用RTT 测试
-dv, --disable_vt 是否禁用可用性测试
-ds, --disable_st 是否禁用速度测试
-o OUTPUT, --output OUTPUT
输出文件
-f, --fast_check 是否执行快速测试
-s SPEED, --speed SPEED
期望ip的最低网速 (kB/s)
-r RTT, --rtt RTT 期望的最大rtt (ms)
-l LOSS, --loss LOSS 期望的最大丢包率
-c CONFIG, --config CONFIG
配置文件
-v, --verbose 显示调试信息
-ns, --no_save 是否忽略保存测速结果文件
--version show program's version number and exit
```
## 配置文件
执行`ip-check-cfg` 会生成`config.ini`, 按照备注修改即可。
## 使用示例
```shell
# 文本参数,文本中内容支持ip、ip cidr、支持ipv6
ip-check test.txt
# ip 参数,支持ip、ip cidr、支持ipv6
ip-check 192.168.1.1/32
ip-check fe80::/ 10
ip-check 1.1.1.1:443
# 禁用可用性测试,某些情况可用性测试失效,可临时禁用。
ip-check test.txt -dv
# 禁用rtt 测试,某些情况rtt 测试失效,可临时禁用。
ip-check test.txt -dr
# ip 偏好,假设你偏好8和9 开头的ip
ip-check test.txt -w "8,9"
# ip 偏好,假设你喜欢8.222和8.223 开头的ip
ip-check test.txt -w "8.222,8.223"
# ip 厌恶,假设你不喜欢13和14 开头的ip
ip-check test.txt -b "13,14"
# ip 厌恶,假设你不喜欢131.13和131.14 开头的ip
ip-check test.txt -b "131.13,131.14"
# 按地区筛选ip
ip-check test.txt -pl "japan,hongkong"
# ip:port 格式的测试源只测试端口为8443 的测试源
ip-check 7.8.9.10:443 7.8.9.10:8443 -pp 8443
# 指定测试端口,缺省为443
ip-check test.txt -p 8443
# 指定输出文件,默认为result 与源文件的拼接
ip-check test.txt -o better-ips.txt
# 限制参与可用性测试ip 的数量
ip-check test.txt -lv 100
# 限制参与rtt 测试ip 的数量
ip-check test.txt -lr 100
# 限制参与下载速度测试的ip 的数量
ip-check test.txt -ls 100
# 快速测试, 开启此选项后,当到达测试时长一半下载时间后,最高网速仍未达到期网网速的一半则退出此ip 下载测速
ip-check test.txt -f
# 指定期网网速,单位 kB/s
ip-check test.txt -s 20000
# 指定期望的最大rtt, 单位 ms
ip-check test.txt -r 500
```
以上所有可选选项可联合使用达到最终效果。
## Others
使用geo 信息需要自我下载`GeoLite2-City.mmdb` 和 `GeoLite2-ASN.mmdb`,可通过igeo-db 输入url 下载。
### igeo-info
查看ip 归属地信息的工具
```shell
igeo-info -h
usage: igeo-info [-h] sources [sources ...]
geo-info 获取ip(s) 的归属地信息
positional arguments:
sources 待获取归属地信息的ip(s)
optional arguments:
-h, --help show this help message and exit
```
### igeo-dl
下载mmdb 数据库的工具
```shell
igeo-dl --help
usage: igeo-dl [-h] [-u URL] [-p PROXY]
igeo-dl 升级/下载geo 数据库
optional arguments:
-h, --help show this help message and exit
-u URL, --url URL geo 数据库下载地址, 要求结尾包含GeoLite2-City.mmdb 或GeoLite2-ASN.mmdb
-p PROXY, --proxy PROXY
下载时使用的代理
```
### igeo-cfg
`igeo-dl` 的配置文件,用于下载mmdb 数据库,建议去github 找寻。
```shell
igeo-cfg -h
usage: igeo-cfg [-h]
geo-cfg 编辑geo config
optional arguments:
-h, --help show this help message and exit
```
## Release Note
- V1.5.9
- 针对多端口测试源增加通过端口筛选测试源的策略
- V1.5.8
- 修复rtt 测试中丢包率控制失效问题
- V1.5.7
- 增加按地区优选ip 策略
- 修复黑白名单不支持多分组策略
- V1.5.6
- 黑白名单过滤优化
- V1.5.4
- 修正带路径分隔符输出文件名异常的bug
- V1.5.3
- 把ip 输入源解析重构,方便以后拓展
- V1.5.2
- ip 传递参数新增ip:port 格式
Raw data
{
"_id": null,
"home_page": null,
"name": "ip-check",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "cdn, speed test, network speed",
"author": "nobitaqaq",
"author_email": "xiaoleigs@gmail.com",
"download_url": null,
"platform": null,
"description": "# ip-check\n\n\u9ad8\u6548\u7684cdn \u6d4b\u901f\u5de5\u5177\uff0c\u7528\u4e8eip \u4f18\u9009\u3002\n\n## \u5b89\u88c5\n\n```shell\npip install ip-check --upgrade\n```\n\n## \u4f7f\u7528\u65b9\u6cd5\n\n```shell\nip-check --help\nusage: ip-check [-h] [-w WHITE_LIST] [-b BLOCK_LIST] [-pl PREFER_LOCS] [-pp PREFER_PORTS] [-lv MAX_VT_IP_COUNT] [-lr MAX_RT_IP_COUNT]\n [-ls MAX_ST_IP_COUNT] [-p PORT] [-H HOST] [-dr] [-dv] [-ds] [-o OUTPUT] [-f] [-s SPEED] [-r RTT] [-l LOSS] [-c CONFIG] [-v] [-ns]\n [--version]\n source [source ...]\n\nip-check \u53c2\u6570\n\npositional arguments:\n source \u6d4b\u8bd5\u6e90\u6587\u4ef6\n\noptional arguments:\n -h, --help show this help message and exit\n -w WHITE_LIST, --white_list WHITE_LIST\n \u504f\u597dip\u53c2\u6570, \u683c\u5f0f\u4e3a: \"expr1,expr2\", \u5982\"8,9\" \u4f1a\u7b5b\u90098\u548c9\u5f00\u5934\u7684ip\n -b BLOCK_LIST, --block_list BLOCK_LIST\n \u5c4f\u853dip\u53c2\u6570, \u683c\u5f0f\u4e3a: \"expr1,expr2\", \u5982\"8,9\" \u4f1a\u8fc7\u6ee48\u548c9\u5f00\u5934\u7684ip\n -pl PREFER_LOCS, --prefer_locs PREFER_LOCS\n \u504f\u597d\u56fd\u5bb6\u5730\u533a\u9009\u62e9, \u683c\u5f0f\u4e3a: \"expr1,expr2\", \u5982\"hongkong,japan\" \u4f1a\u7b5b\u9009HongKong \u548cJapan \u5730\u533a\u7684ip\n -pp PREFER_PORTS, --prefer_ports PREFER_PORTS\n \u9488\u5bf9ip:port \u683c\u5f0f\u7684\u6d4b\u8bd5\u6e90\u7b5b\u9009\u7aef\u53e3, \u683c\u5f0f\u4e3a: \"expr1,expr2\", \u5982\"443,8443\" \u4f1a\u7b5b\u9009\u51fa443 \u548c8443 \u7aef\u53e3\u7684ip\n -lv MAX_VT_IP_COUNT, --max_vt_ip_count MAX_VT_IP_COUNT\n \u6700\u5927\u7528\u6765\u68c0\u6d4b\u6709\u6548(valid) ip\u6570\u91cf\u9650\u5236,0\u8868\u793a\u4f7f\u7528config.ini\u4e2d\u7684\u914d\u7f6e\n -lr MAX_RT_IP_COUNT, --max_rt_ip_count MAX_RT_IP_COUNT\n \u6700\u5927\u7528\u6765\u68c0\u6d4brtt ip\u6570\u91cf\u9650\u5236,0\u8868\u793a\u4f7f\u7528config.ini\u4e2d\u7684\u914d\u7f6e\n -ls MAX_ST_IP_COUNT, --max_st_ip_count MAX_ST_IP_COUNT\n \u6700\u5927\u7528\u6765\u68c0\u6d4b\u4e0b\u8f7d(speed) \u901f\u5ea6\u7684ip\u6570\u91cf\u9650\u5236,0\u8868\u793a\u4f7f\u7528config.ini\u4e2d\u7684\u914d\u7f6e\n -p PORT, --port PORT \u7528\u6765\u68c0\u6d4b\u7684\u7aef\u53e3\n -H HOST, --host HOST \u53ef\u7528\u6027\u57df\u540d\n -dr, --disable_rt \u662f\u5426\u7981\u7528RTT \u6d4b\u8bd5\n -dv, --disable_vt \u662f\u5426\u7981\u7528\u53ef\u7528\u6027\u6d4b\u8bd5\n -ds, --disable_st \u662f\u5426\u7981\u7528\u901f\u5ea6\u6d4b\u8bd5\n -o OUTPUT, --output OUTPUT\n \u8f93\u51fa\u6587\u4ef6\n -f, --fast_check \u662f\u5426\u6267\u884c\u5feb\u901f\u6d4b\u8bd5\n -s SPEED, --speed SPEED\n \u671f\u671bip\u7684\u6700\u4f4e\u7f51\u901f (kB/s)\n -r RTT, --rtt RTT \u671f\u671b\u7684\u6700\u5927rtt (ms)\n -l LOSS, --loss LOSS \u671f\u671b\u7684\u6700\u5927\u4e22\u5305\u7387\n -c CONFIG, --config CONFIG\n \u914d\u7f6e\u6587\u4ef6\n -v, --verbose \u663e\u793a\u8c03\u8bd5\u4fe1\u606f\n -ns, --no_save \u662f\u5426\u5ffd\u7565\u4fdd\u5b58\u6d4b\u901f\u7ed3\u679c\u6587\u4ef6\n --version show program's version number and exit\n```\n\n## \u914d\u7f6e\u6587\u4ef6\n\n\u6267\u884c`ip-check-cfg` \u4f1a\u751f\u6210`config.ini`, \u6309\u7167\u5907\u6ce8\u4fee\u6539\u5373\u53ef\u3002\n\n## \u4f7f\u7528\u793a\u4f8b\n\n```shell\n# \u6587\u672c\u53c2\u6570\uff0c\u6587\u672c\u4e2d\u5185\u5bb9\u652f\u6301ip\u3001ip cidr\u3001\u652f\u6301ipv6\nip-check test.txt\n\n# ip \u53c2\u6570\uff0c\u652f\u6301ip\u3001ip cidr\u3001\u652f\u6301ipv6\nip-check 192.168.1.1/32\nip-check fe80::/ 10\nip-check 1.1.1.1:443\n\n# \u7981\u7528\u53ef\u7528\u6027\u6d4b\u8bd5\uff0c\u67d0\u4e9b\u60c5\u51b5\u53ef\u7528\u6027\u6d4b\u8bd5\u5931\u6548\uff0c\u53ef\u4e34\u65f6\u7981\u7528\u3002\nip-check test.txt -dv\n# \u7981\u7528rtt \u6d4b\u8bd5\uff0c\u67d0\u4e9b\u60c5\u51b5rtt \u6d4b\u8bd5\u5931\u6548\uff0c\u53ef\u4e34\u65f6\u7981\u7528\u3002\nip-check test.txt -dr\n\n# ip \u504f\u597d\uff0c\u5047\u8bbe\u4f60\u504f\u597d8\u548c9 \u5f00\u5934\u7684ip\nip-check test.txt -w \"8,9\"\n# ip \u504f\u597d\uff0c\u5047\u8bbe\u4f60\u559c\u6b228.222\u548c8.223 \u5f00\u5934\u7684ip\nip-check test.txt -w \"8.222,8.223\"\n# ip \u538c\u6076\uff0c\u5047\u8bbe\u4f60\u4e0d\u559c\u6b2213\u548c14 \u5f00\u5934\u7684ip\nip-check test.txt -b \"13,14\"\n# ip \u538c\u6076\uff0c\u5047\u8bbe\u4f60\u4e0d\u559c\u6b22131.13\u548c131.14 \u5f00\u5934\u7684ip\nip-check test.txt -b \"131.13,131.14\"\n# \u6309\u5730\u533a\u7b5b\u9009ip\nip-check test.txt -pl \"japan,hongkong\"\n# ip:port \u683c\u5f0f\u7684\u6d4b\u8bd5\u6e90\u53ea\u6d4b\u8bd5\u7aef\u53e3\u4e3a8443 \u7684\u6d4b\u8bd5\u6e90\nip-check 7.8.9.10:443 7.8.9.10:8443 -pp 8443\n\n# \u6307\u5b9a\u6d4b\u8bd5\u7aef\u53e3\uff0c\u7f3a\u7701\u4e3a443\nip-check test.txt -p 8443\n\n# \u6307\u5b9a\u8f93\u51fa\u6587\u4ef6\uff0c\u9ed8\u8ba4\u4e3aresult \u4e0e\u6e90\u6587\u4ef6\u7684\u62fc\u63a5\nip-check test.txt -o better-ips.txt\n\n\n# \u9650\u5236\u53c2\u4e0e\u53ef\u7528\u6027\u6d4b\u8bd5ip \u7684\u6570\u91cf\nip-check test.txt -lv 100\n# \u9650\u5236\u53c2\u4e0ertt \u6d4b\u8bd5ip \u7684\u6570\u91cf\nip-check test.txt -lr 100\n# \u9650\u5236\u53c2\u4e0e\u4e0b\u8f7d\u901f\u5ea6\u6d4b\u8bd5\u7684ip \u7684\u6570\u91cf\nip-check test.txt -ls 100\n\n# \u5feb\u901f\u6d4b\u8bd5\uff0c \u5f00\u542f\u6b64\u9009\u9879\u540e\uff0c\u5f53\u5230\u8fbe\u6d4b\u8bd5\u65f6\u957f\u4e00\u534a\u4e0b\u8f7d\u65f6\u95f4\u540e\uff0c\u6700\u9ad8\u7f51\u901f\u4ecd\u672a\u8fbe\u5230\u671f\u7f51\u7f51\u901f\u7684\u4e00\u534a\u5219\u9000\u51fa\u6b64ip \u4e0b\u8f7d\u6d4b\u901f\nip-check test.txt -f\n\n# \u6307\u5b9a\u671f\u7f51\u7f51\u901f\uff0c\u5355\u4f4d kB/s\nip-check test.txt -s 20000\n\n# \u6307\u5b9a\u671f\u671b\u7684\u6700\u5927rtt\uff0c \u5355\u4f4d ms\nip-check test.txt -r 500\n```\n\n\u4ee5\u4e0a\u6240\u6709\u53ef\u9009\u9009\u9879\u53ef\u8054\u5408\u4f7f\u7528\u8fbe\u5230\u6700\u7ec8\u6548\u679c\u3002\n\n## Others\n\n\u4f7f\u7528geo \u4fe1\u606f\u9700\u8981\u81ea\u6211\u4e0b\u8f7d`GeoLite2-City.mmdb` \u548c `GeoLite2-ASN.mmdb`\uff0c\u53ef\u901a\u8fc7igeo-db \u8f93\u5165url \u4e0b\u8f7d\u3002\n\n### igeo-info\n\n\u67e5\u770bip \u5f52\u5c5e\u5730\u4fe1\u606f\u7684\u5de5\u5177\n\n```shell\nigeo-info -h\nusage: igeo-info [-h] sources [sources ...]\n\ngeo-info \u83b7\u53d6ip(s) \u7684\u5f52\u5c5e\u5730\u4fe1\u606f\n\npositional arguments:\n sources \u5f85\u83b7\u53d6\u5f52\u5c5e\u5730\u4fe1\u606f\u7684ip(s)\n\noptional arguments:\n -h, --help show this help message and exit\n```\n\n### igeo-dl\n\n\u4e0b\u8f7dmmdb \u6570\u636e\u5e93\u7684\u5de5\u5177\n\n```shell\nigeo-dl --help\nusage: igeo-dl [-h] [-u URL] [-p PROXY]\n\nigeo-dl \u5347\u7ea7/\u4e0b\u8f7dgeo \u6570\u636e\u5e93\n\noptional arguments:\n -h, --help show this help message and exit\n -u URL, --url URL geo \u6570\u636e\u5e93\u4e0b\u8f7d\u5730\u5740, \u8981\u6c42\u7ed3\u5c3e\u5305\u542bGeoLite2-City.mmdb \u6216GeoLite2-ASN.mmdb\n -p PROXY, --proxy PROXY\n \u4e0b\u8f7d\u65f6\u4f7f\u7528\u7684\u4ee3\u7406\n```\n\n### igeo-cfg\n\n`igeo-dl` \u7684\u914d\u7f6e\u6587\u4ef6\uff0c\u7528\u4e8e\u4e0b\u8f7dmmdb \u6570\u636e\u5e93\uff0c\u5efa\u8bae\u53bbgithub \u627e\u5bfb\u3002\n\n```shell\nigeo-cfg -h\nusage: igeo-cfg [-h]\n\ngeo-cfg \u7f16\u8f91geo config\n\noptional arguments:\n -h, --help show this help message and exit\n```\n\n## Release Note\n\n- V1.5.9\n - \u9488\u5bf9\u591a\u7aef\u53e3\u6d4b\u8bd5\u6e90\u589e\u52a0\u901a\u8fc7\u7aef\u53e3\u7b5b\u9009\u6d4b\u8bd5\u6e90\u7684\u7b56\u7565\n\n- V1.5.8\n - \u4fee\u590drtt \u6d4b\u8bd5\u4e2d\u4e22\u5305\u7387\u63a7\u5236\u5931\u6548\u95ee\u9898\n\n- V1.5.7\n - \u589e\u52a0\u6309\u5730\u533a\u4f18\u9009ip \u7b56\u7565\n - \u4fee\u590d\u9ed1\u767d\u540d\u5355\u4e0d\u652f\u6301\u591a\u5206\u7ec4\u7b56\u7565\n\n- V1.5.6\n - \u9ed1\u767d\u540d\u5355\u8fc7\u6ee4\u4f18\u5316\n\n- V1.5.4\n - \u4fee\u6b63\u5e26\u8def\u5f84\u5206\u9694\u7b26\u8f93\u51fa\u6587\u4ef6\u540d\u5f02\u5e38\u7684bug\n\n- V1.5.3\n - \u628aip \u8f93\u5165\u6e90\u89e3\u6790\u91cd\u6784\uff0c\u65b9\u4fbf\u4ee5\u540e\u62d3\u5c55\n\n- V1.5.2\n - ip \u4f20\u9012\u53c2\u6570\u65b0\u589eip:port \u683c\u5f0f\n",
"bugtrack_url": null,
"license": null,
"summary": "Powerful cdn network speed test utils.",
"version": "1.5.9",
"project_urls": null,
"split_keywords": [
"cdn",
" speed test",
" network speed"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3e13bac600348088204bd2dce3f1dd063bb98d2ae47c8a6cb2f55c4b779d7a04",
"md5": "e86f8cce7330930a097614e74b8aae7e",
"sha256": "ee6b97ae641852663ea0a8934b9cc3988340a4c5bec60f68b084a478c37bfa75"
},
"downloads": -1,
"filename": "ip_check-1.5.9-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e86f8cce7330930a097614e74b8aae7e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 38794,
"upload_time": "2024-04-12T07:50:03",
"upload_time_iso_8601": "2024-04-12T07:50:03.758947Z",
"url": "https://files.pythonhosted.org/packages/3e/13/bac600348088204bd2dce3f1dd063bb98d2ae47c8a6cb2f55c4b779d7a04/ip_check-1.5.9-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-12 07:50:03",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "ip-check"
}