发布Chrome OS快盘文件系统
今年早些时候购入了三星 ARM Chromebook,一直有感于 Chromebook 上只能使用 Google Drive 的不爽(必须翻墙,虽然我一直都开着 ShadowSocks 之类的),后来看到来自日本的开发者 Yoichiro Tanaka 为 Chrome OS 开发了 SFTP Dropbox OneDrive 等文件系统,才发现 Chrome OS 从 40.0 版本开始提供了 fileSystemProvider API,开发者可以使用此 API 开发 Chrome OS 专用的第三方文件系统,这样所有 Chrome OS App 都可以读写文件系统。
想到平时经常用的快盘(原金山,现已被迅雷收购)云存储,因此最近参考了快盘 API 和 Chrome OS 相关文档之后花费了些时间使用纯 JavaScript 开发了一款 Chrome OS 下的快盘文件系统。
下载安装
建议直接从 Google Chrome 应用商店安装本应用,这样以后可以自动升级 App:
https://chrome.google.com/webstore/detail/kkjodkkaeoeogphajdfbgcbmohpkemjd
此 Chrome 应用只支持 Chrome OS 或者 Chromium OS 操作系统,例如 Chromebook 笔记本、Chromebox、Chromebase 一体机等设备,不支持 Windows 等普通桌面或移动操作系统上的 Chrome 浏览器。
安装运行的 Chrome OS 系统版本需要至少 40.0 版本以上,为达到更好的使用效果,建议始终更新至最新版本,下面将详细说明。
如果您不能方便的访问 Google Chrome 应用商店,那也可以直接访问此项目的 GitHub 主页并检出代码本地安装(本地安装步骤这里就不详述了):
https://github.com/zohead/kuaipan-chromeos/
使用介绍
安装成功之后在 Chrome OS 应用程序启动器或者扩展程序界面中启动快盘文件系统就会出现下面的主界面:
界面非常简单,只有 挂载快盘、断开快盘 两个操作,点击 “挂载快盘” 按钮稍等片刻就会弹出快盘官方网站授权快盘应用的界面,输入您的用户名和密码登录并授权给 快盘 for Chrome OS 应用即可。
挂载完成之后主界面会自动隐藏并弹出 Chrome OS 文件管理器应用,自动显示快盘的文件列表:
当前初始发布的 0.1.1 版本实现了基本的文件操作功能,文件和文件夹的创建、删除、重命名、下载、上传都支持,不支持文件共享、协助等 Chrome OS 本身并不支持的功能。
挂载完成之后快盘里存储的图片、PDF、Office 文档等 Chrome OS 系统直接就支持的文件可以直接在文件管理器 App 中双击打开,H264 等标准格式的视频也可以在文件 App 中直接双击打开实现在线播放效果:
使用限制
需要注意的是由于快盘开放 API 的限制,此 App 当前存在以下限制:
- 暂时支持上传最大 300MB 的文件;
- 不支持从非 0 的位置写文件或者将文件 truncate 为非 0 大小(快盘未开放续传上传 API,对正常使用影响不大,除非某些 Chrome App 需要从非 0 位置写文件);
- 同样由于快盘未开放续传上传 API,文件上传的实际写入操作只能在关闭文件的时候(即上传完成时)进行,这将导致写完成之后要等一会才能真正上传完成;
- 如果上传的文件比较大那需要额外等待一段时间,中间会出现上面视频播放图片中的超出预期时间的提示框,此时不要点取消按钮,直接不用管它,等上传实际完成即可,如果上传失败会报错;
- 其它快盘用户共享给您的协作文件夹不会在文件列表中显示;
- 不支持查看文件历史版本功能,需要在网页端或者 PC 客户端中查看。
据说快盘 API 有每天 5000 次的调用次数限制,我自己测试没有达到这个限制,如果有其它用户使用此 App 真的导致用不了了我会尝试联系快盘调大 API 调用次数限制。
缩略图问题
Chrome OS 文件 App 中显示文件列表时支持以缩略图形式显示,这个对于照片文件夹特别有用,但是 Chrome OS 44.0 以下版本的文件 App 存在 Bug,低版本对于图片文件夹并没有请求缩略图信息,而是直接读取文件夹中每个图片文件完整数据并显示为缩略图,这样会导致访问照片文件夹速度比较慢(有时会出现上面在线视频播放中的超时提示)。这个问题由于是文件 App 的问题,无法直接解决只能更新 Chrome OS 版本。
这个是以缩略图形式显示存储在快盘里的照片文件夹效果:
其它
如果在使用中发现什么问题欢迎在我的 GitHub 项目主页上提交 issue,出现的 Bug 我会尽量解决:
https://github.com/zohead/kuaipan-chromeos/issues
祝玩的开心 ^_^
Unee Wang:
2015年07月06日 星期一 08:43上午
哇,这么牛逼的东西,要支持一下啊
Unee Wang:
2015年07月06日 星期一 08:52上午
尝试安装此扩展程序时出现以下警告:
Unrecognized manifest key ‘file_system_provider_capabilities’.
因为一直都是用百毒盘,还没用过快盘,先注册个帐号试试
admin:
2015年07月06日 星期一 10:04上午
这个是为了支持更新版本的Chrome OS的,老版本上安装会报这个警告,使用是没有影响的
尹富贵:
2015年07月25日 星期六 03:14下午
辛苦了,感谢!
反馈一个异常,我在实际应用中安装了您的应用后,点击挂载,弹出报错提示:登陆验证失败:Unauthorized!
多次尝试均报错,无法进入登陆界面。
admin:
2015年07月25日 星期六 03:35下午
这个可能是因为您的Chromebook系统时间和标准时间差距超过5分钟了,可以修改系统时间或者和NTP服务器同步之后再试试看哦~~~
尹富贵:
2015年07月26日 星期日 03:37下午
真的解决了,非常感谢!
ar1987:
2015年10月18日 星期日 11:18上午
这个软件用起来非常好,十分感谢。不知道您能否有空也做个百度网盘的相应软件吗?再次感谢。
admin:
2015年10月18日 星期日 12:24下午
百度网盘现在不对个人开发者开放API,想做也没办法了…
X D:
2016年08月02日 星期二 09:03上午
webdav 挂载坚果云解决了吗?我也是看不到内容。还有,快盘挂了…国内chromebook用个网盘真费劲
Uranus Zhou:
2016年08月02日 星期二 09:39上午
Linux或者crouton下用davfs2挂载可以参考:
https://zohead.com/archives/davfs2-nutstore/
Chromebook商店里WebDAV文件系统App挂载坚果云的问题我有空再看看。
X D:
2016年08月21日 星期日 10:16上午
报告一个问题,编译您修改的app/scripts/webdav_client.js和app/scripts/webdav_fs.js文件后,可以正常挂载坚果云,但是只能向坚果云添加文件,无法读取文件。如果只修改app/scripts/webdav_client.js文件,则可以正常读写。不懂编程,是不是坚果云不会遇到文件长度问题?
Uranus Zhou:
2016年08月21日 星期日 03:02下午
不修改 webdav_fs.js 的话读取坚果云文件会存在问题出现 HTTP 416 错误,webdav_client.js 修改是解决文件列表的问题,
我这里看起来都是正常的,你可以直接用我改过的 background.js 替换这个路径的文件试试看:
~/Extensions/hmckflbfniicjijmdoffagjkpnjgbieh/1.0.4_0
修改的 background.js 可以从我的 百度云分享 下载。
如果还是有问题的话,你可以打开扩展程序找到 WebDAV File System,
点击“检查视图: 背景页”看看控制台上报什么错误。
另外我是直接挂载的 https://dav.jianguoyun.com/dav 也就是整个坚果云目录,
没有用下面的子目录,不知道你是怎么使用的。
X D:
2016年08月21日 星期日 07:55下午
用修改的background.js后,各个功能都可以用了。又试了一下,不修改webdav_fs.js的话,确实会有问题,虽然可以直接打开文件,但是无法复制到本地。我挂载的是https://dav.jianguoyun.com/dav/我的坚果云/ 可以用,非常感谢!