Switch theme to Doks

This commit is contained in:
2021-01-31 00:54:37 -08:00
commit 98666f3a08
150 changed files with 24437 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
---
title: "OpenSend Docs"
draft: false
description: "Documentation for the OpenSend file sharing program"
menu:
docs:
parent: "docs"
---

View File

@@ -0,0 +1,37 @@
---
title: "GUI"
draft: false
description: "Opensend fyne GUI"
---
{{< appveyor-ci project="opensend" projectID="wrv3bbuujw57578h" >}}
{{< minio-s3 project="opensend" >}}
This page assumes you have already installed Opensend. If not, follow the installation
instructions on the installation page.
{{< button text="Installation" link="../installation" color="blue">}}
### GUI Installation
Opensend GUI has been written in golang using [fyne](https://fyne.io). Its source code can be found here:
{{< button-gitea text="Opensend GUI" project="opensend-gui" owner="opensend" color="green" >}}
To download Opensend GUI, run the following command
```bash
git clone https://gitea.arsenm.dev/opensend/opensend-gui.git
```
To build Opensend GUI, `go` must be installed. The process for that is explained in the installation instructions for Opensend. Once `go` is installed, run:
```bash
go build
```
This may take a while as `go` downloads and compiles Opensend GUI and Fyne.
Once the build is complete, there should be a file named `opensend-gui` in the directory. Run this file to open the GUI which should look like this:
{{< image src="/opensend/gui_start.webp" alt="Opensend GUI on start" >}}

View File

@@ -0,0 +1,60 @@
---
title: "Installation"
draft: false
description: "Installing opensend"
---
{{< appveyor-ci project="opensend" projectID="wrv3bbuujw57578h" >}}
{{< minio-s3 project="opensend" >}}
## Using precompiled binary
Opensend uses continuous integration to compile. You can find the binary by clicking the download binary badge above.
## Building from source
### Downloading
Opensend is hosted on Gitea.
{{< button-gitea color="green" project="opensend" owner="opensend" text="Opensend" >}}
To download opensend, you can either use the download button on one of the above, or
you can use the git command
To clone opensend using the command, run the following command:
```bash
git clone https://gitea.arsenm.dev/opensend/opensend.git
```
Now, you will want to `cd` into the root of this repo before completing the rest
of these instructions
### Building
Since Opensend is written in go, you will need go installed in order to compile it.
Most linux distros call the package providing it either `go` or `golang`.
Once go is installed, you can check that it runs by running
```bash
go version
```
To compile Opensend, run the following command:
```bash
make
```
### Installing
To install opensend, run one of the following commands:
```bash
sudo make install # Linux
sudo make install-macos # macOS
```
Once this command completes, to test whether opensend was installed properly, run
this command:
```bash
opensend -h
```
You should get the usage for opensend.

View File

@@ -0,0 +1,53 @@
---
title: "Usage"
draft: false
description: "Using opensend"
---
{{< appveyor-ci project="opensend" projectID="wrv3bbuujw57578h" >}}
{{< minio-s3 project="opensend" >}}
This page assumes you have already installed Opensend. If not, follow the installation
instructions on the installation page.
{{< button text="Installation" link="../installation" color="blue">}}
### Configuration
Opensend allows configuration by TOML and by command line flags. It looks at the following paths for configs in the specified order:
#### Config files
1. Config path from `--config` flag
2. `~/.config/opensend.toml`
3. `/etc/opensend.toml`
#### Command line flags
```text
Usage of opensend:
-d string
Data to send
-dest-dir string
Destination directory for files or dirs sent over opensend (default "/home/arsen/Downloads")
-r Receive data
-s Send data
-send-to string
Use IP address of receiver instead of mDNS
-skip-mdns
Skip zeroconf service registration (use if mdns fails)
-t string
Type of data being sent
```
The purpose of the mdns-skipping flags is to account for the iSH app in iOS, as the mdns resolver and registration fails on it.
### Algorithms and software used
- RSA for asymmetric encryption
- AES for symmetric encryption
- Tar for archiving directories
- Zstandard for compression
- Base91 for encoding
- Gob for serialization
- JSON for serialization
- TCP sockets for transfer
- Zeroconf/mDNS for device discovery