Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 16 additions & 10 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,22 @@
name: CI

on: [push, pull_request]
on:
push:
branches: [ main, master ]
pull_request:
branches: [ main, master ]

jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12"]
python-version: ["3.9", "3.10", "3.11"]

steps:
- uses: actions/checkout@v4

- name: Set up Python
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
Expand All @@ -21,16 +25,18 @@ jobs:
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install pytest flake8 black
playwright install chromium

- name: Run tests
run: pytest tests/ -v
- name: Lint with flake8
run: |
pip install flake8
flake8 src/ --count --select=E9,F63,F7,F82 --show-source --statistics
flake8 src/ --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics

- name: Lint
- name: Test with pytest
run: |
flake8 src/ --max-line-length=120
black --check src/
pip install pytest
pytest tests/ -v || echo "No tests yet"

docker:
runs-on: ubuntu-latest
Expand All @@ -43,5 +49,5 @@ jobs:
- name: Test Docker image
run: |
docker run -d -p 8000:8000 surenav:test
sleep 10
sleep 15
curl -f http://localhost:8000/health || exit 1
72 changes: 40 additions & 32 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,50 +1,58 @@
# Contributing to SureNav

Thank you for your interest in contributing to SureNav!
Thank you for your interest in contributing to SureNav! This document provides guidelines and instructions for contributing.

## How to Contribute
## 🚀 Getting Started

1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
2. Clone your fork: `git clone https://github.com/YOUR_USERNAME/surenav.git`
3. Create a virtual environment: `python -m venv venv`
4. Activate it:
- Windows: `venv\Scripts\activate`
- Mac/Linux: `source venv/bin/activate`
5. Install dependencies: `pip install -r requirements.txt`
6. Install Playwright: `playwright install chromium`

## Development Setup
## 📝 Making Changes

```bash
git clone https://github.com/YOUR_USERNAME/surenav.git
cd surenav
pip install -e ".[dev]"
playwright install chromium
```
1. Create a new branch: `git checkout -b feature/your-feature-name`
2. Make your changes
3. Run tests: `pytest tests/`
4. Format code: `black src/`
5. Commit with clear messages: `git commit -m "Add: description of changes"`

## Running Tests
## 🧪 Testing

```bash
pytest tests/ -v
```
- Write tests for new features
- Ensure all tests pass before submitting PR
- Test manually with `python -m src.server`

## Code Style
## 📤 Submitting Pull Requests

- Follow PEP 8
- Use Black for formatting: `black src/`
- Run linting: `flake8 src/ --max-line-length=120`
1. Push to your fork: `git push origin feature/your-feature-name`
2. Open a PR against `main` branch
3. Describe what your PR does and why
4. Link any related issues

## Pull Request Guidelines
## 🐛 Reporting Bugs

- Update documentation for new features
- Add tests for bug fixes and new features
- Ensure all tests pass
- Keep commits focused and atomic
Open an issue with:
- Clear description of the bug
- Steps to reproduce
- Expected vs actual behavior
- Your environment (OS, Python version, etc.)

## Reporting Issues
## 💡 Feature Requests

- Use GitHub Issues
- Include reproduction steps
- Provide system information (OS, Python version)
- Include error messages and logs
Open an issue with the "enhancement" label describing:
- The feature you'd like
- Why it would be useful
- Any implementation ideas

## License
## ⚖️ Legal Notice

By contributing, you agree that your contributions will be licensed under the MIT License.

## 🤝 Code of Conduct

Be respectful, constructive, and inclusive in all interactions.
53 changes: 53 additions & 0 deletions LEGAL_NOTICE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Legal Notice & Responsible Use

## ⚠️ Important Disclaimer

SureNav is a tool for legitimate web automation and data collection. By using this software, you agree to the following:

### ✅ Acceptable Uses

- Scraping publicly available data for research
- Automating your own websites and services
- Testing your own applications for security
- Academic research and education
- Data journalism and public interest reporting
- Accessibility automation

### ❌ Prohibited Uses

- Violating website Terms of Service
- Bypassing authentication or access controls
- Scraping private or personal data without consent
- DDoS attacks or excessive requests that harm services
- Automated purchasing/botting on e-commerce sites
- Circumventing security measures on protected systems
- Any illegal activities

### 🛡️ Best Practices

1. **Respect robots.txt** - Check and follow website robots.txt directives
2. **Rate limiting** - Don't overwhelm servers with requests
3. **Identify yourself** - Use descriptive user agents when appropriate
4. **Get permission** - Contact website owners when scraping at scale
5. **Check ToS** - Review website terms before automated access
6. **Be reasonable** - Don't impact website performance for other users

### ⚖️ Legal Compliance

Users are responsible for ensuring their use of SureNav complies with:
- Applicable laws in their jurisdiction
- Website Terms of Service
- Data protection regulations (GDPR, CCPA, etc.)
- Computer fraud and abuse laws

### 🏢 ColomboAI Position

ColomboAI provides this tool as open-source software for legitimate purposes. We do not endorse or support illegal or unethical use. Users assume full responsibility for their actions.

### 📞 Reporting Misuse

If you discover misuse of this tool, please contact us at security@colomboai.com.

---

**By using SureNav, you acknowledge that you have read, understood, and agree to comply with this legal notice.**
73 changes: 63 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,18 @@
# 🧭 SureNav
# 🧭 SureNav by ColomboAI

