diff --git a/docs/core-features/files.md b/docs/core-features/files.md new file mode 100644 index 00000000..1d303b71 --- /dev/null +++ b/docs/core-features/files.md @@ -0,0 +1,26 @@ +--- +sidebar_position: 30 +--- +# File Sharing + +With `zrok` it is possible to share files quickly and easily as well. To share files using `zrok` use +the `--backend-mode web`, for example: `zrok share private --backend-mode web`. + +Running with this mode will make it trivially easy to share files from the directory which the command +was run from. + +For example if you have a directory with a structure like this: +```shell +-rwxrwxrwx 1 cd cd 2506 Jan 26 11:57 README.md +-rwxrwxrwx 1 cd cd 2971 Jan 26 11:57 CHANGELOG.md +-rwxrwxrwx 1 cd cd 41544024 Jan 26 12:00 zrok +``` + +The files can be shared using a command such as: +```shell +zrok share public . --backend-mode web +``` + +Then the files can be access with a `private` or `public` share, for example as shown: + +![zrok_public_share](../images/zrok_share_file.png) \ No newline at end of file diff --git a/docs/core-features/hosting.md b/docs/core-features/hosting.md new file mode 100644 index 00000000..e93b74ab --- /dev/null +++ b/docs/core-features/hosting.md @@ -0,0 +1,15 @@ +--- +sidebar_position: 20 +--- +# Hosting + +## Self-Hosted + +`zrok` is not limited to a managed offering. You can host your own version of `zrok` as well. `zrok` is +also freely available as open source software hosted by GitHub under a very permissive Apache v2 license. + +## Managed Service + +`zrok` is also offered as a cloud service, making it instantly accessible to a large population immediately. +NetFoundry provides a manged version of `zrok` at https://zrok.io. This provides the easy-to-use, +quick to demonstrate features of `zrok` without needing to deploy and host `zrok` yourself. diff --git a/docs/core-features/index.md b/docs/core-features/index.md new file mode 100644 index 00000000..763e28d6 --- /dev/null +++ b/docs/core-features/index.md @@ -0,0 +1,5 @@ +--- +sidebar_title: Core Features +sidebar_position: 25 +--- +# Core Features diff --git a/docs/core-features/sharing-private.md b/docs/core-features/sharing-private.md new file mode 100644 index 00000000..677e66a2 --- /dev/null +++ b/docs/core-features/sharing-private.md @@ -0,0 +1,30 @@ +--- +sidebar_position: 0 +--- +# Shares - Private + +`zrok` was built to share and access digital resources. A `private` share allows a resource to be +shared through a __privately__ available endpoint. Sharing a resource with `private` is __a differentiating__ +feature of `zrok`. + +![zrok_public_share](../images/zrok_private_share.png) + +A `private` share will require `zrok` to access the share and will also require a special shared +secret token. This access token, combined with the `zrok access` command will be how the private share is accessed. + +Sharing something with `private` is similar to sharing something publicly. The main difference is +obvious, the shared resource is `private` and the share is __not__ open to the public. With `zrok`, you +can share resources on a private network without needing to expose the service to the internet, not +even through an obfuscated, difficult to guess url. There will be no attack surface available to the public. + +The shared resource can be a development web server to share with friends and colleagues or perhaps, +it could be a webhook from a server running in the cloud which has `zrok` running and has been instructed +to `access` the private resource. What matters is that the access to the shared resource __should not__ +be done in a public way, for more secure access. + +Using `private` shares is easy and is accomplished using the `zrok share private` command. Run `zrok share private` +to see the usage output and to further learn how to use the command. + +Unlike public shares, `private` shares do not need to be [reserved](./sharing-reserved.md). When sharing a +resource with `private`, the resource is shared at a known location. Resources shared with `private` do not +need to be `reserved`. \ No newline at end of file diff --git a/docs/core-features/sharing-public.md b/docs/core-features/sharing-public.md new file mode 100644 index 00000000..12aed15b --- /dev/null +++ b/docs/core-features/sharing-public.md @@ -0,0 +1,21 @@ +--- +sidebar_position: 10 +--- +# Shares - Public + +`zrok` was built to share and access digital resources. a `public` share allows something to be shared through +a publicly available endpoint. + +![zrok_public_share](../images/zrok_public_share.png) + +Sharing something with `public` is useful when the person or service accessing the thing being shared doesn't +have `zrok` running locally and can't make use of the `private` sharing mode built into `zrok`. This could be +a development web server to share with friends and colleagues, or perhaps a webhook from a +server running in the cloud which can't have `zrok` installed onto it. What matters is that the access to the +shared resource needs to be done in a public way, generally for easy access. + +Using `public` shares is easy and is accomplished using the `zrok share public` command. Run `zrok share public` +to see the usage output and to further learn how to use the command. + +Unless `reserved` (see [Sharing - Reserved](./sharing-reserved.md), all 'public' shares are ephemeral. When the +sharing is stopped, the shared url will be reclaimed. \ No newline at end of file diff --git a/docs/core-features/sharing-reserved.md b/docs/core-features/sharing-reserved.md new file mode 100644 index 00000000..b111d12d --- /dev/null +++ b/docs/core-features/sharing-reserved.md @@ -0,0 +1,11 @@ +--- +sidebar_position: 10 +--- +# Shares - Reserved + +`zrok` was built to share and access digital resources. A `reserved` share allows the user to have a reliable, +public, persistent shared url. (the share name not ephemeral, it is `reserved`). This means that the share +will be able to be used and regardless of how many times the resource is shared. This is useful when the +url must be known. + +Use the `zrok reserve` command to create a reserved share. diff --git a/docs/images/zrok_private_share.png b/docs/images/zrok_private_share.png new file mode 100644 index 00000000..1e08205f Binary files /dev/null and b/docs/images/zrok_private_share.png differ diff --git a/docs/images/zrok_public_share.png b/docs/images/zrok_public_share.png new file mode 100644 index 00000000..77f55b14 Binary files /dev/null and b/docs/images/zrok_public_share.png differ diff --git a/docs/images/zrok_share_file.png b/docs/images/zrok_share_file.png new file mode 100644 index 00000000..19f0d4c2 Binary files /dev/null and b/docs/images/zrok_share_file.png differ