torbot 4.0.0__tar.gz → 4.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. torbot-4.3.0/.env +1 -0
  2. torbot-4.3.0/.flake8 +3 -0
  3. torbot-4.3.0/.gitattributes +21 -0
  4. torbot-4.3.0/.github/FUNDING.yml +12 -0
  5. torbot-4.3.0/.github/ISSUE_TEMPLATE/bug_report.md +35 -0
  6. torbot-4.3.0/.github/ISSUE_TEMPLATE/feature_request.md +17 -0
  7. torbot-4.3.0/.github/pull_request_template.md +12 -0
  8. torbot-4.3.0/.github/workflows/flake8.yml +26 -0
  9. torbot-4.3.0/.github/workflows/pytest.yml +34 -0
  10. torbot-4.3.0/.gitignore +38 -0
  11. torbot-4.3.0/CITATION.cff +40 -0
  12. torbot-4.3.0/Dockerfile +22 -0
  13. torbot-4.3.0/PKG-INFO +258 -0
  14. torbot-4.3.0/README.md +211 -0
  15. torbot-4.3.0/TESTING.md +8 -0
  16. torbot-4.3.0/docs/CHANGELOG.md +176 -0
  17. torbot-4.3.0/docs/CODE_OF_CONDUCT.md +46 -0
  18. torbot-4.3.0/docs/DESKTOP_APP.md +41 -0
  19. torbot-4.3.0/docs/Tor.md +39 -0
  20. torbot-4.3.0/main.py +12 -0
  21. torbot-4.3.0/pyproject.toml +59 -0
  22. torbot-4.3.0/requirements.txt +45 -0
  23. torbot-4.3.0/run_tests.py +14 -0
  24. torbot-4.3.0/scripts/build.sh +8 -0
  25. torbot-4.3.0/scripts/install.sh +8 -0
  26. torbot-4.3.0/scripts/publish.sh +90 -0
  27. torbot-4.3.0/scripts/remove.sh +8 -0
  28. torbot-4.3.0/scripts/update-requirements.sh +5 -0
  29. torbot-4.3.0/src/torbot/cli.py +218 -0
  30. {torbot-4.0.0 → torbot-4.3.0/src}/torbot/modules/api.py +1 -1
  31. torbot-4.3.0/src/torbot/modules/app_launcher.py +86 -0
  32. {torbot-4.0.0 → torbot-4.3.0/src}/torbot/modules/color.py +18 -18
  33. {torbot-4.0.0 → torbot-4.3.0/src}/torbot/modules/config.py +4 -7
  34. {torbot-4.0.0 → torbot-4.3.0/src}/torbot/modules/info.py +99 -49
  35. torbot-4.3.0/src/torbot/modules/linktree.py +257 -0
  36. torbot-4.3.0/src/torbot/modules/nlp/README.md +30 -0
  37. torbot-4.3.0/src/torbot/modules/nlp/gather_data.py +43 -0
  38. torbot-4.3.0/src/torbot/modules/nlp/main.py +121 -0
  39. torbot-4.3.0/src/torbot/modules/updater.py +40 -0
  40. torbot-4.3.0/tests/__init__.py +0 -0
  41. torbot-4.3.0/tests/conftest.py +35 -0
  42. torbot-4.3.0/tests/test_api.py +36 -0
  43. torbot-4.3.0/tests/test_cli_and_crawler.py +61 -0
  44. torbot-4.3.0/tests/test_linktree.py +77 -0
  45. torbot-4.3.0/tests/test_linktree_extra.py +158 -0
  46. torbot-4.3.0/tests/test_linktree_tree.py +361 -0
  47. torbot-4.3.0/tests/test_nlp.py +77 -0
  48. torbot-4.0.0/.env +0 -3
  49. torbot-4.0.0/PKG-INFO +0 -44
  50. torbot-4.0.0/pyproject.toml +0 -47
  51. torbot-4.0.0/torbot/main.py +0 -146
  52. torbot-4.0.0/torbot/modules/linktree.py +0 -201
  53. torbot-4.0.0/torbot/modules/nlp/README.md +0 -11
  54. torbot-4.0.0/torbot/modules/nlp/gather_data.py +0 -37
  55. torbot-4.0.0/torbot/modules/nlp/main.py +0 -41
  56. torbot-4.0.0/torbot/modules/tests/TESTING.md +0 -3
  57. torbot-4.0.0/torbot/modules/updater.py +0 -27
  58. {torbot-4.0.0 → torbot-4.3.0}/LICENSE.md +0 -0
  59. {torbot-4.0.0/torbot/modules → torbot-4.3.0/src/torbot}/__init__.py +0 -0
  60. {torbot-4.0.0/torbot/modules/nlp → torbot-4.3.0/src/torbot/modules}/__init__.py +0 -0
  61. {torbot-4.0.0/torbot/modules/tests → torbot-4.3.0/src/torbot/modules/nlp}/__init__.py +0 -0
  62. {torbot-4.0.0 → torbot-4.3.0/src}/torbot/modules/nlp/website_classification.csv +0 -0
