diff --git a/.github/workflows/mkdocs.yml b/.github/workflows/mkdocs.yml index abdbe2b..6958e69 100644 --- a/.github/workflows/mkdocs.yml +++ b/.github/workflows/mkdocs.yml @@ -63,8 +63,12 @@ jobs: mike deploy master dev --config-file "${GITHUB_WORKSPACE}/mkdocs/mkdocs.yml" --push --rebase env: CUSTOM_DOMAIN: distribyted.com + GOOGLE_ANALYTICS_KEY: ${{ secrets.GOOGLE_ANALYTICS_KEY }} - name: Deploy docs (Versions) + env: + GOOGLE_ANALYTICS_KEY: ${{ secrets.GOOGLE_ANALYTICS_KEY }} + if: startsWith(github.ref, 'refs/tags/v') run: | git fetch origin gh-pages --verbose diff --git a/README.md b/README.md index 02cda78..34dfbec 100644 --- a/README.md +++ b/README.md @@ -30,35 +30,36 @@ ![Distribyted Screen Shot][product-screenshot] 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. +It can expose torrent files as a standard FUSE, webDAV or HTTP endpoint and download them on demand, allowing random reads using a fixed amount of disk space. Distribyted tries to make easier integrations with other applications using torrent files, presenting them as a standard filesystem. -**Note that distribyted is in alpha version, it is a proof of concept with a lot of bugs.** +**Note that distribyted is in beta version, it is a proof of concept with a lot of bugs.** ## Use Cases - Play **multimedia files** on your favorite video or audio player. These files will be downloaded on demand and only the needed parts. - Explore TBs of data from public **datasets** only downloading the parts you need. Use **Jupyter Notebooks** directly to process or analyze this data. +- Share your latest dataset creation just sharing a magnet link. People will start access your data in seconds. - Play your **ROM backups** directly from the torrent file. You can have virtually GBs in games and only downloaded the needed ones. ## Documentation -Check [here][main-url] or [here][doc-folder-url] for further documentation. +Check [here][main-url] for further documentation. ## 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**. -Any contribution is welcome, but some areas need more care than others: +Some areas need more care than others: - Windows and macOS tests and compatibility. I don't have any easy way to test distribyted on these operating systems. -- Web interface. Web development is not my _forte_. +- Web interface. Web development is not my _forte_. +- Tutorials. Share with the community your use case! ## License Distributed under the GPL3 license. See `LICENSE` for more information. -[doc-folder-url]: https://github.com/distribyted/distribyted/blob/master/mkdocs/docs/index.md [main-url]: https://distribyted.com [releases-shield]: https://img.shields.io/github/v/release/distribyted/distribyted.svg?style=flat-square [releases-url]: https://github.com/distribyted/distribyted/releases diff --git a/mkdocs/docs/getting-started.md b/mkdocs/docs/getting-started.md index afb7c9a..4fbead5 100644 --- a/mkdocs/docs/getting-started.md +++ b/mkdocs/docs/getting-started.md @@ -69,8 +69,17 @@ distribyted: 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). \ No newline at end of file +You can see the default configuration file with some explanation comments [here](https://github.com/distribyted/distribyted/blob/master/templates/config_template.yaml). + +### Routes + +Here there is a list of all available routes with their torrents and some info. You can add and remove torrents from here too. + +### Servers + +Servers is a way to generate magnet files from folders. +All servers configured using the config yaml file will be here. +When some data is changed on these folders, a new magnet URI will be generated. +You can share that magnet URI with anyone to share these files. diff --git a/mkdocs/docs/index.md b/mkdocs/docs/index.md index d91931d..27c08b6 100644 --- a/mkdocs/docs/index.md +++ b/mkdocs/docs/index.md @@ -17,19 +17,17 @@ Distribyted supports several ways to expose the files to the user or external ap - 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. +- HTTP: A simple HTTP interface for all the available routes. You can acces it from `http://[HOST]:[PORT]/fs` ### _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. +- rar: Thanks to [rardecode](https://github.com/nwaples/rardecode/tree/experimental) experimental branch library, it is possible to seek through rar files. +- 7zip: Thanks to [sevenzip](https://github.com/bodgit/sevenzip) library, it is possible to read `7z` files in a similar way that is done using the `zip` implementation. #### 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 diff --git a/mkdocs/mkdocs.yml b/mkdocs/mkdocs.yml index 506ad87..2bf80e3 100644 --- a/mkdocs/mkdocs.yml +++ b/mkdocs/mkdocs.yml @@ -18,6 +18,8 @@ theme: primary: white features: - navigation.tabs + - navigation.tabs.sticky + - navigation.sections - navigation.instant - navigation.tracking - navigation.expand @@ -29,11 +31,15 @@ edit_uri: edit/master/mkdocs/docs/ plugins: - git-revision-date + - search extra: version: default: latest provider: mike + analytics: + provider: google + property: !ENV GOOGLE_ANALYTICS_KEY markdown_extensions: - toc: