Skip to content

Latest commit

 

History

History
58 lines (47 loc) · 2.21 KB

File metadata and controls

58 lines (47 loc) · 2.21 KB

Contributing to Nibble

This project is open to contributions!

Getting Started

Fork the repository on GitHub.

Dev container (recommended): Open the repo in VS Code and choose "Reopen in Container" when prompted. Everything is ready to go.

Command Description
go run . To run the current code
go run . -demo To run with standardized demo interfaces and network hosts (demo wifi interface has 50 hosts for stress testing)
make build Build the nibble binary
make fix Format, vet, and fix the codebase
make demo Generate demo.gif using VHS

Making Changes

  • Open or select an issue before starting significant work so we can discuss the approach.
  • Keep PRs focused, one feature or fix per PR.
  • Run make fix before submitting to ensure code is formatted and vetted.
  • If you're adding a feature, update the README if it affects usage or hotkeys.
  • Don't forget to keep the help.go views up to date

Project Layout

main.go              Entry point
internal/
  history/           Scan history storage and retrieval
    delete/          History deletion logic
    paths/           History file path management
  ports/             Port list management
    services/        Port-to-service name lookup
  scanner/           Network scanning
    config/          Scanner configuration (port lists)
    demo/            Demo mode scanner
    ip4/             Real IPv4 scanner (ARP, banners, OS detection)
      linux/         Linux-specific network code
      macos/         macOS-specific network code
      windows/       Windows-specific network code
    shared/          Shared types: Scanner interface, results, OUI lookup
  tui/               Bubble Tea UI (views, models, rendering)
    views/
      common/        Shared UI components and styles
      history/       Scan history browser view
      main/          Main/home view
      ports/         Port configuration view
      scan/          Live scan view
      target/        Target host detail view

Submitting a PR

  1. Test manually all affected features, and verify your change works with no unintended side effects.
  2. Open a pull request against main with a clear description of what is added/fixed and why.