Skip to content

Conversation

@OwnDing
Copy link

@OwnDing OwnDing commented Jun 20, 2025

Pull Request Description:
This PR introduces several improvements and bug fixes to enhance the functionality and usability of headscale-admin. Below is a summary of the changes:

✅ Key Additions & Fixes

  1. gRPC Integration

    • Added support for gRPC calls and debugging tools to streamline communication with the headscale backend. This improves performance and simplifies interactions with gRPC-based APIs.
  2. API Endpoint Fixes

    • Fixed /api/v1/preauthkey: Resolved issues with pre-auth key creation and retrieval, ensuring seamless integration with headscale.
    • Fixed /api/v1/routes: Corrected route management functionality, enabling proper enable/disable operations for advertised routes.
  3. Enhanced User Management

    • Added displayName Support: Users can now create users with an optional displayName field, improving user identification and organization in larger deployments.

🧪 Testing & Validation

All changes have been tested locally and verified against the latest headscale v0.26.1 backend. The gRPC integration has been validated for compatibility with both existing and new API endpoints.

📝 Notes for Reviewers

  • The gRPC implementation follows the project’s existing architecture patterns and avoids introducing breaking changes.
  • The displayName feature is backward-compatible and does not affect existing user data.
  • Updated documentation (if applicable) is included in this PR.

This PR aligns with the project’s goal of providing a modern, stateless web interface for headscale while addressing critical bugs and expanding functionality. Let me know if further adjustments or clarifications are needed!

DingJianchen added 7 commits June 20, 2025 11:42
…e components, including user creation, gRPC connection diagnostics, and settings. Update error messages and success notifications for clarity and consistency. Enhance comments in the code for better understanding and maintainability.
Copy link

@awalon awalon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello OwnDing,
may I ask you why are you using 'vpn.ownding.xyz'? This could cause at least a bad feeling seeing third party URLs and could cause a security risk for you and other users where C'n'P is used.
For documentation and as fallback something generic like 'example.com' further Information or 'enter your domain here' should be used whenever configured headscale instance cannot be used (ex. Documentation) and no fallback to somewhere else (there could be an error for missing value instead).
Thanks & Greets, Awalon

@OwnDing
Copy link
Author

OwnDing commented Jul 8, 2025

Hi Awalon, @awalon
Thanks for pointing that out!
The domain vpn.ownding.xyz was used temporarily for testing headscale-related features. After the test, I forgot to replace it with example.com . I'm glad you caught this issue — really appreciate it!

Best regards,
OwnDing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants