{"id":48595924,"url":"https://github.com/khushneetsingh/pisentinel","last_synced_at":"2026-04-08T21:01:31.649Z","repository":{"id":289537872,"uuid":"971595226","full_name":"KhushneetSingh/PiSentinel","owner":"KhushneetSingh","description":"🛡️ Raspberry Pi-based toolkit for ethical hacking, portable pentesting, and home network monitoring.","archived":false,"fork":false,"pushed_at":"2026-02-04T17:35:43.000Z","size":51,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-05T03:08:53.354Z","etag":null,"topics":["airmon-ng","flask-application","linux","monitormode","psutil-python","python","raspberry-pi","scapy","systemctl","threading-server","wpasupplicant"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KhushneetSingh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-23T19:00:15.000Z","updated_at":"2026-02-04T17:35:47.000Z","dependencies_parsed_at":null,"dependency_job_id":"ace67f1a-3948-4d1d-bc02-5482a1637762","html_url":"https://github.com/KhushneetSingh/PiSentinel","commit_stats":null,"previous_names":["khushneetsingh/pisentinel"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/KhushneetSingh/PiSentinel","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KhushneetSingh%2FPiSentinel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KhushneetSingh%2FPiSentinel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KhushneetSingh%2FPiSentinel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KhushneetSingh%2FPiSentinel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KhushneetSingh","download_url":"https://codeload.github.com/KhushneetSingh/PiSentinel/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KhushneetSingh%2FPiSentinel/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31573788,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["airmon-ng","flask-application","linux","monitormode","psutil-python","python","raspberry-pi","scapy","systemctl","threading-server","wpasupplicant"],"created_at":"2026-04-08T21:00:45.840Z","updated_at":"2026-04-08T21:01:31.606Z","avatar_url":"https://github.com/KhushneetSingh.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Portable Pentesting Device\n\nA comprehensive wireless penetration testing tool that provides a web-based dashboard for network reconnaissance, deauthentication attacks, and packet capture analysis.\n\n# Note\n\n- **`mod2`** Branch for the nextVersion and fork from Here.\n- **`main`** The latest stable version.\n- **`design`** For the latest UI/UX updates in progress.\n\n## Features\n\n- **Web Dashboard**: Clean, intuitive interface accessible via browser\n- **Network Scanning**: Discover and analyze nearby wireless networks\n- **Deauthentication Attacks**: Targeted deauth packet injection\n- **Packet Capture**: Real-time packet sniffing and analysis\n- **Portable Design**: Works on Raspberry Pi or any Linux system\n- **Auto-startup**: Automatically launches on boot (Pi configuration)\n\n## Hardware Requirements\n\n### Option 1: Raspberry Pi Setup (Recommended for Portability)\n- Raspberry Pi 4 (2GB+ RAM recommended)\n- MicroSD card (16GB+)\n- USB WiFi adapter with monitor mode support (e.g., Alfa AWUS036ACS)\n- Power supply/power bank\n- Optional: Small display for headless operation\n\n### Option 2: Linux PC Setup\n- Any Linux computer/laptop\n- USB WiFi adapter with monitor mode support\n- Built-in WiFi can be used but external adapter recommended\n\n## Compatible WiFi Adapters\n\nEnsure your WiFi adapter supports **monitor mode** and **packet injection**:\n- Alfa AWUS036ACS (Recommended)\n- Alfa AWUS036ACH\n- Panda PAU09\n- TP-Link AC600 T2U Plus\n- Any adapter with Realtek RTL8812AU/RTL8811AU chipset\n\n## Installation\n\n### Prerequisites\n\nUpdate your system:\n```bash\nsudo apt update \u0026\u0026 sudo apt upgrade -y\n```\n\nInstall required packages:\n```bash\nsudo apt install -y python3 python3-pip git aircrack-ng hostapd dhcp-helper bridge-utils\n```\n\nInstall Python dependencies:\n```bash\npip3 install flask flask-socketio scapy psutil threading subprocess\n```\n\n### Clone Repository\n\n```bash\ngit clone https://github.com/yourusername/portable-pentesting-device.git\ncd portable-pentesting-device\n```\n\n### Setup Instructions\n\n#### For Raspberry Pi\n\n1. **Enable SSH and configure headless setup** (optional):\n```bash\nsudo systemctl enable ssh\nsudo systemctl start ssh\n```\n\n2. **Set up auto-start service**:\n```bash\nsudo cp pentesting-device.service /etc/systemd/system/\nsudo systemctl enable pentesting-device.service\nsudo systemctl daemon-reload\n```\n\n3. **Configure network interfaces**:\n```bash\nsudo cp interfaces /etc/dhcpcd.conf.backup\n# Edit /etc/dhcpcd.conf to configure static IP if needed\n```\n\n#### For Linux PC\n\n1. **Install additional dependencies** if needed:\n```bash\n# For Ubuntu/Debian\nsudo apt install -y wireless-tools wpasupplicant\n\n# For Arch Linux\nsudo pacman -S wireless_tools wpa_supplicant\n\n# For CentOS/RHEL\nsudo yum install -y wireless-tools wpa_supplicant\n```\n\n2. **Set up permissions**:\n```bash\nsudo usermod -a -G netdev $USER\n# Logout and login again for changes to take effect\n```\n\n## Configuration\n\n### 1. Configure WiFi Adapter\n\nIdentify your wireless adapter:\n```bash\niwconfig\n# or\nip link show\n```\n\nEdit `config.py` and update the interface name:\n```python\nWIFI_INTERFACE = \"wlan1\"  # Replace with your adapter name\n```\n\n### 2. Set Monitor Mode\n\nThe application will automatically set monitor mode, but you can manually test:\n```bash\nsudo airmon-ng start wlan1\n# Your interface might become wlan1mon\n```\n\n### 3. Configure Dashboard Settings\n\nEdit `config.py` for custom settings:\n```python\n# Dashboard settings\nDASHBOARD_HOST = \"0.0.0.0\"  # Listen on all interfaces\nDASHBOARD_PORT = 8080\nDEBUG_MODE = False\n\n# Security settings\nREQUIRE_AUTH = True  # Set to False for open access\nDEFAULT_PASSWORD = \"pentesting123\"  # Change this!\n```\n\n## Usage\n\n### Starting the Application\n\n#### Method 1: Direct Python Execution\n```bash\ncd portable-pentesting-device\nsudo python3 app.py\n```\n\n#### Method 2: Using the Service (Raspberry Pi)\n```bash\nsudo systemctl start pentesting-device\nsudo systemctl status pentesting-device  # Check status\n```\n\n### Accessing the Dashboard\n\n1. **Find the device IP address**:\n```bash\nhostname -I\n# or\nip addr show\n```\n\n2. **Open web browser** and navigate to:\n```\nhttp://[DEVICE_IP]:8080\n```\nExample: `http://192.168.1.100:8080`\n\n3. **For Raspberry Pi headless setup**, you can also try:\n```\nhttp://raspberrypi.local:8080\n```\n\n### Using the Interface\n\n1. **Network Scan**: Click \"Scan Networks\" to discover nearby WiFi networks\n2. **Select Target**: Choose a network from the discovered list\n3. **Deauth Attack**: Click \"Start Deauth\" to begin deauthentication\n4. **Packet Capture**: Use \"Start Capture\" to begin packet sniffing\n5. **View Results**: Monitor real-time results in the dashboard\n\n## File Structure\n\n```\nportable-pentesting-device/\n├── app.py                 # Main application\n├── config.py             # Configuration settings\n├── static/\n│   ├── css/\n│   │   └── style.css     # Dashboard styling\n│   └── js/\n│       └── main.js       # Frontend JavaScript\n├── templates/\n│   └── index.html        # Web interface template\n├── utils/\n│   ├── network_scanner.py # Network scanning utilities\n│   ├── deauth_attack.py   # Deauthentication attack tools\n│   └── packet_capture.py # Packet capture functionality\n├── logs/                 # Application logs\n├── captures/             # Captured packets storage\n├── pentesting-device.service # Systemd service file\n└── README.md            # This file\n```\n\n## Troubleshooting\n\n### Common Issues\n\n**\"No wireless interface found\"**\n- Check if your WiFi adapter is connected and recognized: `lsusb`\n- Verify driver installation: `dmesg | grep -i wifi`\n- Try different USB port\n\n**\"Permission denied\"**\n- Run with sudo: `sudo python3 app.py`\n- Check user permissions: `groups $USER`\n\n**\"Monitor mode not supported\"**\n- Verify your adapter supports monitor mode\n- Install proper drivers for your chipset\n- Try: `sudo airmon-ng check kill` before starting\n\n**Dashboard not accessible**\n- Check if service is running: `sudo systemctl status pentesting-device`\n- Verify firewall settings: `sudo ufw status`\n- Check IP address: `hostname -I`\n\n**Raspberry Pi won't start automatically**\n- Check service status: `sudo systemctl status pentesting-device`\n- View logs: `sudo journalctl -u pentesting-device -f`\n- Verify service file permissions\n\n### Performance Optimization\n\n**For Raspberry Pi:**\n- Use Class 10 SD card or better\n- Ensure adequate power supply (2.5A+)\n- Consider active cooling for extended use\n\n**For Linux PC:**\n- Close unnecessary applications\n- Use dedicated USB 3.0 port for WiFi adapter\n- Monitor CPU and memory usage\n\n## Security Considerations\n\n⚠️ **IMPORTANT**: This tool is for educational and authorized testing purposes only.\n\n- Only use on networks you own or have explicit permission to test\n- Ensure compliance with local laws and regulations\n- Change default passwords before deployment\n- Use in controlled environments\n- Monitor for unintended network disruption\n\n## Development\n\n### Contributing\n1. Fork the repository\n2. Create a feature branch from `mod2` branch\n3. Make your changes\n4. Test thoroughly\n5. Submit a pull request\n\n### Custom Modules\nAdd custom pentesting modules in the `modules/` directory following the existing pattern.\n\n## License\n\nThis project is intended for educational purposes. Users are responsible for compliance with applicable laws.\n\n## Support\n\nFor issues and questions:\n1. Check the troubleshooting section\n2. Review system logs: `sudo journalctl -u pentesting-device`\n3. Open an issue on GitHub with system details and error logs\n\n## Changelog\n\n### v1.0.0\n- Initial release\n- Basic network scanning\n- Deauthentication attacks\n- Web dashboard interface\n- Raspberry Pi auto-startup support","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhushneetsingh%2Fpisentinel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkhushneetsingh%2Fpisentinel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhushneetsingh%2Fpisentinel/lists"}