MCPcopy Index your code
hub / github.com/J4FSec/HaccTheHub

github.com/J4FSec/HaccTheHub @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
112 symbols 202 edges 29 files 10 documented · 9%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

HaccTheHub

Logo

Open source self-hosted cyber security learning platform

About The Project

HaccTheHub is an open source project that provides cyber security

The HaccTheHub system consists of 3 main parts: * Docker: containing all of the boxes creating the environment in which we'll be learning on. * The backend: controlling Docker and responsible for starting/destroying indivisual box in the system and managing the networking that joins them into a unified system. * The frontend: GUI for the user to interact with the system via their web browser.

Built With

Getting Started

To get HaccTheHub up and running, you would need to setup the followings

Prerequisites

Installation

  1. Clone the repo
git clone https://github.com/J4FSec/HaccTheHub.git
  1. Install dependencies for the backend
cd HaccTheHub/backend
python3 -m pip install -r requirements.txt
  1. And dependencies for the frontend
cd ../client
npm install

Usage

  1. Start up Docker
  2. Start the backend
cd ../backend
python3 main.py
  1. And the frontend
cd ../client
npm start

The WebUI should now be accessible via http://localhost:8080.

Contributing

Any contributions are much appreciated. If you have a suggestion, please fork the repo and create a pull request. You can also open an issue with the tag enhancement.

  1. Fork the project
  2. Create a new branch for the new feature (git checkout -b feature/EpicFeature)
  3. Commit your changes (git commit -m "Add EpicFeature")
  4. Push to the branch (git push origin feature/EpicFeature)
  5. Open a pull request.

License

Distributed under the GNU Affero General Public License v3.0. See LICENSE for more information.

Authors

Contributors

  • @Nehozun - Completely re-made the frontend. We'd be lost without him.

Acknowledgement

Extension points exported contracts — how you extend this code

AppState (Interface)
(no doc)
client/src/app/store/app.store.ts
Box (Interface)
(no doc)
client/src/app/store/boxes.store.ts
BoxState (Interface)
(no doc)
client/src/app/store/boxes.store.ts
Lesson (Interface)
(no doc)
client/src/app/store/lesson.store.ts
LessonState (Interface)
(no doc)
client/src/app/store/lesson.store.ts

Core symbols most depended-on inside this repo

hth_index
called by 7
backend/main.py
get
called by 5
backend/main.py
is_network_running
called by 3
backend/main.py
alias_to_image_name
called by 2
backend/main.py
pulled_images_with_tag
called by 2
backend/main.py
post
called by 2
backend/main.py
delete
called by 2
backend/main.py
getLessons
called by 1
client/src/app/services/lesson.service.ts

Shape

Class 48
Method 48
Function 11
Interface 5

Languages

TypeScript73%
Python27%

Modules by API surface

backend/main.py30 symbols
client/src/app/services/boxes.service.ts7 symbols
client/src/app/boxes/box/box.component.ts7 symbols
client/src/app/services/network.service.ts6 symbols
client/src/app/store/lesson.store.ts5 symbols
client/src/app/store/boxes.store.ts5 symbols
client/src/app/services/lesson.service.ts5 symbols
client/src/app/layout/header/header.component.ts5 symbols
client/src/app/store/app.store.ts4 symbols
client/src/app/loading/loading.component.ts4 symbols
client/src/app/lesson/playground/playground.component.ts4 symbols
client/src/app/lesson/lesson.component.ts4 symbols

For agents

$ claude mcp add HaccTheHub \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact