-
Notifications
You must be signed in to change notification settings - Fork 6.1k
Add statik-server: Build-out of code-server with mesh routing, persistent Copilot, and HTML domain signing #7419
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR integrates a vendored headscale module under internal/mesh
, including Go dependencies, OpenAPI specs, and generated protobuf code.
- Adds a new Go module in
internal/mesh
to manage headscale dependencies. - Introduces OpenAPI v2 swagger definitions for headscale v1 services.
- Includes auto-generated Go code from
.proto
files underinternal/mesh/gen/go
.
Reviewed Changes
Copilot reviewed 87 out of 498 changed files in this pull request and generated 1 comment.
File | Description |
---|---|
internal/mesh/go.mod | Defines a new Go module pointing at the headscale repository |
internal/mesh/gen/openapiv2/headscale/v1/*.swagger.json | Adds service and message schemas for headscale OpenAPI v2 specs |
internal/mesh/gen/go/headscale/v1/*.pb.go | Includes protoc-generated Go types and methods for headscale v1 |
Comments suppressed due to low confidence (1)
internal/mesh/gen/openapiv2/headscale/v1/headscale.swagger.json:5
- Update the Swagger
info.version
field to reflect the actual API version (e.g.,v1.0.0
) so consumers have clear versioning information.
"version": "version not set"
Co-authored-by: Copilot <[email protected]>
✅ CLEANED: - Package.json: Removed @coder/logger, updated repository URLs - LICENSE: Updated copyright to StatikFintech LLC 2024 - README: Complete rewrite as Statik Server - Scripts: Removed code-server fallbacks, VS Code CLI only - Security.txt: Updated all URLs to statikfintech.com - GitHub workflows: Removed (were coder-specific) - Docs/test directories: Removed (contained coder references) - Lock files: Regenerated clean ✅ RESULT: 100% independent VS Code broadcasting server No copyright issues - completely clean implementation
✨ MAJOR FEATURES: - One-command installer with platform detection - GitHub Copilot Chat pre-configured - Headscale mesh VPN for portless access - Custom domains (https://dev.statik.local) - Auto SSL certs and auth keys - Mobile QR codes and responsive UI 🗂️ ORGANIZED DOCS: - All .md files moved to docs/ structure - Comprehensive INSTALL.md, USAGE.md, MESH_OVERVIEW.md - Development and user guides properly categorized 🔧 INFRASTRUCTURE: - Enhanced CLI with proper directory detection - All scripts executable (755 permissions) - bootstrap.sh for quick setup - Clean file organization ✅ HEADSCALE CONFIRMED: - No port forwarding needed - Magic DNS with base_domain: statik.local - VS Code forwarding through mesh tunnels - Preauth keys for device onboarding Ready for production: curl install.sh | bash && statik
Still Debugging: - Key install and setup out the box. - Proper Persistent Tunnel ✅ Global mesh fixes: - Public IP detection for external access - DERP server configuration for NAT traversal - Dynamic server URL configuration - Enhanced CLI with global mesh management - Firewall/port accessibility checks - Real-time connection details and QR codes 🔧 Technical improvements: - Fix VS Code CLI argument (--disable-telemetry) - Enhanced startup script with global access info - Comprehensive mesh status and key generation - SSL certificate generation for mesh security 🧹 Project cleanup: - Removed confusing old/backup files - Cleaned up empty directories - Unified README (README-new.md → README.md) - Fixed HTML accessibility and viewport issues - Improved CSS browser compatibility 🌐 Now supports true global access when away from home network
✅ Major improvements: - Fixed CLI stop function to kill all related processes thoroughly - Corrected VS Code server arguments (removed invalid options) - Enhanced install script with automatic key generation and permissions - Fixed startup script to support proper daemon mode - Updated headscale configuration format for latest version 🔧 Technical fixes: - Enhanced CLI start function with --daemon flag - Proper process cleanup in stop function - Corrected CLI directory paths (REPO_DIR vs STATIK_DIR) - Added mesh VPN database initialization function - Updated DNS configuration format for headscale ✅ Now working: - One-click start: statik-cli start ✅ - One-click stop: statik-cli stop ✅ - VS Code server: http://192.168.1.135:8080 ✅ - HTTPS proxy: running ✅ - QR codes for mobile access ✅ 🔜 Still debugging: Headscale mesh startup (config format issues)
✅ Fixed noise private key generation and configuration ✅ Updated database configuration format for headscale v0.26+ ✅ Added DERP private key generation for mesh VPN ✅ Updated IP prefix format (prefixes.v4/v6 instead of ip_prefixes) ✅ Enhanced .gitignore to protect all private keys ✅ Updated install.sh to generate noise and DERP keys ✅ Fixed CLI path references for headscale binary 🔒 Security improvements: - All private keys now properly protected in .gitignore - Generated keys have correct permissions (600) - Separate noise and DERP keys for better security 🌐 Global mesh VPN now ready for device connections
…ability - Separated installer logic for icon, CLI script, desktop entry, GUI launcher, and CLI launcher - Added robust file existence checks and error handling for all install steps - Improved status and error reporting for each operation - Ensured proper Linux desktop integration (icon, desktop entry, launchers) - Updated desktop database and icon cache after install - Enhanced user feedback and maintainability
Hi there! We really appreciate you, and always welcome contributions from people trying to make the product better. That said, this PR is incredibly hard to review, and GitHub's web UI is struggling to display exactly what changed We're more than happy to accept equivalent changes, as long as those changes are submitted in PRs that are easier to review, and those changes are well-tested. We would generally prefer for PRs to be no more than 1500 lines long, though we are willing to make exceptions depending on the complexity of the changes. In the meantime, though, we will unfortunately need to close this PR. |
Summary
This PR introduces statik-server, a heavily modified fork of code-server, rebuilt for sovereign, persistent, and portable AI development environments.
Major Features:
Purpose
Architecture
Usage:
Note
No external headscale dependencies at runtime; all mesh logic is internal and auditable.
All protobuf and swagger files are statically included for zero-runtime fetch and auditability.
Replaces expiring keys and manual Tailscale auth.
Desktop installer provides robust Linux integration (CLI, GUI, desktop entry, icon, status reporting).
Status
This is a standing fork, diverging significantly from upstream code-server. Not intended for merge without discussion—submitted for visibility, expansion, and reference.
#StatikFinTech #GremlinGPT #OpenMesh