torbot-4.3.0/.env ADDED
@@ -0,0 +1 @@
1
+ export TORBOT_DATA_DIR=${PWD}/data
torbot-4.3.0/.flake8 ADDED
@@ -0,0 +1,3 @@
1
+ [flake8]
2
+ max-line-length = 119
3
+ exclude = .venv,build,dist
@@ -0,0 +1,21 @@
1
+ # Source files
2
+ # ============
3
+ *.pxd text
4
+ *.py text
5
+ *.py3 text
6
+ *.pyw text
7
+ *.pyx text
8
+
9
+ # Binary files
10
+ # ============
11
+ *.db binary
12
+ *.p binary
13
+ *.pkl binary
14
+ *.pyc binary
15
+ *.pyd binary
16
+ *.pyo binary
17
+
18
+ # Note: .db, .p, and .pkl files are associated
19
+ # with the python modules ``pickle``, ``dbm.*``,
20
+ # ``shelve``, ``marshal``, ``anydbm``, & ``bsddb``
21
+ # (among others).
@@ -0,0 +1,12 @@
1
+ # These are supported funding model platforms
2
+
3
+ github: psnappz
4
+ patreon: dedsec_inside_research
5
+ open_collective: # Replace with a single Open Collective username
6
+ ko_fi: # Replace with a single Ko-fi username
7
+ tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8
+ community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9
+ liberapay: # Replace with a single Liberapay username
10
+ issuehunt: # Replace with a single IssueHunt username
11
+ otechie: # Replace with a single Otechie username
12
+ custom: # Replace with a single custom sponsorship URL
@@ -0,0 +1,35 @@
1
+ ---
2
+ name: Bug report
3
+ about: Create a report to help us improve
4
+
5
+ ---
6
+
7
+ **Describe the bug**
8
+ A clear and concise description of what the bug is.
9
+
10
+ **To Reproduce**
11
+ Steps to reproduce the behavior:
12
+ 1. Go to '...'
13
+ 2. Click on '....'
14
+ 3. Scroll down to '....'
15
+ 4. See error
16
+
17
+ **Expected behavior**
18
+ A clear and concise description of what you expected to happen.
19
+
20
+ **Screenshots**
21
+ If applicable, add screenshots to help explain your problem.
22
+
23
+ **Desktop (please complete the following information):**
24
+ - OS: [e.g. iOS]
25
+ - Browser [e.g. chrome, safari]
26
+ - Version [e.g. 22]
27
+
28
+ **Smartphone (please complete the following information):**
29
+ - Device: [e.g. iPhone6]
30
+ - OS: [e.g. iOS8.1]
31
+ - Browser [e.g. stock browser, safari]
32
+ - Version [e.g. 22]
33
+
34
+ **Additional context**
35
+ Add any other context about the problem here.
@@ -0,0 +1,17 @@
1
+ ---
2
+ name: Feature request
3
+ about: Suggest an idea for this project
4
+
5
+ ---
6
+
7
+ **Is your feature request related to a problem? Please describe.**
8
+ A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
9
+
10
+ **Describe the solution you'd like**
11
+ A clear and concise description of what you want to happen.
12
+
13
+ **Describe alternatives you've considered**
14
+ A clear and concise description of any alternative solutions or features you've considered.
15
+
16
+ **Additional context**
17
+ Add any other context or screenshots about the feature request here.
@@ -0,0 +1,12 @@
1
+ Issue #
2
+
3
+ ### Changes Proposed
4
+ -
5
+ -
6
+ -
7
+
8
+ ### Explanation of Changes
9
+
10
+
11
+
12
+ ### Screenshots of new feature/change
@@ -0,0 +1,26 @@
1
+ name: Flake8
2
+
3
+ on: [push]
4
+
5
+ permissions:
6
+ contents: read
7
+
8
+ jobs:
9
+ build:
10
+ runs-on: ubuntu-latest
11
+ strategy:
12
+ matrix:
13
+ python-version: ["3.8", "3.9", "3.10"]
14
+ steps:
15
+ - uses: actions/checkout@v3
16
+ - name: Set up Python ${{ matrix.python-version }}
17
+ uses: actions/setup-python@v3
18
+ with:
19
+ python-version: ${{ matrix.python-version }}
20
+ - name: Install dependencies
21
+ run: |
22
+ python -m pip install --upgrade pip
23
+ python -m pip install flake8
24
+ - name: Analysing the code with flake8
25
+ run: |
26
+ flake8 --per-file-ignores="__init__.py:F401" .
@@ -0,0 +1,34 @@
1
+ # This workflow will install Python dependencies, run tests and lint with a single version of Python
2
+ # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python
3
+
4
+ name: Pytest
5
+
6
+ on:
7
+ push:
8
+ branches: [ "dev" ]
9
+ pull_request:
10
+ branches: [ "dev" ]
11
+
12
+ permissions:
13
+ contents: read
14
+
15
+ jobs:
16
+ build:
17
+
18
+ runs-on: ubuntu-latest
19
+
20
+ steps:
21
+ - uses: actions/checkout@v3
22
+ - name: Set up Python 3.10
23
+ uses: actions/setup-python@v3
24
+ with:
25
+ python-version: "3.10"
26
+ - name: Install dependencies
27
+ run: |
28
+ python -m pip install --upgrade pip
29
+ pip install pytest
30
+ if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
31
+ pip install -e .
32
+ - name: Test with pytest
33
+ run: |
34
+ pytest
@@ -0,0 +1,38 @@
1
+ # Module Ignores
2
+ modules/*.pyc
3
+ modules/__init__.py
4
+ modules/__pycache__/
5
+ modules/.pytest_cache
6
+ modules/.ropeproject/
7
+ modules/lib/*.so
8
+
9
+ # Tests Ignores
10
+ tests/.pytest_cache
11
+ tests/*.pyc
12
+ tests/__pycache__/
13
+ tests/.ropeproject/
14
+
15
+ # Cache
16
+ .cache
17
+ *.pyc
18
+ .pytestc*
19
+ .pytest_cache
20
+ __pycache*
21
+ __pycache__/
22
+
23
+ # Misc
24
+
25
+ .*.swp
26
+ .ropeproject/
27
+ .idea/
28
+ .vscode/
29
+ .DS_Store
30
+
31
+ venv/
32
+ .venv/
33
+ .DS_Store
34
+ data/
35
+ torbot/modules/nlp/training_data/
36
+
37
+ # Deployment artifacts
38
+ dist
@@ -0,0 +1,40 @@
1
+ # @InProceedings{10.1007/978-981-15-0146-3_19,
2
+ # author="Narayanan, P. S.
3
+ # and Ani, R.
4
+ # and King, Akeem T. L.",
5
+ # editor="Ranganathan, G.
6
+ # and Chen, Joy
7
+ # and Rocha, {\'A}lvaro",
8
+ # title="TorBot: Open Source Intelligence Tool for Dark Web",
9
+ # booktitle="Inventive Communication and Computational Technologies",
10
+ # year="2020",
11
+ # publisher="Springer Singapore",
12
+ # address="Singapore",
13
+ # pages="187--195",
14
+ # abstract="The dark web has turned into a dominant source of illegal activities. With several volunteered networks, it is becoming more difficult to track down these services. Open source intelligence (OSINT) is a technique used to gather intelligence on targets by harvesting publicly available data. Performing OSINT on the Tor network makes it a challenge for both researchers and developers because of the complexity and anonymity of the network. This paper presents a tool which shows OSINT in the dark web. With the use of this tool, researchers and Law Enforcement Agencies can automate their task of crawling and identifying different services in the Tor network. This tool has several features which can help extract different intelligence.",
15
+ # isbn="978-981-15-0146-3"
16
+ # }
17
+
18
+ cff-version: 1.2.0
19
+ message: "If you use this software, please cite the following paper:"
20
+ authors:
21
+ - family-names: P. S.
22
+ given-names: Narayanan
23
+ affiliation: Department of Computer Science and Applications, Amrita Vishwa Vidyapeetham, Amritapuri, Kollam, India
24
+ - family-names: Akeem T. L.
25
+ given-names: King
26
+ affiliation: USPA Technologies
27
+ - family-names: R
28
+ given-names: Ani
29
+ affiliation: Department of Computer Science and Applications, Amrita Vishwa Vidyapeetham, Amritapuri, Kollam, India
30
+ keywords:
31
+ - tor
32
+ - research
33
+ - osint
34
+ identifiers:
35
+ - type: doi
36
+ value: 10.1007/978-981-15-0146-3_19
37
+ license: GNU Public License
38
+ reposiory-code: https://github.com/DedSecInside/TorBot
39
+ title: TorBot - Open Source Intelligence Tool for Dark Web
40
+ date-released: 2020-01-30
@@ -0,0 +1,22 @@
1
+ # Use an official Python 3.11.4 image as the base
2
+ FROM python:3.11.4
3
+
4
+ # Set a working directory within the container
5
+ WORKDIR /app
6
+
7
+ # Clone the TorBot repository from GitHub
8
+ RUN git clone https://github.com/DedSecInside/TorBot.git /app
9
+
10
+ # Install dependencies
11
+ RUN pip install -r /app/requirements.txt
12
+
13
+ # Set the SOCKS5_PORT environment variable
14
+ ENV SOCKS5_PORT=9050
15
+
16
+ # Expose the port specified in the .env file
17
+ EXPOSE $SOCKS5_PORT
18
+
19
+ # Run the TorBot script
20
+ CMD ["poetry", "run", "python", "torbot"]
21
+ # Example way to run the container:
22
+ # docker run --network="host" your-image-name poetry run python torbot -u https://www.example.com --depth 2 --visualize tree --save json
torbot-4.3.0/PKG-INFO ADDED
@@ -0,0 +1,258 @@
1
+ Metadata-Version: 2.4
2
+ Name: torbot
3
+ Version: 4.3.0
4
+ Summary: TorBot is an OSINT tool for the dark web.
5
+ Author-email: Akeem King <akeemtlking@gmail.com>, PS Narayanan <thepsnarayanan@gmail.com>
6
+ License-File: LICENSE.md
7
+ Classifier: Operating System :: OS Independent
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: Programming Language :: Python :: 3.9
10
+ Classifier: Programming Language :: Python :: 3.10
11
+ Classifier: Programming Language :: Python :: 3.11
12
+ Classifier: Programming Language :: Python :: 3.12
13
+ Requires-Python: >=3.9
14
+ Requires-Dist: altgraph>=0.17.4
15
+ Requires-Dist: beautifulsoup4>=4.12.3
16
+ Requires-Dist: certifi>=2024.7.4
17
+ Requires-Dist: charset-normalizer>=3.3.2
18
+ Requires-Dist: decorator>=5.1.1
19
+ Requires-Dist: httpx[socks]>=0.27.0
20
+ Requires-Dist: idna>=3.15
21
+ Requires-Dist: igraph>=0.11.4
22
+ Requires-Dist: joblib>=1.4.2
23
+ Requires-Dist: macholib>=1.16.3
24
+ Requires-Dist: numpy>=1.26.4
25
+ Requires-Dist: phonenumbers>=8.13.37
26
+ Requires-Dist: progress>=1.6
27
+ Requires-Dist: pyinstaller-hooks-contrib>=2024.6
28
+ Requires-Dist: pyinstaller>=6.8.0
29
+ Requires-Dist: pysocks>=1.7.1
30
+ Requires-Dist: pytest>=9.0.3
31
+ Requires-Dist: python-dotenv>=1.2.2
32
+ Requires-Dist: scikit-learn>=1.5.0
33
+ Requires-Dist: scipy>=1.13.0
34
+ Requires-Dist: six>=1.16.0
35
+ Requires-Dist: soupsieve>=2.8.4
36
+ Requires-Dist: tabulate>=0.9.0
37
+ Requires-Dist: termcolor>=2.4.0
38
+ Requires-Dist: texttable>=1.7.0
39
+ Requires-Dist: threadpoolctl>=3.5.0
40
+ Requires-Dist: toml>=0.10.2
41
+ Requires-Dist: treelib>=1.7.1
42
+ Requires-Dist: unipath>=1.1
43
+ Requires-Dist: urllib3>=2.7.0
44
+ Requires-Dist: validators>=0.22.0
45
+ Requires-Dist: yattag>=1.15.2
46
+ Description-Content-Type: text/markdown
47
+
48
+ <pre>
49
+
50
+ ████████╗ ██████╗ ██████╗ ██████╗ ██████╗ ████████╗
51
+ ╚══██╔══╝██╔═══██╗██╔══██╗ ██╔══██╗██╔═████╗╚══██╔══╝
52
+ ██║ ██║ ██║██████╔╝ ██████╔╝██║██╔██║ ██║
53
+ ██║ ██║ ██║██╔══██╗ ██╔══██╗████╔╝██║ ██║
54
+ ██║ ╚██████╔╝██║ ██║ ██████╔╝╚██████╔╝ ██║
55
+ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝
56
+
57
+ Open Source Intelligence Tool for the Dark Web
58
+
59
+ </pre>
60
+
61
+ <p align="center">
62
+ <a href="https://owasp.org/www-project-torbot/">
63
+ <img src="https://user-images.githubusercontent.com/4481429/94645022-65f35680-0308-11eb-8dce-a4ceba8db660.png" width="270" title="OWASP Foundation">
64
+ </a>
65
+ <img src="https://github.com/DedSecInside/TorBot/assets/4481429/41f5e7ea-56fe-41b0-bd26-2788deeb5f10" width="250" title="Hacktoberfest 2022">
66
+ <img src="https://user-images.githubusercontent.com/4481429/94646312-9dafcd80-030b-11eb-9824-73aa2414cf58.png" width="160" title="OpenSource">
67
+ </p>
68
+
69
+
70
+ ### Status/Social links
71
+ [![Pytest](https://github.com/DedSecInside/TorBot/actions/workflows/pytest.yml/badge.svg)](https://github.com/DedSecInside/TorBot/actions/workflows/pytest.yml)
72
+ [![Flake8](https://github.com/DedSecInside/TorBot/actions/workflows/flake8.yml/badge.svg?branch=dev)](https://github.com/DedSecInside/TorBot/actions/workflows/flake8.yml)
73
+ [![Slack Invite](https://img.shields.io/badge/Join-Slack-informational?style=flat-square&logo=slack)](https://join.slack.com/t/dedsec-inside/shared_invite/zt-i4jcgj8w-1ecHiSdRubwuppAzz8~yfg)
74
+ [![Code Triage](https://www.codetriage.com/dedsecinside/torbot/badges/users.svg)](https://www.codetriage.com/dedsecinside/torbot)
75
+ [![](https://img.shields.io/badge/Built%20with-❤-orange.svg?style=flat-square)]()
76
+ [![](https://img.shields.io/badge/Made%20with-Python-red.svg?style=flat-square)]()
77
+
78
+ ### Features
79
+ 1. Onion Crawler (.onion)
80
+ 2. Returns page title or host name if no page title is available and address with a short description of the site.
81
+ 3. Save links to a database (Not done)
82
+ 4. Output the HTML from a site or save it to an HTML file. (Not done)
83
+ 5. Save the link tree as a JSON file.
84
+ 6. Crawl custom domains
85
+ 7. Check if the link is live
86
+ 8. Built-in Updater
87
+ 9. Build a visual tree of link relationships that can be quickly viewed or saved to a file
88
+
89
+ ### Recent improvements
90
+ - The CLI now allows `--version` and `--update` to run without requiring a URL.
91
+ - The crawler now resolves relative links against the current page and skips unsupported or malformed hrefs more gracefully.
92
+ - The optional TorBotApp desktop UI can be launched from the CLI with `torbot app` when installed as a sibling checkout.
93
+
94
+ ...(will be updated)
95
+
96
+ ### Dependencies
97
+ - Tor (Optional)
98
+ - Python 3.9+
99
+ - pip
100
+
101
+ ## Quick start
102
+
103
+ ### Local setup
104
+ ```sh
105
+ python3 -m venv .venv
106
+ source .venv/bin/activate
107
+ python -m pip install --upgrade pip
108
+ python -m pip install -r requirements.txt
109
+ python -m pip install -e .
110
+ ```
111
+
112
+ ### Run the CLI
113
+ ```sh
114
+ python main.py --help
115
+ python main.py --version
116
+ python main.py -u https://example.com --depth 2 --visualize table
117
+ ```
118
+
119
+ ### Common examples
120
+ ```sh
121
+ # Gather basic site information
122
+ python main.py -u https://example.com --info
123
+
124
+ # Save the crawl tree as JSON
125
+ python main.py -u https://example.com --depth 2 --save json
126
+
127
+ # Disable SOCKS5 if you are not using Tor locally
128
+ python main.py -u https://example.com --disable-socks5 --visualize tree
129
+
130
+ # Launch the optional desktop app when TorBotApp is installed
131
+ torbot app
132
+ ```
133
+
134
+ ### Options
135
+ ```text
136
+ usage: Gather and analyze data from Tor sites.
137
+
138
+ optional arguments:
139
+ -u URL, --url URL Specify a website link to crawl
140
+ --depth DEPTH Specify max depth of crawler (default 1)
141
+ -h, --help Show this help message and exit
142
+ --host Set IP address for SOCKS5 proxy (defaults to 127.0.0.1)
143
+ --port Set port for SOCKS5 proxy (defaults to 9050)
144
+ -v Displays DEBUG level logging, default is INFO
145
+ --version Show the current version of TorBot.
146
+ --update Update TorBot to the latest stable version
147
+ --app Run optional TorBot desktop app
148
+ --app-dir APP_DIR Path to a TorBotApp checkout
149
+ -q, --quiet Prevents display of header and IP address
150
+ --save FORMAT Save results in a file. (tree, JSON)
151
+ --visualize FORMAT Visualizes tree of data gathered. (tree, JSON, table)
152
+ -i, --info Info displays basic info of the scanned site
153
+ --disable-socks5 Executes HTTP requests without using SOCKS5 proxy
154
+ ```
155
+
156
+ > `-u/--url` is required for crawl-related commands such as `--info`, `--save`, and `--visualize`.
157
+
158
+ If you are using Tor locally, keep the SOCKS5 proxy enabled. If you are not using Tor, add `--disable-socks5` to avoid proxy connection errors.
159
+
160
+ Read more about torrc here: [Torrc](https://github.com/DedSecInside/TorBoT/blob/master/Tor.md)
161
+
162
+ ## Optional desktop app
163
+
164
+ TorBot remains a CLI-first Python tool. The desktop UI lives in the separate
165
+ [TorBotApp](https://github.com/KingAkeem/TorBotApp) Electron project so Node and
166
+ Electron are not required for CLI users.
167
+
168
+ To launch it from this CLI, install TorBotApp as a sibling checkout:
169
+
170
+ ```text
171
+ code/
172
+ +-- TorBot/
173
+ +-- TorBotApp/
174
+ ```
175
+
176
+ Then run:
177
+
178
+ ```sh
179
+ torbot app
180
+ ```
181
+
182
+ If TorBotApp is somewhere else, use either:
183
+
184
+ ```sh
185
+ TORBOT_APP_DIR=/path/to/TorBotApp torbot app
186
+ torbot --app --app-dir /path/to/TorBotApp
187
+ ```
188
+
189
+ See [Desktop App Architecture](docs/DESKTOP_APP.md) for how the CLI, optional UI,
190
+ and backend services fit together.
191
+
192
+ ## Curated Features
193
+ - [x] Visualization Module Revamp
194
+ - [x] Implement BFS Search for webcrawler
195
+ - [x] Improve stability (Handle errors gracefully, expand test coverage, etc.)
196
+ - [x] Increase test coverage
197
+ - [ ] Save the most recent search results to a database
198
+ - [ ] Randomize Tor Connection (Random Header and Identity)
199
+ - [ ] Keyword/Phrase Search
200
+ - [ ] Social Media Integration
201
+ - [ ] Increase anonymity
202
+ - [ ] Screenshot capture
203
+
204
+
205
+ ## Contribution Guidelines
206
+
207
+ ### Found an issue?
208
+
209
+ If you face any issues in the project, please let us know by creating a new issue [here](https://github.com/DedSecInside/TorBot/issues/new/choose).
210
+
211
+ ### Developer Guidelines
212
+
213
+ We welcome contributions to this project! Here are a few guidelines to follow:
214
+
215
+ 1. Fork the repository and create a new branch for your contribution.
216
+ 2. Make sure your code passes all tests by running `pytest` before submitting a pull request to `dev` branch.
217
+ 3. Follow the [PEP8](https://www.python.org/dev/peps/pep-0008/) style guide for Python code.
218
+ 4. Make sure to add appropriate documentation for any new features or changes.
219
+ 5. When submitting a pull request, please provide a detailed description of the changes made.
220
+
221
+ ## References
222
+
223
+ 1. M. Glassman and M. J. Kang, “Intelligence in the internet age: The emergence and evolution of Open Source Intelligence (OSINT),” Comput. Human Behav., vol. 28, no. 2, pp. 673–682, 2012.
224
+ 2. D. Bradbury, “In plain view: open source intelligence,” Comput. Fraud Secur., vol. 2011, no. 4, pp. 5–9, 2011.
225
+ 3. B. Butler, B. Wardman, and N. Pratt, “REAPER: an automated, scalable solution for mass credential harvesting and OSINT,” 2016 APWG Symp. Electron. Crime Res., pp. 1–10, 2016.
226
+ 4. B. Zantout and R. A. Haraty, “I2P Data Communication System I2P Data Communication System,” no. April 2002, 2014.
227
+ 5. J. Qin, Y. Zhou, G. Lai, E. Reid, M. Sageman, and H. Chen, “The dark web portal project: collecting and analyzing the presence of terrorist groups on the web,” in Proceedings of the 2005 IEEE international conference on Intelligence and Security Informatics, 2005, pp. 623–624.
228
+ 6. D. Moore, T. Rid, D. Moore, and T. Rid, “Cryptopolitik and the Darknet Cryptopolitik and the Darknet,” vol. 6338, 2016.
229
+ 7. G. Weimann, “Going dark: Terrorism on the dark Web,” Stud. Confl. Terror., vol. 39, no. 3, pp. 195–206, 2016.
230
+ 8. A. T. Zulkarnine, R. Frank, B. Monk, J. Mitchell, and G. Davies, “Surfacing collaborated networks in dark web to find illicit and criminal content,” in Intelligence and Security Informatics (ISI), 2016 IEEE Conference on, 2016, pp. 109–114.
231
+ 9. T. Minárik and A.-M. Osula, “Tor does not stink: Use and abuse of the Tor anonymity network from the perspective of law,” Comput. Law Secur. Rev., vol. 32, no. 1, pp. 111–127, 2016.
232
+ 10. K. Loesing, S. J. Murdoch, and R. Dingledine, “A Case Study on Measuring Statistical Data in the {T}or Anonymity Network,” in Proceedings of the Workshop on Ethics in Computer Security Research (WECSR 2010), 2010.
233
+ 11. B. Nafziger, “Data Mining in the Dark : Darknet Intelligence Automation,” 2017.
234
+ 12. I. Sanchez-Rola, D. Balzarotti, and I. Santos, “The onions have eyes: A comprehensive structure and privacy analysis of tor hidden services,” in Proceedings of the 26th International Conference on World Wide Web, 2017, pp. 1251–1260.
235
+ 13. Mouli VR, Jevitha KP. “Web Services Attacks and Security-A Systematic Literature Review.”, Procedia Computer Science. 2016 Jan 1;93:870-7.
236
+ 14. Cova M, Felmetsger V, Vigna G. "Vulnerability analysis of web-based applications. InTest and Analysis of Web Services" 2007 (pp. 363-394). Springer, Berlin, Heidelberg.
237
+ 15. B. R. Holland, “Enabling Open Source Intelligence (OSINT) in private social networks,” 2012.
238
+ 16. S. Nakamoto, “Bitcoin: A Peer-to-Peer Electronic Cash System,” Cryptogr. Mail. List https//metzdowd.com, 2009.
239
+ 17. M. Wesam, A. Nabki, E. Fidalgo, E. Alegre, and I. De Paz, “Classifying Illegal Activities on Tor Network Based on Web Textual Contents”, vol. 1, pp. 35–43, 2017.
240
+ 18. Sathyadevan S, Gangadharan S.“Crime analysis and prediction using data mining”. In Networks & Soft Computing (ICNSC), 2014 First International Conference on 2014 Aug 19 (pp. 406-412). IEEE.
241
+ 19. Chau M, Chen H. "A machine learning approach to web page filtering using content and structure analysis. Decision Support Systems." 2008 Jan 1;44(2):482-94.
242
+ 20. Ani R, Jose J, Wilson M, Deepa OS. “Modified Rotation Forest Ensemble Classifier for Medical Diagnosis in Decision Support Systems”, In Progress in Advanced Computing and Intelligent Engineering 2018 (pp. 137-146). Springer, Singapore.
243
+ 21. Ani R, Augustine A, Akhil N.C. and Deepa O.S., 2016. “Random Forest Ensemble Classifier to Predict the Coronary Heart Disease Using Risk Factors”, In Proceedings of the International Conference on Soft Computing Systems (pp. 701-710). Springer, New Delhi.
244
+
245
+
246
+ ## Maintainers
247
+
248
+ - [X] [PS Narayanan](https://github.com/PSNAppz) - Co-owner
249
+ - [X] [KingAkeem](https://github.com/KingAkeem) - Co-owner
250
+
251
+ ## All Thanks to Our Contributors
252
+
253
+ <a href="https://github.com/DedSecInside/TorBot/graphs/contributors">
254
+ <img src="https://contrib.rocks/image?repo=DedSecInside/TorBot" />
255
+ </a>
256
+
257
+ ## License
258
+ [GNU Public License](https://github.com/DedSecInside/TorBot/blob/dev/LICENSE.md)