免责声明
进行任何行为均需要遵守当地法律法规,本文仅针对技术进行研究,不涉及也不提供任何非法信道的建设。
《中华人民共和国计算机信息网络国际联网管理暂行规定》(“联网规定”)第四和第十条: “擅自建立、使用非法定信通道进行国际联网。”
前言
rclone是一个开源网盘工具,本质上是通过调用对应服务提供商的API URL进行文件操作,软件模拟文件系统层。
那么,按照这种思路,我们可以更改API的URL从而达到不通过非法的代理软件访问到对应的服务API。进而,能够在国内挂载谷歌网盘。
同理,我们还可以用于微软sharepoint的挂载。
解决思路
修改源代码,并自行编译rclone。由于rclone是由go语言编写的,编译简单方便,源代码易读。
内部api和oauth服务器涉及的域名:
https://www.googleapis.com/
https://accounts.google.com/
- 谷歌网盘对应go文件为
drive.go
,由于需要OAuth授权,可以选择headless方式获得token。 - 之后,rclone会通过token访问TokenURL获得一个access_token,这一步需要把TokenURL指向修改。
- 获取到access_token以后,rclone会通过调用Google的网盘api包,客户端连接BaseURL进行对应文件操作,在这里需要重新指向baseurl(注意谷歌网盘的包有原版和v2版本,需要对应设置)。
- 后期rclone的所有操作都是通过拼接baseurl来进行,因此一切就绪。
处理源代码
增加谷歌网盘高级配置中baseurl的设置,以及独立的oauth服务器设置。
修改后源码编译后即可使用,如何编译自行摸索。
相关配置部分在高级设置内。
参考代码
测试
多提一句
在网络不佳的区域打开多线程多连接需要加上运行参数:--disable-http2 --transfers 连接数
,注意是多线程多连接,程序默认执行为多线程单连接。