Skip to content

Commit 2d50da7

Browse files
committed
Merge branch 'develop'
2 parents dcf93bb + a755eb7 commit 2d50da7

File tree

6 files changed

+546
-146
lines changed

6 files changed

+546
-146
lines changed

IINA+.xcodeproj/project.pbxproj

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@
128128
01C248CD2CE480F30074A76F /* DequeModule in Frameworks */ = {isa = PBXBuildFile; productRef = 01C248CC2CE480F30074A76F /* DequeModule */; };
129129
01C338B528E47B3F004CC0B8 /* MBGA.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01C338B428E47B3F004CC0B8 /* MBGA.swift */; };
130130
01C373592429F2C2006778D1 /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = 01C373582429F2C2006778D1 /* README.md */; };
131+
01CF4C632E74227000CECD08 /* douyin.js in Resources */ = {isa = PBXBuildFile; fileRef = 01CF4C622E74227000CECD08 /* douyin.js */; };
131132
01D482BB2CAF978C00F636EE /* CharacterSetExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 01D482BA2CAF978C00F636EE /* CharacterSetExtension.swift */; };
132133
01D8282A2AC3E1D6003A73BA /* mpegts.js in Copy Web Files */ = {isa = PBXBuildFile; fileRef = 01D828282AC3E1A6003A73BA /* mpegts.js */; };
133134
01D8762927D459C5001140DD /* crypto-js.js in Resources */ = {isa = PBXBuildFile; fileRef = 01D8762827D459C5001140DD /* crypto-js.js */; };
@@ -307,6 +308,7 @@
307308
01C248C92CE480670074A76F /* TokenBucket.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TokenBucket.swift; sourceTree = "<group>"; };
308309
01C338B428E47B3F004CC0B8 /* MBGA.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MBGA.swift; sourceTree = "<group>"; };
309310
01C373582429F2C2006778D1 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = SOURCE_ROOT; };
311+
01CF4C622E74227000CECD08 /* douyin.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; path = douyin.js; sourceTree = "<group>"; };
310312
01D482BA2CAF978C00F636EE /* CharacterSetExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CharacterSetExtension.swift; sourceTree = "<group>"; };
311313
01D828282AC3E1A6003A73BA /* mpegts.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; name = mpegts.js; path = "IINA+/WebFiles/node_modules/mpegts.js/dist/mpegts.js"; sourceTree = SOURCE_ROOT; };
312314
01D8762827D459C5001140DD /* crypto-js.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; name = "crypto-js.js"; path = "IINA+/WebFiles/node_modules/crypto-js/crypto-js.js"; sourceTree = SOURCE_ROOT; };
@@ -547,6 +549,7 @@
547549
013850F9214EA2AA003817CE /* huya.js */,
548550
015F06972DCC73CA00501A03 /* Localizable.xcstrings */,
549551
01F716DA2DAA4EB300308663 /* empty.m4a */,
552+
01CF4C622E74227000CECD08 /* douyin.js */,
550553
);
551554
name = Resources;
552555
sourceTree = "<group>";
@@ -790,6 +793,7 @@
790793
015C19F8218FC9A8003B2F3A /* Block-List-Basic.xml in Resources */,
791794
01C0807527BB5CFD00E87A8C /* Preferences.storyboard in Resources */,
792795
014327B722AF5BE100651064 /* OpenFilesWindow.storyboard in Resources */,
796+
01CF4C632E74227000CECD08 /* douyin.js in Resources */,
793797
01EDCCA72A791EB5001DC138 /* test.htm in Resources */,
794798
);
795799
runOnlyForDeploymentPostprocessing = 0;
@@ -1100,7 +1104,7 @@
11001104
"@executable_path/../Frameworks",
11011105
);
11021106
MACOSX_DEPLOYMENT_TARGET = 11.5;
1103-
MARKETING_VERSION = 0.8.9;
1107+
MARKETING_VERSION = 0.8.10;
11041108
PRODUCT_BUNDLE_IDENTIFIER = "com.xjbeta.iina-plus";
11051109
PRODUCT_NAME = "$(TARGET_NAME)";
11061110
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -1127,7 +1131,7 @@
11271131
"@executable_path/../Frameworks",
11281132
);
11291133
MACOSX_DEPLOYMENT_TARGET = 11.5;
1130-
MARKETING_VERSION = 0.8.9;
1134+
MARKETING_VERSION = 0.8.10;
11311135
PRODUCT_BUNDLE_IDENTIFIER = "com.xjbeta.iina-plus";
11321136
PRODUCT_NAME = "$(TARGET_NAME)";
11331137
PROVISIONING_PROFILE_SPECIFIER = "";

