mirror of
https://github.com/fatedier/frp.git
synced 2026-05-15 08:05:49 -06:00
[PR #4827] [CLOSED] vnet: initial Windows support #5052
Labels
No labels
In Progress
WIP
WaitingForInfo
bug
doc
duplicate
easy
enhancement
future
help wanted
invalid
lifecycle/stale
need-issue-template
need-usage-help
no plan
proposal
pull-request
question
todo
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/frp#5052
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/fatedier/frp/pull/4827
Author: @EZForever
Created: 6/5/2025
Status: ❌ Closed
Base:
dev← Head:vnet-windows📝 Commits (1)
88cee39vnet: initial Windows support📊 Changes
2 files changed (+125 additions, -1 deletions)
View changed files
📝
pkg/vnet/tun_unsupported.go(+1 -1)➕
pkg/vnet/tun_windows.go(+124 -0)📄 Description
WHY
VirtualNet is a very promising feature, and the underlying TUN library (
golang.zx2c4.com/wireguard/tun) already supports Windows, so... why not ;)Additional Considerations
golang.zx2c4.com/wireguard/tunon Windows relies on wintun to do its job, namely thewintun.dllfile from the prebuilt binaries package. Including it as a built-in dependency is out of question, since wintun is in C, and we need the (signed) prebuilt driver binaries anyway for dealing with Windows' driver signing enforcement. Maybe we could bundle it with Windows release builds, but that kinda breaks the zero-dependency promise. It is not a concerning problem right now since VirtualNet is still in Alpha stage and users are assumed to know what they're doing; we could just direct them to manually download the required binaries in the docs.P.S. This is my first time coding in Go, so please forgive me for stupid mistakes in code.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.