[PR #9] [MERGED] Rewrite LAN Orangutan in Go #7

Closed
opened 2026-03-13 13:04:37 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/291-Group/LAN-Orangutan/pull/9
Author: @FileBay
Created: 1/1/2026
Status: Merged
Merged: 1/1/2026
Merged by: @FileBay

Base: mainHead: claude/audit-code-bugs-NaPWC


📝 Commits (1)

  • 2dfea44 Rewrite LAN Orangutan in Go

📊 Changes

29 files changed (+3708 additions, -83 deletions)

View changed files

📝 .github/workflows/ci.yml (+31 -15)
📝 .github/workflows/release.yml (+155 -68)
Makefile (+122 -0)
cmd/orangutan/main.go (+10 -0)
go.mod (+10 -0)
go.sum (+10 -0)
internal/api/api.go (+297 -0)
internal/cli/config.go (+48 -0)
internal/cli/export.go (+107 -0)
internal/cli/list.go (+169 -0)
internal/cli/networks.go (+57 -0)
internal/cli/root.go (+58 -0)
internal/cli/scan.go (+120 -0)
internal/cli/serve.go (+103 -0)
internal/cli/status.go (+142 -0)
internal/cli/version.go (+27 -0)
internal/config/config.go (+211 -0)
internal/network/detect.go (+241 -0)
internal/network/tailscale.go (+87 -0)
internal/scanner/scanner.go (+306 -0)

...and 9 more files

📄 Description

Complete rewrite of the application from Python/PHP/Bash to a single Go binary.

Features:

  • Single binary with embedded web assets
  • CLI commands: scan, list, status, networks, export, config, serve, version
  • REST API with CSRF protection
  • Web dashboard with device management
  • Network detection with Tailscale integration
  • nmap and arp-scan support for device discovery
  • Cross-platform builds (Linux, macOS, Windows)

New project structure:

  • cmd/orangutan/main.go - Entry point
  • internal/types/ - Core domain types
  • internal/config/ - INI configuration loader
  • internal/storage/ - JSON persistence with atomic writes
  • internal/network/ - Network detection and Tailscale
  • internal/scanner/ - nmap/arp-scan integration
  • internal/api/ - REST API endpoints
  • internal/cli/ - Cobra CLI commands
  • internal/web/ - Web server with embedded templates

Updated CI/CD:

  • Go build/vet/test in CI
  • Cross-platform binary builds for releases
  • Architecture-specific .deb packages

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/291-Group/LAN-Orangutan/pull/9 **Author:** [@FileBay](https://github.com/FileBay) **Created:** 1/1/2026 **Status:** ✅ Merged **Merged:** 1/1/2026 **Merged by:** [@FileBay](https://github.com/FileBay) **Base:** `main` ← **Head:** `claude/audit-code-bugs-NaPWC` --- ### 📝 Commits (1) - [`2dfea44`](https://github.com/291-Group/LAN-Orangutan/commit/2dfea4447a6cbed46c13414e3eb0c889ba9cf0d1) Rewrite LAN Orangutan in Go ### 📊 Changes **29 files changed** (+3708 additions, -83 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/ci.yml` (+31 -15) 📝 `.github/workflows/release.yml` (+155 -68) ➕ `Makefile` (+122 -0) ➕ `cmd/orangutan/main.go` (+10 -0) ➕ `go.mod` (+10 -0) ➕ `go.sum` (+10 -0) ➕ `internal/api/api.go` (+297 -0) ➕ `internal/cli/config.go` (+48 -0) ➕ `internal/cli/export.go` (+107 -0) ➕ `internal/cli/list.go` (+169 -0) ➕ `internal/cli/networks.go` (+57 -0) ➕ `internal/cli/root.go` (+58 -0) ➕ `internal/cli/scan.go` (+120 -0) ➕ `internal/cli/serve.go` (+103 -0) ➕ `internal/cli/status.go` (+142 -0) ➕ `internal/cli/version.go` (+27 -0) ➕ `internal/config/config.go` (+211 -0) ➕ `internal/network/detect.go` (+241 -0) ➕ `internal/network/tailscale.go` (+87 -0) ➕ `internal/scanner/scanner.go` (+306 -0) _...and 9 more files_ </details> ### 📄 Description Complete rewrite of the application from Python/PHP/Bash to a single Go binary. Features: - Single binary with embedded web assets - CLI commands: scan, list, status, networks, export, config, serve, version - REST API with CSRF protection - Web dashboard with device management - Network detection with Tailscale integration - nmap and arp-scan support for device discovery - Cross-platform builds (Linux, macOS, Windows) New project structure: - cmd/orangutan/main.go - Entry point - internal/types/ - Core domain types - internal/config/ - INI configuration loader - internal/storage/ - JSON persistence with atomic writes - internal/network/ - Network detection and Tailscale - internal/scanner/ - nmap/arp-scan integration - internal/api/ - REST API endpoints - internal/cli/ - Cobra CLI commands - internal/web/ - Web server with embedded templates Updated CI/CD: - Go build/vet/test in CI - Cross-platform binary builds for releases - Architecture-specific .deb packages --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem closed this issue 2026-03-13 13:04:48 +03:00
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/LAN-Orangutan#7
No description provided.