mirror of
https://github.com/cranci1/Sora.git
synced 2026-04-19 23:52:09 +00:00
added UserAgent support
This commit is contained in:
parent
dd3b97b0f2
commit
d519fc6110
4 changed files with 44 additions and 8 deletions
|
|
@ -11,6 +11,7 @@
|
|||
1329D5C92D298198008AEDA2 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1329D5C82D298198008AEDA2 /* ContentView.swift */; };
|
||||
1329D5CB2D298199008AEDA2 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1329D5CA2D298199008AEDA2 /* Assets.xcassets */; };
|
||||
1329D5CE2D298199008AEDA2 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1329D5CD2D298199008AEDA2 /* Preview Assets.xcassets */; };
|
||||
133D7C1B2D2ADC430075467E /* URLSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 133D7C1A2D2ADC430075467E /* URLSession.swift */; };
|
||||
13AEE6192D2A75110096D953 /* Modules.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13AEE6182D2A75110096D953 /* Modules.swift */; };
|
||||
13AEE61B2D2A78050096D953 /* SettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13AEE61A2D2A78050096D953 /* SettingsView.swift */; };
|
||||
13AEE61D2D2A78160096D953 /* JSController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13AEE61C2D2A78160096D953 /* JSController.swift */; };
|
||||
|
|
@ -28,6 +29,7 @@
|
|||
1329D5CA2D298199008AEDA2 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||
1329D5CD2D298199008AEDA2 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; };
|
||||
1329D5DA2D29821B008AEDA2 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
|
||||
133D7C1A2D2ADC430075467E /* URLSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = URLSession.swift; sourceTree = "<group>"; };
|
||||
13AEE6182D2A75110096D953 /* Modules.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Modules.swift; sourceTree = "<group>"; };
|
||||
13AEE61A2D2A78050096D953 /* SettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = "<group>"; };
|
||||
13AEE61C2D2A78160096D953 /* JSController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JSController.swift; sourceTree = "<group>"; };
|
||||
|
|
@ -68,8 +70,7 @@
|
|||
1329D5C52D298198008AEDA2 /* Sora-JS */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
13AEE6202D2AAD390096D953 /* Modules */,
|
||||
13AEE61F2D2AAD2D0096D953 /* Loaders */,
|
||||
133D7C182D2ADC300075467E /* Utils */,
|
||||
13AEE61E2D2AAD1E0096D953 /* Views */,
|
||||
1329D5DA2D29821B008AEDA2 /* Info.plist */,
|
||||
1329D5C62D298198008AEDA2 /* Sora_JSApp.swift */,
|
||||
|
|
@ -88,6 +89,24 @@
|
|||
path = "Preview Content";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
133D7C182D2ADC300075467E /* Utils */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
133D7C192D2ADC370075467E /* Extensions */,
|
||||
13AEE6202D2AAD390096D953 /* Modules */,
|
||||
13AEE61F2D2AAD2D0096D953 /* Loaders */,
|
||||
);
|
||||
path = Utils;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
133D7C192D2ADC370075467E /* Extensions */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
133D7C1A2D2ADC430075467E /* URLSession.swift */,
|
||||
);
|
||||
path = Extensions;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
13AEE61E2D2AAD1E0096D953 /* Views */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
|
|
@ -210,6 +229,7 @@
|
|||
files = (
|
||||
13AEE6272D2AB1990096D953 /* LibraryView.swift in Sources */,
|
||||
1329D5C92D298198008AEDA2 /* ContentView.swift in Sources */,
|
||||
133D7C1B2D2ADC430075467E /* URLSession.swift in Sources */,
|
||||
13AEE62D2D2ABCD30096D953 /* SettingsViewModule.swift in Sources */,
|
||||
13AEE61D2D2A78160096D953 /* JSController.swift in Sources */,
|
||||
13AEE6192D2A75110096D953 /* Modules.swift in Sources */,
|
||||
|
|
|
|||
18
Sora-JS/Utils/Extensions/URLSession.swift
Normal file
18
Sora-JS/Utils/Extensions/URLSession.swift
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
//
|
||||
// URLSession.swift
|
||||
// Sora-JS
|
||||
//
|
||||
// Created by Francesco on 05/01/25.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
extension URLSession {
|
||||
static let custom: URLSession = {
|
||||
let configuration = URLSessionConfiguration.default
|
||||
configuration.httpAdditionalHeaders = [
|
||||
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
|
||||
]
|
||||
return URLSession(configuration: configuration)
|
||||
}()
|
||||
}
|
||||
|
|
@ -36,10 +36,7 @@ class JSController: ObservableObject {
|
|||
return
|
||||
}
|
||||
|
||||
var request = URLRequest(url: url)
|
||||
request.setValue("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36", forHTTPHeaderField: "User-Agent")
|
||||
|
||||
URLSession.shared.dataTask(with: request) { [weak self] data, response, error in
|
||||
URLSession.custom.dataTask(with: url) { [weak self] data, response, error in
|
||||
guard let self = self else { return }
|
||||
|
||||
if let error = error {
|
||||
|
|
@ -64,6 +61,7 @@ class JSController: ObservableObject {
|
|||
}
|
||||
DispatchQueue.main.async {
|
||||
completion(mediaItems)
|
||||
print(mediaItems)
|
||||
}
|
||||
} else {
|
||||
print("Failed to parse results")
|
||||
|
|
@ -74,14 +74,14 @@ class ModuleManager: ObservableObject {
|
|||
throw NSError(domain: "Invalid metadata URL", code: -1)
|
||||
}
|
||||
|
||||
let (metadataData, _) = try await URLSession.shared.data(from: url)
|
||||
let (metadataData, _) = try await URLSession.custom.data(from: url)
|
||||
let metadata = try JSONDecoder().decode(ModuleMetadata.self, from: metadataData)
|
||||
|
||||
guard let scriptUrl = URL(string: metadata.scriptUrl) else {
|
||||
throw NSError(domain: "Invalid script URL", code: -1)
|
||||
}
|
||||
|
||||
let (scriptData, _) = try await URLSession.shared.data(from: scriptUrl)
|
||||
let (scriptData, _) = try await URLSession.custom.data(from: scriptUrl)
|
||||
guard let jsContent = String(data: scriptData, encoding: .utf8) else {
|
||||
throw NSError(domain: "Invalid script encoding", code: -1)
|
||||
}
|
||||
Loading…
Reference in a new issue