CyberHack is a multi-disciplinary repository that serves as both a comprehensive documentation/knowledge base and a collection of practical scripts and configurations. It covers a wide range of "Cyber/Hacking" topics, including STEM, Network Security, Home Automation, DIY Hardware, Embedded Systems, and Robotics.
The project is built around MkDocs with the Material theme, providing a structured way to explore the various sub-projects and tools.
- Documentation: MkDocs (Material theme), Markdown, Mermaid.js
- Languages: Python, C/C++ (Arduino/STM32), Shell scripts
- Hardware/Embedded: Arduino, ESP32, STM32, Jetson Nano, GNSS (WTRTK), CAN Bus
- Frameworks/Tools: ROS2, Docker, Node-RED, OpenWRT, SocketCAN
- Cybersecurity: Scripts from "Violent Python" for network scanning, forensics, and exploit automation.
docs/: Markdown source for the documentation site (accessible at hack.cgabc.xyz).embedded/: Code samples for controlling various drive boards (STM32, ESP32, etc.) and ROS2 integration.home_automation/: Configurations for Home Assistant, OpenWRT, and Docker-based services (e.g., Baota).network/: Utilities for serial communication, CAN bus, and download management.sensor/: Scripts for OpenMV cameras and GNSS/NTRIP devices.ViolentPython/: Python scripts based on the book Violent Python for security and forensics.workflow/: Node-RED flows and automation logic.
The documentation site is managed by MkDocs.
- Serve locally:
mkdocs serve - Build site:
mkdocs build
Most scripts require Python 3 and dependencies listed in requirements.txt.
- Install dependencies:
pip install -r requirements.txt - Control STM32 Drive Board:
python3 embedded/Joystick/ps3_pygame.py - ROS2 Teleop (Keyboard):
ros2 run teleop_twist_keyboard teleop_twist_keyboard - Serial Device Connection:
python3 sensor/wtrtk/find_and_connect_device.py
- CAN Bus Setup: Refer to
network/can/init_can.shandnetwork/can/README.md. - SocketCAN tools: Use
cansendandcandumpfrom thecan-utilspackage.
- Documentation First: All major features and experiments should be documented in the
docs/directory. - Categorization: Keep scripts organized within their respective topic directories (e.g.,
embedded,network). - Hardware-Agnostic: Where possible, scripts should handle OS/Hardware differences (e.g.,
sensor/wtrtk/find_and_connect_device.pychecksplatform.system()). - External Resources: The documentation makes extensive use of external links and references to books (Violent Python) and open-source projects (SocketCAN, ROS2).