mirror of
https://github.com/xweiba/location-spoofer.git
synced 2026-09-21 22:30:46 +08:00
fix: bust third-party module cache
This commit is contained in:
@@ -254,6 +254,8 @@ final class ThirdPartyProxyManager: ObservableObject {
|
|||||||
}
|
}
|
||||||
|
|
||||||
enum ThirdPartyProxyClient: String, CaseIterable, Identifiable {
|
enum ThirdPartyProxyClient: String, CaseIterable, Identifiable {
|
||||||
|
static let moduleSubscriptionVersion = "1.0.0"
|
||||||
|
|
||||||
case shadowrocket
|
case shadowrocket
|
||||||
case surge
|
case surge
|
||||||
case quantumultX
|
case quantumultX
|
||||||
@@ -309,7 +311,7 @@ enum ThirdPartyProxyClient: String, CaseIterable, Identifiable {
|
|||||||
case .shadowrocket:
|
case .shadowrocket:
|
||||||
url = "\(prefix)\(directory)/wloc.module"
|
url = "\(prefix)\(directory)/wloc.module"
|
||||||
}
|
}
|
||||||
return URL(string: url)!
|
return URL(string: "\(url)?v=\(Self.moduleSubscriptionVersion)")!
|
||||||
}
|
}
|
||||||
|
|
||||||
var launchURL: URL? {
|
var launchURL: URL? {
|
||||||
|
|||||||
@@ -84,12 +84,18 @@ final class ThirdPartyProxyManagerTests: XCTestCase {
|
|||||||
XCTAssertTrue(ThirdPartyProxyClient.stash.subscriptionURL.absoluteString.hasPrefix(
|
XCTAssertTrue(ThirdPartyProxyClient.stash.subscriptionURL.absoluteString.hasPrefix(
|
||||||
"https://gh-proxy.org/https://raw.githubusercontent.com/xweiba/location-spoofer/main/"
|
"https://gh-proxy.org/https://raw.githubusercontent.com/xweiba/location-spoofer/main/"
|
||||||
))
|
))
|
||||||
XCTAssertTrue(ThirdPartyProxyClient.stash.subscriptionURL.absoluteString.hasSuffix(
|
let stashComponents = URLComponents(
|
||||||
"/Resources/ThirdPartyProxyModules/wloc.stoverride"
|
url: ThirdPartyProxyClient.stash.subscriptionURL,
|
||||||
))
|
resolvingAgainstBaseURL: false
|
||||||
XCTAssertTrue(ThirdPartyProxyClient.shadowrocket.subscriptionURL.absoluteString.hasSuffix(
|
)
|
||||||
"/Resources/ThirdPartyProxyModules/wloc.module"
|
let shadowrocketComponents = URLComponents(
|
||||||
))
|
url: ThirdPartyProxyClient.shadowrocket.subscriptionURL,
|
||||||
|
resolvingAgainstBaseURL: false
|
||||||
|
)
|
||||||
|
XCTAssertEqual(stashComponents?.path, "/https://raw.githubusercontent.com/xweiba/location-spoofer/main/Resources/ThirdPartyProxyModules/wloc.stoverride")
|
||||||
|
XCTAssertEqual(shadowrocketComponents?.path, "/https://raw.githubusercontent.com/xweiba/location-spoofer/main/Resources/ThirdPartyProxyModules/wloc.module")
|
||||||
|
XCTAssertEqual(stashComponents?.queryItems?.first?.value, ThirdPartyProxyClient.moduleSubscriptionVersion)
|
||||||
|
XCTAssertEqual(shadowrocketComponents?.queryItems?.first?.value, ThirdPartyProxyClient.moduleSubscriptionVersion)
|
||||||
XCTAssertEqual(ThirdPartyProxyClient.shadowrocket.launchURL?.scheme, "shadowrocket")
|
XCTAssertEqual(ThirdPartyProxyClient.shadowrocket.launchURL?.scheme, "shadowrocket")
|
||||||
XCTAssertEqual(ThirdPartyProxyClient.surge.launchURL?.scheme, "surge")
|
XCTAssertEqual(ThirdPartyProxyClient.surge.launchURL?.scheme, "surge")
|
||||||
XCTAssertEqual(ThirdPartyProxyClient.quantumultX.launchURL?.scheme, "quantumult-x")
|
XCTAssertEqual(ThirdPartyProxyClient.quantumultX.launchURL?.scheme, "quantumult-x")
|
||||||
|
|||||||
@@ -12,6 +12,10 @@ module URL the App copies:
|
|||||||
- enabled by default: `gh-proxy.org` in front of GitHub Raw;
|
- enabled by default: `gh-proxy.org` in front of GitHub Raw;
|
||||||
- disabled: GitHub Raw directly.
|
- disabled: GitHub Raw directly.
|
||||||
|
|
||||||
|
The App appends the module version as a query parameter, such as `?v=1.0.0`.
|
||||||
|
Increment this value whenever an existing module path changes so proxy clients
|
||||||
|
do not reuse a previously cached subscription body.
|
||||||
|
|
||||||
| Module file | Client |
|
| Module file | Client |
|
||||||
|---|---|
|
|---|---|
|
||||||
| `wloc.module` | Shadowrocket |
|
| `wloc.module` | Shadowrocket |
|
||||||
|
|||||||
Reference in New Issue
Block a user