FR: support for App Connectors #596

Open
opened 2025-12-29 02:20:58 +01:00 by adam · 16 comments
Owner

Originally created by @igrikus on GitHub (Dec 13, 2023).

Why

Tailscale launches new App Connectors feature to allow some traffic to pass through specific servers. For example, I have access to example.com only through my edge server running Tailscale with the --advertise-connector flag.

Description

It's like exit-node, but for specific domains only, and as far as I understand, configuration must be done on Headscale side.

Originally created by @igrikus on GitHub (Dec 13, 2023). <!-- We typically have a clear roadmap for what we want to improve and reserve the right to close feature requests that does not fit in the roadmap, or fit with the scope of the project, or we actually want to implement ourselves. Headscale is a multinational community across the globe. Our language is English. All bug reports needs to be in English. --> ## Why Tailscale launches [new App Connectors feature](https://tailscale.com/kb/1281/app-connectors/) to allow some traffic to pass through specific servers. For example, I have access to [example.com](example.com) only through my edge server running Tailscale with the `--advertise-connector` flag. ## Description It's like exit-node, but for specific domains only, and as far as I understand, configuration must be done on Headscale side.
adam added the enhancementno-stale-botneeds investigationneeds design doc labels 2025-12-29 02:20:58 +01:00
Author
Owner

@github-actions[bot] commented on GitHub (Mar 13, 2024):

This issue is stale because it has been open for 90 days with no activity.

@github-actions[bot] commented on GitHub (Mar 13, 2024): This issue is stale because it has been open for 90 days with no activity.
Author
Owner

@github-actions[bot] commented on GitHub (Mar 21, 2024):

This issue was closed because it has been inactive for 14 days since being marked as stale.

@github-actions[bot] commented on GitHub (Mar 21, 2024): This issue was closed because it has been inactive for 14 days since being marked as stale.
Author
Owner

@vdovhanych commented on GitHub (Mar 22, 2024):

This would be really awsemoe to implement. Can we reopen the issue?

@vdovhanych commented on GitHub (Mar 22, 2024): This would be really awsemoe to implement. Can we reopen the issue?
Author
Owner

@SamyDjemai commented on GitHub (Oct 17, 2024):

Hi @kradalby, could you reopen this issue? It seems that lots of people are interested in this feature

@SamyDjemai commented on GitHub (Oct 17, 2024): Hi @kradalby, could you reopen this issue? It seems that lots of people are interested in this feature
Author
Owner

@benley commented on GitHub (Oct 17, 2024):

I have some code to share soon that helps with mimicing app connectors outside of the control plane: a little app that keeps tailscale route advertisements in sync with DNS host resolution for a list of hostnames. It doesn't exactly replace app connectors but it helps for a lot of use cases.

@benley commented on GitHub (Oct 17, 2024): I have some code to share soon that helps with mimicing app connectors outside of the control plane: a little app that keeps tailscale route advertisements in sync with DNS host resolution for a list of hostnames. It doesn't exactly replace app connectors but it helps for a lot of use cases.
Author
Owner

@Beshelmek commented on GitHub (Oct 20, 2024):

@benley

How soon? I just want to write same feature, but since you've already done it, I'd like to support it and not write it from scratch.

@Beshelmek commented on GitHub (Oct 20, 2024): @benley How soon? I just want to write same feature, but since you've already done it, I'd like to support it and not write it from scratch.
Author
Owner

@benley commented on GitHub (Oct 20, 2024):

It will be just a few days, I was waiting for someone at work to sign off on publishing it.

@benley commented on GitHub (Oct 20, 2024): It will be just a few days, I was waiting for someone at work to sign off on publishing it.
Author
Owner

@benley commented on GitHub (Oct 25, 2024):

It will be just a few days, I was waiting for someone at work to sign off on publishing it.

Here we go, finally: https://github.com/singlestore-labs/tailscale-manager

