Compare commits

...

3 Commits

Author SHA1 Message Date
cc6a562e9e code refactoring 2025-02-03 10:25:20 +01:00
Marco Piovanello
67b01f9e0b fixed postprocessor args (#256)
* fixed postprocessor args

* updated node builder version

* temporary fix for https://github.com/nodejs/corepack/issues/612
2025-02-03 10:24:48 +01:00
Robi Hahn
2f2eca2bff i18n: hungarian translation (#250) 2025-01-30 18:24:57 +01:00
8 changed files with 91 additions and 16 deletions

View File

@@ -1,8 +1,8 @@
# Node (pnpm) ------------------------------------------------------------------
FROM node:20-slim AS ui
FROM node:22-slim AS ui
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
RUN corepack enable
RUN corepack prepare pnpm@10.0.0 --activate && corepack enable
COPY . /usr/src/yt-dlp-webui
WORKDIR /usr/src/yt-dlp-webui/frontend

View File

@@ -18,4 +18,5 @@ languages:
russian: ru.yaml
swedish: sv.yaml
ukrainian: uk.yaml
chinese: zh_CN.yaml
chinese: zh_CN.yaml
hungarian: hu.yaml

View File

@@ -0,0 +1,72 @@
keys:
urlInput: Video URL (soronként egy)
statusTitle: Állapot
statusReady: Előkészítve
selectFormatButton: Válassz formátumot
startButton: Indítás
abortAllButton: Összes megszakítása
updateBinButton: yt-dlp bináris frissítése
darkThemeButton: Sötét téma
lightThemeButton: Világos téma
settingsAnchor: Beállítások
serverAddressTitle: Szerver címe
serverPortTitle: Port
extractAudioCheckbox: Audio konvertálása
noMTimeCheckbox: Fájl módosítás időpontja ne legyen beállítva
bgReminder: Miután a lap bezárásra kerül, a letöltés folytatódni fog a háttérben.
toastConnected: 'Kapcsolódva: '
toastUpdated: yt-dlp bináris frissítése sikeres volt!
formatSelectionEnabler: Video/audio formátum manuális kiválasztásának engedélyezése
themeSelect: 'Téma'
languageSelect: 'Nyelv'
overridesAnchor: Felülbírálások
pathOverrideOption: Letöltési útvonal felülbírálása
filenameOverrideOption: Letöltési fájlnév felülbírálása
customFilename: Egyedi fájlnév (hagyd üresen, hogy a fájlnév automatikusan generálódjon)
customPath: Egyedi útvonal
customArgs: Egyedi yt-dlp argumentumok (Nagy hatalommal nagy felelősség jár.)
customArgsInput: Egyedi yt-dlp argumentumok
rpcConnErr: Hiba történt az RPC szerver történő kapcsolódáskor
splashText: Nincs aktív letöltés
archiveTitle: Archívum
clipboardAction: URL a vágólapra másolva.
playlistCheckbox: Lejátszási lista letöltése (Több időt vehet igénybe. A letöltés a háttérben történik, a böngészőablak szabadon bezárható.)
restartAppMessage: Az oldal újratöltése lehet szükséges a változtatások megjelenítéséhez.
servedFromReverseProxyCheckbox: Reverse proxy mögötti működés
urlBase: URL base, reverse proxy támogatásához (subdir), alapból üres
newDownloadButton: Új letöltés
homeButtonLabel: Kezdőlap
archiveButtonLabel: Archívum
settingsButtonLabel: Beállítások
rpcAuthenticationLabel: RPC bejelentkezés
themeTogglerLabel: Témaválasztó
loadingLabel: Betöltés...
appTitle: Alkalmazás címe
savedTemplates: Mentett sablonok
templatesEditor: Sablonszerkesztő
templatesEditorNameLabel: Sablon neve
templatesEditorContentLabel: Sablon tartalma
logsTitle: 'Naplók'
awaitingLogs: 'Napló letöltése...'
bulkDownload: 'Fájlok letöltése ZIP archívumként'
rpcPollingTimeTitle: RPC lekérdezési időköz
rpcPollingTimeDescription: Rövidebb időköz nagyobb processzor terheléssel járhat (mind szerver és böngésző oldalon is)
templatesReloadInfo: Az új sablon megjelenéséhez újra kell tölteni az oldalt.
livestreamURLInput: Élő stream URL
livestreamStatusWaiting: Várakozás a kezdésre
livestreamStatusDownloading: Letöltés
livestreamStatusCompleted: Letöltve
livestreamStatusErrored: Hiba
livestreamStatusUnknown: Ismeretlen
livestreamNoMonitoring: Nincsenek figyelt élő adások
livestreamDownloadInfo: |
Ez figyelni fog egy még el nem indított élő közvetítést. Minden folyamat a --wait-for-video 10 paraméterrel lesz végrehajtva.
Ha egy már elindított élő közvetítés van megadva, az továbbra is letöltésre kerül, de a folyamatát nem követi nyomon.
Amint elindul, az élő közvetítés átkerül a letöltések oldalra..
livestreamExperimentalWarning: Ez a funkció még kísérleti. Nem garantált a hibamentes működés.
accentSelect: 'Kiemelt szín'
generalDownloadSettings: 'Általános letöltési beállítások'
deleteCookies: Sütik törlése
noFilesFound: 'Nem található fájlok'
tableView: 'Táblázatos Nézet'
deleteSelected: 'Kiválasztottak törlése'

View File

@@ -19,7 +19,8 @@ export const languages = [
'russian',
'spanish',
'swedish',
'ukrainian'
'ukrainian',
'hungarian'
] as const
export type Language = (typeof languages)[number]

View File

@@ -41,10 +41,10 @@ export class RPCClient {
})
}
private argsSanitizer(args: string) {
private argsSanitizer(args: string): string[] {
return args
.split(' ')
.map(a => a.trim().replaceAll("'", '').replaceAll('"', ''))
.map(a => a.trim().replaceAll('"', ''))
.filter(Boolean)
}

View File

@@ -1,4 +1,4 @@
package handlers
package filebrowser
import (
"archive/zip"

View File

@@ -23,7 +23,7 @@ import (
"github.com/marcopiovanello/yt-dlp-web-ui/v3/server/archiver"
"github.com/marcopiovanello/yt-dlp-web-ui/v3/server/config"
"github.com/marcopiovanello/yt-dlp-web-ui/v3/server/dbutil"
"github.com/marcopiovanello/yt-dlp-web-ui/v3/server/handlers"
"github.com/marcopiovanello/yt-dlp-web-ui/v3/server/filebrowser"
"github.com/marcopiovanello/yt-dlp-web-ui/v3/server/internal"
"github.com/marcopiovanello/yt-dlp-web-ui/v3/server/internal/livestream"
"github.com/marcopiovanello/yt-dlp-web-ui/v3/server/logging"
@@ -32,6 +32,7 @@ import (
"github.com/marcopiovanello/yt-dlp-web-ui/v3/server/rest"
ytdlpRPC "github.com/marcopiovanello/yt-dlp-web-ui/v3/server/rpc"
"github.com/marcopiovanello/yt-dlp-web-ui/v3/server/status"
"github.com/marcopiovanello/yt-dlp-web-ui/v3/server/user"
_ "modernc.org/sqlite"
)
@@ -187,11 +188,11 @@ func newServer(c serverConfig) *http.Server {
if config.Instance().UseOpenId {
r.Use(openid.Middleware)
}
r.Post("/downloaded", handlers.ListDownloaded)
r.Post("/delete", handlers.DeleteFile)
r.Get("/d/{id}", handlers.DownloadFile)
r.Get("/v/{id}", handlers.SendFile)
r.Get("/bulk", handlers.BulkDownload(c.mdb))
r.Post("/downloaded", filebrowser.ListDownloaded)
r.Post("/delete", filebrowser.DeleteFile)
r.Get("/d/{id}", filebrowser.DownloadFile)
r.Get("/v/{id}", filebrowser.SendFile)
r.Get("/bulk", filebrowser.BulkDownload(c.mdb))
})
// Archive routes
@@ -199,8 +200,8 @@ func newServer(c serverConfig) *http.Server {
// Authentication routes
r.Route("/auth", func(r chi.Router) {
r.Post("/login", handlers.Login)
r.Get("/logout", handlers.Logout)
r.Post("/login", user.Login)
r.Get("/logout", user.Logout)
r.Route("/openid", func(r chi.Router) {
r.Get("/login", openid.Login)

View File

@@ -1,4 +1,4 @@
package handlers
package user
import (
"encoding/json"