Skip to content

neilalexander/yggdrasilckr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

yggdrasilckr

This is a special Yggdrasil build that re-adds tunnel routing/crypto-key routing (CKR) support. This allows you to build one or more point-to-point VPNs over the Yggdrasil Network and route normal IPv4 or IPv6 traffic to other yggdrasilckr nodes, without having to use higher-level VPN tools.

To configure, add a section to your yggdrasil.conf like this:

  TunnelRouting: {
    Enable: true
    RemoteSubnets: {
      "remotepublickey": [
        "a.a.a.a/a",
        "b::b/b"
      ]
    }
  }

If you are using an operating system other than Linux, you will need to add routing table entries for these routes to the TUN adapter manually.

Then use Go 1.21 to build and run:

go build -o yggdrasilckr ./cmd/yggdrasilckr
./yggdrasilckr -useconffile ...

... or generate an iOS framework with:

gomobile bind -target ios -tags mobile -o Yggdrasil.framework \
  github.com/neilalexander/yggdrasilckr/src/mobile \
  github.com/neilalexander/yggdrasilckr/src/config

... or generate an Android AAR bundle with:

gomobile bind -target android -tags mobile -o yggdrasil.aar \
  github.com/neilalexander/yggdrasilckr/src/mobile \
  github.com/neilalexander/yggdrasilckr/src/config

The main change from the old tunnel routing/CKR support in v0.3 is that you don't need to specify source subnets. Filtering will automatically be applied based on your remote subnets, therefore you'll need to specify the correct remote subnets on both sides.

Warning

This is provided without any warranty whatsoever and should be considered to be completely unsupported. Don't yell at me if it doesn't work.

About

No description, website, or topics provided.

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published