diff --git a/kplayer/core/NetworkManager.swift b/kplayer/core/NetworkManager.swift index ecb6725..9956848 100644 --- a/kplayer/core/NetworkManager.swift +++ b/kplayer/core/NetworkManager.swift @@ -13,7 +13,7 @@ class NetworkManager { let baseurl = "http://linkstation:8080/tomcat/media" let vidurl = "http://linkstation:8089" - var authenticated = true + var authenticated = false var favorites = MediaItem(name: "fav", path:"", root: "", type: ItemType.FAVROOT) @@ -506,10 +506,19 @@ class NetworkManager { } } - func downloadFFMPEG(path: String, url: URL) { - let name = path + "/" + url.lastPathComponent + ".mp4" + func downloadToServer(path: String, url: URL) { + let name = path + "/" + url.lastPathComponent let queryItems = [URLQueryItem(name: "url", value: url.absoluteString), URLQueryItem(name: "name", value: name)] - var urlComps = URLComponents(string: nodeurl + "ffmpeg")! + + let cmd: String + if url.pathExtension == "m3u8" { + cmd = "ffmpeg" + } + else { + cmd = "webdl" + } + + var urlComps = URLComponents(string: nodeurl + cmd)! urlComps.queryItems = queryItems let p = urlComps.url! print("ffmpeg \(url.lastPathComponent)") diff --git a/kplayer/detail/BrowserController.swift b/kplayer/detail/BrowserController.swift index 4df15b4..1271030 100644 --- a/kplayer/detail/BrowserController.swift +++ b/kplayer/detail/BrowserController.swift @@ -47,7 +47,9 @@ class BrowserController : UIViewController, ItemController, WebBrowserDelegate, config.userContentController.add(self, name: "jsError") config.setValue(true, forKey: "_allowUniversalAccessFromFileURLs") - config.websiteDataStore = WKWebsiteDataStore.nonPersistent() + if (currentItem!.name.contains(".x")) { + config.websiteDataStore = WKWebsiteDataStore.nonPersistent() + } config.websiteDataStore.httpCookieStore.add(self) let cookiesStore = config.websiteDataStore.httpCookieStore diff --git a/kplayer/detail/VideoController.swift b/kplayer/detail/VideoController.swift index b5f26ad..38b5b21 100644 --- a/kplayer/detail/VideoController.swift +++ b/kplayer/detail/VideoController.swift @@ -159,16 +159,21 @@ class VideoController: UIViewController, ItemController, BMPlayerDelegate { } } - let downloadAction = UIAlertAction(title: "Download", style: .default) { (action) in + let downloadAction = UIAlertAction(title: "Download to fav", style: .default) { (action) in let url = self.currentItem!.playerURL - if url!.pathExtension == "m3u8" { - NetworkManager.sharedInstance.downloadFFMPEG(path: self.currentItem!.root, url: url!) - } - else { - NetworkManager.sharedInstance.download(url: url!) - } + NetworkManager.sharedInstance.download(url: url!) + } + + let url = self.currentItem!.playerURL + if url!.pathExtension != "m3u8" { + alertController.addAction(downloadAction) + } + + let serverAction = UIAlertAction(title: "Download to server", style: .default) { (action) in + let url = self.currentItem!.playerURL + NetworkManager.sharedInstance.downloadToServer(path: self.currentItem!.root, url: url!) } - alertController.addAction(downloadAction) + alertController.addAction(serverAction) let cancelAction = UIAlertAction(title: "Cancel", style: .cancel) { (action) in } diff --git a/kplayer/server/kplayer.js b/kplayer/server/kplayer.js index a083b23..e0bca03 100644 --- a/kplayer/server/kplayer.js +++ b/kplayer/server/kplayer.js @@ -93,13 +93,13 @@ app.get('/alive', function (req, res) { let date = new Date() var d = date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds() + "\n" console.log(d) - var p = '/mnt/archive/ren/alive.txt' + var p = '/mnt/archive/ren/kink_archiv/alive.txt' fs.writeFileSync(p, d, { mode: 0o755 }); // fs.unlinkSync(p); p = '/mnt/backup/ren/alive.txt' fs.writeFileSync(p, d, { mode: 0o755 }); // fs.unlinkSync(p); - p = '/mnt/work/ren/alive.txt' + p = '/mnt/work/ren/exotic/alive.txt' fs.writeFileSync(p, d, { mode: 0o755 }); // fs.unlinkSync(p); res.send("ok") @@ -125,6 +125,26 @@ app.get('/ffmpeg', function (req, res) { res.send(p) }) +app.get('/webdl', function (req, res) { + var p = req.query.url + var n = "/srv/samba/ren/webdl/" + req.query.name + + var cmd = 'wget -b -O "'+n+'" "'+p+'"' + console.log(cmd) + exec(cmd, (err, stdout, stderr) => { + if (err) { + console.log(err) + // node couldn't execute the command + return; + } + + // the *entire* stdout and stderr (buffered) + console.log(`stdout: ${stdout}`); + console.log(`stderr: ${stderr}`); + }); + res.send(p) +}) + app.get('/deleteThumb/*', function (req, res) { if (req.path.startsWith("/deleteThumb/srv/samba/ren/thumb/")) { var p = req.path.substr(12)