Organize docs. ()

This commit is contained in:
Antonio Navarro Perez 2021-10-08 11:52:37 +02:00 committed by GitHub
parent 891afabb6d
commit 0a96f836b7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 145 additions and 110 deletions

View file

@ -0,0 +1 @@
TBD

View file

@ -0,0 +1 @@
TBD

View file

@ -0,0 +1,76 @@
## Installation
### Using the binary
Get the latest release from [releases][releases-url] page or download the source code and execute `make build`.
Run the program: `./distribyted-[VERSION]-[OS]-[ARCH]`
Defaults are good enough for starters, but you can change them. Here is the output of `./distribyted -help`:
```text
NAME:
distribyted - Torrent client with on-demand file downloading as a filesystem.
USAGE:
distribyted [global options] [arguments...]
GLOBAL OPTIONS:
--config value YAML file containing distribyted configuration. (default: "./distribyted-data/config.yaml") [$DISTRIBYTED_CONFIG]
--http-port value HTTP port for web interface (default: 4444) [$DISTRIBYTED_HTTP_PORT]
--fuse-allow-other Allow other users to acces to all fuse mountpoints. You need to add user_allow_other flag to /etc/fuse.conf file. (default: false) [$DISTRIBYTED_FUSE_ALLOW_OTHER]
--help, -h show help (default: false)
```
#### Prerequisites on windows
Download and install [WinFsp](http://www.secfs.net/winfsp/).
### Using Docker
Docker run example:
```shell
docker run \
--rm -p 4444:4444 -p 36911:36911 \
--cap-add SYS_ADMIN \
--device /dev/fuse \
--security-opt apparmor:unconfined \
-v /tmp/mount:/distribyted-data/mount:shared \
-v /tmp/metadata:/distribyted-data/metadata \
-v /tmp/config:/distribyted-data/config \
distribyted/distribyted:latest
```
Docker compose example:
```yaml
distribyted:
container_name: distribyted
image: distribyted/distribyted:latest
restart: always
ports:
- "4444:4444/tcp"
- "36911:36911/tcp"
volumes:
- /home/user/mount:/distribyted-data/mount:shared
- /home/user/metadata:/distribyted-data/metadata
- /home/user/config:/distribyted-data/config
security_opt:
- apparmor:unconfined
devices:
- /dev/fuse
cap_add:
- SYS_ADMIN
```
## Usage
After executing and load all torrent or magnet files, a web interface will be available at `http://localhost:4444`
It contains information about the mounted routes and torrent files like download/upload speed, leechers, seeders...
You can also modify the configuration file and reload the server from `http://localhost:4444/config` .
### Configuration File
You can see the default configuration file with some explanation comments [here](https://github.com/distribyted/distribyted/blob/master/templates/config_template.yaml).

View file

@ -1,93 +1,36 @@
# Main
## Getting Started
Get the latest release from [releases][releases-url] page or download the source code and execute `make build`.
Run the program: `./distribyted-[VERSION]-[OS]-[ARCH]`
Defaults are good enough for starters, but you can change them. Here is the output of `./distribyted -help`:
```text
NAME:
distribyted - Torrent client with on-demand file downloading as a filesystem.
USAGE:
distribyted [global options] [arguments...]
GLOBAL OPTIONS:
--config value YAML file containing distribyted configuration. (default: "./distribyted-data/config.yaml") [$DISTRIBYTED_CONFIG]
--http-port value HTTP port for web interface (default: 4444) [$DISTRIBYTED_HTTP_PORT]
--fuse-allow-other Allow other users to acces to all fuse mountpoints. You need to add user_allow_other flag to /etc/fuse.conf file. (default: false) [$DISTRIBYTED_FUSE_ALLOW_OTHER]
--help, -h show help (default: false)
```
### Prerequisites on windows
Download and install [WinFsp](http://www.secfs.net/winfsp/).
## Usage
After executing and load all torrent or magnet files, a web interface will be available here: `http://localhost:4444`
It contains information about the mounted routes and torrent files like download/upload speed, leechers, seeders...
You can also modify the configuration file and reload the server from here: `http://localhost:4444/config` .
### Docker
Docker run example:
```shell
docker run \
--rm -p 4444:4444 -p 36911:36911 \
--cap-add SYS_ADMIN \
--device /dev/fuse \
--security-opt apparmor:unconfined \
-v /tmp/mount:/distribyted-data/mount:shared \
-v /tmp/metadata:/distribyted-data/metadata \
-v /tmp/config:/distribyted-data/config \
distribyted/distribyted:latest
```
Docker compose example:
```yaml
distribyted:
container_name: distribyted
image: distribyted/distribyted:latest
restart: always
ports:
- "4444:4444/tcp"
- "36911:36911/tcp"
volumes:
- /home/user/mount:/distribyted-data/mount:shared
- /home/user/metadata:/distribyted-data/metadata
- /home/user/config:/distribyted-data/config
security_opt:
- apparmor:unconfined
devices:
- /dev/fuse
cap_add:
- SYS_ADMIN
```
### Configuration File
You can see the default configuration file with some explanation comments [here](https://github.com/distribyted/distribyted/blob/master/templates/config_template.yaml).
## Contributing
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.
1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request
## License
Distributed under the GPL3 license. See `LICENSE` for more information.
Distribyted is an alternative torrent client.
It can expose torrent files as a standard FUSE mount or webDAV endpoint and download them on demand, allowing random reads using a fixed amount of disk space.
![Distribyted Screen Shot][product-screenshot]
[product-screenshot]: images/distribyted.gif
## Features
### User Interfaces
Distribyted supports several ways to expose the files to the user or external applications:
#### Supported
- FUSE: Other applications can access to torrent files directly as a filesystem.
- WebDAV: Applications that supports WebDAV can access torrent files using this protocol. It is recommended when distribyted is running in a remote machine or using docker.
#### To be supported
- HTTP: distribyted will support direct HTTP access to files.
### _Expandable_ File Formats
Distribyted can show some kind of files directly as folders, making it possible for applications read only the parts that they need. Here is a list of supported, to be supported and not supported formats.
#### Supported
- zip: Able to uncompress just one file. The file is decompressed to a temporal file sequentially to make possible seek over it. The decompression stops if no one is reading it.
#### To Be Supported
- tar: Seek to any file and inside that files using a [modified standard library](https://github.com/ajnavarro/go-tar). Not useful on `.tar.gz` files.
- 7zip: Similar to Zip. Need for a library similar to [zip](https://github.com/saracen/go7z).
- xz: Only worth it when the file is created using blocks. Possible library [here](https://github.com/ulikunitz/xz) and [here](https://github.com/frrad/bxzf).
#### Not Supported
- gzip: As far as I know, it doesn't support random access.

1
mkdocs/docs/tutorials.md Normal file
View file

@ -0,0 +1 @@
TBD