Nebraska is an open-source OSINT tool and contributions are welcome. Whether you want to add a new platform, fix a bug, or improve detection accuracy — here's how.
This requires no programming knowledge. You just create a text file.
Open two URLs in your browser:
- A real profile: e.g.
https://example.com/user/realuser - A fake profile: e.g.
https://example.com/user/xxxxxxxxxzzzzz999
Note:
- What HTTP status does each return? (Open DevTools → Network tab)
- Does the "not found" page contain specific text?
- Does the real profile page contain specific text like "followers" or "avatar"?
Create a file nebraska/config/sites/example.yaml:
site_name: Example
category: social
enabled: true
url_home: https://example.com
profile_url_template: "https://example.com/user/{username}"
method: GET
expected_status_on_found: [200]
expected_status_on_not_found: [404]
positive_indicators:
- "text-only-on-real-profiles"
negative_indicators:
- "text-only-on-not-found-pages"
error_indicators:
- "rate limit"
timeout: 10.0
rate_limit_hint: 1.0
reliability_score: 0.80python -m nebraska validate-sites
python -m nebraska site Example realuser
python -m nebraska site Example xxxxxxxxxzzzzz999First should be FOUND, second should be NOT_FOUND. If both work, open a PR.
| Score | Use when |
|---|---|
| 0.90+ | Clean 404 on missing users, never blocks, very reliable |
| 0.75-0.89 | Usually reliable, occasional quirks |
| 0.60-0.74 | Sometimes blocks, needs JS, or returns 200 for everything |
| 0.40-0.59 | Frequently blocks or gives unreliable responses |
git clone https://github.com/YOUR_USERNAME/nebraska.git
cd nebraska
pip install requests click pyyamlpython -m nebraska validate-sites # All sites valid
python -m unittest discover -s tests -v # All tests pass- Run the tests before every PR
- If you add functionality, add tests for it
- Keep functions small and focused
- Use type hints
- Follow the patterns already in the codebase
Open an issue with:
- The exact command you ran
- What you expected vs what happened
- Your OS and Python version (
python --version) - The full error output
Nebraska is built for legitimate OSINT research. When contributing:
- Do not add sites that require authentication to check usernames
- Do not add methods that bypass CAPTCHAs or rate limits
- Do not add functionality that scrapes private data
- Respect the
rate_limit_hintfield — don't set it to 0 for sites that need throttling