openosint 1.0.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 (59) hide show
  1. openosint-1.0.0/.env.example +28 -0
  2. openosint-1.0.0/.github/workflows/ci.yml +39 -0
  3. openosint-1.0.0/.github/workflows/release.yml +58 -0
  4. openosint-1.0.0/.gitignore +74 -0
  5. openosint-1.0.0/CHANGELOG.md +17 -0
  6. openosint-1.0.0/CONTRIBUTING.md +28 -0
  7. openosint-1.0.0/DISCLAIMER.md +57 -0
  8. openosint-1.0.0/LICENSE +21 -0
  9. openosint-1.0.0/PKG-INFO +389 -0
  10. openosint-1.0.0/README.md +347 -0
  11. openosint-1.0.0/assets/github-banner.svg +148 -0
  12. openosint-1.0.0/assets/org-banner.svg +98 -0
  13. openosint-1.0.0/assets/org-logo.svg +49 -0
  14. openosint-1.0.0/config.example.yaml +30 -0
  15. openosint-1.0.0/docs/docs.js +281 -0
  16. openosint-1.0.0/docs/index.html +866 -0
  17. openosint-1.0.0/docs/logo-icon.svg +10 -0
  18. openosint-1.0.0/docs/logo.svg +30 -0
  19. openosint-1.0.0/docs/style.css +975 -0
  20. openosint-1.0.0/openosint/__init__.py +5 -0
  21. openosint-1.0.0/openosint/agent.py +276 -0
  22. openosint-1.0.0/openosint/cli.py +272 -0
  23. openosint-1.0.0/openosint/config.py +113 -0
  24. openosint-1.0.0/openosint/display.py +226 -0
  25. openosint-1.0.0/openosint/main.py +9 -0
  26. openosint-1.0.0/openosint/providers/__init__.py +8 -0
  27. openosint-1.0.0/openosint/providers/anthropic.py +72 -0
  28. openosint-1.0.0/openosint/providers/base.py +35 -0
  29. openosint-1.0.0/openosint/providers/ollama.py +16 -0
  30. openosint-1.0.0/openosint/providers/openai.py +88 -0
  31. openosint-1.0.0/openosint/tools/__init__.py +1 -0
  32. openosint-1.0.0/openosint/tools/breach_check.py +5 -0
  33. openosint-1.0.0/openosint/tools/breach_tools.py +118 -0
  34. openosint-1.0.0/openosint/tools/dns_tools.py +151 -0
  35. openosint-1.0.0/openosint/tools/domain_check.py +5 -0
  36. openosint-1.0.0/openosint/tools/domain_tools.py +146 -0
  37. openosint-1.0.0/openosint/tools/dork_tools.py +91 -0
  38. openosint-1.0.0/openosint/tools/email_check.py +5 -0
  39. openosint-1.0.0/openosint/tools/email_tools.py +124 -0
  40. openosint-1.0.0/openosint/tools/google_dork.py +5 -0
  41. openosint-1.0.0/openosint/tools/ip_check.py +5 -0
  42. openosint-1.0.0/openosint/tools/ip_tools.py +115 -0
  43. openosint-1.0.0/openosint/tools/metadata_check.py +5 -0
  44. openosint-1.0.0/openosint/tools/metadata_tools.py +126 -0
  45. openosint-1.0.0/openosint/tools/paste_check.py +58 -0
  46. openosint-1.0.0/openosint/tools/phone_check.py +5 -0
  47. openosint-1.0.0/openosint/tools/phone_tools.py +92 -0
  48. openosint-1.0.0/openosint/tools/registry.py +246 -0
  49. openosint-1.0.0/openosint/tools/social_check.py +5 -0
  50. openosint-1.0.0/openosint/tools/username_tools.py +200 -0
  51. openosint-1.0.0/openosint/tools/whois_check.py +10 -0
  52. openosint-1.0.0/openosint/utils/__init__.py +6 -0
  53. openosint-1.0.0/openosint/utils/display.py +5 -0
  54. openosint-1.0.0/openosint/utils/report.py +39 -0
  55. openosint-1.0.0/pyproject.toml +65 -0
  56. openosint-1.0.0/requirements.txt +11 -0
  57. openosint-1.0.0/scripts/release.sh +29 -0
  58. openosint-1.0.0/setup.sh +86 -0
  59. openosint-1.0.0/tests/test_tools.py +136 -0
