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.
- openosint-1.0.0/.env.example +28 -0
- openosint-1.0.0/.github/workflows/ci.yml +39 -0
- openosint-1.0.0/.github/workflows/release.yml +58 -0
- openosint-1.0.0/.gitignore +74 -0
- openosint-1.0.0/CHANGELOG.md +17 -0
- openosint-1.0.0/CONTRIBUTING.md +28 -0
- openosint-1.0.0/DISCLAIMER.md +57 -0
- openosint-1.0.0/LICENSE +21 -0
- openosint-1.0.0/PKG-INFO +389 -0
- openosint-1.0.0/README.md +347 -0
- openosint-1.0.0/assets/github-banner.svg +148 -0
- openosint-1.0.0/assets/org-banner.svg +98 -0
- openosint-1.0.0/assets/org-logo.svg +49 -0
- openosint-1.0.0/config.example.yaml +30 -0
- openosint-1.0.0/docs/docs.js +281 -0
- openosint-1.0.0/docs/index.html +866 -0
- openosint-1.0.0/docs/logo-icon.svg +10 -0
- openosint-1.0.0/docs/logo.svg +30 -0
- openosint-1.0.0/docs/style.css +975 -0
- openosint-1.0.0/openosint/__init__.py +5 -0
- openosint-1.0.0/openosint/agent.py +276 -0
- openosint-1.0.0/openosint/cli.py +272 -0
- openosint-1.0.0/openosint/config.py +113 -0
- openosint-1.0.0/openosint/display.py +226 -0
- openosint-1.0.0/openosint/main.py +9 -0
- openosint-1.0.0/openosint/providers/__init__.py +8 -0
- openosint-1.0.0/openosint/providers/anthropic.py +72 -0
- openosint-1.0.0/openosint/providers/base.py +35 -0
- openosint-1.0.0/openosint/providers/ollama.py +16 -0
- openosint-1.0.0/openosint/providers/openai.py +88 -0
- openosint-1.0.0/openosint/tools/__init__.py +1 -0
- openosint-1.0.0/openosint/tools/breach_check.py +5 -0
- openosint-1.0.0/openosint/tools/breach_tools.py +118 -0
- openosint-1.0.0/openosint/tools/dns_tools.py +151 -0
- openosint-1.0.0/openosint/tools/domain_check.py +5 -0
- openosint-1.0.0/openosint/tools/domain_tools.py +146 -0
- openosint-1.0.0/openosint/tools/dork_tools.py +91 -0
- openosint-1.0.0/openosint/tools/email_check.py +5 -0
- openosint-1.0.0/openosint/tools/email_tools.py +124 -0
- openosint-1.0.0/openosint/tools/google_dork.py +5 -0
- openosint-1.0.0/openosint/tools/ip_check.py +5 -0
- openosint-1.0.0/openosint/tools/ip_tools.py +115 -0
- openosint-1.0.0/openosint/tools/metadata_check.py +5 -0
- openosint-1.0.0/openosint/tools/metadata_tools.py +126 -0
- openosint-1.0.0/openosint/tools/paste_check.py +58 -0
- openosint-1.0.0/openosint/tools/phone_check.py +5 -0
- openosint-1.0.0/openosint/tools/phone_tools.py +92 -0
- openosint-1.0.0/openosint/tools/registry.py +246 -0
- openosint-1.0.0/openosint/tools/social_check.py +5 -0
- openosint-1.0.0/openosint/tools/username_tools.py +200 -0
- openosint-1.0.0/openosint/tools/whois_check.py +10 -0
- openosint-1.0.0/openosint/utils/__init__.py +6 -0
- openosint-1.0.0/openosint/utils/display.py +5 -0
- openosint-1.0.0/openosint/utils/report.py +39 -0
- openosint-1.0.0/pyproject.toml +65 -0
- openosint-1.0.0/requirements.txt +11 -0
- openosint-1.0.0/scripts/release.sh +29 -0
- openosint-1.0.0/setup.sh +86 -0
- 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.
|
openosint-1.0.0/LICENSE
ADDED
|
@@ -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.
|