@benley commented on GitHub (Oct 25, 2024): > It will be just a few days, I was waiting for someone at work to sign off on publishing it. Here we go, finally: https://github.com/singlestore-labs/tailscale-manager
Author
Owner

@yangboyd commented on GitHub (Feb 28, 2025):

It will be just a few days, I was waiting for someone at work to sign off on publishing it.

Here we go, finally: https://github.com/singlestore-labs/tailscale-manager

It would be better to implement this feautre in headscale.

@yangboyd commented on GitHub (Feb 28, 2025): > > It will be just a few days, I was waiting for someone at work to sign off on publishing it. > > Here we go, finally: https://github.com/singlestore-labs/tailscale-manager It would be better to implement this feautre in headscale.
Author
Owner

@kgncengiz commented on GitHub (Apr 13, 2025):

How hard can it be to implement AppConnector into Headscale? tailscale client side is open source???

@kgncengiz commented on GitHub (Apr 13, 2025): How hard can it be to implement AppConnector into Headscale? tailscale client side is open source???
Author
Owner

@benley commented on GitHub (Apr 14, 2025):

How hard can it be to implement AppConnector into Headscale? tailscale client side is open source???

This is not trivial to implement, and nobody is being paid to do it. I'm sure we would all like to see app connectors in headscale when someone has time to work on it.

@benley commented on GitHub (Apr 14, 2025): > How hard can it be to implement AppConnector into Headscale? tailscale client side is open source??? This is not trivial to implement, and nobody is being paid to do it. I'm sure we would all like to see app connectors in headscale when someone has time to work on it.
Author
Owner

@kgncengiz commented on GitHub (Apr 14, 2025):

This is not trivial to implement, and nobody is being paid to do it. I'm sure we would all like to see app connectors in headscale when someone has time to work on it.

According to Tailscale, someone is paid to work on headscale.
source: https://tailscale.com/blog/opensource

@kgncengiz commented on GitHub (Apr 14, 2025): > This is not trivial to implement, and nobody is being paid to do it. I'm sure we would all like to see app connectors in headscale when someone has time to work on it. According to Tailscale, someone is paid to work on headscale. source: https://tailscale.com/blog/opensource
Author
Owner

@igrikus commented on GitHub (Apr 14, 2025):

@kgncengiz
Demanding fixes unfortunately doesn't magically free up developer time, but you know what does speed things up?

Pull Requests.

@igrikus commented on GitHub (Apr 14, 2025): @kgncengiz Demanding fixes unfortunately doesn't magically free up developer time, but you know what does speed things up? Pull Requests.
Author
Owner

@mushrowan commented on GitHub (Nov 5, 2025):

i'm a complete beginner to go, but i may throw some time at this because it'd definitely be a useful feature. can't promise anything (as mentioned, complete beginner to go. rust shills like me rarely exit their comfort zone) but yeah, wish me luck :)

@mushrowan commented on GitHub (Nov 5, 2025): i'm a complete beginner to go, but i may throw some time at this because it'd definitely be a useful feature. can't promise anything (as mentioned, complete beginner to go. rust shills like me rarely exit their comfort zone) but yeah, wish me luck :)
Author
Owner

@Beshelmek commented on GitHub (Nov 6, 2025):

I’ve implemented app connector support for the latest version of Headscale. I plan to submit a pull request in a few weeks, once I’ve completed the unit and performance tests.

@Beshelmek commented on GitHub (Nov 6, 2025): I’ve implemented app connector support for the latest version of Headscale. I plan to submit a pull request in a few weeks, once I’ve completed the unit and performance tests.
Author
Owner

@dszubov commented on GitHub (Dec 25, 2025):

I plan to submit a pull request in a few weeks, once I’ve completed the unit and performance tests.

Hi @Beshelmek! Nice to see someone made it! Can you share your solution for tests?

@dszubov commented on GitHub (Dec 25, 2025): > I plan to submit a pull request in a few weeks, once I’ve completed the unit and performance tests. Hi @Beshelmek! Nice to see someone made it! Can you share your solution for tests?
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/headscale#596