{"id":18652899,"url":"https://github.com/s045pd/sharingan","last_synced_at":"2025-04-11T16:31:53.439Z","repository":{"id":38962259,"uuid":"279751237","full_name":"s045pd/Sharingan","owner":"s045pd","description":"We will try to find your visible basic footprint from social media as much as possible - 😤 more sites is comming soon","archived":false,"fork":false,"pushed_at":"2024-07-12T01:36:43.000Z","size":7398,"stargazers_count":20,"open_issues_count":1,"forks_count":6,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-07-12T02:57:21.312Z","etag":null,"topics":["asyncio","crawler","httpx","python38","social-network"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/s045pd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-07-15T03:19:10.000Z","updated_at":"2024-07-12T01:36:46.000Z","dependencies_parsed_at":"2022-08-26T02:05:43.009Z","dependency_job_id":null,"html_url":"https://github.com/s045pd/Sharingan","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/s045pd%2FSharingan","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/s045pd%2FSharingan/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/s045pd%2FSharingan/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/s045pd%2FSharingan/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/s045pd","download_url":"https://codeload.github.com/s045pd/Sharingan/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223472781,"owners_count":17150745,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asyncio","crawler","httpx","python38","social-network"],"created_at":"2024-11-07T07:09:11.908Z","updated_at":"2024-11-07T07:09:12.509Z","avatar_url":"https://github.com/s045pd.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\u003cimg src=\"medias/main.gif\"/\u003e\n    \u003ch1 align=\"center\" \u003eSharingan\u003c/h1\u003e\n    \u003cp align=\"center\"\u003e We will try to find your visible basic footprint from social media as much as possible\u003c/p\u003e\n        \u003cp align=\"center\"\u003e\n    \u003ca href=\"https://app.codacy.com/manual/aoii103/Sharingan?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=aoii103/Sharingan\u0026utm_campaign=Badge_Grade_Dashboard\"\u003e\u003cimg src=\"https://api.codacy.com/project/badge/Grade/f00d1d69a99346038d14df4bec303034\"/\u003e\u003c/a\u003e\n    \u003ca target=\"_blank\" href=\"https://www.python.org/downloads/\" title=\"Python version\"\u003e\u003cimg src=\"https://img.shields.io/badge/python-%3E=_3.8-green.svg\"\u003e\u003c/a\u003e\n    \u003ca target=\"_blank\" href=\"LICENSE\" title=\"License: MIT\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-MIT-blue.svg\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003e 中文版: [Readme_cn](README_cn.md)\n\n# Environmental\n\nFirst, ensure that you have installed the `python3.8+` , and then run the following commands.\n\n```bash\ngit clone https://github.com/aoii103/Sharingan.git\n\ncd sharingan\n\npython3 setup.py install\n```\n\nor via pip\n\n```bash\npip install sharingan\n```\n\n# Usage\n\n```sh\npython3 -m sharingan blue\n\n```\n\n![](./medias/use.gif)\n\n# Add New Targets\n\nI have considered using `JSON` as the site's configuration file, but later wrote it in `extract.py`\n\nAnd what we need to do is add the following method under class `Extractor`, where the `def upload` method stores the basic configuration of the corresponding site\n\nFor optional configurations, see [`models.py`](https://github.com/aoii103/Sharingan/blob/master/sharingan/models.py#L25)\n\n```python\n\n    @staticmethod\n    def __example() -\u003e Generator:\n        \"\"\"\n            1. \u003c-- yield your config first\n            2. --\u003e then got your datas back\n            3. \u003c-- finally, yield the extracted data back\n        \"\"\"\n        T = yield from upload(\n            **{\n                \"url\": \"http://xxxx\",\n            }\n        )\n\n        T.name = T.html.pq('title').text()\n        ...\n\n        yield T\n\n```\n\n# Singel Test\n\nSometimes we need to test for a new site\n\nAnd we can use the following code . for example, when the target is `twitter`\n\n```bash\n\npython3 -m sharingan larry --singel=twitter\n```\n\n# Create sites from sherlock\n\nrun the following command first\n\n```bash\npython3 -m sharingan.common\n```\n\nand it will create a python file named `templates.py`\n\n```python\n    @staticmethod\n    def site_2Dimensions():\n        T = yield from upload(url='''https://2Dimensions.com/a/{}''',)\n\n        T.title = T.html.pq('title').text()\n        yield T\n\n    @staticmethod\n    def site_3dnews():\n        T = yield from upload(url='''http://forum.3dnews.ru/member.php?username={}''',error_type='text',error_msg='''Пользователь не зарегистрирован и не имеет профиля для просмотра.''',)\n\n        T.title = T.html.pq('title').text()\n        yield T\n\n    ...\n```\n\nthen replace them into `extract.py`\n\n# Options\n\n```\n\nUsage: __main__.py [OPTIONS] NAME\n\nOptions:\n  --name TEXT        The username you need to search\n  --proxy_uri TEXT   Proxy address in case of need to use a proxy to be used\n  --no_proxy         All connections will be directly connected\n  --save_path TEXT   The storage location of the collected results\n  --pass_history     The file name will be named according to the scan endtime\n  --singel TEXT      Commonly used for single target information acquisition or testing\n  --debug            Debug model\n  --update           Do not overwrite the original data results\n  --workers INTEGER  Number of concurrent workers\n  --help             Show this message and exit.\n\n```\n\n# TODO\n\n- Formatted output\n\n# 📝 License\n\nThis project is [MIT](https://github.com/kefranabg/readme-md-generator/blob/master/LICENSE) licensed.\n\n---\n\nIf you think this script is useful to you, don't forget star 🐶. Inspired by ❤️ [sherlock](https://github.com/sherlock-project/sherlock)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fs045pd%2Fsharingan","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fs045pd%2Fsharingan","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fs045pd%2Fsharingan/lists"}