19 changed files with 398 additions and 20 deletions
-
1Podfile
-
2Pods/Nimbus/src/photos/src/NIPhotoScrollView.m
-
2Pods/WebBrowser/WebBrowser/WebBrowserViewController.swift
-
10kplayer.xcodeproj/project.pbxproj
-
2kplayer/Info.plist
-
14kplayer/core/MediaItem.swift
-
5kplayer/core/MediaModel.swift
-
66kplayer/core/NetworkManager.swift
-
47kplayer/core/ThumbnailCache.swift
-
45kplayer/detail/BrowserController.swift
-
28kplayer/detail/DetailViewController.swift
-
4kplayer/detail/VideoController.swift
-
4kplayer/master/MasterViewController.swift
-
2kplayer/master/NetworkDelegate.swift
-
44kplayer/photo/PhotoController.swift
-
97kplayer/server/download.js
-
12kplayer/server/links.html
-
8kplayer/util/FileHelper.swift
-
11kplayer/util/ImageLoadOperation.swift
@ -0,0 +1,97 @@ |
|||
(async function download() { |
|||
try { |
|||
window.webkit.messageHandlers.jsError.postMessage(document.cookie) |
|||
window.webkit.messageHandlers.jsError.postMessage(window.location.hostname) |
|||
|
|||
var links = [] |
|||
var linkname = "href" |
|||
window.kplayerUrls = [] |
|||
|
|||
if (window.location.hostname.endsWith("hegre.com")) { |
|||
links = document.querySelectorAll('a[class="members-only"], a[class="image-download"]') |
|||
linkname = "href" |
|||
} |
|||
else if (window.location.hostname == "www.kink.com") { |
|||
links = document.querySelectorAll('span[data-resolution="720"], span[data-resolution="1080"]') |
|||
linkname = "data-url" |
|||
} |
|||
else if (window.location.hostname.endsWith("xhamster.com")) { |
|||
var lnks = document.querySelectorAll('link[rel="preload"]') |
|||
|
|||
for (var i=0; i<lnks.length; ++i) { |
|||
var u = lnks[i].href |
|||
if (u.indexOf(".m3u8")>0) { |
|||
var base = u.split('/').slice(0,3).join('/') |
|||
window.webkit.messageHandlers.jsError.postMessage('base: ' + base) |
|||
window.webkit.messageHandlers.jsError.postMessage('url: ' + u) |
|||
var r = await fetch(u) |
|||
var data = await r.text() |
|||
|
|||
// Do something with your data
|
|||
var lines = data.split('\n') |
|||
|
|||
for (let l of lines) { |
|||
if (!l.startsWith("#")) { |
|||
window.webkit.messageHandlers.jsError.postMessage('l: ' + base + l) |
|||
|
|||
window.kplayerUrls.push(base + l) |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
} |
|||
else if (window.location.hostname.endsWith("xvideos.com")) { |
|||
if (html5player) { |
|||
if (html5player.url_hls) { |
|||
var u = html5player.url_hls |
|||
window.webkit.messageHandlers.jsError.postMessage(u) |
|||
|
|||
if (u.indexOf("hls.m3u8")>0) { |
|||
var base = u.split('/').slice(0,-1).join('/') |
|||
var r = await fetch(u) |
|||
var data = await r.text() |
|||
|
|||
// Do something with your data
|
|||
var lines = data.split('\n') |
|||
|
|||
for (let l of lines) { |
|||
if (!l.startsWith("#")) { |
|||
window.kplayerUrls.push(base + "/" + l) |
|||
} |
|||
} |
|||
} |
|||
window.webkit.messageHandlers.jsError.postMessage(JSON.stringify(window.kplayerUrls)) |
|||
|
|||
window.kplayerUrls.push(u) |
|||
} |
|||
} |
|||
} |
|||
|
|||
links.forEach( |
|||
function(currentValue, currentIndex, listObj) { |
|||
window.webkit.messageHandlers.jsError.postMessage(JSON.stringify(currentValue)) |
|||
|
|||
window.kplayerUrls.push(currentValue.getAttribute(linkname)) |
|||
}, |
|||
'myThisArg' |
|||
); |
|||
window.webkit.messageHandlers.openDocument.postMessage(JSON.stringify(window.kplayerUrls)); |
|||
|
|||
// window.webkit.messageHandlers.jsError.postMessage("k"+links);
|
|||
// we use a second try block here to have more detailed error information
|
|||
// because of the nature of JS the outer try-catch doesn't know anything where the error happended
|
|||
let res; |
|||
try { |
|||
|
|||
} catch (err) { |
|||
window.webkit.messageHandlers.jsError.postMessage('fetch threw, error: '+ err ); |
|||
return; |
|||
} |
|||
} catch (err) { |
|||
window.webkit.messageHandlers.jsError.postMessage('fetch threw, error: '+ err); |
|||
return; |
|||
} |
|||
})(); |
|||
// null is needed here as this eval returns the last statement and we can't return a promise
|
|||
null; |
|||
@ -0,0 +1,12 @@ |
|||
<html> |
|||
<body> |
|||
<a href="https://www.google.de">Google</a> |
|||
<a href="https://www.xvideos.com">XVID</a> |
|||
<a href="https://www.xhamster.com">XVID</a> |
|||
<a href="https://www.letsdoeit.com">XVID</a> |
|||
<a href="https://www.debt4k.com">XVID</a> |
|||
<a href="https://www.kink.com">XVID</a> |
|||
<a href="https://www.hegre.com">XVID</a> |
|||
</body> |
|||
</html> |
|||
|
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue