{ "info": { "author": "ausaki", "author_email": "ljm51689@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "# subfinder \u5b57\u5e55\u67e5\u627e\u5668\n\nsubfinder \u662f\u4e00\u4e2a\u901a\u7528\u5b57\u5e55\u67e5\u627e\u5668\uff0c\u53ef\u4ee5\u67e5\u627e\u5b57\u5e55\u5e76\u4e0b\u8f7d\u3002\n\n---\n\n[![PyPi](https://img.shields.io/pypi/v/subfinder.svg)](https://pypi.org/project/subfinder/)\n[![PyPi - Python Version](https://img.shields.io/pypi/pyversions/subfinder.svg)](https://pypi.org/project/subfinder/)\n[![PyPI - License](https://img.shields.io/pypi/l/subfinder.svg)](https://pypi.org/project/subfinder/)\n![GitHub last commit](https://img.shields.io/github/last-commit/ausaki/subfinder.svg)\n\n---\n\nTable of Contents\n=================\n\n * [subfinder \u5b57\u5e55\u67e5\u627e\u5668](#subfinder-\u5b57\u5e55\u67e5\u627e\u5668)\n * [Table of Contents](#table-of-contents)\n * [\u7279\u6027](#\u7279\u6027)\n * [\u5b89\u88c5](#\u5b89\u88c5)\n * [\u66f4\u65b0](#\u66f4\u65b0)\n * [\u4f7f\u7528\u65b9\u6cd5](#\u4f7f\u7528\u65b9\u6cd5)\n * [\u547d\u4ee4\u884c](#\u547d\u4ee4\u884c)\n * [\u914d\u7f6e\u6587\u4ef6](#\u914d\u7f6e\u6587\u4ef6)\n * [Windows \u53f3\u952e\u83dc\u5355](#windows-\u53f3\u952e\u83dc\u5355)\n * [macOS \u53f3\u952e\u83dc\u5355](#macos-\u53f3\u952e\u83dc\u5355)\n * [\u56fe\u5f62\u754c\u9762](#\u56fe\u5f62\u754c\u9762)\n * [\u6ce8\u610f\u4e8b\u9879](#\u6ce8\u610f\u4e8b\u9879)\n * [shooter \u5b57\u5e55\u641c\u7d22\u5668](#shooter-\u5b57\u5e55\u641c\u7d22\u5668)\n * [zimuku \u5b57\u5e55\u641c\u7d22\u5668](#zimuku-\u5b57\u5e55\u641c\u7d22\u5668)\n * [\u6269\u5c55](#\u6269\u5c55)\n * [subfinder \u67b6\u6784](#subfinder-\u67b6\u6784)\n * [\u81ea\u5b9a\u4e49\u5b57\u5e55\u641c\u7d22\u5668](#\u81ea\u5b9a\u4e49\u5b57\u5e55\u641c\u7d22\u5668)\n * [\u8d21\u732e](#\u8d21\u732e)\n * [\u53c2\u8003](#\u53c2\u8003)\n * [License](#license)\n * [\u66f4\u65b0\u5386\u53f2](#\u66f4\u65b0\u5386\u53f2)\n * [v1.0.9](#v109)\n * [v1.0.8](#v108)\n * [v1.0.7](#v107)\n * [v1.0.6](#v106)\n * [v1.0.5](#v105)\n * [v1.0.4](#v104)\n * [v1.0.3](#v103)\n * [v1.0.2](#v102)\n * [v1.0.1](#v101)\n\n---\n\n## \u7279\u6027\n\n- \u652f\u6301\u5c04\u624b\u5b57\u5e55\u7f51\u63d0\u4f9b\u7684 API\uff0c\u53ef\u4ee5\u7cbe\u786e\u5339\u914d\u5b57\u5e55\u3002\n\n- \u652f\u6301\u4ece [\u5b57\u5e55\u5e93](https://www.zimuku.cn/) \u641c\u7d22\u5b57\u5e55\u3002\n\n- \u652f\u6301\u4ece [\u5b57\u5e55\u7ec4](http://www.zimuzu.io/) \u641c\u7d22\u5b57\u5e55\u3002\n\n- \u652f\u6301\u6307\u5b9a\u8bed\u8a00\u548c\u683c\u5f0f\u67e5\u627e\u5b57\u5e55\u3002\n\n- \u81ea\u52a8\u5c06\u5b57\u5e55\u4e0b\u8f7d\u81f3\u548c\u89c6\u9891\u6587\u4ef6\u76f8\u540c\u7684\u76ee\u5f55\uff0c\u81ea\u52a8\u5c06\u5b57\u5e55\u6587\u4ef6\u91cd\u547d\u540d\u4e3a\u89c6\u9891\u6587\u4ef6\u540d\uff0c\u65b9\u4fbf\u64ad\u653e\u5668\u81ea\u52a8\u52a0\u8f7d\u5b57\u5e55\u3002\n\n- \u652f\u6301\u7ebf\u7a0b\u548c\u534f\u7a0b\u5e76\u53d1\u4e0b\u8f7d\u3002\n\n- \u652f\u6301 python2 \u548c python3\u3002\n\n- \u652f\u6301\u5168\u5e73\u53f0\uff08Windows\u3001macOS \u548c Linux\uff09\n\n## \u5b89\u88c5\n\n\u5982\u679c\u4f60\u662f Linux \u548c macOS \u7528\u6237\uff0c\u7531\u4e8e\u7cfb\u7edf\u81ea\u5e26 Python\uff0c\u63a8\u8350\u4f7f\u7528\u4e0b\u9762\u7684\u65b9\u6cd5\u5b89\u88c5 subfinder\uff1a\n\n`pip install subfinder`\n\n\u5b89\u88c5\u5b8c\u6210\u4e4b\u540e\uff0c\u4f1a\u5728 Python \u7684 scripts \u76ee\u5f55\u4e0b\u6dfb\u52a0\u4e00\u4e2a\u53eb\u505a subfinder \u7684\u53ef\u6267\u884c\u6587\u4ef6\u3002\n\n> \u5728 unix-like \u7cfb\u7edf\u4e2d\uff0cscripts \u76ee\u5f55\u4e00\u822c\u662f `/usr/local/bin`\uff0c\u5728 Windows \u7cfb\u7edf\u4e2d\uff0cscripts \u76ee\u5f55\u4e00\u822c\u662f `C:\\python\\scripts\\`\u3002\u5728 Windows \u7cfb\u7edf\u4e2d\u9700\u8981\u5c06 `C:\\python\\scripts\\` \u52a0\u5165\u5230 `PATH` \u4e2d\uff08\u4e00\u822c\u5b89\u88c5 Python \u65f6\u5df2\u7ecf\u6dfb\u52a0\u4e86\uff09\u3002\n\n\u63a5\u4e0b\u6765\u4f60\u5c31\u53ef\u4ee5\u5728\u547d\u4ee4\u884c\u4e2d\u4f7f\u7528 subfinder \u547d\u4ee4\u4e86\u3002\n\n\u4e3a\u4e86\u65b9\u4fbf\u6ca1\u6709\u5b89\u88c5 Python \u7684\u7528\u6237\uff0c\u8fd9\u91cc\u4e5f\u6709\u5df2\u7ecf\u6253\u5305\u597d\u7684\u53ef\u6267\u884c\u6587\u4ef6\u3002[\u6233\u8fd9\u91cc\u4e0b\u8f7d](https://github.com/ausaki/subfinder/releases)\u3002\n\n## \u66f4\u65b0\n\n\u5982\u679c subfinder \u662f\u4f7f\u7528 pip \u5b89\u88c5\u7684\uff0c\u90a3\u4e48\u4f7f\u7528 pip \u66f4\u65b0\uff0c\n\n`pip install subfinder --upgrade`\n\n\u5982\u679c subfinder \u662f\u4e0b\u8f7d\u7684\u6253\u5305\u597d\u7684\u53ef\u6267\u884c\u6587\u4ef6\uff0c\u90a3\u4e48\u8bf7\u91cd\u65b0\u4e0b\u8f7d\u6700\u65b0\u7684\u53ef\u6267\u884c\u6587\u4ef6\u5e76\u8986\u76d6\u65e7\u7684\u6587\u4ef6\u3002\n\n## \u4f7f\u7528\u65b9\u6cd5\n\n### \u547d\u4ee4\u884c\n\n![subfinder_cmd.macos](assets/subfinder_cmd.macos.gif)\n\n- \u4f7f\u7528\u9ed8\u8ba4\u5b57\u5e55\u67e5\u627e\u5668\uff08shooter\uff09\u67e5\u627e\u5355\u4e2a\u89c6\u9891\u7684\u5b57\u5e55\uff1a\n\n `subfinder /path/to/videofile`\n\n- \u4f7f\u7528\u9ed8\u8ba4\u5b57\u5e55\u67e5\u627e\u5668\uff08shooter\uff09\u67e5\u627e\u76ee\u5f55\u4e0b\uff08\u9012\u5f52\u76ee\u5f55\uff09\u6240\u6709\u89c6\u9891\u7684\u5b57\u5e55\uff1a\n\n `subfinder /path/to/directory_contains_video`\n\n- \u4f7f\u7528\u6307\u5b9a\u7684\u5b57\u5e55\u67e5\u627e\u5668\u67e5\u627e\u5b57\u5e55\uff0c\u4f8b\u5982 zimuku\uff1a\n\n `subfinder /path/to/directory_contains_video -m zimuku`\n\n- \u540c\u65f6\u4f7f\u7528\u591a\u4e2a\u5b57\u5e55\u67e5\u627e\u5668\u67e5\u627e\u5b57\u5e55\n\n `subfinder /path/to/directory_contains_video -m shooter zimuku`\n\n \u5f53\u6307\u5b9a\u591a\u4e2a\u5b57\u5e55\u67e5\u627e\u5668\u65f6\uff0csubfinder \u4f1a\u4f9d\u6b21\u5c1d\u8bd5\u6bcf\u4e2a\u5b57\u5e55\u67e5\u627e\u5668\u53bb\u67e5\u627e\u5b57\u5e55\uff0c\u53ea\u8981\u6709\u4e00\u4e2a\u5b57\u5e55\u67e5\u627e\u5668\u8fd4\u56de\u5b57\u5e55\u4fe1\u606f\uff0c\u5219\u4e0d\u518d\u4f7f\u7528\u540e\u9762\u7684\u5b57\u5e55\u67e5\u627e\u5668\u67e5\u627e\u5b57\u5e55\u3002\n\n **\u6ce8\u610f\uff1a** \u5982\u679c\u6307\u5b9a\u4e86\u591a\u4e2a\u5b57\u5e55\u67e5\u627e\u5668\uff0c\u8bf7\u4e0d\u8981\u6307\u5b9a `languages` \u53c2\u6570\uff0c\u5426\u5219\u53ef\u80fd\u4f1a\u51fa\u73b0 `LanguageError` \u9519\u8bef\uff08\u56e0\u4e3a\u6bcf\u4e2a `SubSearcher` \u652f\u6301\u7684\u8bed\u8a00\u53ef\u80fd\u4e0d\u76f8\u540c\uff09\u3002\n\n\u5e38\u7528\u53c2\u6570\u8bf4\u660e\uff08\u8be6\u7ec6\u7684\u53c2\u6570\u4fe1\u606f\u8bf7\u67e5\u770b `subfinder -h`\uff09\uff1a\n\n| \u53c2\u6570 | \u542b\u4e49 | \u5fc5\u9700 |\n| ----------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------- |\n| `-l, --languages` | \u6307\u5b9a\u5b57\u5e55\u8bed\u8a00\uff0c\u53ef\u540c\u65f6\u6307\u5b9a\u591a\u4e2a\u3002\u6bcf\u4e2a\u5b57\u5e55\u67e5\u627e\u5668\u652f\u6301\u7684\u8bed\u8a00\u4e0d\u76f8\u540c\u3002\u5177\u4f53\u652f\u6301\u7684\u8bed\u8a00\u8bf7\u770b\u4e0b\u6587\u3002 | \u5426\uff0csubfinder \u9ed8\u8ba4\u4f1a\u4e0b\u8f7d\u5b57\u5e55\u67e5\u627e\u5668\u627e\u5230\u7684\u6240\u6709\u5b57\u5e55\u3002 |\n| `-e, --exts` | \u6307\u5b9a\u5b57\u5e55\u6587\u4ef6\u683c\u5f0f\uff0c\u53ef\u540c\u65f6\u6307\u5b9a\u591a\u4e2a\u3002\u6bcf\u4e2a\u5b57\u5e55\u67e5\u627e\u5668\u652f\u6301\u7684\u6587\u4ef6\u683c\u5f0f\u4e0d\u76f8\u540c\u3002\u5177\u4f53\u652f\u6301\u7684\u6587\u4ef6\u683c\u5f0f\u8bf7\u770b\u4e0b\u6587\u3002 | \u5426\uff0csubfinder \u9ed8\u8ba4\u4f1a\u4e0b\u8f7d\u5b57\u5e55\u67e5\u627e\u5668\u627e\u5230\u7684\u6240\u6709\u5b57\u5e55\u3002 |\n| `-m,--method` | \u6307\u5b9a\u5b57\u5e55\u67e5\u627e\u5668\uff0c\u53ef\u540c\u65f6\u6307\u5b9a\u591a\u4e2a\u3002 | \u5426\uff0csubfinder \u9ed8\u8ba4\u4f7f\u7528 shooter \u67e5\u627e\u5b57\u5e55\u3002 |\n| `--video_exts` | \u89c6\u9891\u6587\u4ef6\u7684\u540e\u7f00\u540d\uff08\u5305\u62ec.\uff0c\u4f8b\u5982.mp4\uff09 | \u5426 |\n| `--repeat` | \u91cd\u590d\u67e5\u627e\u5b57\u5e55\uff0c\u5373\u4f7f\u672c\u5730\u5b57\u5e55\u5df2\u5b58\u5728\uff0c\u9ed8\u8ba4False\u3002 | \u5426 |\n| `--exclude` | \u6392\u9664\u5339\u914d\u6a21\u5f0f\u7684\u6587\u4ef6\u6216\u76ee\u5f55\uff0c\u7c7b\u4f3c\u4e8eshell\u7684\u6587\u4ef6\u5339\u914d\u6a21\u5f0f\u3002\u8be6\u60c5\u89c1\u4e0b\u6587 | \u5426 |\n| `--api_urls` | \u6307\u5b9a\u5b57\u5e55\u641c\u7d22\u5668\u7684API URL\u3002\u8be6\u60c5\u89c1\u4e0b\u6587 | \u5426 |\n| `-c,--conf` | \u914d\u7f6e\u6587\u4ef6 |\u5426\uff0cSubFinder\u9ed8\u8ba4\u4ece~/.subfinder.json\u8bfb\u53d6\u3002|\n| `-s,--silence` | \u9759\u9ed8\u8fd0\u884c\uff0c\u4e0d\u8f93\u51fa\u65e5\u5fd7 | \u5426 |\n| `--debug` | \u8c03\u8bd5\u6a21\u5f0f\uff0c\u8f93\u51fa\u8c03\u8bd5\u65e5\u5fd7 | \u5426 |\n| `-h,--help` | \u663e\u793a\u5e2e\u52a9\u4fe1\u606f | \u5426|\n\n- `--exclude`, \u652f\u6301\u7684\u5339\u914d\u6a21\u5f0f\u7c7b\u4f3c\u4e8eshell\uff0c`*` \u5339\u914d\u4efb\u610f\u957f\u5ea6\u7684\u5b57\u7b26\u4e32\uff0c`?` \u5339\u914d\u4e00\u4e2a\u5b57\u7b26\uff0c`[CHARS]`\u5339\u914dCHARS\u4e2d\u7684\u4efb\u4e00\u5b57\u7b26\u3002\u4f8b\u5982\uff1a\n\n - \u6392\u9664\u5305\u542b`abc`\u7684\u76ee\u5f55\uff1a`--exclude '*abc*/'`\u3002\u6ce8\u610f\u6dfb\u52a0\u5355\u5f15\u53f7\uff0c\u9632\u6b62shell\u5bf9\u5176\u8fdb\u884c\u6269\u5c55\u3002\n\n - \u6392\u9664\u5305\u542b`abc`\u7684\u6587\u4ef6\uff1a`--exclude '*abc*'`\u3002\u6ce8\u610f\u548c\u4e0a\u4e2a\u4f8b\u5b50\u7684\u533a\u522b\uff0c\u5339\u914d\u76ee\u5f55\u65f6\u7ed3\u5c3e\u6709`/`\u76ee\u5f55\u5206\u9694\u7b26\uff0c\u5339\u914d\u6587\u4ef6\u5219\u6ca1\u6709\u3002\n\n\n- `--api_urls`\n\n [\u5b57\u5e55\u5e93](http://www.zimuku.la)\u7684\u94fe\u63a5\u4e0d\u592a\u7a33\u5b9a\uff0c\u6709\u65f6\u5019\u4f1a\u66f4\u6362\u57df\u540d\uff0c\u56e0\u6b64\u63d0\u4f9b`--api_urls`\u9009\u9879\u81ea\u5b9a\u4e49API URL\uff0c\u4ee5\u9632\u57df\u540d\u6216\u94fe\u63a5\u53d8\u52a8\u3002\n\n `--api_urls`\u53ea\u63a5\u6536JSON\u683c\u5f0f\u7684\u5b57\u7b26\u4e32\u3002\n\n \u83b7\u53d6\u6b63\u786e\u7684API URL\u7684\u65b9\u6cd5\uff1a\n\n - \u5b57\u5e55\u5e93\u7684API\u4e00\u822c\u5f62\u5982 http://www.zimuku.la/search\uff0c \u8fd9\u4e2aURL\u5c31\u662f\u7f51\u9875\u7aef\u201c\u641c\u7d22\u201d\u529f\u80fd\u7684URL\u3002\n\n - \u5b57\u5e55\u7ec4\u7684API\u4e00\u822c\u5f62\u5982 http://www.zmz2019.com/search\uff0c \u8fd9\u4e2aURL\u540c\u6837\u662f\u7f51\u9875\u7aef\u201c\u641c\u7d22\u201d\u529f\u80fd\u7684URL\u3002\n\n - \u5c04\u624b\u7f51\u7684API\u6bd4\u8f83\u7a33\u5b9a\uff0c\u4e00\u822c\u4e0d\u4f1a\u53d8\u52a8\u3002\n\n \u914d\u7f6e\u793a\u4f8b\uff1a\n\n ```\n {\n // \u8bbe\u7f6e\u5b57\u5e55\u5e93\u7684API\n \"zimuku\": \"http://www.zimuku.la/search\",\n // \u8bbe\u7f6e\u5b57\u5e55\u7ec4\u7684API\n \"zimuzu\": \"http://www.zmz2019.com/search\",\n // \u8bbe\u7f6e\u5b57\u5e55\u7ec4\u83b7\u53d6\u5b57\u5e55\u4e0b\u8f7d\u94fe\u63a5\u7684API\n \"zimuzu_subtitle_api_url\": \"http://got001.com/api/v1/static/subtitle/detail\"\n }\n ```\n\n\u652f\u6301\u7684\u8bed\u8a00\u548c\u6587\u4ef6\u683c\u5f0f\uff1a\n\n| \u5b57\u5e55\u67e5\u627e\u5668 | \u8bed\u8a00 | \u6587\u4ef6\u683c\u5f0f |\n| ---------- | ----------------------------------- | -------------- |\n| shooter | ['zh', 'en'] | ['ass', 'srt'] |\n| zimuku | ['zh_chs', 'zh_cht', 'en', 'zh_en'] | ['ass', 'srt'] |\n| zimuzu | ['zh_chs', 'zh_cht', 'en', 'zh_en'] | ['ass', 'srt'] |\n\n\u8bed\u8a00\u4ee3\u7801\uff1a\n\n| \u4ee3\u7801 | \u542b\u4e49 |\n| ------ | ------------------ |\n| zh | \u4e2d\u6587\uff0c\u7b80\u4f53\u6216\u8005\u7e41\u4f53 |\n| en | \u82f1\u6587 |\n| zh_chs | \u7b80\u4f53\u4e2d\u6587 |\n| zh_cht | \u7e41\u4f53\u4e2d\u6587 |\n| zh_en | \u53cc\u8bed |\n\n### \u914d\u7f6e\u6587\u4ef6\n\n\u914d\u7f6e\u6587\u4ef6\u662fJSON\u683c\u5f0f\u7684\uff0c\u652f\u6301\u547d\u4ee4\u884c\u4e2d\u7684\u6240\u6709\u9009\u9879\u3002\u547d\u4ee4\u884c\u4e2d\u6307\u5b9a\u7684\u9009\u9879\u4f18\u5148\u7ea7\u9ad8\u4e8e\u914d\u7f6e\u6587\u4ef6\u7684\u3002\n\n\u914d\u7f6e\u6587\u4ef6\u4e2d\u7684key\u4e00\u4e00\u5bf9\u5e94\u4e8e\u547d\u4ee4\u884c\u9009\u9879\uff0c\u4f8b\u5982`-m\uff0c--method`\u5bf9\u5e94\u7684key\u4e3a`method`\u3002\n\n\u793a\u4f8b\uff1a\n\n```json\n{\n \"languages\": [\"zh\", \"en\", \"zh_chs\"],\n \"exts\": [\"ass\", \"srt\"],\n \"method\": [\"shooter\", \"zimuzu\", \"zimuku\"],\n \"video_exts\": [\".mp4\", \".mkv\", \".iso\"],\n \"exclude\": [\"excluded_path/\", \"*abc.mp4\"],\n \"api_urls\": {\n // \u8bbe\u7f6e\u5b57\u5e55\u5e93\u7684API\n \"zimuku\": \"http://www.zimuku.la/search\",\n // \u8bbe\u7f6e\u5b57\u5e55\u7ec4\u7684API\n \"zimuzu\": \"http://www.zmz2019.com/search\",\n // \u8bbe\u7f6e\u5b57\u5e55\u7ec4\u83b7\u53d6\u5b57\u5e55\u4e0b\u8f7d\u94fe\u63a5\u7684API\n \"zimuzu_subtitle_api_url\": \"http://got001.com/api/v1/static/subtitle/detail\"\n }\n}\n```\n\n### Windows \u53f3\u952e\u83dc\u5355\n\n\u4f7f\u7528\u547d\u4ee4\u884c\u4e0b\u8f7d\u5b57\u5e55\u8fd8\u662f\u6709\u4e00\u70b9\u4e0d\u65b9\u4fbf\uff0c\u7279\u522b\u662f\u9700\u8981\u8f93\u5165\u8def\u5f84\u3002\n\n\u5728 widnows \u4e2d\uff0c\u53ef\u4ee5\u901a\u8fc7\u6ce8\u518c\u8868\u5c06 subfinder \u6dfb\u52a0\u5230\u53f3\u952e\u83dc\u5355\uff0c\u4f7f\u7528\u65f6\u53f3\u952e\u9009\u4e2d\u89c6\u9891\u6587\u4ef6\u6216\u8005\u6587\u4ef6\u5939\uff0c\u7136\u540e\u70b9\u51fb\u53f3\u952e\u83dc\u5355\u4e2d\u7684 \u201c\u67e5\u627e\u5b57\u5e55\u201d\u3002\n\n![win_menu](assets/subfinder_menu.win.gif)\n\n**\u5982\u4f55\u6dfb\u52a0\u6ce8\u518c\u8868\uff1a**\n\n- \u4e0b\u8f7d [\u6ce8\u518c\u8868\u6587\u4ef6](https://raw.githubusercontent.com/ausaki/subfinder/master/assets/subfinder.reg)\uff0c\n\n- \u53cc\u51fb\u6ce8\u518c\u8868\u6587\u4ef6 subfinder.reg \u5373\u53ef\u6dfb\u52a0\u6ce8\u518c\u8868\u5230\u7cfb\u7edf\u4e2d\u3002\n\n### macOS \u53f3\u952e\u83dc\u5355\n\n\u5728 macOS \u4e2d\uff0c\u901a\u8fc7 Automator \u7684 Service \u5b9e\u73b0\u7c7b\u4f3c\u4e8e Windows \u4e2d\u7684\u53f3\u952e\u83dc\u5355\u529f\u80fd\u3002\n\n![subfinder_workflow_service.macos](assets/subfinder_workflow_service.macos.png)\n\n\u4f7f\u7528\u65b9\u6cd5\uff1a\n\n- [\u4e0b\u8f7d workflow](https://raw.githubusercontent.com/ausaki/subfinder/master/assets/subfinder.workflow.tar.gz)\u3002\n- \u89e3\u538b subfinder.workflow.tar.gz\u3002\n- \u5c06\u89e3\u538b\u51fa\u7684 subfinder.workflow \u590d\u5236\u5230 / Users/YourName/Library/Services\u3002\n- \u9009\u4e2d\u89c6\u9891\u6587\u4ef6\u6216\u76ee\u5f55\uff0c\u53f3\u952e\u5f39\u51fa\u83dc\u5355\uff0c\u9009\u62e9 \u201c\u670d\u52a1\uff08Services\uff09\u201d -> \u201c\u67e5\u627e\u5b57\u5e55\u201d\u3002\n\n**\u6ce8\u610f\uff1a\u5728 workflow \u4e2d\uff0csubfinder \u7684\u8def\u5f84\u662f `/usr/local/bin/subfinder`\u3002**\n\n\u5982\u679c\u60f3\u8981\u4e86\u89e3\u5982\u4f55\u914d\u7f6e workerflow\uff0c\u53ef\u4ee5\u53c2\u8003:\n\n- [macOS Automator \u5e2e\u52a9](https://support.apple.com/zh-cn/guide/automator/welcome/mac)\n- [stackexchange \u7684\u8fd9\u7bc7\u56de\u7b54](https://apple.stackexchange.com/questions/238948/osx-how-to-add-a-right-click-option-in-folder-to-open-the-folder-with-an-applic?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa)\n\n## \u56fe\u5f62\u754c\u9762\n\n\u6253\u5305\u597d\u7684\u53ef\u6267\u884c\u6587\u4ef6\u5176\u5b9e\u662f\u4e00\u4e2a GUI app\uff0c\u4e0d\u5e26\u4efb\u4f55\u53c2\u6570\u8fd0\u884c\u7684\u8bdd\uff0c\u4f1a\u6253\u5f00\u4e00\u4e2a\u56fe\u5f62\u754c\u9762\u3002\n\n![subfinder_gui.win](assets/subfinder_gui.win.png)\n\n**\u6ce8\u610f**\n\n- GUI app \u9ed8\u8ba4\u540c\u65f6\u4f7f\u7528 shooter \u548c zimuku \u4e24\u4e2a\u5b57\u5e55\u641c\u7d22\u5668\u3002\n\n- GUI app \u540c\u6837\u652f\u6301\u547d\u4ee4\u884c\u53c2\u6570\u3002\n\n[\u4e0b\u8f7d\u9875\u9762](https://github.com/ausaki/subfinder/releases)\n\n## \u6ce8\u610f\u4e8b\u9879\n\n### shooter \u5b57\u5e55\u641c\u7d22\u5668\n\n- \u7531\u4e8e\u5c04\u624b\u5b57\u5e55\u7f51\u722c\u866b\u7684\u5b9e\u65f6\u6027\uff0c\u53ef\u80fd\u65e0\u6cd5\u67e5\u627e\u5230\u6700\u65b0\u53d1\u5e03\u89c6\u9891\u7684\u5b57\u5e55\u3002\n- \u5c04\u624b\u5b57\u5e55\u7f51 API \u8fd4\u56de\u7684\u5b57\u5e55\u53ef\u80fd\u51fa\u73b0 \u201c\u8bed\u8a00\u4e0d\u4e00\u81f4\u201d \u95ee\u9898\uff08\u6307\u5b9a\u67e5\u627e\u82f1\u6587\u5b57\u5e55\u5374\u8fd4\u56de\u4e2d\u6587\u5b57\u5e55\uff09\u3002\n\n### zimuku \u5b57\u5e55\u641c\u7d22\u5668\n\n- zimuku \u7f51\u7ad9\u660e\u660e\u6709\u5b57\u5e55\u53ef\u4f9b\u4e0b\u8f7d\uff0csubfinder \u5374\u63d0\u793a\u627e\u4e0d\u5230\u5b57\u5e55\u3002\u53ef\u80fd\u7684\u539f\u56e0\u6709\uff1a\n\n - zimuku \u5b57\u5e55\u641c\u7d22\u5668\u4ece\u89c6\u9891\u6587\u4ef6\u540d\u4e2d\u63d0\u53d6\u7684\u5173\u952e\u8bcd\u4e0d\u591f\u51c6\u786e\uff0c\u5bfc\u81f4\u641c\u7d22\u7ed3\u679c\u4e3a\u7a7a\u3002\n\n - zimuku \u7f51\u7ad9\u4fee\u6539\u4e86 HTML \u4ee3\u7801\uff0c\u5bfc\u81f4 HTML \u89e3\u6790\u5931\u8d25\u3002\n\n- \u4ece zimuku \u7f51\u7ad9\u4e0a\u4e0b\u8f7d\u7684\u5b57\u5e55\u4e00\u822c\u90fd\u662f\u538b\u7f29\u5305\uff08zip, rar\uff09\u3002Python \u81ea\u5e26\u7684 zipfile \u6807\u51c6\u5e93\u53ef\u4ee5\u89e3\u538b zip \u538b\u7f29\u5305\uff0c\u4e0d\u8fc7\u89e3\u538b rar \u538b\u7f29\u5305\u9700\u8981\u64cd\u4f5c\u7cfb\u7edf\u5b89\u88c5\u6709 unrar \u5de5\u5177\u3002\u7531\u4e8e windows \u7cfb\u7edf\u5b89\u88c5\u548c\u914d\u7f6e unrar \u6bd4\u8f83\u9ebb\u70e6\uff0csubfinder \u5df2\u7ecf\u5167\u5efa unrar.exe \u4e86\u3002\u5bf9\u4e8e Linux \u548c macOS \u7cfb\u7edf\u7684\u7528\u6237\uff0c\u9700\u8981\u81ea\u5df1\u624b\u52a8\u4f7f\u7528\u7cfb\u7edf\u5305\u7ba1\u7406\u5de5\u5177\u5b89\u88c5 unrar\u3002\n\n## \u6269\u5c55\n\nsubfinder \u7684\u5b9a\u4f4d\u662f\u652f\u6301\u7b2c\u4e09\u65b9\u6269\u5c55\u7684\u901a\u7528\u5b57\u5e55\u67e5\u627e\u5668\u3002\n\n### subfinder \u67b6\u6784\n\n**class subfinder.subfinder.SubFinder**\n\n`SubFinder` \u7c7b\u5b9a\u4e49\u5728 `subfiner/subfiner.py` \u4e2d\u3002\n\n`SubFinder` \u8d1f\u8d23\u7684\u529f\u80fd\u6709\uff1a\n\n- \u6536\u96c6\u6307\u5b9a\u76ee\u5f55\u4e0b\u6240\u6709\u7684\u89c6\u9891\u6587\u4ef6\u3002\n\n- \u8c03\u7528\u6307\u5b9a\u7684 `SubSearcher` \u67e5\u627e\u5b57\u5e55\u3002\n\n- \u4e0b\u8f7d\u5b57\u5e55\u3002\n\n\u65b9\u6cd5\uff1a\n\n- `__init__(self, path='./', languages=None, exts=None, subsearcher_class=None, **kwargs)`\n\n | \u53c2\u6570 | \u4ecb\u7ecd | \u7c7b\u578b |\n | ----------------- | --------------------------------------------------------- | ------------------------------------ |\n | path | \u6587\u4ef6\u540d\u6216\u8005\u76ee\u5f55 | str |\n | languages | \u5b57\u5e55\u8bed\u8a00\uff0c \u5982\u679c\u4e3a None\uff0c\u5219\u7531 `subsearcher_class` \u81ea\u5df1\u51b3\u5b9a | str or [str] |\n | exts | \u5b57\u5e55\u683c\u5f0f\uff0c\u5982\u679c\u4e3a None\uff0c\u5219\u7531 `subsearcher_class` \u81ea\u5df1\u51b3\u5b9a | str or [str] |\n | subsearcher_class | \u5b57\u5e55\u641c\u7d22\u5668\uff0c\u9ed8\u8ba4\u662f `ShooterSubSearcher` | BaseSubSearcher or [BaseSubSearcher] |\n\n **\u6ce8\u610f\uff1a** \u5982\u679c\u6307\u5b9a\u4e86\u591a\u4e2a `subsearcher_class`\uff0c\u8bf7\u4e0d\u8981\u6307\u5b9a `languages` \u53c2\u6570\uff0c\u5426\u5219\u53ef\u80fd\u4f1a\u51fa\u73b0\u6821\u9a8c\u9519\u8bef\uff08LanguageError\uff09\uff0c\u56e0\u4e3a\u6bcf\u4e2a `SubSearcher` \u652f\u6301\u7684\u8bed\u8a00\u53ef\u80fd\u4e0d\u76f8\u540c\u3002\n\n- `start()`\n\n \u5f00\u59cb\u67e5\u627e\u5b57\u5e55\n\n- `done()`\n\n \u67e5\u627e\u5b57\u5e55\u5b8c\u6210\u540e\u8c03\u7528\uff0c\u8fdb\u884c\u4e00\u4e9b\u6536\u5c3e\u5de5\u4f5c\u3002\n\n\u4f60\u57fa\u672c\u4e0a\u4e0d\u7528\u4fee\u6539 `SubFinder` \u7c7b\uff0c\u53ea\u9700\u8981\u81ea\u5b9a\u4e49 `SubSearcher` \u5373\u53ef\u3002\n\n\u66f4\u591a\u5173\u4e8e `SubFinder` \u7684\u7ec6\u8282\u8bf7\u67e5\u770b\u6e90\u7801\u3002\n\n`SubFinder` \u9ed8\u8ba4\u662f\u5355\u7ebf\u7a0b\u7684\uff0c\u6548\u7387\u6709\u70b9\u4f4e\uff0c\u56e0\u6b64\u57fa\u4e8e `SubFinder` \u5b9e\u73b0\u4e86\u4e24\u4e2a\u5206\u522b\u57fa\u4e8e gevent \u548c thread \u7684\u5b50\u7c7b\u3002\n\n**class subfinder.subfinder_thread.SubFinderThread**\n\n`SubFinderThread` \u7c7b\u5b9a\u4e49\u5728 `subfiner/subfiner_thread.py` \u4e2d\uff0c`SubFinderThread` \u91cd\u5199\u4e86 `SubFinder` \u7684 `_init_pool` \u65b9\u6cd5\uff0c\u4f7f\u7528\u7ebf\u7a0b\u6c60\u53bb\u67e5\u627e\u5b57\u5e55\u548c\u4e0b\u8f7d\u5b57\u5e55\u3002\n\n**class subfinder.subfinder_gevent.SubFinderGevent**\n\n`SubFinderGevent` \u7c7b\u5b9a\u4e49\u5728 `subfiner/subfiner_gevent.py` \u4e2d\uff0c`SubFinderGevent` \u91cd\u5199\u4e86 `SubFinder` \u7684 `_init_pool` \u65b9\u6cd5\uff0c\u4f7f\u7528\u534f\u7a0b\u6c60\u53bb\u67e5\u627e\u5b57\u5e55\u548c\u4e0b\u8f7d\u5b57\u5e55\u3002\n\n\u5982\u679c\u4f7f\u7528 `SubFinderGevent` \uff0c\u9700\u8981\u5728\u4f60\u7684\u5165\u53e3\u6587\u4ef6\u7684\u7b2c\u4e00\u884c\u8fdb\u884c patch:\n\n `from gevent import monkey;monkey.patch_all()`\n\n**class subfinder.subsearcher.SubSearcher**\n\n`SubSearcher` \u7c7b\u5b9a\u4e49\u5728 `subfinder/subsearcher.py \u4e2d `\uff0c`SubSearcher` \u8d1f\u8d23\u67e5\u627e\u5b57\u5e55\u3002\n\n\u7c7b\u5c5e\u6027\uff1a\n\n- `SUPPORT_LANGUAGES`\uff0c \u652f\u6301\u7684\u5b57\u5e55\u8bed\u8a00\uff0c \u5982 chn\u3001eng\u3002`SUPPORT_LANGUAGES` \u7528\u4e8e\u68c0\u67e5\u547d\u4ee4\u884c\u7684 `languages` \u53c2\u6570\u662f\u5426\u5408\u6cd5\u3002\n\n- `SUPPORT_EXTS`\uff0c \u652f\u6301\u7684\u5b57\u5e55\u683c\u5f0f\uff0c\u5982 ass\u3001srt\u3002`SUPPORT_EXTS` \u7528\u4e8e\u68c0\u67e5\u547d\u4ee4\u884c\u7684 `exts` \u53c2\u6570\u662f\u5426\u5408\u6cd5\u3002\n\n\u65b9\u6cd5\uff1a\n\n- `search_subs(self, videofile, languages=None, exts=None, **kwargs)`\uff0c \u67e5\u627e\u5b57\u5e55\u3002\n\n | \u53c2\u6570 | \u4ecb\u7ecd | \u7c7b\u578b |\n | --------- | -------------------- | ------------ |\n | videofile | \u89c6\u9891\u6587\u4ef6\u540d\u7684\u7edd\u5bf9\u8def\u5f84 | str |\n | languages | \u5b57\u5e55\u8bed\u8a00 | str or [str] |\n | exts | \u5b57\u5e55\u683c\u5f0f | str or [str] |\n\n \u8fd4\u56de\u5b57\u5e55\u4fe1\u606f\u5217\u8868\uff0c\u5b57\u5e55\u4fe1\u606f\u7684\u683c\u5f0f: `{'link': LINK, 'language': LANGUAGE, 'subname': SUBNAME,'ext': EXT, 'downloaded': False}`\u3002\n\n \u683c\u5f0f\uff1a\n\n | \u5b57\u6bb5 | \u4ecb\u7ecd | \u7c7b\u578b |\n | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |\n | link | \u5b57\u5e55\u6587\u4ef6\u4e0b\u8f7d\u5730\u5740\uff0c\u53ef\u9009\uff0c\u53d6\u51b3\u4e8e `downloaded`\uff0c\u5982\u679c `downloaded` \u4e3a False\uff0c\u5219\u5fc5\u987b\u63d0\u4f9b | str |\n | language | \u5b57\u5e55\u8bed\u8a00 | str or [str] |\n | exts | \u5b57\u5e55\u683c\u5f0f | str or [str] |\n | subname | \u5b57\u5e55\u6587\u4ef6\u540d\uff0c\u53ef\u9009\uff0c\u53d6\u51b3\u4e8e `downloaded`\uff0c\u5982\u679c `downloaded` \u4e3a False\uff0c\u5219\u5fc5\u987b\u63d0\u4f9b | str or [str] |\n | downloaded | `SubSearcher` \u662f\u5426\u5df2\u7ecf\u4e0b\u8f7d\u597d\u4e86\u5b57\u5e55\u3002\u5982\u679c\u4e3a True\uff0c\u8868\u793a `SubSearcher` \u5df2\u7ecf\u4e0b\u8f7d\u4e86\u5b57\u5e55\uff0c\u90a3\u4e48 `SubFinder` \u5c06\u4e0d\u4f1a\u4e0b\u8f7d\u5b57\u5e55\uff0c\u5426\u8005 `SubFinder` \u4f1a\u6839\u636e `link` \u4e0b\u8f7d\u5b57\u5e55\u3002 | bool |\n\n### \u81ea\u5b9a\u4e49\u5b57\u5e55\u641c\u7d22\u5668\n\n\u4e3a\u4e86\u5b9e\u73b0\u4f60\u81ea\u5df1\u7684\u5b57\u5e55\u641c\u7d22\u5668\uff0c\u4f60\u9700\u8981\uff1a\n\n- \u521b\u5efa\u4e00\u4e2a\u7ee7\u627f\u81ea `BaseSubSearcher` \u7684\u7c7b\uff0c\u5b9e\u73b0 `search_subs` \u65b9\u6cd5\uff0c\u91cd\u5199 `SUPPORT_LANGUAGES` \u548c `SUPPORT_EXTS` \u5c5e\u6027\u3002\n\n- \u6ce8\u518c\u4f60\u81ea\u5df1\u7684 `SubSeacher` \u7c7b\u3002\n\n\u8fd9\u91cc\u6709\u4e00\u4e2a\u81ea\u5b9a\u4e49\u5b57\u5e55\u641c\u7d22\u5668\u7684 [\u793a\u4f8b\u6587\u4ef6](examples/custom_subsearcher.py)\u3002\n\n## \u8d21\u732e\n\n\u5728\u4f7f\u7528\u8fc7\u7a0b\u4e2d\u9047\u5230\u4efb\u4f55\u95ee\u9898\uff0c\u8bf7\u63d0\u4ea4 issue\u3002\n\n\u5982\u679c\u4f60\u5e0c\u671b\u5206\u4eab\u4f60\u81ea\u5df1\u7684\u5b57\u5e55\u641c\u7d22\u5668\uff0c\u6b22\u8fce\u63d0\u4ea4 PR\u3002\n\n## \u53c2\u8003\n\n- [\u5c04\u624b\u5b57\u5e55\u7f51 API \u4f7f\u7528\u6587\u6863](https://docs.google.com/document/d/1ufdzy6jbornkXxsD-OGl3kgWa4P9WO5NZb6_QYZiGI0/preview)\n\n- [\u5c04\u624b\u5b57\u5e55\u7f51 API](https://www.shooter.cn/api/subapi.php)\n\n## License\n\n[MIT License](LICENSE)\n\n## \u66f4\u65b0\u5386\u53f2\n\n### v1.0.9\n\n[issue 27](https://github.com/ausaki/subfinder/issues/27)\n\n- \u652f\u6301\u7528\u6237\u914d\u7f6e\u6587\u4ef6\n\n- \u652f\u6301\u7528\u6237\u81ea\u5b9a\u4e49\u5b57\u5e55\u7ec4\u548c\u5b57\u5e55\u5e93\u7684API URL\u3002\n\n- \u652f\u6301\u7528\u6237\u81ea\u5b9a\u4e49\u89c6\u9891\u6587\u4ef6\u7684\u540e\u7f00\u3002\n\n- \u652f\u6301\u5ffd\u7565\u6587\u4ef6\u6216\u6587\u4ef6\u5939\u3002\n\n### v1.0.8\n\n- \u4fee\u590d zimuku \u641c\u7d22\u5668\u7684 bug\u3002\n\n### v1.0.7\n\n- \u5347\u7ea7 requests \u81f3 2.20.0\uff0c\u4fee\u590d requests [\u5b89\u5168\u95ee\u9898](https://nvd.nist.gov/vuln/detail/CVE-2018-18074)\uff0c\n\n### v1.0.6\n\n- \u4f18\u5316\u4e86 subsearcher\u3002\n\n- \u6dfb\u52a0--debug\u9009\u9879\uff0c\u65b9\u4fbf\u663e\u793a\u8c03\u8bd5\u4fe1\u606f\u3002\n\n### v1.0.5\n\n- \u4fee\u590d\u547d\u4ee4\u884c\u53c2\u6570`-l`\uff0c`-e`\u7684\u95ee\u9898\u3002\n\n### v1.0.4\n\n- \u65b0\u589e zimuzu \u5b57\u5e55\u641c\u7d22\u5668\u3002\n\n- \u4f18\u5316\u4ee3\u7801\u3002\n\n### v1.0.3\n\n- \u4f18\u5316 zimuku \u5b57\u5e55\u641c\u7d22\u5668\u3002\n\n- \u5167\u5efa unrar.exe\uff0cwindows \u7528\u6237\u4e0d\u7528\u5b89\u88c5 unrara \u4e86\u3002\n\n### v1.0.2\n\n- GUI app \u540c\u65f6\u4f7f\u7528 shooter \u548c zimuku \u4e24\u4e2a\u5b57\u5e55\u641c\u7d22\u5668\u641c\u7d22\u5b57\u5e55\u3002\n\n- GUI app \u652f\u6301\u547d\u4ee4\u884c\u8fd0\u884c\u3002\n\n- \u5b8c\u5584\u6253\u5305 GUI app \u7684\u6d41\u7a0b\u3002\n\n### v1.0.1\n\n- \u5b8c\u5584 ZimukuSubsearcher\u3002\n\n - \u89e3\u538b\u5b57\u5e55\u538b\u7f29\u5305\u6587\u4ef6\u65f6\uff0c\u53ea\u89e3\u538b\u5b57\u5e55\u6587\u4ef6\u3002\u5b57\u5e55\u7ec4\u4e0a\u4f20\u7684\u5b57\u5e55\u538b\u7f29\u5305\u6587\u4ef6\u4e2d\u53ef\u80fd\u5305\u542b\u5176\u5b83\u975e\u5b57\u5e55\u6587\u4ef6\u3002\n\n - \u5b8c\u5584\u641c\u7d22\u529f\u80fd\u3002\n\n- \u5b8c\u5584\u6253\u5305\u65b9\u5f0f\u3002\n\n- \u4fee\u590d\u4e00\u4e9b bug\u3002\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ausaki/subfinder/", "keywords": "subtitle,subfinder,sub,subtitle finder,shooter,zimuku", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "SubFinder", "package_url": "https://pypi.org/project/SubFinder/", "platform": "", "project_url": "https://pypi.org/project/SubFinder/", "project_urls": { "Homepage": "https://github.com/ausaki/subfinder/" }, "release_url": "https://pypi.org/project/SubFinder/1.0.9/", "requires_dist": [ "requests", "lxml", "bs4", "gevent", "rarfile", "six" ], "requires_python": ">=3", "summary": "subfinder -- a general finder for subtitles", "version": "1.0.9" }, "last_serial": 5594859, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "f8dfbb8ec5b6c840a242b1167aca88b9", "sha256": "e25a0583de42197d4cce27afc7516a8e0bfd8a60dac281b606a0876e2f3bcd65" }, "downloads": -1, "filename": "SubFinder-0.0.1.tar.gz", "has_sig": false, "md5_digest": "f8dfbb8ec5b6c840a242b1167aca88b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5111, "upload_time": "2018-05-16T01:04:25", "url": "https://files.pythonhosted.org/packages/7b/5f/ddc4663bde4c0fd8629341ffdce7e30b38a2922bd2e50122fa5ad711b9a2/SubFinder-0.0.1.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "e6b5dcec1581968a5a7f2b2d8f9a1df6", "sha256": "993809cad48b3df84451e59b8e14ddda4b0e5b1145ca7c389c546a9fce21ebbb" }, "downloads": -1, "filename": "SubFinder-0.0.3.tar.gz", "has_sig": false, "md5_digest": "e6b5dcec1581968a5a7f2b2d8f9a1df6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7710, "upload_time": "2018-06-29T08:49:59", "url": "https://files.pythonhosted.org/packages/3f/d8/ec02e4830a17dd98c7ab699bbfbbac60295c423ea974ce3c5a30b45976eb/SubFinder-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "079dcaa2f5fcd9e27bcc6b02dd76fa00", "sha256": "7f0ca589a195b308a0957288fc259972b2de7012f611cb1e0b959f42ff20a49a" }, "downloads": -1, "filename": "SubFinder-0.0.4.tar.gz", "has_sig": false, "md5_digest": "079dcaa2f5fcd9e27bcc6b02dd76fa00", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8296, "upload_time": "2018-06-29T08:54:26", "url": "https://files.pythonhosted.org/packages/5c/89/70a8d084c8aa9a694ebd19fe67b90c1e95f8f02d6feb838bb8e6ff2cba9d/SubFinder-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "ec2d1af1d3b4a39b8bdf8d4b6fc9a97d", "sha256": "f9aff33b757786e5877245c7d4901a826c6fe2a0f4cd2a3560e5099c634bf45a" }, "downloads": -1, "filename": "SubFinder-0.0.5.tar.gz", "has_sig": false, "md5_digest": "ec2d1af1d3b4a39b8bdf8d4b6fc9a97d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8290, "upload_time": "2018-06-29T08:54:53", "url": "https://files.pythonhosted.org/packages/bd/52/bb6a7ae228320a12a3e86e5dfa8aea6745ee1a8cc09279c764631d122ce6/SubFinder-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "a70599ff1edfb37e4e072284ba22b271", "sha256": "002846463360703d57b7e800fb654cbfc307b978f4e64ad15e034403be7f8813" }, "downloads": -1, "filename": "SubFinder-0.0.6.tar.gz", "has_sig": false, "md5_digest": "a70599ff1edfb37e4e072284ba22b271", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9143, "upload_time": "2018-06-29T08:55:11", "url": "https://files.pythonhosted.org/packages/b1/a2/2f0f35b8aa4a0ba158f59eaea3c41398a6e636359e4d09b6c8384f95c583/SubFinder-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "922395d027946cbe70f8c96e7dc63aac", "sha256": "f772d223e445094b26b8f54438a282f9e75e9d6077a676b153dee51dc330411b" }, "downloads": -1, "filename": "SubFinder-0.0.7.tar.gz", "has_sig": false, "md5_digest": "922395d027946cbe70f8c96e7dc63aac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9147, "upload_time": "2018-06-29T08:55:21", "url": "https://files.pythonhosted.org/packages/7f/33/0605df821fd573562ce407723b34746e575b2fc8f51b1aa615bff99cc632/SubFinder-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "d585cda23cbe511cb83836686778a6fe", "sha256": "b1433f2e577f5645cc20d47aea0391ea86240f5b4bd92befb526480c0e624da8" }, "downloads": -1, "filename": "SubFinder-0.0.8.tar.gz", "has_sig": false, "md5_digest": "d585cda23cbe511cb83836686778a6fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17774, "upload_time": "2018-06-29T08:48:35", "url": "https://files.pythonhosted.org/packages/4e/1e/76a1c7808cb2871adc31866974e67142b95f63e7a89b25c90950225509ef/SubFinder-0.0.8.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "cb9dccdbbc5e9fa276ecd50dae64fff0", "sha256": "1812b0f575a4292d4e58d3ff0e45a85c2056a52ca7def8d5fd835074dba7b923" }, "downloads": -1, "filename": "SubFinder-1.0.0.tar.gz", "has_sig": false, "md5_digest": "cb9dccdbbc5e9fa276ecd50dae64fff0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17653, "upload_time": "2018-06-29T08:57:39", "url": "https://files.pythonhosted.org/packages/a7/c1/f67d372dbefab83b4e549bc636f848ebf9daf6a1b7cd9e40064fb2effcd1/SubFinder-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "7a4cf328c02e1d7e9a64cceac2118ba0", "sha256": "3653d408518fb80bae5be14832c7ac0a19d664f87fdc3be1b76e2545681a815c" }, "downloads": -1, "filename": "SubFinder-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7a4cf328c02e1d7e9a64cceac2118ba0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 20868, "upload_time": "2018-08-10T02:04:26", "url": "https://files.pythonhosted.org/packages/37/38/11c2cb94b8a580b6326868e64f22262d86ee1b95c22d3ecd5c989aae61b8/SubFinder-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a2daa489cd748284967f28d4240b6c18", "sha256": "b8f6d42696f60da84a1b1ee49bae0cc4035b2951350486cadfd6eb5dd9ee6e29" }, "downloads": -1, "filename": "SubFinder-1.0.1.tar.gz", "has_sig": false, "md5_digest": "a2daa489cd748284967f28d4240b6c18", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 19269, "upload_time": "2018-08-10T02:04:28", "url": "https://files.pythonhosted.org/packages/69/10/88338a81ccdf40416e918dfaf2b9f87c39b691deb9bd7381a38a0fa2d6e4/SubFinder-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "62725ffaaf1bd16584dc8b0f30f6a423", "sha256": "a73f57ee49b9b43b563194b13a44b9b871d9aea01c07835aae3f276a5b1c6b27" }, "downloads": -1, "filename": "SubFinder-1.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "62725ffaaf1bd16584dc8b0f30f6a423", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 21071, "upload_time": "2018-08-10T12:56:08", "url": "https://files.pythonhosted.org/packages/24/30/b33028bdcfea173ce5bbe2fd4cb1e829e60bc774e7c832e83633097fc32e/SubFinder-1.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "83e2c4a84576697b5764c2a729497206", "sha256": "15c1f9aee28af93619f42cafbcc22c84a87ba33bded8c778254ea43009b5a9c8" }, "downloads": -1, "filename": "SubFinder-1.0.2.tar.gz", "has_sig": false, "md5_digest": "83e2c4a84576697b5764c2a729497206", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 19531, "upload_time": "2018-08-10T12:56:10", "url": "https://files.pythonhosted.org/packages/66/be/36367ef257f75d5a0d823909db2ca20da1001af50303d099f5e7cfe005ae/SubFinder-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "be099f51833c26cd4ad1df25c9816673", "sha256": "af6d7f2484375c7b2b704b1986d7dedfe9386f4a9d5fa363e4d497483f7752c7" }, "downloads": -1, "filename": "SubFinder-1.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "be099f51833c26cd4ad1df25c9816673", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 227681, "upload_time": "2018-08-12T06:54:48", "url": "https://files.pythonhosted.org/packages/d2/b6/b16b826f1f8a05a21f3458c13da74b377910f60c5a35cc9babddbe03cc5a/SubFinder-1.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a54f566984ea25c0642920d7ec7951fa", "sha256": "7c8570809ff54a20ffe76ac543ccc279af6f826eedef9997294a830189200fcb" }, "downloads": -1, "filename": "SubFinder-1.0.3.tar.gz", "has_sig": false, "md5_digest": "a54f566984ea25c0642920d7ec7951fa", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 225369, "upload_time": "2018-08-12T06:54:51", "url": "https://files.pythonhosted.org/packages/ec/1b/1a19ce676e74df04844fed8dc65b58744d35515e6e5be64dc1b678f2730c/SubFinder-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "95acabf43fadf340b84cc1ce60319ba1", "sha256": "43f161afbd6a38d283550b6feb4920309530de525b2d0e41aaab1a413f7f3e48" }, "downloads": -1, "filename": "SubFinder-1.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "95acabf43fadf340b84cc1ce60319ba1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 231422, "upload_time": "2018-08-16T09:06:29", "url": "https://files.pythonhosted.org/packages/67/fd/f7f4524f4ef25e6dc9d0acaf3fe597310df6df355cad6dd1bf14441f07d6/SubFinder-1.0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "013910e47ae6b40772531d7421cc8793", "sha256": "cb44703e9ffe4270b8a2f57a0f79a056ccbaf09a2b6ec47358301d4764ea7c2c" }, "downloads": -1, "filename": "SubFinder-1.0.4.tar.gz", "has_sig": false, "md5_digest": "013910e47ae6b40772531d7421cc8793", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 227252, "upload_time": "2018-08-16T09:06:31", "url": "https://files.pythonhosted.org/packages/2d/b1/ac41088ed4e4ce50d8250849f7e83118b400c9e1bd81a933d394ea4e06c1/SubFinder-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "46b744091d07c228cd7316736c8dbae6", "sha256": "4c84e2cc992f3840b8d2b70c23da082a5c9d757a7ef0db6ca7ece40d773e8642" }, "downloads": -1, "filename": "SubFinder-1.0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "46b744091d07c228cd7316736c8dbae6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 231436, "upload_time": "2018-10-12T02:46:51", "url": "https://files.pythonhosted.org/packages/24/97/f4947cd03484b861c47c1e37b97736b44da4e6ffd417db501b3454d6d928/SubFinder-1.0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e9245d4a3b517dd07265d20c82b7d1e5", "sha256": "950a72e9dad1b5b32ac8290808053e5bbe5d72dc640683a911459b28e02b2f83" }, "downloads": -1, "filename": "SubFinder-1.0.5.tar.gz", "has_sig": false, "md5_digest": "e9245d4a3b517dd07265d20c82b7d1e5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 227288, "upload_time": "2018-10-12T02:46:54", "url": "https://files.pythonhosted.org/packages/ae/ca/bb6105dae56e4483ad0b7bd698346663b582a2e8619998045de7b994a237/SubFinder-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "1093484843891f7ba2dc89ae6be53847", "sha256": "45c4d6fb27724a5ba3f6ee36c93c041d3b95a8f588c0c799d62878112fc1cbba" }, "downloads": -1, "filename": "SubFinder-1.0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1093484843891f7ba2dc89ae6be53847", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 231969, "upload_time": "2018-12-07T13:17:12", "url": "https://files.pythonhosted.org/packages/aa/8b/18e394a7907007663de2c9c9a1b4196daea998ab8a0155b0b25efd70175b/SubFinder-1.0.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "60364e90bb8425b837833dc68f713152", "sha256": "4dd50c16a450f7afb69ab085f75f86f0ed99ca491ad8741a44750072110a35c3" }, "downloads": -1, "filename": "SubFinder-1.0.6.tar.gz", "has_sig": false, "md5_digest": "60364e90bb8425b837833dc68f713152", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 227792, "upload_time": "2018-12-07T13:17:21", "url": "https://files.pythonhosted.org/packages/3c/14/b3df36196696671b8a64b910188f232625e62960ea477e909a55e7ef7f0d/SubFinder-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "85eddf14f06decfdee5189dbe75a8ba1", "sha256": "043c35f671bbf801df482062e87a405807a9a0b6e837fbc4a0e8024e1ab8efa9" }, "downloads": -1, "filename": "SubFinder-1.0.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "85eddf14f06decfdee5189dbe75a8ba1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 232055, "upload_time": "2018-12-07T14:28:45", "url": "https://files.pythonhosted.org/packages/c7/64/73cc5888f52a66241e8b16849ed58e62eaeff967fe34de8182a2c5da1493/SubFinder-1.0.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "326779ae5b809f56222ab3a5dc2bf373", "sha256": "29600f2a6b77858e3ef8bc82e19f6bcefe54651dc41e4398356664226364063c" }, "downloads": -1, "filename": "SubFinder-1.0.7.tar.gz", "has_sig": false, "md5_digest": "326779ae5b809f56222ab3a5dc2bf373", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 227914, "upload_time": "2018-12-07T14:28:59", "url": "https://files.pythonhosted.org/packages/b6/36/9574b46782e8faa3b5f6be7ed014ebe83970bf54642d8c8f229c8f185254/SubFinder-1.0.7.tar.gz" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "5d1eba46c8d916ddf8ee84960177e090", "sha256": "d3af80ff0058cb28b502a3abd6a4ac2e0ba90245491ad637ff8c5e57d452067d" }, "downloads": -1, "filename": "SubFinder-1.0.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5d1eba46c8d916ddf8ee84960177e090", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 234301, "upload_time": "2019-04-02T05:47:01", "url": "https://files.pythonhosted.org/packages/b5/3b/b783dbda5c065bcc6e9c872f84bd7c18bb461dcb3e1b21a1df1e889078ba/SubFinder-1.0.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c3baab956f8e0d193c19a42b49198e8f", "sha256": "4794a0f30e891d4fa4975b142f266e8ae16524e8291ba7655986e8cc5058b7fc" }, "downloads": -1, "filename": "SubFinder-1.0.8.tar.gz", "has_sig": false, "md5_digest": "c3baab956f8e0d193c19a42b49198e8f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 234566, "upload_time": "2019-04-02T05:47:05", "url": "https://files.pythonhosted.org/packages/e9/1a/2fb8705f8e312914135d2f2cc87e6db65c287bf48c55f0650c2d0442d5d4/SubFinder-1.0.8.tar.gz" } ], "1.0.8.1": [ { "comment_text": "", "digests": { "md5": "670de13c74e7492b6b11644dfc7acda6", "sha256": "e43138e6a4a1de865e7f7e1fba2acd5a52abf863c5cd3d10b08a588995cd65ed" }, "downloads": -1, "filename": "SubFinder-1.0.8.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "670de13c74e7492b6b11644dfc7acda6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2", "size": 234298, "upload_time": "2019-07-28T05:05:16", "url": "https://files.pythonhosted.org/packages/a2/35/d5840892f150f98bfd0339cbd0bd5cd4f203bfc0d184f38ba063ca36270e/SubFinder-1.0.8.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "68f7732356ea4e3a023a7abde04d4500", "sha256": "00b6dc1878cbe552c6cd09b0b9ca99133d657edc3dbff48c1715610fbbc0eb96" }, "downloads": -1, "filename": "SubFinder-1.0.8.1.tar.gz", "has_sig": false, "md5_digest": "68f7732356ea4e3a023a7abde04d4500", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2", "size": 231124, "upload_time": "2019-07-28T05:05:19", "url": "https://files.pythonhosted.org/packages/14/12/471fb082cc4c6668a1d91a7f7ab58ea5ad5f674c08375f99f8eb0d1a36a0/SubFinder-1.0.8.1.tar.gz" } ], "1.0.9": [ { "comment_text": "", "digests": { "md5": "10f93e5b1b746ef17b0579c2a50544ef", "sha256": "cc477faaed42164e496976b256ecafcd1e48fd27fe1f7e1a31b926cada659c5b" }, "downloads": -1, "filename": "SubFinder-1.0.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "10f93e5b1b746ef17b0579c2a50544ef", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3", "size": 234217, "upload_time": "2019-07-27T03:47:53", "url": "https://files.pythonhosted.org/packages/f3/03/1f28f5c78bd51de9fec1f46cb01847048b55ebf16f6b93db3e5cead0e72c/SubFinder-1.0.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f03afbb44c29c658a50d367e3e8d8fbd", "sha256": "3df5a75390edda46bf11181ecbf517fa4b3be33b207b8e0624be60f57b5228d1" }, "downloads": -1, "filename": "SubFinder-1.0.9.tar.gz", "has_sig": false, "md5_digest": "f03afbb44c29c658a50d367e3e8d8fbd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 231051, "upload_time": "2019-07-27T03:48:00", "url": "https://files.pythonhosted.org/packages/e9/29/d03070617c76f75d5185da8dbb5b8d69d60dc26eaad95324bbb50a099cf2/SubFinder-1.0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "10f93e5b1b746ef17b0579c2a50544ef", "sha256": "cc477faaed42164e496976b256ecafcd1e48fd27fe1f7e1a31b926cada659c5b" }, "downloads": -1, "filename": "SubFinder-1.0.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "10f93e5b1b746ef17b0579c2a50544ef", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3", "size": 234217, "upload_time": "2019-07-27T03:47:53", "url": "https://files.pythonhosted.org/packages/f3/03/1f28f5c78bd51de9fec1f46cb01847048b55ebf16f6b93db3e5cead0e72c/SubFinder-1.0.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f03afbb44c29c658a50d367e3e8d8fbd", "sha256": "3df5a75390edda46bf11181ecbf517fa4b3be33b207b8e0624be60f57b5228d1" }, "downloads": -1, "filename": "SubFinder-1.0.9.tar.gz", "has_sig": false, "md5_digest": "f03afbb44c29c658a50d367e3e8d8fbd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 231051, "upload_time": "2019-07-27T03:48:00", "url": "https://files.pythonhosted.org/packages/e9/29/d03070617c76f75d5185da8dbb5b8d69d60dc26eaad95324bbb50a099cf2/SubFinder-1.0.9.tar.gz" } ] }