fork: Add VideoPlayer fix (thanks https://github.com/ccar30) and a crude logger for downloads

This commit is contained in:
Midou 2025-05-13 20:31:47 +01:00
parent 35d1c09243
commit ce5618f64a
Signed by: midou
GPG Key ID: 1D134A95FE521A7A
5 changed files with 175 additions and 183 deletions

View File

@ -1,13 +1,9 @@
---
name: main name: main
on: on:
push: push:
branches: branches: [master]
- "master"
tags:
- "v*"
pull_request: pull_request:
jobs: jobs:
# linters # linters
lint-frontend: lint-frontend:
@ -16,12 +12,12 @@ jobs:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: pnpm/action-setup@v4 - uses: pnpm/action-setup@v4
with: with:
package_json_file: "frontend/package.json" package_json_file: frontend/package.json
- uses: actions/setup-node@v4 - uses: actions/setup-node@v4
with: with:
node-version: "22.x" node-version: 22.x
cache: "pnpm" cache: pnpm
cache-dependency-path: "frontend/pnpm-lock.yaml" cache-dependency-path: frontend/pnpm-lock.yaml
- run: make lint-frontend - run: make lint-frontend
lint-backend: lint-backend:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -44,12 +40,12 @@ jobs:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: pnpm/action-setup@v4 - uses: pnpm/action-setup@v4
with: with:
package_json_file: "frontend/package.json" package_json_file: frontend/package.json
- uses: actions/setup-node@v4 - uses: actions/setup-node@v4
with: with:
node-version: "22.x" node-version: 22.x
cache: "pnpm" cache: pnpm
cache-dependency-path: "frontend/pnpm-lock.yaml" cache-dependency-path: frontend/pnpm-lock.yaml
- run: make test-frontend - run: make test-frontend
test-backend: test-backend:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -68,8 +64,6 @@ jobs:
# release # release
release: release:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: [lint, test]
if: startsWith(github.event.ref, 'refs/tags/v')
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:
@ -79,12 +73,12 @@ jobs:
go-version: 1.23.0 go-version: 1.23.0
- uses: pnpm/action-setup@v4 - uses: pnpm/action-setup@v4
with: with:
package_json_file: "frontend/package.json" package_json_file: frontend/package.json
- uses: actions/setup-node@v4 - uses: actions/setup-node@v4
with: with:
node-version: "22.x" node-version: 22.x
cache: "pnpm" cache: pnpm
cache-dependency-path: "frontend/pnpm-lock.yaml" cache-dependency-path: frontend/pnpm-lock.yaml
- name: Set up QEMU - name: Set up QEMU
uses: docker/setup-qemu-action@v1 uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx - name: Set up Docker Buildx
@ -92,14 +86,36 @@ jobs:
- name: Build frontend - name: Build frontend
run: make build-frontend run: make build-frontend
- name: Login to Docker Hub - name: Login to Docker Hub
uses: docker/login-action@v1 uses: docker/login-action@v3
with: with:
username: ${{ secrets.DOCKERHUB_USERNAME }} registry: https://git.linuxcrack.zip
password: ${{ secrets.DOCKERHUB_TOKEN }} username: ${{ gitea.actor }}
password: ${{ secrets.USER_TOKEN }}
- name: Get current tag
id: get_tag
run: echo "tag=$(git describe --tags --abbrev=0)" >> $GITHUB_OUTPUT
- name: Run GoReleaser - name: Run GoReleaser
uses: goreleaser/goreleaser-action@v2 uses: goreleaser/goreleaser-action@v2
with: with:
version: latest version: latest
args: release --clean args: release --clean
env: env:
GITHUB_TOKEN: ${{ secrets.GH_PAT }} GITHUB_TOKEN: ${{ secrets.USER_TOKEN }}
- name: Upload artefacts
uses: christopherhx/gitea-upload-artifact@v4
with:
url: https://git.linuxcrack.zip
path: |
dist/*.tar.gz
dist/*.zip
dist/*.exe
dist/*.txt
if-no-files-found: error
compression-level: 0
- name: Push Docker images to registry
run: |-
TAG=${{ steps.get_tag.outputs.tag }}
for arch in amd64 arm64; do
docker tag filebrowser/filebrowser:${TAG}-$arch git.linuxcrack.zip/midou/filebrowser:${TAG}-$arch
docker push git.linuxcrack.zip/midou/filebrowser:${TAG}-$arch
done

View File

@ -1,16 +1,10 @@
name: "Lint PR" ---
name: Lint PR
on: on:
pull_request_target: pull_request_target:
types: types: [opened, reopened, edited, synchronize]
- opened
- reopened
- edited
- synchronize
permissions: permissions:
pull-requests: write pull-requests: write
jobs: jobs:
main: main:
name: Validate PR title name: Validate PR title
@ -19,8 +13,7 @@ jobs:
- uses: amannn/action-semantic-pull-request@v5 - uses: amannn/action-semantic-pull-request@v5
id: lint_pr_title id: lint_pr_title
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.USER_TOKEN }}
- uses: marocchino/sticky-pull-request-comment@v2 - uses: marocchino/sticky-pull-request-comment@v2
# When the previous steps fails, the workflow would stop. By adding this # When the previous steps fails, the workflow would stop. By adding this
# condition you can continue the execution with the populated error message. # condition you can continue the execution with the populated error message.
@ -29,11 +22,8 @@ jobs:
header: pr-title-lint-error header: pr-title-lint-error
message: | message: |
Hey there and thank you for opening this pull request! 👋🏼 Hey there and thank you for opening this pull request! 👋🏼
We require pull request titles to follow the [Conventional Commits specification](https://www.conventionalcommits.org/en/v1.0.0/) and it looks like your proposed title needs to be adjusted. We require pull request titles to follow the [Conventional Commits specification](https://www.conventionalcommits.org/en/v1.0.0/) and it looks like your proposed title needs to be adjusted.
Details: Details:
``` ```
${{ steps.lint_pr_title.outputs.error_message }} ${{ steps.lint_pr_title.outputs.error_message }}
``` ```

View File

@ -1,193 +1,159 @@
---
version: 2 version: 2
project_name: filebrowser project_name: filebrowser
env: [GO111MODULE=on]
env:
- GO111MODULE=on
builds: builds:
- env: - env: [CGO_ENABLED=0]
- CGO_ENABLED=0
ldflags: ldflags:
- -s -w -X github.com/filebrowser/filebrowser/v2/version.Version={{ .Version }} -X github.com/filebrowser/filebrowser/v2/version.CommitSHA={{ .ShortCommit }} - -s -w -X git.linuxcrack.zip/midou/filebrowser/v2/version.Version={{ .Version }}
-X git.linuxcrack.zip/midou/filebrowser/v2/version.CommitSHA={{ .ShortCommit }}
main: main.go main: main.go
binary: filebrowser binary: filebrowser
goos: goos: [darwin, linux, windows, freebsd]
- darwin goarch: [amd64, 386, arm, arm64, riscv64]
- linux goarm: [5, 6, 7]
- windows
- freebsd
goarch:
- amd64
- 386
- arm
- arm64
- riscv64
goarm:
- 5
- 6
- 7
ignore: ignore:
- goos: darwin - goos: darwin
goarch: 386 goarch: 386
- goos: freebsd - goos: freebsd
goarch: arm goarch: arm
archives: archives:
- - name_template: '{{.Os}}-{{.Arch}}{{if .Arm}}v{{.Arm}}{{end}}-{{ .ProjectName }}'
name_template: "{{.Os}}-{{.Arch}}{{if .Arm}}v{{.Arm}}{{end}}-{{ .ProjectName }}" formats: [tar.gz]
formats: [ 'tar.gz' ]
format_overrides: format_overrides:
- goos: windows - goos: windows
formats: [ 'zip' ] formats: [zip]
dockers: dockers:
- - dockerfile: Dockerfile
dockerfile: Dockerfile
use: buildx use: buildx
build_flag_templates: build_flag_templates:
- "--pull" - --pull
- "--label=org.opencontainers.image.created={{.Date}}" - --label=org.opencontainers.image.created={{.Date}}
- "--label=org.opencontainers.image.name={{.ProjectName}}" - --label=org.opencontainers.image.name={{.ProjectName}}
- "--label=org.opencontainers.image.revision={{.FullCommit}}" - --label=org.opencontainers.image.revision={{.FullCommit}}
- "--label=org.opencontainers.image.version={{.Version}}" - --label=org.opencontainers.image.version={{.Version}}
- "--label=org.opencontainers.image.source={{.GitURL}}" - --label=org.opencontainers.image.source={{.GitURL}}
- "--platform=linux/amd64" - --platform=linux/amd64
goos: linux goos: linux
goarch: amd64 goarch: amd64
image_templates: image_templates:
- "filebrowser/filebrowser:{{ .Tag }}-amd64" - filebrowser/filebrowser:{{ .Tag }}-amd64
- "filebrowser/filebrowser:v{{ .Major }}-amd64" - filebrowser/filebrowser:v{{ .Major }}-amd64
extra_files: extra_files: [docker_config.json, healthcheck.sh]
- docker_config.json - dockerfile: Dockerfile
- healthcheck.sh
-
dockerfile: Dockerfile
use: buildx use: buildx
build_flag_templates: build_flag_templates:
- "--pull" - --pull
- "--label=org.opencontainers.image.created={{.Date}}" - --label=org.opencontainers.image.created={{.Date}}
- "--label=org.opencontainers.image.name={{.ProjectName}}" - --label=org.opencontainers.image.name={{.ProjectName}}
- "--label=org.opencontainers.image.revision={{.FullCommit}}" - --label=org.opencontainers.image.revision={{.FullCommit}}
- "--label=org.opencontainers.image.version={{.Version}}" - --label=org.opencontainers.image.version={{.Version}}
- "--label=org.opencontainers.image.source={{.GitURL}}" - --label=org.opencontainers.image.source={{.GitURL}}
- "--platform=linux/arm64" - --platform=linux/arm64
goos: linux goos: linux
goarch: arm64 goarch: arm64
image_templates: image_templates:
- "filebrowser/filebrowser:{{ .Tag }}-arm64" - filebrowser/filebrowser:{{ .Tag }}-arm64
- "filebrowser/filebrowser:v{{ .Major }}-arm64" - filebrowser/filebrowser:v{{ .Major }}-arm64
extra_files: extra_files: [docker_config.json, healthcheck.sh]
- docker_config.json - dockerfile: Dockerfile
- healthcheck.sh
-
dockerfile: Dockerfile
use: buildx use: buildx
build_flag_templates: build_flag_templates:
- "--pull" - --pull
- "--label=org.opencontainers.image.created={{.Date}}" - --label=org.opencontainers.image.created={{.Date}}
- "--label=org.opencontainers.image.name={{.ProjectName}}" - --label=org.opencontainers.image.name={{.ProjectName}}
- "--label=org.opencontainers.image.revision={{.FullCommit}}" - --label=org.opencontainers.image.revision={{.FullCommit}}
- "--label=org.opencontainers.image.version={{.Version}}" - --label=org.opencontainers.image.version={{.Version}}
- "--label=org.opencontainers.image.source={{.GitURL}}" - --label=org.opencontainers.image.source={{.GitURL}}
- "--platform=linux/arm/v6" - --platform=linux/arm/v6
goos: linux goos: linux
goarch: arm goarch: arm
goarm: '6' goarm: '6'
image_templates: image_templates:
- "filebrowser/filebrowser:{{ .Tag }}-armv6" - filebrowser/filebrowser:{{ .Tag }}-armv6
- "filebrowser/filebrowser:v{{ .Major }}-armv6" - filebrowser/filebrowser:v{{ .Major }}-armv6
extra_files: extra_files: [docker_config.json, healthcheck.sh]
- docker_config.json - dockerfile: Dockerfile
- healthcheck.sh
-
dockerfile: Dockerfile
use: buildx use: buildx
build_flag_templates: build_flag_templates:
- "--pull" - --pull
- "--label=org.opencontainers.image.created={{.Date}}" - --label=org.opencontainers.image.created={{.Date}}
- "--label=org.opencontainers.image.name={{.ProjectName}}" - --label=org.opencontainers.image.name={{.ProjectName}}
- "--label=org.opencontainers.image.revision={{.FullCommit}}" - --label=org.opencontainers.image.revision={{.FullCommit}}
- "--label=org.opencontainers.image.version={{.Version}}" - --label=org.opencontainers.image.version={{.Version}}
- "--label=org.opencontainers.image.source={{.GitURL}}" - --label=org.opencontainers.image.source={{.GitURL}}
- "--platform=linux/arm/v7" - --platform=linux/arm/v7
goos: linux goos: linux
goarch: arm goarch: arm
goarm: '7' goarm: '7'
image_templates: image_templates:
- "filebrowser/filebrowser:{{ .Tag }}-armv7" - filebrowser/filebrowser:{{ .Tag }}-armv7
- "filebrowser/filebrowser:v{{ .Major }}-armv7" - filebrowser/filebrowser:v{{ .Major }}-armv7
extra_files: extra_files:
- docker_config.json - docker_config.json
- healthcheck.sh - healthcheck.sh
## s6 based docker images ## s6 based docker images
- - dockerfile: Dockerfile.s6
dockerfile: Dockerfile.s6
use: buildx use: buildx
build_flag_templates: build_flag_templates:
- "--pull" - --pull
- "--label=org.opencontainers.image.created={{.Date}}" - --label=org.opencontainers.image.created={{.Date}}
- "--label=org.opencontainers.image.name={{.ProjectName}}" - --label=org.opencontainers.image.name={{.ProjectName}}
- "--label=org.opencontainers.image.revision={{.FullCommit}}" - --label=org.opencontainers.image.revision={{.FullCommit}}
- "--label=org.opencontainers.image.version={{.Version}}" - --label=org.opencontainers.image.version={{.Version}}
- "--label=org.opencontainers.image.source={{.GitURL}}" - --label=org.opencontainers.image.source={{.GitURL}}
- "--platform=linux/amd64" - --platform=linux/amd64
goos: linux goos: linux
goarch: amd64 goarch: amd64
image_templates: image_templates:
- "filebrowser/filebrowser:{{ .Tag }}-amd64-s6" - filebrowser/filebrowser:{{ .Tag }}-amd64-s6
- "filebrowser/filebrowser:v{{ .Major }}-amd64-s6" - filebrowser/filebrowser:v{{ .Major }}-amd64-s6
extra_files: extra_files: [docker/root, healthcheck.sh]
- docker/root - dockerfile: Dockerfile.s6.aarch64
- healthcheck.sh
-
dockerfile: Dockerfile.s6.aarch64
use: buildx use: buildx
build_flag_templates: build_flag_templates:
- "--pull" - --pull
- "--label=org.opencontainers.image.created={{.Date}}" - --label=org.opencontainers.image.created={{.Date}}
- "--label=org.opencontainers.image.name={{.ProjectName}}" - --label=org.opencontainers.image.name={{.ProjectName}}
- "--label=org.opencontainers.image.revision={{.FullCommit}}" - --label=org.opencontainers.image.revision={{.FullCommit}}
- "--label=org.opencontainers.image.version={{.Version}}" - --label=org.opencontainers.image.version={{.Version}}
- "--label=org.opencontainers.image.source={{.GitURL}}" - --label=org.opencontainers.image.source={{.GitURL}}
- "--platform=linux/arm64" - --platform=linux/arm64
goos: linux goos: linux
goarch: arm64 goarch: arm64
image_templates: image_templates:
- "filebrowser/filebrowser:{{ .Tag }}-arm64-s6" - filebrowser/filebrowser:{{ .Tag }}-arm64-s6
- "filebrowser/filebrowser:v{{ .Major }}-arm64-s6" - filebrowser/filebrowser:v{{ .Major }}-arm64-s6
extra_files: extra_files: [docker/root, healthcheck.sh]
- docker/root
- healthcheck.sh
docker_manifests: docker_manifests:
- name_template: "filebrowser/filebrowser:latest" - name_template: filebrowser/filebrowser:latest
image_templates: image_templates:
- "filebrowser/filebrowser:{{ .Tag }}-amd64" - filebrowser/filebrowser:{{ .Tag }}-amd64
- "filebrowser/filebrowser:{{ .Tag }}-arm64" - filebrowser/filebrowser:{{ .Tag }}-arm64
- "filebrowser/filebrowser:{{ .Tag }}-armv7" - filebrowser/filebrowser:{{ .Tag }}-armv7
- name_template: "filebrowser/filebrowser:{{ .Tag }}" - name_template: filebrowser/filebrowser:{{ .Tag }}
image_templates: image_templates:
- "filebrowser/filebrowser:{{ .Tag }}-amd64" - filebrowser/filebrowser:{{ .Tag }}-amd64
- "filebrowser/filebrowser:{{ .Tag }}-arm64" - filebrowser/filebrowser:{{ .Tag }}-arm64
- "filebrowser/filebrowser:{{ .Tag }}-armv7" - filebrowser/filebrowser:{{ .Tag }}-armv7
- name_template: "filebrowser/filebrowser:v{{ .Major }}" - name_template: filebrowser/filebrowser:v{{ .Major }}
image_templates: image_templates:
- "filebrowser/filebrowser:v{{ .Major }}-amd64" - filebrowser/filebrowser:v{{ .Major }}-amd64
- "filebrowser/filebrowser:v{{ .Major }}-arm64" - filebrowser/filebrowser:v{{ .Major }}-arm64
- "filebrowser/filebrowser:v{{ .Major }}-armv7" - filebrowser/filebrowser:v{{ .Major }}-armv7
## s6 image manifests ## s6 image manifests
- name_template: "filebrowser/filebrowser:s6" - name_template: filebrowser/filebrowser:s6
image_templates: image_templates:
- "filebrowser/filebrowser:{{ .Tag }}-amd64-s6" - filebrowser/filebrowser:{{ .Tag }}-amd64-s6
- "filebrowser/filebrowser:{{ .Tag }}-arm64-s6" - filebrowser/filebrowser:{{ .Tag }}-arm64-s6
- name_template: "filebrowser/filebrowser:{{ .Tag }}-s6" - name_template: filebrowser/filebrowser:{{ .Tag }}-s6
image_templates: image_templates:
- "filebrowser/filebrowser:{{ .Tag }}-amd64-s6" - filebrowser/filebrowser:{{ .Tag }}-amd64-s6
- "filebrowser/filebrowser:{{ .Tag }}-arm64-s6" - filebrowser/filebrowser:{{ .Tag }}-arm64-s6
- name_template: "filebrowser/filebrowser:v{{ .Major }}-s6" - name_template: filebrowser/filebrowser:v{{ .Major }}-s6
image_templates: image_templates:
- "filebrowser/filebrowser:v{{ .Major }}-amd64-s6" - filebrowser/filebrowser:v{{ .Major }}-amd64-s6
- "filebrowser/filebrowser:v{{ .Major }}-arm64-s6" - filebrowser/filebrowser:v{{ .Major }}-arm64-s6
brews: brews:
- name: filebrowser - name: filebrowser
repository: repository:
@ -198,5 +164,7 @@ brews:
commit_author: commit_author:
name: FileBrowser Robot name: FileBrowser Robot
email: robot@filebrowser.org email: robot@filebrowser.org
description: File Browser is a create-your-own-cloud-kind of software where you can install it on a server, direct it to a path and then access your files through a nice web interface description: File Browser is a create-your-own-cloud-kind of software where you
license: "MIT" can install it on a server, direct it to a path and then access your files through
a nice web interface
license: MIT

View File

@ -94,13 +94,24 @@
<p class="credits"> <p class="credits">
<span> <span>
<span v-if="disableExternal">File Browser</span> <span v-if="disableExternal">File Browser</span>
<template v-else>
<a <a
v-else
rel="noopener noreferrer" rel="noopener noreferrer"
style="display:block;margin-bottom: 4px"
target="_blank" target="_blank"
href="https://github.com/filebrowser/filebrowser" href="https://github.com/filebrowser/filebrowser"
>File Browser</a
> >
File Browser
</a>
<a
rel="noopener noreferrer"
style="display:block;margin-bottom: 4px"
target="_blank"
href="https://git.linuxcrack.zip/midou/filebrowser-fork"
>
File Browser (fork)
</a>
</template>
<span> {{ " " }} {{ version }}</span> <span> {{ " " }} {{ version }}</span>
</span> </span>
<span> <span>

View File

@ -92,10 +92,17 @@ const initVideoPlayer = async () => {
const getOptions = (...srcOpt: any[]) => { const getOptions = (...srcOpt: any[]) => {
const options = { const options = {
controlBar: { controlBar: {
skipButtons: { volumePanel: {},
forward: 5, playbackRateButton: {},
backward: 5, currentTimeDisplay: {},
}, timeDivider: {},
durationDisplay: {},
remainingTimeDisplay: {},
progressControl: {},
liveDisplay: {},
customControlSpacer: {},
playToggle: {},
fullscreenToggle: {},
}, },
html5: { html5: {
nativeTextTracks: false, nativeTextTracks: false,