feat: get the best m3u8 without binding device and account (maybe)

pull/22/head
zhaarey 4 months ago committed by GitHub
parent 019689bfe7
commit 9b1e7f3457
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 35
      agent.js

@ -101,25 +101,20 @@ setTimeout(() => {
await s.close(); await s.close();
} }
global.getM3U8 = function(adamID) { global.getM3U8 = function(adamID) {
var C3282k = Java.use("c.a.a.e.o.k"); Java.use("com.apple.android.music.common.MainContentActivity");
var m7125s = C3282k.a().s(); var SVPlaybackLeaseManagerProxy;
var PurchaseRequest$PurchaseRequestPtr = Java.use("com.apple.android.storeservices.javanative.account.PurchaseRequest$PurchaseRequestPtr"); Java.choose("com.apple.android.music.playback.SVPlaybackLeaseManagerProxy", {
onMatch: function (x) {
var c3249t = Java.cast(m7125s, Java.use("c.a.a.e.k.t")); SVPlaybackLeaseManagerProxy = x
var create = PurchaseRequest$PurchaseRequestPtr.create(c3249t.n.value); },
create.get().setProcessDialogActions(true); onComplete: function (x) {}
create.get().setURLBagKey("subDownload"); });
create.get().setBuyParameters(`salableAdamId=${adamID}&price=0&pricingParameters=SUBS&productType=S`); var HLSParam = Java.array('java.lang.String', ["HLS"])
create.get().run(); var MediaAssetInfo = SVPlaybackLeaseManagerProxy.requestAsset(parseInt(adamID), HLSParam, false)
var response = create.get().getResponse(); if (MediaAssetInfo === null) {
if (response.get().getError().get() == null) { return -1
var item = response.get().getItems().get(0); }
var assets = item.get().getAssets(); return MediaAssetInfo.getDownloadUrl()
var size = assets.size();
return assets.get(size - 1).get().getURL();
} else {
return response.get().getError().get().errorCode();
}
}; };
function performJavaOperations(adamID) { function performJavaOperations(adamID) {
@ -195,4 +190,4 @@ setTimeout(() => {
handleConnection(await listener.accept()); handleConnection(await listener.accept());
} }
}).catch(console.log); }).catch(console.log);
}, 4000); }, 4000);

Loading…
Cancel
Save