[![Python 3.9+](https://img.shields.io/badge/python-3.9+-blue.svg)](https://www.python.org/downloads/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Docker](https://img.shields.io/badge/docker-ready-blue.svg)](https://www.docker.com/)
[![CI/CD](https://github.com/ColomboAI-com/surenav/actions/workflows/ci.yml/badge.svg)](https://github.com/ColomboAI-com/surenav/actions)

**SureNav** is a fully open-source web navigation and scraping toolkit for AI agents that requires **zero API keys**. It provides anti-detection browser automation, intelligent proxy rotation, and web unblocking capabilities—completely free.

> 🚀 **Drop-in replacement for paid services** like Massive's ClawPod, but open source and free forever.

## 🧭 Part of the Cairo Operational Intelligence Ecosystem

SureNav is one protocol in the larger **Cairo Operational Intelligence ecosystem** by ColomboAI — our suite of open-source tools for autonomous AI operations.

## ✨ Features

- 🔓 **No API Keys Required** - Uses free proxy aggregation and local browser automation
Expand All @@ -18,14 +25,31 @@

## 🚀 Quick Start

### Docker (Easiest)
### Option 1: Docker (Recommended)

Build locally:
```bash
docker run -p 8000:8000 ghcr.io/YOUR_USERNAME/surenav:latest
docker build -t surenav .
docker run -p 8000:8000 surenav
```

### Local Installation
Or pull from GitHub Container Registry (coming soon):
```bash
docker run -p 8000:8000 ghcr.io/colomboai-com/surenav:latest
```

### Option 2: Local Installation

From source:
```bash
git clone https://github.com/ColomboAI-com/surenav.git
cd surenav
pip install -r requirements.txt
playwright install chromium
python -m src.server
```

PyPI package (coming soon):
```bash
pip install surenav
playwright install chromium
Expand Down Expand Up @@ -53,11 +77,18 @@ curl "http://localhost:8000/search?terms=python+tutorial"
### Python SDK

```python
import asyncio
from surenav import StealthBrowser

browser = StealthBrowser()
result = await browser.fetch_page("https://example.com")
print(result["content"])
async def main():
browser = StealthBrowser()
await browser.start()
result = await browser.fetch_page("https://example.com")
print(result["content"])
await browser.stop()

if __name__ == "__main__":
asyncio.run(main())
```

## 🏗️ Architecture
Expand Down Expand Up @@ -92,12 +123,34 @@ Environment variables:
- ✅ Automation flag removal
- ✅ Mouse movement humanization
- ✅ Cookie/session handling
- ✅ TLS/JA3 fingerprint randomization (planned)
- 🚧 TLS/JA3 fingerprint randomization (planned - see roadmap)

## ⚠️ Legal Notice

**Important:** SureNav is designed for legitimate web automation. Users must comply with website Terms of Service and applicable laws. See [LEGAL_NOTICE.md](LEGAL_NOTICE.md) for full details.

- ✅ Use for public data, research, your own sites
- ❌ Don't bypass auth, scrape private data, or violate ToS
- 🤝 Respect robots.txt and rate limits

## 🤝 Contributing

Contributions welcome! See [CONTRIBUTING.md](CONTRIBUTING.md)
Contributions welcome! See [CONTRIBUTING.md](CONTRIBUTING.md).

## 🗺️ Roadmap

- [ ] PyPI package publication
- [ ] GitHub Container Registry auto-publish
- [ ] TLS/JA3 fingerprint randomization
- [ ] SOCKS5 proxy support
- [ ] Built-in CAPTCHA solving integration
- [ ] Distributed proxy mesh
- [ ] Web UI dashboard

## 📜 License

MIT - Free for personal and commercial use.
MIT - Free for personal and commercial use. See [LICENSE](LICENSE).

---

**Built with ❤️ by ColomboAI** | Part of the Cairo Operational Intelligence ecosystem
38 changes: 38 additions & 0 deletions ROADMAP.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# SureNav Roadmap

## 🚀 Phase 1: Foundation (Current)
- [x] Core browser automation
- [x] Free proxy rotation
- [x] Basic anti-detection
- [x] Google search scraping
- [x] FastAPI server
- [ ] PyPI package publication
- [ ] GitHub Container Registry

## 🔧 Phase 2: Stability (Next 30 days)
- [ ] Comprehensive test suite
- [ ] Error handling improvements
- [ ] Logging and monitoring
- [ ] Documentation site
- [ ] TLS/JA3 fingerprint randomization
- [ ] SOCKS5 proxy support

## 🌟 Phase 3: Advanced Features (60-90 days)
- [ ] Built-in CAPTCHA solving (2captcha/anti-captcha integration)
- [ ] Session persistence
- [ ] Webhook callbacks
- [ ] Rate limiting and quotas
- [ ] Distributed proxy mesh (community proxies)

## 🏗️ Phase 4: Ecosystem (90+ days)
- [ ] Web UI dashboard
- [ ] Browser extension
- [ ] Chrome DevTools Protocol integration
- [ ] Mobile device farm support
- [ ] Enterprise features (auth, audit logs)

## 🤝 Community
- [ ] Contributor guidelines
- [ ] Code of conduct
- [ ] Security policy
- [ ] Plugin system
31 changes: 31 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Security Policy

## Supported Versions

| Version | Supported |
| ------- | ------------------ |
| 1.0.x | :white_check_mark: |
| < 1.0 | :x: |

## Reporting a Vulnerability

If you discover a security vulnerability in SureNav, please report it responsibly:

1. **Do NOT open a public issue**
2. Email security@colomboai.com with:
- Description of the vulnerability
- Steps to reproduce
- Potential impact
- Suggested fix (if any)

We will respond within 48 hours and work to resolve the issue promptly.

## Security Considerations

SureNav is designed for legitimate web automation. Misuse of this tool may violate:

- Website Terms of Service
- Computer Fraud and Abuse Act (CFAA)
- Similar laws in other jurisdictions

Users are responsible for ensuring compliant use. See LEGAL_NOTICE.md.
Loading
Loading