Compare commits
19 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f46641b038 | ||
|
|
23bd8f6715 | ||
|
|
506fc08577 | ||
|
|
f33076462a | ||
|
|
6c29fabdc8 | ||
|
|
0268506f80 | ||
|
|
ad864a97e9 | ||
|
|
f714e71a35 | ||
|
|
dbdbbab4d7 | ||
|
|
7c0c7820ef | ||
|
|
2741616473 | ||
|
|
ffb858e4ef | ||
|
|
0ca8059d8d | ||
|
|
8ca080422f | ||
|
|
cbb712484d | ||
|
|
8a14018861 | ||
|
|
a493ec90ff | ||
|
|
33113036cd | ||
|
|
a02b2972eb |
50
CHANGELOG.md
50
CHANGELOG.md
@@ -2,6 +2,56 @@
|
||||
|
||||
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
||||
|
||||
### [2.33.6](https://github.com/filebrowser/filebrowser/compare/v2.33.5...v2.33.6) (2025-06-24)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* remove incorrect default for password flag ([23bd8f6](https://github.com/filebrowser/filebrowser/commit/23bd8f67155081d707d4799393d3b1e2bebeaa34))
|
||||
|
||||
### [2.33.5](https://github.com/filebrowser/filebrowser/compare/v2.33.4...v2.33.5) (2025-06-24)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* update languages for project File Browser ([#5190](https://github.com/filebrowser/filebrowser/issues/5190)) ([f330764](https://github.com/filebrowser/filebrowser/commit/f33076462a133935ca97fb6c7345303fe350e167))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* actually register the czech language ([#5189](https://github.com/filebrowser/filebrowser/issues/5189)) ([0268506](https://github.com/filebrowser/filebrowser/commit/0268506f80d33d2d31e38055e12530241d27a11b))
|
||||
|
||||
### [2.33.4](https://github.com/filebrowser/filebrowser/compare/v2.33.3...v2.33.4) (2025-06-22)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* translation updates for project File Browser ([#5179](https://github.com/filebrowser/filebrowser/issues/5179)) ([f714e71](https://github.com/filebrowser/filebrowser/commit/f714e71a356c2301f394d651c9b6c467440508e3))
|
||||
|
||||
### [2.33.3](https://github.com/filebrowser/filebrowser/compare/v2.33.2...v2.33.3) (2025-06-22)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* keep command behavior in Dockerfile ([7c0c782](https://github.com/filebrowser/filebrowser/commit/7c0c7820efbbed2f0499353cc76ecb85d00ff7c3))
|
||||
* update search hotkey in help prompt ([#5178](https://github.com/filebrowser/filebrowser/issues/5178)) ([2741616](https://github.com/filebrowser/filebrowser/commit/2741616473636d40b7e9f14c9906ada08d328c3c))
|
||||
|
||||
### [2.33.2](https://github.com/filebrowser/filebrowser/compare/v2.33.1...v2.33.2) (2025-06-21)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* create user dir on signup ([0ca8059](https://github.com/filebrowser/filebrowser/commit/0ca8059d8dea4fe079146471ce4f24acc96021f2))
|
||||
|
||||
### [2.33.1](https://github.com/filebrowser/filebrowser/compare/v2.33.0...v2.33.1) (2025-06-21)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* downloadUrl of file preview ([#3728](https://github.com/filebrowser/filebrowser/issues/3728)) ([8a14018](https://github.com/filebrowser/filebrowser/commit/8a14018861fe581672bbd27cdc3ae5691f70a108))
|
||||
* remove auth query parameter from download and preview links ([cbb7124](https://github.com/filebrowser/filebrowser/commit/cbb712484d3bdabc033acaf3b696ef4f5865813d))
|
||||
* search uses ctrl+shift+f instead of hijacking browser's ctrl+f ([#4638](https://github.com/filebrowser/filebrowser/issues/4638)) ([a02b297](https://github.com/filebrowser/filebrowser/commit/a02b2972ebde2a58806ad1377bad46e748b63166))
|
||||
|
||||
## [2.33.0](https://github.com/filebrowser/filebrowser/compare/v2.32.3...v2.33.0) (2025-06-18)
|
||||
|
||||
|
||||
|
||||
@@ -29,5 +29,4 @@ VOLUME /srv /config /database
|
||||
|
||||
EXPOSE 80
|
||||
|
||||
ENTRYPOINT [ "tini", "--", "/init.sh" ]
|
||||
CMD [ "filebrowser", "--config", "/config/settings.json" ]
|
||||
ENTRYPOINT [ "tini", "--", "/init.sh", "filebrowser", "--config", "/config/settings.json" ]
|
||||
|
||||
@@ -48,7 +48,7 @@ func init() {
|
||||
persistent.StringP("database", "d", "./filebrowser.db", "database path")
|
||||
flags.Bool("noauth", false, "use the noauth auther when using quick setup")
|
||||
flags.String("username", "admin", "username for the first user when using quick config")
|
||||
flags.String("password", "", "hashed password for the first user when using quick config (default \"admin\")")
|
||||
flags.String("password", "", "hashed password for the first user when using quick config")
|
||||
|
||||
addServerFlags(flags)
|
||||
}
|
||||
|
||||
@@ -52,6 +52,8 @@ docker run \
|
||||
filebrowser/filebrowser
|
||||
```
|
||||
|
||||
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).
|
||||
|
||||
### s6 overlay
|
||||
|
||||
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:
|
||||
|
||||
@@ -12,7 +12,9 @@ currently being supported with security updates.
|
||||
|
||||
## Reporting a Vulnerability
|
||||
|
||||
Vulnerabilities should be reported to filebrowser@googlegroups.com - which is a private, maintainer-only group. Maintainers will attempt to respond to/confirm reports within 2-3 days, but if you believe your report to be "critical" to user safety and security, please note as such in the subject. We have tens of thousands of users using our software, and take security vulnerabilities seriously.
|
||||
Vulnerabilities with critical impact should be reported on the [Security](https://github.com/filebrowser/filebrowser/security) page of this repository, which is a private way of communicating vulnerabilities to maintainers. This project is in maintenance-only mode and it can take a while until someone gets back to you.
|
||||
|
||||
If it is not a critical vulnerability, please open an issue and we will categorize it as a security issue. By giving visibility, we can get more help from the community at fixing such issues.
|
||||
|
||||
When reporting an issue, where possible, please provide at least:
|
||||
|
||||
@@ -21,6 +23,4 @@ When reporting an issue, where possible, please provide at least:
|
||||
* Steps to reproduce
|
||||
* Your recommended remediation(s), if any.
|
||||
|
||||
The FileBrowser team is a volunteer-only effort, and may reach back out for clarification.
|
||||
|
||||
> Note: Please do not open public issues for security issues, as GitHub does not provide facility for private issues, and deleting the issue makes it hard to triage/respond back to the reporter.
|
||||
The File Browser team is a volunteer-only effort, and may reach back out for clarification.
|
||||
|
||||
@@ -75,11 +75,6 @@ export function download(format: any, ...files: string[]) {
|
||||
url += `algo=${format}&`;
|
||||
}
|
||||
|
||||
const authStore = useAuthStore();
|
||||
if (authStore.jwt) {
|
||||
url += `auth=${authStore.jwt}&`;
|
||||
}
|
||||
|
||||
window.open(url);
|
||||
}
|
||||
|
||||
|
||||
@@ -71,5 +71,5 @@ export function getDownloadURL(res: Resource, inline = false) {
|
||||
...(res.token && { token: res.token }),
|
||||
};
|
||||
|
||||
return createURL("api/public/dl/" + res.hash + res.path, params, false);
|
||||
return createURL("api/public/dl/" + res.hash + res.path, params);
|
||||
}
|
||||
|
||||
@@ -41,5 +41,5 @@ export async function create(
|
||||
}
|
||||
|
||||
export function getShareURL(share: Share) {
|
||||
return createURL("share/" + share.hash, {}, false);
|
||||
return createURL("share/" + share.hash, {});
|
||||
}
|
||||
|
||||
@@ -76,23 +76,13 @@ export function removePrefix(url: string): string {
|
||||
return url;
|
||||
}
|
||||
|
||||
export function createURL(endpoint: string, params = {}, auth = true): string {
|
||||
const authStore = useAuthStore();
|
||||
|
||||
export function createURL(endpoint: string, searchParams = {}): string {
|
||||
let prefix = baseURL;
|
||||
if (!prefix.endsWith("/")) {
|
||||
prefix = prefix + "/";
|
||||
}
|
||||
const url = new URL(prefix + encodePath(endpoint), origin);
|
||||
|
||||
const searchParams: SearchParams = {
|
||||
...(auth && { auth: authStore.jwt }),
|
||||
...params,
|
||||
};
|
||||
|
||||
for (const key in searchParams) {
|
||||
url.searchParams.set(key, searchParams[key]);
|
||||
}
|
||||
url.search = new URLSearchParams(searchParams).toString();
|
||||
|
||||
return url.toString();
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
<li><strong>DEL</strong> - {{ $t("help.del") }}</li>
|
||||
<li><strong>ESC</strong> - {{ $t("help.esc") }}</li>
|
||||
<li><strong>CTRL + S</strong> - {{ $t("help.ctrl.s") }}</li>
|
||||
<li><strong>CTRL + F</strong> - {{ $t("help.ctrl.f") }}</li>
|
||||
<li><strong>CTRL + SHIFT + F</strong> - {{ $t("help.ctrl.f") }}</li>
|
||||
<li><strong>CTRL + Click</strong> - {{ $t("help.ctrl.click") }}</li>
|
||||
<li><strong>Click</strong> - {{ $t("help.click") }}</li>
|
||||
<li><strong>Double click</strong> - {{ $t("help.doubleClick") }}</li>
|
||||
|
||||
@@ -19,6 +19,7 @@ export default {
|
||||
hu: "Magyar",
|
||||
ar: "العربية",
|
||||
ca: "Català",
|
||||
cs: "Čeština",
|
||||
de: "Deutsch",
|
||||
el: "Ελληνικά",
|
||||
en: "English",
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
"ok": "OK",
|
||||
"permalink": "Získat trvalý odkaz",
|
||||
"previous": "Předchozí",
|
||||
"preview": "Preview",
|
||||
"publish": "Publikovat",
|
||||
"rename": "Přejmenovat",
|
||||
"replace": "Nahradit",
|
||||
@@ -3,14 +3,17 @@
|
||||
"cancel": "Abbrechen",
|
||||
"clear": "Schließen",
|
||||
"close": "Schließen",
|
||||
"continue": "Fortfahren",
|
||||
"copy": "Kopieren",
|
||||
"copyFile": "Kopiere Datei",
|
||||
"copyToClipboard": "In Zwischenablage kopieren",
|
||||
"copyDownloadLinkToClipboard": "Download-Link in die Zwischenablage kopieren",
|
||||
"create": "Neu",
|
||||
"delete": "Löschen",
|
||||
"download": "Herunterladen",
|
||||
"file": "Datei",
|
||||
"folder": "Ordner",
|
||||
"fullScreen": "Vollbildmodus umschalten",
|
||||
"hideDotfiles": "Versteckte Dateien ausblenden",
|
||||
"info": "Info",
|
||||
"more": "mehr",
|
||||
@@ -21,6 +24,7 @@
|
||||
"ok": "OK",
|
||||
"permalink": "permanenten Verweis anzeigen",
|
||||
"previous": "vorherige",
|
||||
"preview": "Vorschau",
|
||||
"publish": "Veröffentlichen",
|
||||
"rename": "umbenennen",
|
||||
"replace": "Ersetzen",
|
||||
@@ -37,13 +41,17 @@
|
||||
"toggleSidebar": "Seitenleiste anzeigen",
|
||||
"update": "Update",
|
||||
"upload": "Upload",
|
||||
"openFile": "Datei öffnen"
|
||||
"openFile": "Datei öffnen",
|
||||
"discardChanges": "Verwerfen"
|
||||
},
|
||||
"download": {
|
||||
"downloadFile": "Download Datei",
|
||||
"downloadFolder": "Download Ordner",
|
||||
"downloadSelected": "Auswahl herunterladen"
|
||||
},
|
||||
"upload": {
|
||||
"abortUpload": "Sind Sie sicher, dass Sie den Vorgang abbrechen möchten?"
|
||||
},
|
||||
"errors": {
|
||||
"forbidden": "Sie haben keine Berechtigung dies abzurufen.",
|
||||
"internal": "Etwas ist schiefgelaufen.",
|
||||
@@ -102,6 +110,7 @@
|
||||
"deleteMessageMultiple": "Sind Sie sicher, dass Sie {count} Datei(en) löschen möchten?",
|
||||
"deleteMessageSingle": "Sind Sie sicher, dass Sie diesen Ordner/diese Datei löschen möchten?",
|
||||
"deleteMessageShare": "Sind Sie sicher, dass Sie diese Freigabe löschen möchten ({path})?",
|
||||
"deleteUser": "Sind Sie sicher, dass Sie diesen Benutzer löschen möchten?",
|
||||
"deleteTitle": "Lösche Dateien",
|
||||
"displayName": "Anzeigename:",
|
||||
"download": "Lade Dateien",
|
||||
@@ -130,7 +139,9 @@
|
||||
"upload": "Upload",
|
||||
"uploadFiles": "Upload von {files} Dateien...",
|
||||
"uploadMessage": "Wählen Sie eine Upload-Methode",
|
||||
"optionalPassword": "Optionales Passwort"
|
||||
"optionalPassword": "Optionales Passwort",
|
||||
"resolution": "Auflösung",
|
||||
"discardEditorChanges": "Möchten Sie die vorgenommenen Änderungen wirklich verwerfen?"
|
||||
},
|
||||
"search": {
|
||||
"images": "Bilder",
|
||||
@@ -163,6 +174,9 @@
|
||||
"tusUploadsHelp": "File Browser unterstützt das Hochladen von gestückelten Dateien und ermöglicht so einen effizienten, zuverlässigen, fortsetzbaren und gestückelten Datei-Upload auch in unzuverlässigen Netzwerken.",
|
||||
"tusUploadsChunkSize": "Gibt die maximale Größe pro Anfrage an (direkte Uploads werden für kleinere Uploads verwendet). Bitte geben Sie eine Byte-Angabe oder eine Zeichenfolge wie 10 MB, 1 GB usw. an",
|
||||
"tusUploadsRetryCount": "Anzahl der Wiederholungsversuche, wenn das Hochladen eines Stückes fehlschlägt.",
|
||||
"userHomeBasePath": "Basispfad für Benutzer-Home-Verzeichnisse",
|
||||
"userScopeGenerationPlaceholder": "Scope wird automatisch generiert",
|
||||
"createUserHomeDirectory": "Benutzer-Home-Verzeichnis erstellen",
|
||||
"customStylesheet": "Individuelles Stylesheet",
|
||||
"defaultUserDescription": "Das sind die Standardeinstellung für Benutzer",
|
||||
"disableExternalLinks": "Externe Links deaktivieren (außer Dokumentation)",
|
||||
@@ -209,6 +223,7 @@
|
||||
"shareDeleted": "Freigabe gelöscht!",
|
||||
"singleClick": "Einfacher Klick zum Öffnen von Dateien und Ordnern",
|
||||
"themes": {
|
||||
"default": "Systemstandard",
|
||||
"dark": "Dunkel",
|
||||
"light": "Hell",
|
||||
"title": "Erscheinungsbild"
|
||||
|
||||
@@ -26,6 +26,7 @@ import("dayjs/locale/uk");
|
||||
import("dayjs/locale/vi");
|
||||
import("dayjs/locale/zh-cn");
|
||||
import("dayjs/locale/zh-tw");
|
||||
import("dayjs/locale/cs");
|
||||
|
||||
// All i18n resources specified in the plugin `include` option can be loaded
|
||||
// at once using the import syntax
|
||||
|
||||
@@ -262,4 +262,4 @@
|
||||
"seconds": "Giây",
|
||||
"unit": "Đơn vị"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -511,8 +511,11 @@ const keyEvent = (event: KeyboardEvent) => {
|
||||
|
||||
switch (event.key) {
|
||||
case "f":
|
||||
event.preventDefault();
|
||||
layoutStore.showHover("search");
|
||||
case "F":
|
||||
if (event.shiftKey) {
|
||||
event.preventDefault();
|
||||
layoutStore.showHover("search");
|
||||
}
|
||||
break;
|
||||
case "c":
|
||||
case "x":
|
||||
|
||||
@@ -253,7 +253,7 @@ const hasPrevious = computed(() => previousLink.value !== "");
|
||||
const hasNext = computed(() => nextLink.value !== "");
|
||||
|
||||
const downloadUrl = computed(() =>
|
||||
fileStore.req ? api.getDownloadURL(fileStore.req, true) : ""
|
||||
fileStore.req ? api.getDownloadURL(fileStore.req, false) : ""
|
||||
);
|
||||
|
||||
const raw = computed(() => {
|
||||
@@ -262,7 +262,7 @@ const raw = computed(() => {
|
||||
}
|
||||
|
||||
if (isEpub.value) {
|
||||
return createURL("api/raw" + fileStore.req?.path, {}, false);
|
||||
return createURL("api/raw" + fileStore.req?.path, {});
|
||||
}
|
||||
|
||||
return downloadUrl.value;
|
||||
|
||||
@@ -157,6 +157,9 @@ var signupHandler = func(_ http.ResponseWriter, r *http.Request, d *data) (int,
|
||||
}
|
||||
|
||||
user.Password = pwd
|
||||
if d.settings.CreateUserDir {
|
||||
user.Scope = ""
|
||||
}
|
||||
|
||||
userHome, err := d.settings.MakeUserDir(user.Username, user.Scope, d.server.Root)
|
||||
if err != nil {
|
||||
|
||||
@@ -8,7 +8,6 @@ filters:
|
||||
settings:
|
||||
language_mapping:
|
||||
sv_SE: sv-se
|
||||
cz-CS: cz_cs
|
||||
pt_BR: pt-br
|
||||
zh_CN: zh-cn
|
||||
zh_HK: zh-hk
|
||||
|
||||
Reference in New Issue
Block a user