Commit c1412261 authored by 黄大凯's avatar 黄大凯
Browse files

Update README

parent dd19fdd3
Loading
Loading
Loading
Loading
+15 −4
Original line number Diff line number Diff line
@@ -3,6 +3,20 @@

![client](https://raw.githubusercontent.com/kaiakz/rsync2os/master/docs/client.jpg)

## Usage
### minio
1. install & run minio, you need to configure your setting of minio in the main.go.
2. go run main.go

## Roadmap
### Client
- [x] Parse rsync://
- [x] Connect to rsync server
- [x] Hand shake
- [x] Send argument list
- [x] Fetch the file list
- [x] Request & download files

## Why we don't need block checksum?
Rsync requires random reading and writing of files to do the block exchange. But object storage does not support that.
rsync-os simplifies the rsync algorithm to avoid random reading and writing. When a file needs to be updated, we just download the entire file from the server and then replace it.
@@ -23,10 +37,7 @@ The rsync server sends the entire file as a stream of bytes.
## Multiplex & De-Multiplex
![de-multiplex](https://raw.githubusercontent.com/kaiakz/rsync2os/master/docs/demux.jpg)

## How to use the demo?
### Use minio
1. install & run minio, you need to configure your setting of minio in the main.go.
2. go run main.go
### Limitations

# Reference
* https://git.samba.org/?p=rsync.git
+1 −1
Original line number Diff line number Diff line
@@ -13,7 +13,7 @@ type Cache struct {
}

func Open(module string, prepath string) *Cache {
	db, err := bolt.Open("r.db", 0666, nil)
	db, err := bolt.Open("test.db", 0666, nil)
	if err != nil {
		return nil
	}
+3 −3
Original line number Diff line number Diff line
@@ -105,7 +105,7 @@ func Socket(uri string) {
func main() {
	//FIXME: Can't handle wrong module/path rsync://mirrors.tuna.tsinghua.edu.cn/linuxmint-packages/pool/romeo/libf/libfm/
	Socket("rsync://mirrors.tuna.tsinghua.edu.cn/elvish")
	//Client("rsync://rsync.monitoring-plugins.org/plugins/")
	//Client("rsync://rsync.mirrors.ustc.edu.cn/repo/monitoring-plugins")
	// rsync://rsync.monitoring-plugins.org/plugins/
	// rsync://rsync.mirrors.ustc.edu.cn/repo/monitoring-plugins
	// rsync://rsync.monitoring-plugins.org/plugins/
}