文件名称:gobox:用 Go 编写的 Dropbox 克隆
文件大小:37KB
文件格式:ZIP
更新时间:2024-07-08 04:54:25
Go
GoBox GoBox 是用 Go 编写的 Dropbox 克隆版本。 该设计是一种客户端/服务器架构,使用 HTTP 端点在客户端之间传递文件更改事件。 所有文件更改的全局日志保存在服务器上的 Postgres 数据库中。 本地文件更改被散列并发送到服务器,服务器识别它是否已经在该散列下有一个文件。 如果没有,客户端会将文件上传到服务器,在服务器上对文件进行哈希处理以检查完整性,如果有效则上传到 Amazon S3 实例。 所有其他客户端都会收到通过 UDP 套接字进行的更改的警报,然后其他客户端通过 HTTP 端点请求必要的更改。 然后,客户端通过 S3 签名 URL 直接从 Amazon S3 实例获取必要的更改。 笔记 必须为 aws 客户端设置GOBOX_AWS_ACCESS_KEY_ID和GOBOX_AWS_SECRET_ACCESS_KEY 。 os.FileMode
【文件预览】:
gobox-master
----fsnotifytest()
--------fsnotifytest.go(3KB)
----boxtools()
--------boxtools.go(11KB)
--------boxtools_test.go(2KB)
----client()
--------shelltest.sh(228B)
--------client.go(17KB)
--------client_test.go(3KB)
--------watcher()
--------api()
----structs()
--------structs.go(2KB)
----LICENSE(1KB)
----main_test.go(1KB)
----backup()
--------old_client.go(7KB)
----UDPush()
--------UDPush.go(4KB)
----.gitignore(325B)
----server()
--------model()
--------server.go(1KB)
--------s3()
--------api()
--------templates()
----readme.md(1KB)
----cmd()
--------gobox-client()