Richard Yu
Richard Yu
@xhml 从这看确实有道理。
@821938089 没记错的话 qBittorrent 使用的是 [`SetFileValidData`](https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-setfilevaliddata),这需要预先知道文件大小,且在没有特殊权限的情况下,会将硬盘那部分区域写 0,性能并不好。 @Genteure 手动进行缓存不如直接使用系统的缓存功能,看上去 VMware 暂停的时候能直接把虚拟机的内存数据变成“已修改”,系统会在后台自动写进硬盘,此时关闭 VMware 并不影响。估计是有相关接口可用的。
@Genteure 任务管理器的内存中有一段是 Modified,当 VMware 暂停虚拟机时,可以看到原本是 In use 的那块可以直接转变为 Modified,然后 VMware 就可以退出了,这部分数据会由系统慢慢写入硬盘。
@mzimbres It's not for Windows. My program does not use TLS. By disabling SSL, the program would not have external dependency (the only dependency is headers-only part of boost), so...
这项目就没支持 Windows 吧?
我多年前抓包分析过6.x的Windows客户端,似乎整个协议都有较大更改,要支持的话应该是得完全重写了。 一定要用的话,跑个Windows应该是不可避免的。要让路由器下的设备共享,可以尝试中继程序方案。 另外我曾经听说Hyper-V虚拟机可以共享宿主机的MAC地址,虚拟机中认证后宿主机就能上网,也许可以从这方面调查看看。
中继程序我只知道一个叫 `agentx1` ,不确定还能不能支持最新版认证协议,原理是在路由器上运行,收到锐捷认证包后把其中的 MAC 地址改成路由器的 MAC 地址再发出,这种方式也是不可避免要跑个Windows。
建议使用这个 https://github.com/ysc3839/openwrt-minieap 此项目适配了 netifd 的 protocol,可以配合 https://github.com/ysc3839/luci-proto-minieap 在 luci 中配置。 在 Network 中新建一个接口,协议选择 MiniEAP,网络接口设为外网接口。
@WeiMXi 安装后要重启,不然 netifd 不会加载这个协议。
A temporary solution is using `patchelf --add-needed` to add that so to executable file.