zrok/docs/concepts/files.md

50 lines
1.7 KiB
Markdown
Raw Normal View History

2023-02-02 03:38:42 +01:00
---
sidebar_position: 30
---
2023-06-26 19:00:23 +02:00
# Sharing Websites and Files
2023-02-02 03:38:42 +01:00
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`.
2023-02-02 03:38:42 +01:00
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
2023-06-26 19:28:04 +02:00
-rw-r--r--+ 1 Michael None 7090 Apr 17 12:53 CHANGELOG.md
-rw-r--r--+ 1 Michael None 11346 Apr 17 12:53 LICENSE
-rw-r--r--+ 1 Michael None 2885 Apr 17 12:53 README.md
-rwxr-xr-x+ 1 Michael None 44250624 Apr 17 13:00 zrok.exe*
2023-02-02 03:38:42 +01:00
```
The files can be shared using a command such as:
```shell
2023-06-26 19:28:04 +02:00
zrok share public --backend-mode web .
2023-02-02 03:38:42 +01:00
```
Then the files can be access with a `private` or `public` share, for example as shown:
2023-06-26 19:28:04 +02:00
![zrok_share_web_files](../images/zrok_share_web_files.png)
`zrok` will automatically provide a stock website, which will allow the accessing user to browse and navigate the file tree. Clicking the files allows the user to download them.
`zrok` can also share a pre-rendered static HTML website. If you have a directory like this:
```shell
-rw-rw-r--+ 1 Michael None 56 Jun 26 13:23 index.html
```
If `index.html` contains valid HTML, like this:
```html
<html>
<body>
<h1>Hello <code>zrok</code></h1>
</html>
```
Sharing the directory will result in the following when you access the share in a web browser:
2023-06-26 19:30:14 +02:00
![zrok_share_web_website](../images/zrok_share_web_website.png)
`zrok` contains a built-in web server, which you can use to serve static websites as a share.