为什么要获取Google Drive文件的下载直链
- 关于谷歌云端硬盘
Google Drive,中文名称谷歌云端硬盘,是Google提供的网盘服务。由于你懂的原因,Google Drive在国内无法访问。
如果你正在使用国外VPS服务器,那么Google Drive可以作为一个优秀的数据中转站,因为Google Drive基本没有限速,与国外服务器间传输文件的速度极快。
- Google Drive 下载直链的用途
虽然在国外的下载速度极快,但是正常情况下,用户必须直接在Google Drive官网下载文件。与其它网盘一样,在Google Drive下载文件时得到的链接,并非直链,不能用于服务器的wget命令。
获取下载直链的好处:
- 可以在服务器直接下载Google Drive文件,无需另外安装下载工具。
- 可以通过大文件直链的下载速度测试服务器的带宽。
- 可以将系统镜像保存在Google Drive上,用来一键DD速度极快。
- 如果有人通过Google Drive分享了系统镜像文件,可以直接使用而无需转存。
一键脚本获取Google Drive下载直链
在这里先感谢下Vicer,他的很多脚本都有很强的实用性,下面我们介绍下直链的获取方法。
注意事项:
- 直链获取脚本仅支持单个文件,不支持文件夹。
- 共享权限需要:知道链接的任何人。
- 脚本获取的下载直链,并非永久链接,请在短时间内使用。
具体步骤:
1.无论是个人云端硬盘保存的文件,还是他人分享的文件,打开云端硬盘页面后,右键点击文件名——获取共享链接,如下图所示。点击之后,共享链接会自动添加到剪贴板。
2.刚才得到的共享链接,格式是这样的:https://drive.google.com/open?id=18v_9Bet11B3ZZ3GqWCOa3yTuY2Lzzaav
将链接粘贴至剪贴板,我们需要的是其中的文件ID部分,即open?id=后面的一串字符。
3.在VPS服务器上运行如下命令,下载得到链接转换脚本:
1
|
wget —no–check–certificate –qO /usr/local/bin/gdlink ‘https://moeclub.org/attachment/LinuxShell/gdlink.sh’ && chmod a+x /usr/local/bin/gdlink
|
4.运行如下命令,开始转换直链。注意将引号中的字符,替换为刚才得到的文件ID:
1
|
gdlink ’18v_9Bet11B3ZZ3GqWCOa3yTuY2Lzzaav’
|
5.以上命令成功运行后,会直接输出直链结果如下图,鼠标选择输出的链接就会自动复制到剪贴板。
6.使用wget命令+直链,就可以直接下载Google Drive文件了,下载速度还是很可观的:
提示:以上方式下载得到的文件名,可能是一串字符,下载完成后,可以手动重命名。
更简易的下载步骤
以上各详细步骤,是为了帮大家了解脚本实现过程。
如果你想更简单的下载Google Drive文件,那么可以免去中间步骤,分别运行如下两条命令即可。
注意事项:
- 记得将以下第二条命令中,引号内的一串字符,替换为实际的文件ID。
- 第二条命令中的filename,可以替换为文件的实际名称,替换之后,下载得到的文件名将不再是一串字符。
1
2
|
wget —no–check–certificate –qO /usr/local/bin/gdlink ‘https://moeclub.org/attachment/LinuxShell/gdlink.sh’ && chmod a+x /usr/local/bin/gdlink
gdlink ’18v_9Bet11B3ZZ3GqWCOa3yTuY2Lzzaav’ |xargs –n1 wget –c –O ./filename
|
如何使用Google Drive保存的系统镜像,一键DD
1.先获取系统一键DD脚本:
1
|
wget —no–check–certificate –qO InstallNET.sh ‘https://moeclub.org/attachment/LinuxShell/InstallNET.sh’ && chmod a+x InstallNET.sh
|
2.运行一键DD脚本,命令中加入直链转换命令即可:
注意:
将以下命令中,echo后面引号中的内容,替换为Google Drive 保存的系统镜像的文件ID,ID获取方法可参考上文相关内容。
1
|
bash InstallNET.sh –dd “$(echo “18v_9Bet11B3ZZ3GqWCOa3yTuY2Lzzaav” |xargs -n1 bash <(wget –no-check-certificate -qO- ‘https://moeclub.org/get-gdlink’))”
|