@@ -0,0 +1,28 @@
1
+ # OpenOSINT Configuration
2
+ # Copy this file to .env and fill in your API keys
3
+
4
+ # ─── Required ────────────────────────────────────────────────
5
+ # Primary AI provider (Anthropic)
6
+ ANTHROPIC_API_KEY=sk-ant-...
7
+
8
+ # ─── Optional — enhances investigation depth ─────────────────
9
+ # OpenAI (alternative provider)
10
+ OPENAI_API_KEY=sk-...
11
+
12
+ # HaveIBeenPwned API key (paid, $3.50/month)
13
+ # https://haveibeenpwned.com/API/Key
14
+ HIBP_API_KEY=
15
+
16
+ # AbuseIPDB API key (free tier available)
17
+ # https://www.abuseipdb.com/api
18
+ ABUSEIPDB_API_KEY=
19
+
20
+ # ─── Provider selection ───────────────────────────────────────
21
+ # Options: anthropic, openai, ollama (default: anthropic)
22
+ OPENOSINT_PROVIDER=anthropic
23
+
24
+ # Model override (defaults to claude-sonnet-4-20250514)
25
+ OPENOSINT_MODEL=claude-sonnet-4-20250514
26
+
27
+ # Ollama base URL (if using local models)
28
+ OLLAMA_BASE_URL=http://localhost:11434
@@ -0,0 +1,39 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ jobs:
10
+ test:
11
+ name: Python ${{ matrix.python-version }}
12
+ runs-on: ubuntu-latest
13
+ strategy:
14
+ fail-fast: false
15
+ matrix:
16
+ python-version: ["3.10", "3.11", "3.12"]
17
+
18
+ steps:
19
+ - uses: actions/checkout@v4
20
+
21
+ - name: Set up Python ${{ matrix.python-version }}
22
+ uses: actions/setup-python@v5
23
+ with:
24
+ python-version: ${{ matrix.python-version }}
25
+
26
+ - name: Install dependencies
27
+ run: |
28
+ python -m pip install --upgrade pip
29
+ pip install -e ".[dev]"
30
+
31
+ - name: Lint with ruff
32
+ run: ruff check openosint/ tests/
33
+
34
+ - name: Syntax check
35
+ run: |
36
+ find openosint tests -name "*.py" -exec python -m py_compile {} +
37
+
38
+ - name: Run tests
39
+ run: pytest -v tests/
@@ -0,0 +1,58 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - 'v*.*.*'
7
+
8
+ jobs:
9
+ test:
10
+ name: Run Tests
11
+ runs-on: ubuntu-latest
12
+ strategy:
13
+ matrix:
14
+ python-version: ['3.10', '3.11', '3.12']
15
+ steps:
16
+ - uses: actions/checkout@v4
17
+ - uses: actions/setup-python@v5
18
+ with:
19
+ python-version: ${{ matrix.python-version }}
20
+ - name: Install dependencies
21
+ run: pip install -e ".[dev]"
22
+ - name: Lint
23
+ run: ruff check .
24
+ - name: Test
25
+ run: pytest tests/ -v
26
+
27
+ publish:
28
+ name: Publish to PyPI
29
+ needs: test
30
+ runs-on: ubuntu-latest
31
+ environment:
32
+ name: pypi
33
+ url: https://pypi.org/p/openosint
34
+ permissions:
35
+ id-token: write
36
+ contents: write
37
+ steps:
38
+ - uses: actions/checkout@v4
39
+ - uses: actions/setup-python@v5
40
+ with:
41
+ python-version: '3.11'
42
+ - name: Install build tools
43
+ run: pip install build
44
+ - name: Build package
45
+ run: python -m build
46
+ - name: Publish to PyPI
47
+ uses: pypa/gh-action-pypi-publish@release/v1
48
+ - name: Create GitHub Release
49
+ uses: softprops/action-gh-release@v2
50
+ with:
51
+ files: dist/*
52
+ generate_release_notes: true
53
+ body: |
54
+ ## Installation
55
+ ```bash
56
+ pip install openosint==${{ github.ref_name }}
57
+ ```
58
+ See [CHANGELOG.md](CHANGELOG.md) for full details.
@@ -0,0 +1,74 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+ *.so
6
+ .Python
7
+ build/
8
+ develop-eggs/
9
+ dist/
10
+ downloads/
11
+ eggs/
12
+ .eggs/
13
+ lib/
14
+ lib64/
15
+ parts/
16
+ sdist/
17
+ var/
18
+ wheels/
19
+ share/python-wheels/
20
+ *.egg-info/
21
+ .installed.cfg
22
+ *.egg
23
+ MANIFEST
24
+ *.manifest
25
+ *.spec
26
+ pip-log.txt
27
+ pip-delete-this-directory.txt
28
+ htmlcov/
29
+ .tox/
30
+ .nox/
31
+ .coverage
32
+ .coverage.*
33
+ .cache
34
+ nosetests.xml
35
+ coverage.xml
36
+ *.cover
37
+ *.py,cover
38
+ .hypothesis/
39
+ .pytest_cache/
40
+ cover/
41
+
42
+ # Virtual environments
43
+ .env
44
+ .venv
45
+ env/
46
+ venv/
47
+ ENV/
48
+ env.bak/
49
+ venv.bak/
50
+
51
+ # Environment files
52
+ .env
53
+ .env.local
54
+ .env.*.local
55
+
56
+ # IDE
57
+ .vscode/
58
+ .idea/
59
+ *.swp
60
+ *.swo
61
+ *~
62
+ .DS_Store
63
+
64
+ # OpenOSINT specific
65
+ reports/
66
+ *.osint
67
+ *.report
68
+ cache/
69
+ .openosint_cache/
70
+
71
+ # Distribution
72
+ dist/
73
+ build/
74
+ *.egg-info/
@@ -0,0 +1,17 @@
1
+ # Changelog
2
+
3
+ All notable changes to OpenOSINT will be documented here.
4
+ Format based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
5
+
6
+ ## [1.0.0] - 2026-05-08
7
+
8
+ ### Added
9
+ - Initial release
10
+ - Multi-provider support: Anthropic, OpenAI, Ollama
11
+ - 9 OSINT tools: email, username, domain, breach, whois, ip, dorks, paste, phone
12
+ - Native Anthropic tool use API (no hallucination)
13
+ - Rich terminal UI with spinners, panels, tables
14
+ - Auto-saved reports in Markdown, JSON, TXT
15
+ - Interactive first-run config wizard
16
+ - Legal disclaimer and ethical use policy
17
+ - Documentation site
@@ -0,0 +1,28 @@
1
+ # Contributing to OpenOSINT
2
+
3
+ ## Release Process
4
+
5
+ Releases are automated via GitHub Actions.
6
+
7
+ ### First-time PyPI Setup (maintainer only)
8
+
9
+ 1. Go to https://pypi.org/manage/account/publishing/
10
+ 2. Add a new trusted publisher:
11
+ - PyPI project name: `openosint`
12
+ - Owner: your GitHub username
13
+ - Repository: `OpenOSINT`
14
+ - Workflow: `release.yml`
15
+ - Environment: `pypi`
16
+ 3. Go to GitHub repo → Settings → Environments → New environment → name it `pypi`
17
+
18
+ ### Cutting a Release
19
+
20
+ ```bash
21
+ ./scripts/release.sh 1.1.0
22
+ ```
23
+
24
+ That's it. The workflow will:
25
+ 1. Run tests on Python 3.10, 3.11, 3.12
26
+ 2. Build the package
27
+ 3. Publish to PyPI
28
+ 4. Create a GitHub Release with auto-generated release notes
@@ -0,0 +1,57 @@
1
+ # Legal Disclaimer & Ethical Use Policy
2
+
3
+ ## Disclaimer
4
+
5
+ OpenOSINT is an open source tool designed strictly for **legal, ethical, and authorized
6
+ security research, OSINT investigations, and educational purposes**.
7
+
8
+ The authors and contributors of OpenOSINT:
9
+
10
+ - Take **no responsibility** for any misuse, damage, or illegal activity carried out
11
+ using this tool.
12
+ - Do **not endorse** the use of this tool to violate any individual's privacy, to
13
+ harass, stalk, or harm any person, or to conduct unauthorized investigations.
14
+ - Provide this software **"as is"**, without warranty of any kind, express or implied.
15
+
16
+ ## You Are Solely Responsible
17
+
18
+ By using OpenOSINT, you agree that:
19
+
20
+ 1. You will only investigate targets for which you have **explicit authorization** or
21
+ a **legitimate legal basis** (e.g. your own accounts, authorized penetration testing,
22
+ law enforcement with proper warrant, or publicly available information research).
23
+ 2. You will comply with all applicable **local, national, and international laws**,
24
+ including but not limited to GDPR, CCPA, the Computer Fraud and Abuse Act (CFAA),
25
+ and equivalent legislation in your jurisdiction.
26
+ 3. You will **not use** this tool to collect, store, or process personal data without
27
+ appropriate legal basis.
28
+ 4. Any consequences resulting from the use of this tool are **your sole responsibility**.
29
+
30
+ ## Ethical Use
31
+
32
+ OSINT is a legitimate discipline used by:
33
+ - Security researchers and penetration testers
34
+ - Journalists and investigative reporters
35
+ - Law enforcement agencies (with proper authorization)
36
+ - Individuals researching their own digital footprint
37
+
38
+ It is **not** a tool for:
39
+ - Stalking, harassment, or doxxing
40
+ - Unauthorized surveillance
41
+ - Identity theft or fraud
42
+ - Any activity that violates another person's privacy or dignity
43
+
44
+ ## Third-Party Tools
45
+
46
+ OpenOSINT wraps several third-party tools (holehe, sherlock, sublist3r, etc.).
47
+ Each of these tools has its own license and terms of use. Users are responsible
48
+ for complying with those terms independently.
49
+
50
+ ## No Warranty
51
+
52
+ THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
53
+ INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
54
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
55
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
56
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
57
+ SOFTWARE OR THE USE OF OR DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 OpenOSINT Contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.