IINA+.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved

Lines changed: 27 additions & 18 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

IINA+/Utils/Danmaku/DouYinDM.swift

Lines changed: 2 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import WebKit
1313
class DouYinDM: NSObject {
1414
var url = ""
1515

16-
1716
private var webView = WKWebView()
1817
var requestPrepared: ((URLRequest) -> Void)?
1918

@@ -81,38 +80,15 @@ class DouYinDM: NSObject {
8180
case cookiesCount
8281
}
8382

84-
func prepareCookies() async {
85-
let douyin = await Processes.shared.videoDecoder.douyin
86-
87-
let storageDic = douyin.cookiesManager.storageDic
88-
let privateKeys = douyin.cookiesManager.privateKeys
89-
90-
let kvs = [
91-
privateKeys[0].base64Decode(),
92-
privateKeys[1].base64Decode()
93-
].compactMap {
94-
storageDic[$0] == nil ? nil : ($0, storageDic[$0]!)
95-
}
96-
97-
if kvs.count != 2 {
98-
Log("DouYinDMError.cookiesCount")
99-
}
100-
101-
for kv in kvs {
102-
let _ = try? await webView.evaluateJavaScriptAsync("window.sessionStorage.setItem('\(kv.0)', '\(kv.1)')", type: String.self)
103-
}
104-
}
105-
10683
func startRequests() {
10784
Task {
10885
do {
10986
let rid = try await getRoomId()
11087
let douyin = await Processes.shared.videoDecoder.douyin
11188

11289
let cookies = try await douyin.cookiesManager.cookies()
113-
let ua = await douyin.cookiesManager.douyinUA()
114-
115-
await prepareCookies()
90+
let ua = douyin.cookiesManager.douyinUA
91+
11692
let req = try await initWS(rid, cookies: cookies, ua: ua)
11793

11894
requestPrepared?(req)

IINA+/Utils/VideoDecoder/DouYin.swift

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,6 @@ actor DouYin: SupportSiteProtocol {
4141

4242

4343
func getEnterContent(_ url: String) async throws -> LiveInfo {
44-
var headers = try await cookiesManager.headers()
45-
headers.add(name: "referer", value: url)
4644

4745
guard let pc = NSURL(string: url)?.pathComponents,
4846
pc.count >= 2,
@@ -60,11 +58,10 @@ actor DouYin: SupportSiteProtocol {
6058
}
6159
}()
6260

63-
let u = "https://live.douyin.com/webcast/room/web/enter/?aid=6383&app_name=douyin_web&live_id=1&device_platform=web&language=zh-CN&enter_from=page_refresh&cookie_enabled=true&screen_width=1920&screen_height=1080&browser_language=zh-CN&browser_platform=MacIntel&browser_name=Safari&browser_version=18.6&web_rid=\(rid)&enter_source=&is_need_double_stream=false&insert_task_id=&live_reason=&msToken=&a_bogus="
64-
65-
61+
let u = "https://live.douyin.com/webcast/room/web/enter/?aid=6383&app_name=douyin_web&live_id=1&device_platform=web&language=zh-CN&enter_from=page_refresh&cookie_enabled=true&screen_width=1920&screen_height=1080&browser_language=zh-CN&browser_platform=MacIntel&browser_name=Safari&browser_version=18.6&web_rid=\(rid)&enter_source=&is_need_double_stream=false&insert_task_id=&live_reason="
62+
6663
do {
67-
let data = try await AF.request(u, headers: headers).serializingData().value
64+
let data = try await cookiesManager.request(u).serializingData().value
6865
let jsonObj: JSONObject = try JSONParser.JSONObjectWithData(data)
6966
let enterData = try DouYinEnterData(object: jsonObj)
7067

0 commit comments

Comments
 (0)