diff --git a/.gitignore b/.gitignore
index 4c6db7aa..570bdb7d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,8 +3,8 @@
_old
rice-box.go
.idea/
-/filebrowser
-/filebrowser.exe
+/backend
+/backend.exe
/frontend/dist
/frontend/pkg
/frontend/test-results
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6dc4faa3..5415c456 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -10,7 +10,7 @@ All notable changes to this project will be documented in this file. For commit
- can enable/disable indexing a specified list of directories/files
- can enable/disable indexing hidden files
- prepped for multiple sources (not supported yet!)
- - Theme and Branding support (see updates to [configuration wiki](https://github.com/gtsteffaniak/filebrowser/wiki/Configuration) on how to use)
+ - Theme and Branding support (see updates to [configuration wiki](https://github.com/gtsteffaniak/filebrowser/wiki/Configuration) on how to use)
- Automatically expire shares https://github.com/gtsteffaniak/filebrowser/issues/208
**Notes**:
@@ -19,6 +19,8 @@ All notable changes to this project will be documented in this file. For commit
- Icon styling tweaked so all icons have a background.
- Updated Login page styling.
- Settings profile menu has been simplified, password changes happen in user management.
+ - Improved windows compatibility and built on windows platform to fix false windows defender warning.
+ - If no "root" location is provided in the server config, the default is the **current directory** (rather than `/srv` like before)
**Bugfixes**:
- Fixed setting share expiration time would not work due to type conversion error.
@@ -27,10 +29,10 @@ All notable changes to this project will be documented in this file. For commit
- Fixed manual language selection issue.
- Fixed exact date time issue.
-
New login page:
-
+
+
Example branding in sidebar:
diff --git a/Dockerfile b/Dockerfile
index 0eb5aa55..65b446dd 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -6,8 +6,8 @@ COPY ./backend ./
#RUN swag init --output swagger/docs
RUN ln -s swagger /usr/local/go/src/
RUN go build -ldflags="-w -s \
- -X 'github.com/gtsteffaniak/filebrowser/version.Version=${VERSION}' \
- -X 'github.com/gtsteffaniak/filebrowser/version.CommitSHA=${REVISION}'" \
+ -X 'github.com/gtsteffaniak/filebrowser/backend/version.Version=${VERSION}' \
+ -X 'github.com/gtsteffaniak/filebrowser/backend/version.CommitSHA=${REVISION}'" \
-o filebrowser .
FROM node:slim AS nbuild
diff --git a/README.md b/README.md
index 071842de..7b484161 100644
--- a/README.md
+++ b/README.md
@@ -15,44 +15,44 @@
> [!WARNING]
> There is no stable version yet. Always check release notes for bug fixes on functionality that may have been changed. If you notice any unexpected behavior -- please open an issue to have it fixed soon.
-FileBrowser Quantum is a fork of the file browser opensource project with the following changes:
+FileBrowser Quantum is a fork of the file browser open-source project with the following changes:
- 1. [x] Indexes files efficiently. (See [indexing Wiki](https://github.com/gtsteffaniak/filebrowser/wiki/Indexing) for more info.)
+ 1. ✅ Indexes files efficiently. (See [indexing Wiki](https://github.com/gtsteffaniak/filebrowser/wiki/Indexing) for more info.)
- Real-time search results as you type
- Search supports file/folder sizes and many file type filters.
- Enhanced interactive results that show file/folder sizes.
- 2. [x] Revamped and simplified GUI navbar and sidebar menu.
+ 2. ✅ Revamped and simplified GUI navbar and sidebar menu.
- Additional compact view mode as well as refreshed view mode styles.
- Many graphical and user experience improvements.
- right-click context menu
- 3. [x] Revamped and simplified configuration via `config.yaml` config file.
- 4. [x] Better listing browsing
+ 3. ✅ Revamped and simplified configuration via `config.yaml` config file.
+ 4. ✅ Better listing browsing
- Instantly Switches view modes and sort order without reloading data.
- Folder sizes are displayed
- Navigating remembers the scroll position, navigating back keeps the last scroll position.
- 5. [x] Developer API support
+ 5. ✅ Developer API support
- Ability to create long-live API Tokens.
- Helpful Swagger page available at `/swagger` endpoint.
Notable features that this fork *does not* have (removed):
- - jobs/runners are not supported yet (planned).
- - shell commands are completely removed and will not be returned.
- - pagination for directory items for extremely large directories.
+ - ❌ jobs/runners are not supported yet (planned).
+ - ❌ per-user rules are not supported yet (planned).
+ - ❌ pagination for directory items for extremely large directories.
+ - ❌ shell commands are completely removed and will not be returned.
- see feature matrix below for more.
## About
FileBrowser Quantum provides a file-managing interface within a specified directory
and can be used to upload, delete, preview, rename, and edit your files.
-It allows the creation of multiple users and each user can have its
-directory.
+It allows the creation of multiple users and each user can have its directory.
-This repository is a fork of the original [filebrowser](https://github.com/filebrowser/filebrowser)
-with a collection of changes that make this program work better in terms of
-aesthetics and performance. Improved search, simplified UI
-(without removing features) and more secure and up-to-date
-build are just a few examples.
+This repository is a fork of the original [filebrowser](https://github.com/filebrowser/filebrowser)
+ with a collection of changes that make this program work better in terms of
+ aesthetics and performance. Improved search, simplified UI
+ (without removing features) and more secure and up-to-date
+ build are just a few examples.
FileBrowser Quantum differs significantly from the original.
There are hundreds of thousands of lines changed and they are generally
@@ -103,8 +103,7 @@ Configuration is done via the `config.yaml`, see the [Configuration Wiki](https:
## Migration from the original filebrowser
-See the [Migration
-Wiki](https://github.com/gtsteffaniak/filebrowser/wiki/Migration)
+See the [Migration Wiki](https://github.com/gtsteffaniak/filebrowser/wiki/Migration)
## Comparison Chart
diff --git a/backend/.goreleaser.yaml b/backend/.goreleaser.yaml
index 40aab458..19ce4dec 100644
--- a/backend/.goreleaser.yaml
+++ b/backend/.goreleaser.yaml
@@ -6,7 +6,7 @@ builds:
# Build configuration for darwin and linux
- id: default
ldflags: &ldflags
- - -s -w -X github.com/gtsteffaniak/filebrowser/version.Version={{ .Version }} -X github.com/gtsteffaniak/filebrowser/version.CommitSHA={{ .ShortCommit }}
+ - -s -w -X github.com/gtsteffaniak/filebrowser/backend/version.Version={{ .Version }} -X github.com/gtsteffaniak/filebrowser/backend/version.CommitSHA={{ .ShortCommit }}
main: main.go
binary: filebrowser
goos:
@@ -17,10 +17,10 @@ builds:
- arm
- arm64
goarm:
- - 6
- - 7
+ - "6"
+ - "7"
hooks:
- post:
+ post:
- upx {{ .Path }} # Compress the binary with UPX
# Build configuration for windows without arm
@@ -32,7 +32,6 @@ builds:
# - windows
# goarch:
# - amd64
-# - arm64
archives:
- name_template: "{{.Os}}-{{.Arch}}{{if .Arm}}v{{.Arm}}{{end}}-{{ .ProjectName }}"
diff --git a/backend/settings/config.go b/backend/settings/config.go
index 2cbc1048..f1eac01b 100644
--- a/backend/settings/config.go
+++ b/backend/settings/config.go
@@ -102,7 +102,7 @@ func setDefaults() Settings {
BaseURL: "",
Database: "database.db",
Log: "stdout",
- Root: "/srv",
+ Root: ".",
},
Auth: Auth{
TokenExpirationTime: "2h",
@@ -123,6 +123,7 @@ func setDefaults() Settings {
DisableSettings: false,
ViewMode: "normal",
Locale: "en",
+ GallerySize: 3,
Permissions: users.Permissions{
Create: false,
Rename: false,
diff --git a/frontend/src/utils/sort.test.js b/frontend/src/utils/sort.test.js
index bfc095d5..8ddc28b5 100644
--- a/frontend/src/utils/sort.test.js
+++ b/frontend/src/utils/sort.test.js
@@ -21,7 +21,7 @@ describe('testSort', () => {
expect(sortedItems(input, "name")).toEqual(expected);
});
- it('sort items with extentions by name correctly', () => {
+ it('sort items with extensions by name correctly', () => {
const input = [
{ name: "zebra.txt" },
{ name: "1.txt" },
diff --git a/frontend/src/views/Login.vue b/frontend/src/views/Login.vue
index ee62cce7..3b23725c 100644
--- a/frontend/src/views/Login.vue
+++ b/frontend/src/views/Login.vue
@@ -147,21 +147,24 @@ export default {
}
.login-brand {
+ padding-bottom: 0 !important;
+ padding: 0em !important;
+ padding-top: 0.5em !important;
display: flex;
align-content: center;
justify-content: center;
align-items: center;
- padding: 0 !important;
}
.brand-text {
padding: 1em !important;
- padding-top: 0 !important;
+ padding-top: 0.9em !important;
}
.login-brand i {
font-size: 5em !important;
- padding: 0 !important;
+ padding-top: 0em !important;
+ padding-bottom: 0em !important;
}
\ No newline at end of file
diff --git a/makefile b/makefile
index fee8bfb7..e7b69c7b 100644
--- a/makefile
+++ b/makefile
@@ -24,7 +24,7 @@ run: run-frontend
sed -i '/func init/,+3d' ./swagger/docs/docs.go; \
fi && \
FILEBROWSER_NO_EMBEDED=true go run \
- --ldflags="-w -s -X 'github.com/gtsteffaniak/filebrowser/version.CommitSHA=testingCommit' -X 'github.com/gtsteffaniak/filebrowser/version.Version=testing'" . -c test_config.yaml
+ --ldflags="-w -s -X 'github.com/gtsteffaniak/filebrowser/backend/version.CommitSHA=testingCommit' -X 'github.com/gtsteffaniak/filebrowser/backend/version.Version=testing'" . -c test_config.yaml
run-frontend:
cd backend/http && rm -rf dist && rm -rf embed/* && ln -s ../../frontend/dist && \
@@ -51,3 +51,8 @@ test-frontend:
test-frontend-playwright:
npx playwright install
docker build -t gtstef/filebrowser-tests -f Dockerfile.playwright .
+
+# Run on a windows machine!
+release-windows:
+ cd frontend && npm run build-windows && \
+ cd ../backend && go build --ldflags="-w -s -X github.com/gtsteffaniak/filebrowser/backend/version.CommitSHA=' -X 'github.com/gtsteffaniak/filebrowser/backend/version.Version='" .
\ No newline at end of file