【音樂】Enya - May It Be
原視頻《Poker Face》 由 北美carl 發過了
2 个评论
https://pincong.rocks/video/1892
这个帖子 讲解了 rust编程 实现 用户态的 Linux mac ios Android 下的wireguard
我在这里讲解下windows下怎么办。。。
参考开源项目
https://github.com/songgao/water
其他系统,就不累述了
直接看 windows
https://github.com/songgao/water/blob/master/syscalls_windows.go
重点是 openDev 这个函数,
config.PlatformSpecificParams.ComponentID
config.PlatformSpecificParams.InterfaceName
在 https://github.com/songgao/water/blob/master/params_windows.go
有需要的自己修改
syscall.CreateFile 相当于 你打开了这个虚拟网卡。。。
可以自己阅读理解,反正就是注册表操作了
懒的同学,可以不读,直接照抄。。。
自己写VPN,其实真的不难。。。
通过刚才的操作就可以建立虚拟网卡。。。
再像普通的文件读写一样操作这个虚拟网卡
1.从虚拟网卡读取数据
2.封装数据以后,用物理网卡发送
3.从物理网卡接收网络数据
4.解封装以后,回写到虚拟网卡
这里,当然可以把数据写到tor发送
也可以写到v2ray发送
也可以写到shadowsocks发送
也可以自己写协议
就像wireguard自己定了一个协议。。。
这个帖子 讲解了 rust编程 实现 用户态的 Linux mac ios Android 下的wireguard
我在这里讲解下windows下怎么办。。。
参考开源项目
https://github.com/songgao/water
其他系统,就不累述了
直接看 windows
https://github.com/songgao/water/blob/master/syscalls_windows.go
重点是 openDev 这个函数,
config.PlatformSpecificParams.ComponentID
config.PlatformSpecificParams.InterfaceName
在 https://github.com/songgao/water/blob/master/params_windows.go
有需要的自己修改
syscall.CreateFile 相当于 你打开了这个虚拟网卡。。。
可以自己阅读理解,反正就是注册表操作了
懒的同学,可以不读,直接照抄。。。
自己写VPN,其实真的不难。。。
通过刚才的操作就可以建立虚拟网卡。。。
再像普通的文件读写一样操作这个虚拟网卡
1.从虚拟网卡读取数据
2.封装数据以后,用物理网卡发送
3.从物理网卡接收网络数据
4.解封装以后,回写到虚拟网卡
这里,当然可以把数据写到tor发送
也可以写到v2ray发送
也可以写到shadowsocks发送
也可以自己写协议
就像wireguard自己定了一个协议。。。