Full Code of 1in9e/icp-domains for AI

main 6c0e9eac814e cached
4 files
17.5 KB
6.2k tokens
1 symbols
1 requests
Download .txt
Repository: 1in9e/icp-domains
Branch: main
Commit: 6c0e9eac814e
Files: 4
Total size: 17.5 KB

Directory structure:
gitextract_7tz5ufqp/

├── .gitignore
├── README.md
├── icp_domains.py
└── requirements.txt

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitignore
================================================
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# test module 个人习惯,测试目录去掉
/test/

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib64/
parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
#  Usually these files are written by a python script from a template
#  before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
.idea/

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
.pytest_cache/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
.python-version

# celery beat schedule file
celerybeat-schedule

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/
mysql/data
mysql/log
rabbitmq
redis
.DS_Store
supervisord.log
supervisord.pid
*.log

# my tmp dir
/tmp/
/bawa.bak/


================================================
FILE: README.md
================================================
# icp-domains
[![python](https://img.shields.io/badge/python-3.6|3.7|3.8-blue)](https://github.com/1in9e/icp-domains/tree/main/)

输入一个域名,输出ICP备案所有关联域名

### 所用接口
    <1> https://api.vvhan.com/api/icp?url=
    <2> https://hlwicpfwc.miit.gov.cn/icpproject_query/api/icpAbbreviateInfo/queryByCondition

### Usage
python icp_domains.py example.com

![example](./example.jpg)

例如OPPO.COM
```
(py3env) ➜ python icp_domains.py oppo.com
[*] oppo.com 对应的备案号为粤ICP备08130115号

[*] 查询对象 粤ICP备08130115号 共有 11 个备案域名
[+] 域名具体信息如下:

域名主办方: OPPO广东移动通信有限公司
域名: allawnfs.com
网站名称: OPPO广东移动通信有限公司官方网站
备案许可证号: 粤ICP备08130115号
网站备案号: 粤ICP备08130115号-14
域名类型: 企业
网站前置审批项: 无
是否限制接入: 否
审核通过日期: 2021-08-02 10:46:39

域名主办方: OPPO广东移动通信有限公司
域名: allawntech.com
网站名称: OPPO广东移动通信有限公司官方网站
备案许可证号: 粤ICP备08130115号
网站备案号: 粤ICP备08130115号-12
域名类型: 企业
网站前置审批项: 无
是否限制接入: 否
审核通过日期: 2021-08-06 15:28:13

域名主办方: OPPO广东移动通信有限公司
域名: opdwz.cn
网站名称: OPPO官方网站
备案许可证号: 粤ICP备08130115号
网站备案号: 粤ICP备08130115号-6
域名类型: 企业
网站前置审批项: 无
是否限制接入: 否
审核通过日期: 2021-06-04 17:29:23

域名主办方: OPPO广东移动通信有限公司
域名: coloros.com
网站名称: 软件商店
备案许可证号: 粤ICP备08130115号
网站备案号: 粤ICP备08130115号-9
域名类型: 企业
网站前置审批项: 无
是否限制接入: 否
审核通过日期: 2021-08-02 10:46:06

域名主办方: OPPO广东移动通信有限公司
域名: oppo.cn
网站名称: OPPO广东移动通信有限公司
备案许可证号: 粤ICP备08130115号
网站备案号: 粤ICP备08130115号-3
域名类型: 企业
网站前置审批项: 无
是否限制接入: 否
审核通过日期: 2021-06-04 17:29:23

域名主办方: OPPO广东移动通信有限公司
域名: allawno.com
网站名称: OPPO广东移动通信有限公司官方网站
备案许可证号: 粤ICP备08130115号
网站备案号: 粤ICP备08130115号-13
域名类型: 企业
网站前置审批项: 无
是否限制接入: 否
审核通过日期: 2021-08-02 10:46:32

域名主办方: OPPO广东移动通信有限公司
域名: coloros.net
网站名称: 门户网
备案许可证号: 粤ICP备08130115号
网站备案号: 粤ICP备08130115号-10
域名类型: 企业
网站前置审批项: 无
是否限制接入: 否
审核通过日期: 2021-06-04 17:29:14

域名主办方: OPPO广东移动通信有限公司
域名: oppo.com
网站名称: OPPO官方网站
备案许可证号: 粤ICP备08130115号
网站备案号: 粤ICP备08130115号-1
域名类型: 企业
网站前置审批项: 无
是否限制接入: 否
审核通过日期: 2021-08-02 10:45:58

域名主办方: OPPO广东移动通信有限公司
域名: oppodigital.com.cn
网站名称: oppo蓝光官网
备案许可证号: 粤ICP备08130115号
网站备案号: 粤ICP备08130115号-5
域名类型: 企业
网站前置审批项: 无
是否限制接入: 否
审核通过日期: 2021-09-24 10:37:36

域名主办方: OPPO广东移动通信有限公司
域名: oppodataintel.cn
网站名称: OPPO广东移动通信有限公司
备案许可证号: 粤ICP备08130115号
网站备案号: 粤ICP备08130115号-15
域名类型: 企业
网站前置审批项: 无
是否限制接入: 否
审核通过日期: 2021-06-04 17:29:23

域名主办方: OPPO广东移动通信有限公司
域名: zeku.com
网站名称: OPPO广东移动通信有限公司
备案许可证号: 粤ICP备08130115号
网站备案号: 粤ICP备08130115号-11
域名类型: 企业
网站前置审批项: 无
是否限制接入: 否
审核通过日期: 2021-09-06 17:02:17

[+] +++ oppo.com 域名的icp备案 粤ICP备08130115号 关联域名列表如下:
allawnfs.com
allawntech.com
opdwz.cn
coloros.com
oppo.cn
allawno.com
coloros.net
oppo.com
oppodigital.com.cn
oppodataintel.cn
zeku.com
```
例如toutiao.com
```
(py3env) ➜ python icp_domains.py toutiao.com
...(省略)
[+] +++ toutiao.com 域名的icp备案 京ICP备12025439号 关联域名列表如下:
bytegeckoext.com
searchpstatp.com
xiguashipin.cn
bytefcdn.com
ibdxiguaimg.com
byteactivity15.com
bytecimg.com
bytetraffic.net
ttbyte.net
zijieurl.com
zijieurl.cn
toutiaowap.com
toutiaowap.cn
byteactivity.com
xiguashipin.net
originalstatic.com
toutiaostatic.com
toutiaopage.com
bytedcdn.com
bytegoofy.com
bytegecko.com
bytescm.com
toutiaocdn.com
bytedanceapi.com
bdgslb.com
toutiaoapi.com
zijieapi.com
bytednsdoc.com
zijiecdn.net
zijieimg.com
zijieimg.cn
toutiaocdn.cn
originalvod.com
byteorge.com
byteapi.com
wukongwenda.cn
jstti.com
xiguaapp.com
itoutiaostatic.com
bytetcc.com
jokecommunity.cn
byteactivity13.com
zijieapi.cn
bytemedi.com
toutiaocloud.com
xsgtvacct.com
toutiaolite.com
toutiao.com
toutiao13.com
zjgslb.com
toutiaolite2.com
zjcdn.com
bdxiguavod.com
itoutiaoimg.com
byte-edge.com
bytemastatic.com
toutiaocloud.cn
bytefast.net
toutiao11.com
toutiao12.com
toutiao14.com
toutiao15.com
bdxiguastatic.com
zijietiaodong.com
byteimgc.com
bytevalk.com
baikevod.com
tekkenthree.com
toutiaovod.com
bytetos.com
zijieurl.cn
toutiaowap.com
toutiaowap.cn
byteactivity.com
xiguashipin.net
originalstatic.com
toutiaostatic.com
toutiaopage.com
bytedcdn.com
bytegoofy.com
bytedance.org
ttbyte.cn
zjbyte.com
zjbyte.cn
zijieurl.net
toutiaowap.net
zijiewap.com
bdactivity.com
activitybyte.com
bytecdn.com
bytemaimg.com
pstatp.com
ttwebview.com
byted-edu.com
byteacct.com
bytedns.net
searchtoutiaoimg.com
wukong.com
zijiecdn.com
pacmantwo.com
samasty.com
zilrms.com
ttjisu.com
bytedns2.com
byted-ug.com
bytenewst.com
byteorg.com
searchstatic.com
jokecommunity.net
neihancommunity.com
byteactivity16.com
byteq8u.net
bvfcdn.com
bfcdnrd.com
bytegeckoext.com
searchpstatp.com
xiguashipin.cn
bytefcdn.com
ibdxiguaimg.com
byteactivity15.com
bytecimg.com
bytetraffic.net
ttbyte.net
zijieurl.com
zijieurl.cn
toutiaowap.com
toutiaowap.cn
byteactivity.com
xiguashipin.net
originalstatic.com
bfcdnsc.com
vfcdnrd.com
wtturl.cn
bytedance.com
bytedance.net
bytedance.cn
ttbyte.com
zjbyte.net
zijiewap.cn
zijiewap.net
xiguavideo.cn
cdndns2.com
byte00.com
bytecdn.net
bytemaimg.com
pstatp.com
ttwebview.com
byted-edu.com
byteacct.com
bytedns.net
bytefae.com
livecdnstatic.com
zijiecdn.cn
zijieimg.net
toutiaocdn.net
toutiaolite1.com
tetrisone.com
ixigua.com
originalimg.com
byteactivity12.com
byteorg.com
searchstatic.com
jokecommunity.net
neihancommunity.com
toutiaolite2.com
zjcdn.com
bdxiguavod.com
itoutiaoimg.com
byte-edge.com
bytemastatic.com
bdxigualive.com
byte008.com
byteactivity14.com
toutiaocloud.net
snssdk.com
ibdxiguastatic.com
toutiaoliving.com
byte-gslb.com
byteq5k.com
bytecdntp.com
oortgslb.com
bytegslb.com
byteactivity16.com
byteq8u.net
bvfcdn.com
bfcdnrd.com
```

### Version
#### v0.3 
- [fix bug: issues/2 修复源站字段名更改引发的报错](https://github.com/1in9e/icp-domains/issues/2)

#### v0.2
- 修复另一类icp格式(如"浙B2-20080224-1")的相关域名查询

#### v0.1
- 创建项目


### Thanks
> 特别说明,备案号查多个备案详情来自于如下项目:
- https://github.com/wongzeon/ICP-Checker



================================================
FILE: icp_domains.py
================================================
# -*- coding: utf-8 -*-
# 根据域名icp备案号查询同备案号关联域名脚本 by _lin9e <lin9e@qq.com> link: https://github.com/1in9e

"""
【域名 -> ICP -> 关联域名s】
icp查询from https://github.com/wongzeon/ICP-Checker
接口:
    <1> https://api.vvhan.com/api/icp?url=
    <2> https://hlwicpfwc.miit.gov.cn/icpproject_query/api/icpAbbreviateInfo/queryByCondition
    接口<2>存在滑动验证码,利用cv2进行破解
"""

import requests, hashlib, time, base64, cv2, os, sys, json

def main(domain):
    try:
        r = requests.get(url='https://api.vvhan.com/api/icp?url='+str(domain.strip()))
        js = json.loads(r.text)
        icp = js['info']['icp']
        # icp存在两种格式:
        #   A: 浙B2-20080224-1
        #   B: 京ICP证030173号-1
        info = icp if '-' not in icp else icp.split('-')[0] if len(icp.split('-'))==2 else icp.split('-')[0]+'-'+icp.split('-')[1]
    except Exception as e:
        print(e)
        info = ''
    print("[*] {} 对应的备案号为{}".format(domain, icp))
    if info:
        info_data = {
            'pageNum':'',
            'pageSize':'',
            'unitName':info
        }
        #构造AuthKey
        timeStamp = int(round(time.time()*1000))
        authSecret = 'testtest' + str(timeStamp)
        authKey = hashlib.md5(authSecret.encode(encoding='UTF-8')).hexdigest()
        #获取Cookie
        cookie_headers = {
        'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
        'accept-encoding': 'gzip, deflate, br',
        'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36 Edg/90.0.818.42'
        }
        cookie = requests.utils.dict_from_cookiejar(requests.get('https://beian.miit.gov.cn/',headers=cookie_headers).cookies)['__jsluid_s']
        #请求获取Token
        t_url = 'https://hlwicpfwc.miit.gov.cn/icpproject_query/api/auth'
        t_headers = {
            'Host': 'hlwicpfwc.miit.gov.cn',
            'Connection': 'keep-alive',
            'sec-ch-ua': '" Not A;Brand";v="99", "Chromium";v="90", "Microsoft Edge";v="90"',
            'Accept': '*/*',
            'DNT': '1',
            'sec-ch-ua-mobile': '?0',
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.46',
            'Origin': 'https://beian.miit.gov.cn',
            'Sec-Fetch-Site': 'same-site',
            'Sec-Fetch-Mode': 'cors',
            'Sec-Fetch-Dest': 'empty',
            'Referer': 'https://beian.miit.gov.cn/',
            'Accept-Encoding': 'gzip, deflate, br',
            'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
            'Cookie': '__jsluid_s=' + cookie
        }
        data = {
            'authKey': authKey,
            'timeStamp': timeStamp
        }
        t_response = requests.post(t_url,data=data,headers=t_headers)
        try:
            get_token = t_response.json()['params']['bussiness']
        except:
            print('\n'"请求被禁止,请稍后或更换头部与IP后再试,状态码:",t_response.status_code)
        #获取验证图像、UUID
        p_url = 'https://hlwicpfwc.miit.gov.cn/icpproject_query/api/image/getCheckImage'
        p_headers = {
            'Host': 'hlwicpfwc.miit.gov.cn',
            'Connection': 'keep-alive',
            'Content-Length': '0',
            'sec-ch-ua': '" Not A;Brand";v="99", "Chromium";v="90", "Microsoft Edge";v="90"',
            'Accept': 'application/json, text/plain, */*',
            'DNT': '1',
            'sec-ch-ua-mobile': '?0',
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.46',
            'token': get_token,
            'Origin': 'https://beian.miit.gov.cn',
            'Sec-Fetch-Site': 'same-site',
            'Sec-Fetch-Mode': 'cors',
            'Sec-Fetch-Dest': 'empty',
            'Referer': 'https://beian.miit.gov.cn/',
            'Accept-Encoding': 'gzip, deflate, br',
            'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
            'Cookie': '__jsluid_s=' + cookie
        }
        p_request = requests.post(p_url,data='',headers=p_headers)
        try:
            p_uuid = p_request.json()['params']['uuid']
            big_image = p_request.json()['params']['bigImage']
            small_image = p_request.json()['params']['smallImage']
        except KeyError:
            print("请重试,请求状态码:",p_request.status_code)
        #解码图片,写入并计算图片缺口位置
        with open('bigImage.jpg','wb') as f:
            f.write(base64.b64decode(big_image))
            f.close()
        with open('smallImage.jpg','wb') as f:
            f.write(base64.b64decode(small_image))
            f.close()
        background_image = cv2.imread('bigImage.jpg',cv2.COLOR_GRAY2RGB)
        fill_image = cv2.imread('smallImage.jpg',cv2.COLOR_GRAY2RGB)
        background_image_canny = cv2.Canny(background_image, 100, 200)
        fill_image_canny = cv2.Canny(fill_image, 100, 300)
        position_match = cv2.matchTemplate(background_image, fill_image, cv2.TM_CCOEFF_NORMED)
        min_val,max_val,min_loc,max_loc = cv2.minMaxLoc(position_match)
        position = max_loc
        mouse_length = position[0]+1
        os.remove('bigImage.jpg')
        os.remove('smallImage.jpg')
        #通过拼图验证,获取sign
        check_url = 'https://hlwicpfwc.miit.gov.cn/icpproject_query/api/image/checkImage'
        check_headers = {
            'Host': 'hlwicpfwc.miit.gov.cn',
            'Accept': 'application/json, text/plain, */*',
            'Connection': 'keep-alive',
            'Content-Length': '60',
            'sec-ch-ua': '" Not A;Brand";v="99", "Chromium";v="90", "Microsoft Edge";v="90"',
            'DNT': '1',
            'sec-ch-ua-mobile': '?0',
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36 Edg/90.0.818.42',
            'token': get_token,
            'Content-Type': 'application/json',
            'Origin': 'https://beian.miit.gov.cn',
            'Sec-Fetch-Site': 'same-site',
            'Sec-Fetch-Mode': 'cors',
            'Sec-Fetch-Dest': 'empty',
            'Referer': 'https://beian.miit.gov.cn/',
            'Accept-Encoding': 'gzip, deflate, br',
            'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
            'Cookie': '__jsluid_s=' + cookie
        }
        check_data = {
            'key':p_uuid,
            'value':mouse_length
        }
        check_request = requests.post(check_url,json=check_data,headers=check_headers)
        try:
            sign = check_request.json()['params']
        except Exception:
            print('\n'"请求被禁止,请稍后或更换头部与IP后再试,状态码:",check_request.status_code)
        #获取备案信息
        info_url = 'https://hlwicpfwc.miit.gov.cn/icpproject_query/api/icpAbbreviateInfo/queryByCondition'
        info_headers = {
            'Host': 'hlwicpfwc.miit.gov.cn',
            'Connection': 'keep-alive',
            'Content-Length': '78',
            'sec-ch-ua': '" Not A;Brand";v="99", "Chromium";v="90", "Microsoft Edge";v="90"',
            'DNT': '1',
            'sec-ch-ua-mobile': '?0',
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36 Edg/90.0.818.42',
            'Content-Type': 'application/json',
            'Accept': 'application/json, text/plain, */*',
            'uuid': p_uuid,
            'token': get_token,
            'sign': sign,
            'Origin': 'https://beian.miit.gov.cn',
            'Sec-Fetch-Site': 'same-site',
            'Sec-Fetch-Mode': 'cors',
            'Sec-Fetch-Dest': 'empty',
            'Referer': 'https://beian.miit.gov.cn/',
            'Accept-Encoding': 'gzip, deflate, br',
            'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
            'Cookie': '__jsluid_s=' + cookie
        }
        info_request = requests.post(info_url,json=info_data,headers=info_headers)
        domain_total = info_request.json()['params']['total']
        page_total = info_request.json()['params']['lastPage']
        page_size = info_request.json()['params']['pageSize']
        start_row = info_request.json()['params']['startRow']
        end_row = info_request.json()['params']['endRow']

        print("\n[*] 查询对象", info, "共有", domain_total, "个备案域名")
        print("[+] 域名具体信息如下:")
        domain_list = []
        for i in range(1,page_total+1):
            for k in range(start_row, end_row+1):
                info_base = info_request.json()['params']['list'][k]
                domain_name = info_base['domain']
                domain_list.append(domain_name)
                domain_type = info_base['natureName']
                domain_licence = info_base['mainLicence']
                domain_web_licence = info_base['serviceLicence']
                domain_site_name = info_base['unitName']
                domain_status = info_base['limitAccess']
                domain_approve_date = info_base['updateRecordTime']
                domain_owner = info_base['unitName']
                try:
                    domain_content_approved = info_base['contentTypeName']
                    if not bool(domain_content_approved):
                        domain_content_approved = "无"
                except KeyError:
                    domain_content_approved = "无"
                print("\n域名主办方:",domain_owner)
                print("域名:",domain_name)
                print("网站名称:",domain_site_name)
                print("备案许可证号:",domain_licence)
                print("网站备案号:",domain_web_licence)
                print("域名类型:",domain_type)
                print("网站前置审批项:",domain_content_approved)
                print("是否限制接入:",domain_status)
                print("审核通过日期:",domain_approve_date)
            info_data_page = {
                'pageNum':i+1,
                'pageSize':'10',
                'unitName':info
            }
            if info_data_page['pageNum'] > page_total:
                # print("查询完毕")
                break
            else:
                info_request = requests.post(info_url,json=info_data_page,headers=info_headers)
                start_row = info_request.json()['params']['startRow']
                end_row = info_request.json()['params']['endRow']
                time.sleep(3)
        print("\n[+] RESULT: {} 域名的icp备案 {} 关联域名列表如下: ".format(domain, icp))
        for i in domain_list:
            print(i)

if __name__ == '__main__':
    if len(sys.argv) != 2:
        print("---ICP查关联域名--- V0.3 by _lin9e")
        print("Usage: {} 'domain'".format(sys.argv[0]))
        print("例如: python icp_domains.py oppo.com")
    else:
        main(sys.argv[1])


================================================
FILE: requirements.txt
================================================
opencv_python
requests==2.25.0
Download .txt
gitextract_7tz5ufqp/

├── .gitignore
├── README.md
├── icp_domains.py
└── requirements.txt
Download .txt
SYMBOL INDEX (1 symbols across 1 files)

FILE: icp_domains.py
  function main (line 15) | def main(domain):
Condensed preview — 4 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (22K chars).
[
  {
    "path": ".gitignore",
    "chars": 1498,
    "preview": "# Byte-compiled / optimized / DLL files\n__pycache__/\n*.py[cod]\n*$py.class\n\n# C extensions\n*.so\n\n# test module 个人习惯,测试目录去"
  },
  {
    "path": "README.md",
    "chars": 5547,
    "preview": "# icp-domains\n[![python](https://img.shields.io/badge/python-3.6|3.7|3.8-blue)](https://github.com/1in9e/icp-domains/tre"
  },
  {
    "path": "icp_domains.py",
    "chars": 10877,
    "preview": "# -*- coding: utf-8 -*-\n# 根据域名icp备案号查询同备案号关联域名脚本 by _lin9e <lin9e@qq.com> link: https://github.com/1in9e\n\n\"\"\"\n【域名 -> ICP"
  },
  {
    "path": "requirements.txt",
    "chars": 33,
    "preview": "opencv_python\r\nrequests==2.25.0\r\n"
  }
]

About this extraction

This page contains the full source code of the 1in9e/icp-domains GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 4 files (17.5 KB), approximately 6.2k tokens, and a symbol index with 1 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!