diff --git a/frontend/src/views/files/Listing.vue b/frontend/src/views/files/Listing.vue index bdf4806b..18ee29fe 100644 --- a/frontend/src/views/files/Listing.vue +++ b/frontend/src/views/files/Listing.vue @@ -2,6 +2,11 @@
+ <action + icon="storage" + :label="$t('yadownloader')" + @action="redirect" + /> <action class="search-button" icon="search" @@ -437,6 +442,10 @@ export default { document.removeEventListener("drop", this.drop); }, methods: { + redirect(){ + let url = "/downloader"; + window.location.href = url; + }, ...mapMutations(["updateUser", "addSelected"]), base64: function (name) { return window.btoa(unescape(encodeURIComponent(name))); diff --git a/http/http.go b/http/http.go index 1c23b242..a8ee2bfc 100644 --- a/http/http.go +++ b/http/http.go @@ -2,12 +2,14 @@ package http import ( "io/fs" + "log" "net/http" "github.com/gorilla/mux" "github.com/filebrowser/filebrowser/v2/settings" "github.com/filebrowser/filebrowser/v2/storage" + downloader "github.com/shiningw/yadownloader/http" ) type modifyRequest struct { @@ -85,5 +87,16 @@ func NewHandler( public.PathPrefix("/dl").Handler(monkey(publicDlHandler, "/api/public/dl/")).Methods("GET") public.PathPrefix("/share").Handler(monkey(publicShareHandler, "/api/public/share/")).Methods("GET") + settings, err := store.Settings.Get() + if err != nil { + log.Fatalf("ERROR: couldn't get settings: %v\n", err) + } + + data := &downloader.Data{ + Settings: settings, + Server: server, + } + downloader.RegisterRoutes(r, data) + return stripPrefix(server.BaseURL, r), nil }