Welcome to the Nipe documentation! This directory contains comprehensive documentation for both users and developers.
-
Overview - Project overview, features, and quick start guide
- What is Nipe?
- How it works
- Supported platforms
- Security considerations
- Quick start guide
-
Architecture - System architecture and technical details
- Module organization
- Component details
- Data flow diagrams
- Configuration files
- Security architecture
-
Diagrams - Visual architecture diagrams
- Module architecture graphs
- Command flow diagrams
- Component interactions
- Network traffic flow
- IPTables rules visualization
The developer-guide/ directory contains documentation for contributors and developers:
-
Getting Started - Development environment setup
- Prerequisites and setup
- Project structure
- Development workflow
- Testing procedures
- Common development tasks
- Troubleshooting
-
Module API - Complete API reference
- Core engine modules
- Utility modules
- Network modules
- Usage examples
- Testing patterns
# Clone and install
git clone https://github.com/htrgouvea/nipe
cd nipe
cpanm --installdeps .
perl nipe.pl install
# Start using Tor
perl nipe.pl start
perl nipe.pl statusWant to contribute? Start here:
- Read Getting Started for development setup
- Check Module API for implementation details
- See CONTRIBUTING.md for the contribution process
| Topic | Document | Section |
|---|---|---|
| What does Nipe do? | Overview | What is Nipe? |
| How does it work? | Overview | How It Works |
| System architecture | Architecture | System Architecture |
| Module organization | Architecture | Module Organization |
| Topic | Document | Section |
|---|---|---|
| Installation | Overview | Quick Start |
| Commands | Overview | Quick Start |
| Supported platforms | Overview | Supported Platforms |
| Security considerations | Overview | Security Considerations |
| Performance impact | Overview | Performance Impact |
| Topic | Document | Section |
|---|---|---|
| Setup dev environment | Getting Started | Development Environment Setup |
| Project structure | Getting Started | Project Structure |
| Testing | Getting Started | Testing |
| Module | Document | Purpose |
|---|---|---|
| Engine::Start | Module API | Start Tor routing |
| Engine::Stop | Module API | Stop Tor routing |
| Utils::Device | Module API | Detect distribution |
| Utils::Status | Module API | Check Tor status |
| Utils::Helper | Module API | Display help |
| Network::Install | Module API | Install dependencies |
| Network::Restart | Module API | Restart circuit |
Use Nipe:
- Install and use Nipe → Overview - Quick Start
- Understand privacy implications → Overview - Security Considerations
- Troubleshoot issues → Getting Started - Troubleshooting
Contribute to Nipe:
- Set up development environment → Getting Started
- Add support for new distribution → Getting Started - Adding New Distribution
- Add a new command → Getting Started - Adding New Command
Understand Nipe:
- How traffic is routed → Architecture - Data Flow
- How distribution detection works → Module API - Utils::Device
- How iptables rules are applied → Module API - Engine::Start
- Module dependencies → Module API - Dependencies Graph
- Main README: ../README.md - Project overview and badges
- Contributing Guide: ../.github/CONTRIBUTING.md - How to contribute
- Security Policy: ../SECURITY.md - Security reporting
- License: ../LICENSE.md - MIT License
- Issue Tracker: GitHub Issues
When making changes to the codebase:
-
Update relevant documentation if you:
- Add/remove/modify modules
- Change module APIs or behavior
- Add new commands
- Change configuration format
- Add support for new platforms
-
Keep documentation in sync with code:
- Version numbers
- Command syntax
- Configuration examples
- API signatures
-
Test documentation examples:
- Verify code examples work
- Check command outputs are accurate
- Ensure links are not broken
- Use clear, concise language
- Include code examples
- Provide usage context
- Keep formatting consistent
- Link to related sections
- Update modification dates
If you can't find what you're looking for:
- Search documentation - Use your editor's search or GitHub search
- Check existing issues - Someone may have asked already
- Ask in Discussions - GitHub Discussions for Q&A
- Open an issue - For bugs or unclear documentation
Last Updated: 2025-12-05 Nipe Version: 0.9.8 Documentation Version: 1.0.0