From e6b750add5d2f3b899b335bba133cfc9681cf38c Mon Sep 17 00:00:00 2001 From: Henrique Dias Date: Sun, 29 Jun 2025 15:06:18 +0200 Subject: [PATCH 001/278] chore: make more fields in bug report mandatory --- .github/ISSUE_TEMPLATE/bug_report.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index b5e1e3e1..9c02689f 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -20,22 +20,32 @@ body: render: Text description: | Enter the version of FileBrowser you are using. + validations: + required: true - type: textarea attributes: label: Description description: | A clear and concise description of what the issue is about. What are you trying to do? + validations: + required: true - type: textarea attributes: label: What did you expect to happen? + validations: + required: true - type: textarea attributes: label: What actually happened? + validations: + required: true - type: textarea attributes: label: Reproduction Steps description: | Tell us how to reproduce this issue. How can someone who is starting from scratch reproduce this behavior as minimally as possible? + validations: + required: true - type: textarea attributes: label: Files From c13861e13cc183e72a029cb0af9885b412e466db Mon Sep 17 00:00:00 2001 From: Henrique Dias Date: Sun, 29 Jun 2025 15:36:58 +0200 Subject: [PATCH 002/278] docs: clarify admin password --- www/docs/installation.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/www/docs/installation.md b/www/docs/installation.md index 810410a9..5d487222 100644 --- a/www/docs/installation.md +++ b/www/docs/installation.md @@ -30,13 +30,14 @@ filebrowser -r /path/to/your/files ### Configuring -Done! It will bootstrap a database in which all the configurations and users are stored. Now, you can see on your command line the address in which your instance is running. You just need to go to that URL and use the following credentials: - -* Username: `admin` -* Password: (printed in your console) +Now your instance is up and running. File Browser will automatically bootstrap a database, in which the configuration and the users are stored. You can find the address in which your instance is running, as well as the randomly generated password for the user `admin`, in the console logs. Although this is the fastest way to bootstrap an instance, we recommend you to take a look at other possible options, by checking `config init --help` and `config set --help`, to make the installation as safe and customized as it can be. +> [!WARNING] +> +> The automatically generated password for the user `admin` is only displayed once. If you fail to remember it, you will need to manually delete the database and start File Browser again. + ## Docker File Browser is available as two different Docker images, which can be found on [Docker Hub](https://hub.docker.com/r/filebrowser/filebrowser). From 364f391017628adb09d70e77dfb3092227403e9d Mon Sep 17 00:00:00 2001 From: Henrique Dias Date: Sun, 29 Jun 2025 15:53:02 +0200 Subject: [PATCH 003/278] docs: cleanup installation --- www/docs/installation.md | 106 ++++++++++++++++++++------------------- 1 file changed, 55 insertions(+), 51 deletions(-) diff --git a/www/docs/installation.md b/www/docs/installation.md index 5d487222..0f22c06a 100644 --- a/www/docs/installation.md +++ b/www/docs/installation.md @@ -1,76 +1,68 @@ # Installation -File Browser is a single binary and can be used as a standalone executable. Although, some might prefer to use it with [Docker](https://www.docker.com) or [Caddy](https://caddyserver.com), which is a fantastic web server that enables HTTPS by default. Its installation is quite straightforward independently on which system you want to use. +File Browser is a single binary and can be used as standalone executable. However, it is also available as a [Docker](https://www.docker.com) image. The installation and first time setup is quite straightforward independently of which system you use. -## Quick Setup +## Binary -The quickest way for beginners to start using File Browser is by opening your terminal and executing the following commands: +The quickest and easiest way to install File Browser is to use a package manager, or our download script, which automatically fetches the latest version of File Browser for your platform. -### Brew +=== "Brew" -```sh -brew tap filebrowser/tap -brew install filebrowser -filebrowser -r /path/to/your/files -``` + ```sh + brew tap filebrowser/tap + brew install filebrowser + filebrowser -r /path/to/your/files + ``` -### Unix +=== "Unix" -```sh -curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash -filebrowser -r /path/to/your/files -``` + ```sh + curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash + filebrowser -r /path/to/your/files + ``` -### Windows +=== "Windows" -```sh -iwr -useb https://raw.githubusercontent.com/filebrowser/get/master/get.ps1 | iex -filebrowser -r /path/to/your/files -``` + ```sh + iwr -useb https://raw.githubusercontent.com/filebrowser/get/master/get.ps1 | iex + filebrowser -r /path/to/your/files + ``` -### Configuring - -Now your instance is up and running. File Browser will automatically bootstrap a database, in which the configuration and the users are stored. You can find the address in which your instance is running, as well as the randomly generated password for the user `admin`, in the console logs. - -Although this is the fastest way to bootstrap an instance, we recommend you to take a look at other possible options, by checking `config init --help` and `config set --help`, to make the installation as safe and customized as it can be. - -> [!WARNING] -> -> The automatically generated password for the user `admin` is only displayed once. If you fail to remember it, you will need to manually delete the database and start File Browser again. +File Browser is now up and running. Read some [first boot](#first-boot) for more information. ## Docker File Browser is available as two different Docker images, which can be found on [Docker Hub](https://hub.docker.com/r/filebrowser/filebrowser). -### Alpine +=== "Alpine" -```sh -docker run \ - -v /path/to/srv:/srv \ - -v /path/to/database:/database \ - -v /path/to/config:/config \ - -p 8080:80 \ - filebrowser/filebrowser -``` + The -The default user has PID 1000 and GID 1000. Please make sure that this user has access to the different mounted volumes. To change the user running inside the Docker image, you need to use the [`--user` flag](https://docs.docker.com/engine/containers/run/#user). + ```sh + docker run \ + -v /path/to/srv:/srv \ + -v /path/to/database:/database \ + -v /path/to/config:/config \ + -p 8080:80 \ + filebrowser/filebrowser + ``` -### s6 overlay + The default user has PID 1000 and GID 1000. Please make sure that this user has access to the different mounted volumes. To change the user running inside the Docker image, you need to use the [`--user` flag](https://docs.docker.com/engine/containers/run/#user). -The `s6` image is based on LinuxServer and leverages the [s6-overlay](https://github.com/just-containers/s6-overlay) system for a standard, highly customizable image. It should be used as follows: +=== "s6 overlay" -```shell -docker run \ - -v /path/to/srv:/srv \ - -v /path/to/database:/database \ - -v /path/to/config:/config \ - -e PUID=$(id -u) \ - -e PGID=$(id -g) \ - -p 8080:80 \ - filebrowser/filebrowser:s6 -``` + The `s6` image is based on LinuxServer and leverages the [s6-overlay](https://github.com/just-containers/s6-overlay) system for a standard, highly customizable image. It should be used as follows: -### Notes + ```shell + docker run \ + -v /path/to/srv:/srv \ + -v /path/to/database:/database \ + -v /path/to/config:/config \ + -e PUID=$(id -u) \ + -e PGID=$(id -g) \ + -p 8080:80 \ + filebrowser/filebrowser:s6 + ``` Where: @@ -79,3 +71,15 @@ Where: - `/path/to/database` contains a `filebrowser.db` file Both `settings.json` and `filebrowser.db` will automatically be initialized if they don't exist. + +File Browser is now up and running. Read some [first boot](#first-boot) for more information. + +## First Boot + +Your instance is now up and running. File Browser will automatically bootstrap a database, in which the configuration and the users are stored. You can find the address in which your instance is running, as well as the randomly generated password for the user `admin`, in the console logs. + +Although this is the fastest way to bootstrap an instance, we recommend you to take a look at other possible options, by checking `config init --help` and `config set --help`, to make the installation as safe and customized as it can be. + +> [!WARNING] +> +> The automatically generated password for the user `admin` is only displayed once. If you fail to remember it, you will need to manually delete the database and start File Browser again. From 2b5d6cbb996a61a769acc56af0acc12eec2d8d8f Mon Sep 17 00:00:00 2001 From: Henrique Dias Date: Sun, 29 Jun 2025 16:03:14 +0200 Subject: [PATCH 004/278] fix: mitigate unprotected shares --- frontend/src/components/prompts/Share.vue | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/frontend/src/components/prompts/Share.vue b/frontend/src/components/prompts/Share.vue index 99c82f74..3ce2b1fd 100644 --- a/frontend/src/components/prompts/Share.vue +++ b/frontend/src/components/prompts/Share.vue @@ -32,16 +32,6 @@ content_paste - - -