tailscale / tailscale/tailscale-rs

bindings: tailscale-rs bindings for .NET

Open
#90 1 comment 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement language support
Dominant language
Rust
Stars
1.2k
Forks
61
Avg merge
2d 13h
Merged PRs (30d)
22

Description

Someone in discord came up with their own .NET bindings and got Tailscale working from C#. I think that counts as a vote for having .NET bindings 😂

Their approach was to use https://github.com/Cysharp/csbindgen to get the FFI glue in place, followed by hand-wrapping the generated APIs into something idiomatic for C#.

Once we have C#, VB.NET and F# can call into the C# API to do their thing, although for maximum niceness F# would prefer to have an idiomatic wrapper around that too. But I think aiming for C# to start with makes sense.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the repository's current API and binding structure, then study the csbindgen approach named in the issue. Define the initial C# surface and verify that it can be used from C# before considering VB.NET or F# support.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, rust
Domain
api
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.