Skip to content
/ warp-ebpf Public

A tc-bpf action to rewrite wg.reserved_zero[3] to client_id required by warp, and vice versa for ingress.

License

Notifications You must be signed in to change notification settings

xdqi/warp-ebpf

Repository files navigation

What

A tc-bpf action to rewrite wg.reserved_zero[3] to client_id required by warp, and vice versa for ingress.

Usage

  • Register with warp-register.py first, save the result into /etc/wireguard/cf.conf
  • Edit config.h
    • Find line static const __u8 warp_private[3] = {11, 45, 14};
    • Change {11, 45, 14} to the content of ClientID in cf.conf above
  • make to build the eBPF module
  • ./attach.sh <your network interface> to load it into your system
  • wg-quick up cf start the wireguard tunnel
  • ./detach.sh to remove it from your system

Build Dependencies

Debian/Ubuntu: sudo apt install build-essential clang libc6-dev-i386 libbpf-dev

Arch: sudo pacman -S base-devel clang libbpf

TODO

  • IPv6 support

Credits

About

A tc-bpf action to rewrite wg.reserved_zero[3] to client_id required by warp, and vice versa for ingress.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published