An open API service indexing awesome lists of open source software.

https://github.com/taoky/admirror-speedtest

A simple rsync/http(s)/git speedtest program for multiple-IPs (ISP) environment
https://github.com/taoky/admirror-speedtest

git mirrors rsync speedtest

Last synced: 5 months ago
JSON representation

A simple rsync/http(s)/git speedtest program for multiple-IPs (ISP) environment

Awesome Lists containing this project

README

          

# admirror-speedtest

(Old name: rsync-speedtest)

A simple speedtest program for multiple-IPs (ISP) environment, to optimize the speed of syncing from upstream. **Supports rsync, curl, wget and git**.

PS: There's a racing bug in rsync that prevents proper termination of rsync processes, and it has been workarounded in rsync-speedtest. See comments of [`kill_children()` in main.rs](src/main.rs) for details.

## Args

```
$ ./admirror-speedtest --help
admirror-speedtest 0.3.3
Test speed (bandwidth) of different bind IP to rsync, http(s) and git upstream. Alleviate mirror
site admin's trouble choosing fastest bind IP.

USAGE:
admirror-speedtest [OPTIONS]

ARGS:
Upstream path. Will be given to specified program

OPTIONS:
-c, --config Config file (IP list) path. Default to ~/.admirror-speedtest or (if
not exist) ~/.rsync-speedtest
-h, --help Print help information
--log Log file. Default to /dev/null
-p, --pass Passes number [default: 3]
--program Program to use. It will try to detect by default (here curl will be
used default for http(s)) [possible values: rsync, wget, curl, git]
-t, --timeout Timeout (seconds) [default: 30]
--tmp-dir Tmp file path. Default to env::temp_dir() (/tmp in Linux system)
-V, --version Print version information
```

### Git support

`libbinder.so` will be searched by this order:

- Same path as admirror-speedtest executable
- `deps` directory in admirror-speedtest executable's parent directory

Note that libbinder is now seperated to another repo: , with glibc & musl support.

It throws error and git support will not be available if `libbinder.so` is not found.

## Config file format

```
114.5.1.4 example_ip_1
2001:19:19:8::10 example_ip_2
```

## Screenshot

![Screenshot](assets/demo.png)