diff --git a/HttpDNSSDK/docs/HTTPDNS SDK 集成文档(Flutter).md b/HttpDNSSDK/docs/HTTPDNS SDK 集成文档(Flutter).md index fb002e4..31697a4 100644 --- a/HttpDNSSDK/docs/HTTPDNS SDK 集成文档(Flutter).md +++ b/HttpDNSSDK/docs/HTTPDNS SDK 集成文档(Flutter).md @@ -20,7 +20,24 @@ dependencies: path: ./packages/new_httpdns ``` -### 2. 执行更新 +### 2. Android 配置(必须) + +在 Android 项目的 `android/settings.gradle.kts` 中,添加插件内嵌的本地 Maven 仓库: + +```kotlin +dependencyResolutionManagement { + repositories { + maven { url = uri("../packages/new_httpdns/android/libs/repo") } // 路径与插件实际位置对应 + google() + mavenCentral() + // ... + } +} +``` + +> 路径为相对于 `android/` 目录的路径,请根据 `new_httpdns` 插件的实际放置位置调整。 + +### 3. 执行更新 在终端运行: ```bash flutter pub get @@ -31,20 +48,33 @@ flutter pub get ## 三、 快速入门 ### 1. 初始化 SDK -在 `main()` 函数中完成初始化工作。 +在 `main()` 函数中完成初始化工作。初始化分两步:先调用 `init()` 配置参数,再调用 `build()` 启动 SDK。 ```dart import 'package:new_httpdns/new_httpdns.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); - - bool success = await TrustAPPHttpdns.init( + + // 第一步:配置参数 + await TrustAPPHttpdns.init( appId: "your-app-id", apiUrl: "https://your-api-url:8445", // 请包含协议与端口 - secretKey: "your-sign-secret" // 如果开启了安全签名 + secretKey: "your-sign-secret", // 如果开启了安全签名 ); - + + // 第二步:可选配置项 + await TrustAPPHttpdns.setHttpsRequestEnabled(true); + await TrustAPPHttpdns.setLogEnabled(false); // 生产环境建议关闭 + await TrustAPPHttpdns.setPersistentCacheIPEnabled(true); + await TrustAPPHttpdns.setReuseExpiredIPEnabled(true); + + // 第三步:启动 SDK(必须调用,否则 SDK 不会生效) + await TrustAPPHttpdns.build(); + + // 可选:预解析核心域名,加快首次请求速度 + await TrustAPPHttpdns.setPreResolveHosts(["www.example.com"], ipType: 'both'); + runApp(MyApp()); } ``` @@ -89,8 +119,16 @@ try { Flutter 的 `HttpClient` 默认会发送 SNI。当我们为了防劫持而使用 IP 直连时,服务器可能因为解析不出 SNI 域名而拒绝握手。 **插件解决之道:** -1. **Adapter 自动化**:插件内部会解析目标域名,并在连接 IP 成功后,通过 Dart 的底层 `HttpClient` 注入原始域名作为 `Host`。 -2. **安全绕过**:通过自定义 `badCertificateCallback` 并在内部手动验证证书的真伪性(验证其 SAN/CN),确保在没有 SNI 的情况下依然是可信的 HTTPS 连接。 +1. **Adapter 自动化**:插件内部会解析目标域名,并在连接 IP 成功后,通过 Dart 的底层 `HttpClient` 注入原始域名作为 `Host` 头,确保服务端正常响应。 +2. **证书校验**:默认情况下,`TrustAPPHttpdnsHttpAdapter` 会信任所有证书(适用于 IP 直连场景)。如需严格证书验证,请勿在生产环境启用 `allowInsecureCertificatesForDebugOnly`,该选项仅供调试使用。 + +```dart +final adapter = TrustAPPHttpdns.createHttpAdapter( + options: TrustAPPHttpdnsAdapterOptions( + allowInsecureCertificatesForDebugOnly: false, // 生产环境保持 false + ), +); +``` --- @@ -98,12 +136,19 @@ Flutter 的 `HttpClient` 默认会发送 SNI。当我们为了防劫持而使用 | 接口名 | 功能说明 | | :--- | :--- | -| `init` | **核心**。一站式初始化配置。 | -| `resolveHostSyncNonBlocking` | 立即从本地缓存读取。若缓存未命中则触发后台更新。 | -| `setPreResolveHosts` | 建议在启动后设置,提前加载核心业务域名的 IP。 | -| `setPersistentCacheIPEnabled` | 设置开启/关闭 IP 记录的磁盘持久化缓存。 | -| `createHttpAdapter` | 生成业务请求工具类,自动绕过运营商劫持。 | -| `setLogEnabled` | 开发者调试模式开关。 | +| `init` | **核心**。配置 AppId、apiUrl、secretKey 等参数,必须最先调用。 | +| `build` | **核心**。完成所有配置后调用,正式启动 SDK,缺少此步 SDK 不生效。 | +| `setHttpsRequestEnabled` | 开启/关闭 HTTPS 请求(建议生产环境开启)。需在 `build()` 前调用。 | +| `setLogEnabled` | 开发者调试日志开关,生产环境建议关闭。需在 `build()` 前调用。 | +| `setPersistentCacheIPEnabled` | 开启/关闭 IP 磁盘持久化缓存。需在 `build()` 前调用。 | +| `setReuseExpiredIPEnabled` | 开启/关闭过期 IP 复用(网络差时兜底)。需在 `build()` 前调用。 | +| `setPreResolveHosts` | 预解析域名列表,加快首次业务请求速度。在 `build()` 后调用。 | +| `resolveHostSyncNonBlocking` | 立即从本地缓存读取 IP。若缓存未命中则触发后台更新,本次返回空。 | +| `createHttpAdapter` | 生成业务请求工具类,自动完成域名解析 + IP 直连 + Host 注入。 | +| `setPreResolveAfterNetworkChanged` | 网络切换后是否自动重新预解析。 | +| `setIPRankingList` | 设置 IP 优选列表,按延迟排序优先使用低延迟 IP。 | +| `getSessionId` | 获取当前 SDK 会话 ID,用于日志追踪。 | +| `cleanAllHostCache` | 清除所有域名的本地缓存。 | --- diff --git a/HttpDNSSDK/sdk/android/local-maven/com/newsdk/ams/new-android-httpdns/1.0.0/new-android-httpdns-1.0.0.aar b/HttpDNSSDK/sdk/android/local-maven/com/newsdk/ams/new-android-httpdns/1.0.0/new-android-httpdns-1.0.0.aar new file mode 100644 index 0000000..4b5970e Binary files /dev/null and b/HttpDNSSDK/sdk/android/local-maven/com/newsdk/ams/new-android-httpdns/1.0.0/new-android-httpdns-1.0.0.aar differ diff --git a/HttpDNSSDK/sdk/android/local-maven/com/newsdk/ams/new-android-httpdns/1.0.0/new-android-httpdns-1.0.0.pom b/HttpDNSSDK/sdk/android/local-maven/com/newsdk/ams/new-android-httpdns/1.0.0/new-android-httpdns-1.0.0.pom new file mode 100644 index 0000000..1551aff --- /dev/null +++ b/HttpDNSSDK/sdk/android/local-maven/com/newsdk/ams/new-android-httpdns/1.0.0/new-android-httpdns-1.0.0.pom @@ -0,0 +1,28 @@ + + + 4.0.0 + com.newsdk.ams + new-android-httpdns + 1.0.0 + aar + + + com.newsdk.ams + new-android-logger + 1.2.0 + compile + + + com.newsdk.ams + new-android-crashdefend + 0.0.6 + compile + + + com.newsdk.ams + new-android-ipdetector + 1.2.0 + compile + + + diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns/android/build.gradle b/HttpDNSSDK/sdk/flutter/new_httpdns/android/build.gradle index b85f233..c7ebf6f 100644 --- a/HttpDNSSDK/sdk/flutter/new_httpdns/android/build.gradle +++ b/HttpDNSSDK/sdk/flutter/new_httpdns/android/build.gradle @@ -4,7 +4,7 @@ plugins { } android { - namespace 'com.new.ams.httpdns' + namespace 'com.trustapp.ams.httpdns' compileSdkVersion 34 defaultConfig { @@ -27,7 +27,7 @@ android { dependencies { implementation 'androidx.annotation:annotation:1.8.0' - implementation 'com.new.ams:new-android-httpdns:2.6.7' + implementation 'com.newsdk.ams:new-android-httpdns:1.0.0' } diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-crashdefend/0.0.6/new-android-crashdefend-0.0.6.jar b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-crashdefend/0.0.6/new-android-crashdefend-0.0.6.jar new file mode 100644 index 0000000..c2547d6 Binary files /dev/null and b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-crashdefend/0.0.6/new-android-crashdefend-0.0.6.jar differ diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-crashdefend/0.0.6/new-android-crashdefend-0.0.6.jar.md5 b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-crashdefend/0.0.6/new-android-crashdefend-0.0.6.jar.md5 new file mode 100644 index 0000000..8941135 --- /dev/null +++ b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-crashdefend/0.0.6/new-android-crashdefend-0.0.6.jar.md5 @@ -0,0 +1 @@ +7075d8b26f9b8e2d5bcd1628273e8ba8 \ No newline at end of file diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-crashdefend/0.0.6/new-android-crashdefend-0.0.6.jar.sha1 b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-crashdefend/0.0.6/new-android-crashdefend-0.0.6.jar.sha1 new file mode 100644 index 0000000..6d4a6b1 --- /dev/null +++ b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-crashdefend/0.0.6/new-android-crashdefend-0.0.6.jar.sha1 @@ -0,0 +1 @@ +7dc0248c058c801e06d9b3d321a890bc78d45395 \ No newline at end of file diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-crashdefend/0.0.6/new-android-crashdefend-0.0.6.pom b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-crashdefend/0.0.6/new-android-crashdefend-0.0.6.pom new file mode 100644 index 0000000..0025bb5 --- /dev/null +++ b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-crashdefend/0.0.6/new-android-crashdefend-0.0.6.pom @@ -0,0 +1,10 @@ + + + 4.0.0 + com.newsdk.ams + new-android-crashdefend + 0.0.6 + jar + diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-crashdefend/0.0.6/new-android-crashdefend-0.0.6.pom.md5 b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-crashdefend/0.0.6/new-android-crashdefend-0.0.6.pom.md5 new file mode 100644 index 0000000..21199e9 --- /dev/null +++ b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-crashdefend/0.0.6/new-android-crashdefend-0.0.6.pom.md5 @@ -0,0 +1 @@ +c8d8a825deddeeb608496b28682ce876 \ No newline at end of file diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-crashdefend/0.0.6/new-android-crashdefend-0.0.6.pom.sha1 b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-crashdefend/0.0.6/new-android-crashdefend-0.0.6.pom.sha1 new file mode 100644 index 0000000..31de684 --- /dev/null +++ b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-crashdefend/0.0.6/new-android-crashdefend-0.0.6.pom.sha1 @@ -0,0 +1 @@ +e0cd9c0a4f47f109fe0f90056c4ec7b2f30193b7 \ No newline at end of file diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-httpdns/1.0.0/new-android-httpdns-1.0.0.aar b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-httpdns/1.0.0/new-android-httpdns-1.0.0.aar new file mode 100644 index 0000000..4b5970e Binary files /dev/null and b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-httpdns/1.0.0/new-android-httpdns-1.0.0.aar differ diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-httpdns/1.0.0/new-android-httpdns-1.0.0.pom b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-httpdns/1.0.0/new-android-httpdns-1.0.0.pom new file mode 100644 index 0000000..1551aff --- /dev/null +++ b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-httpdns/1.0.0/new-android-httpdns-1.0.0.pom @@ -0,0 +1,28 @@ + + + 4.0.0 + com.newsdk.ams + new-android-httpdns + 1.0.0 + aar + + + com.newsdk.ams + new-android-logger + 1.2.0 + compile + + + com.newsdk.ams + new-android-crashdefend + 0.0.6 + compile + + + com.newsdk.ams + new-android-ipdetector + 1.2.0 + compile + + + diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-ipdetector/1.2.0/new-android-ipdetector-1.2.0.aar b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-ipdetector/1.2.0/new-android-ipdetector-1.2.0.aar new file mode 100644 index 0000000..843f9d7 Binary files /dev/null and b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-ipdetector/1.2.0/new-android-ipdetector-1.2.0.aar differ diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-ipdetector/1.2.0/new-android-ipdetector-1.2.0.aar.md5 b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-ipdetector/1.2.0/new-android-ipdetector-1.2.0.aar.md5 new file mode 100644 index 0000000..c702692 --- /dev/null +++ b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-ipdetector/1.2.0/new-android-ipdetector-1.2.0.aar.md5 @@ -0,0 +1 @@ +43dfc07ca50c7801fd89c9fcfb22f30d \ No newline at end of file diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-ipdetector/1.2.0/new-android-ipdetector-1.2.0.aar.sha1 b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-ipdetector/1.2.0/new-android-ipdetector-1.2.0.aar.sha1 new file mode 100644 index 0000000..1632ac7 --- /dev/null +++ b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-ipdetector/1.2.0/new-android-ipdetector-1.2.0.aar.sha1 @@ -0,0 +1 @@ +664bfd1fa83b196ec3d9899f35cf2246a11f338c \ No newline at end of file diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-ipdetector/1.2.0/new-android-ipdetector-1.2.0.pom b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-ipdetector/1.2.0/new-android-ipdetector-1.2.0.pom new file mode 100644 index 0000000..2e33eac --- /dev/null +++ b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-ipdetector/1.2.0/new-android-ipdetector-1.2.0.pom @@ -0,0 +1,10 @@ + + + 4.0.0 + com.newsdk.ams + new-android-ipdetector + 1.2.0 + aar + diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-ipdetector/1.2.0/new-android-ipdetector-1.2.0.pom.md5 b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-ipdetector/1.2.0/new-android-ipdetector-1.2.0.pom.md5 new file mode 100644 index 0000000..0c66e28 --- /dev/null +++ b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-ipdetector/1.2.0/new-android-ipdetector-1.2.0.pom.md5 @@ -0,0 +1 @@ +131cf2872ea4f53c89b0308a75fe3052 \ No newline at end of file diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-ipdetector/1.2.0/new-android-ipdetector-1.2.0.pom.sha1 b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-ipdetector/1.2.0/new-android-ipdetector-1.2.0.pom.sha1 new file mode 100644 index 0000000..360da68 --- /dev/null +++ b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-ipdetector/1.2.0/new-android-ipdetector-1.2.0.pom.sha1 @@ -0,0 +1 @@ +21f9551b4cec9963f62553f7a362adebae088244 \ No newline at end of file diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-logger/1.2.0/new-android-logger-1.2.0.aar b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-logger/1.2.0/new-android-logger-1.2.0.aar new file mode 100644 index 0000000..d3bb217 Binary files /dev/null and b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-logger/1.2.0/new-android-logger-1.2.0.aar differ diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-logger/1.2.0/new-android-logger-1.2.0.aar.md5 b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-logger/1.2.0/new-android-logger-1.2.0.aar.md5 new file mode 100644 index 0000000..27f6a92 --- /dev/null +++ b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-logger/1.2.0/new-android-logger-1.2.0.aar.md5 @@ -0,0 +1 @@ +2d05de8679bf77e4345d5ddd528a891d \ No newline at end of file diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-logger/1.2.0/new-android-logger-1.2.0.aar.sha1 b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-logger/1.2.0/new-android-logger-1.2.0.aar.sha1 new file mode 100644 index 0000000..22ce07a --- /dev/null +++ b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-logger/1.2.0/new-android-logger-1.2.0.aar.sha1 @@ -0,0 +1 @@ +26414cbb7afeba800fced49d24a7b78e50d1bcc6 \ No newline at end of file diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-logger/1.2.0/new-android-logger-1.2.0.pom b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-logger/1.2.0/new-android-logger-1.2.0.pom new file mode 100644 index 0000000..051dfd4 --- /dev/null +++ b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-logger/1.2.0/new-android-logger-1.2.0.pom @@ -0,0 +1,10 @@ + + + 4.0.0 + com.newsdk.ams + new-android-logger + 1.2.0 + aar + diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-logger/1.2.0/new-android-logger-1.2.0.pom.md5 b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-logger/1.2.0/new-android-logger-1.2.0.pom.md5 new file mode 100644 index 0000000..70ead43 --- /dev/null +++ b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-logger/1.2.0/new-android-logger-1.2.0.pom.md5 @@ -0,0 +1 @@ +6a34090adc017d9c10eaf7c31eb0b658 \ No newline at end of file diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-logger/1.2.0/new-android-logger-1.2.0.pom.sha1 b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-logger/1.2.0/new-android-logger-1.2.0.pom.sha1 new file mode 100644 index 0000000..7764630 --- /dev/null +++ b/HttpDNSSDK/sdk/flutter/new_httpdns/android/libs/repo/com/newsdk/ams/new-android-logger/1.2.0/new-android-logger-1.2.0.pom.sha1 @@ -0,0 +1 @@ +6d7307701e6ef50dbbaf9a1b6c43022b5d60a41e \ No newline at end of file diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns/android/settings.gradle b/HttpDNSSDK/sdk/flutter/new_httpdns/android/settings.gradle index 03103e4..5583f0d 100644 --- a/HttpDNSSDK/sdk/flutter/new_httpdns/android/settings.gradle +++ b/HttpDNSSDK/sdk/flutter/new_httpdns/android/settings.gradle @@ -8,9 +8,9 @@ pluginManagement { dependencyResolutionManagement { repositories { + maven { url uri(new File(rootDir, 'libs/repo')) } google() mavenCentral() - maven { url 'https://maven.aliyun.com/nexus/content/repositories/releases/' } } } diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns/android/src/main/kotlin/com/new/ams/httpdns/NewHttpDnsPlugin.kt b/HttpDNSSDK/sdk/flutter/new_httpdns/android/src/main/kotlin/com/trustapp/ams/httpdns/TrustAPPHttpDnsPlugin.kt similarity index 97% rename from HttpDNSSDK/sdk/flutter/new_httpdns/android/src/main/kotlin/com/new/ams/httpdns/NewHttpDnsPlugin.kt rename to HttpDNSSDK/sdk/flutter/new_httpdns/android/src/main/kotlin/com/trustapp/ams/httpdns/TrustAPPHttpDnsPlugin.kt index d6d1b98..4003a9f 100644 --- a/HttpDNSSDK/sdk/flutter/new_httpdns/android/src/main/kotlin/com/new/ams/httpdns/NewHttpDnsPlugin.kt +++ b/HttpDNSSDK/sdk/flutter/new_httpdns/android/src/main/kotlin/com/trustapp/ams/httpdns/TrustAPPHttpDnsPlugin.kt @@ -1,13 +1,13 @@ -package com.TrustAPP.ams.httpdns +package com.trustapp.ams.httpdns import android.content.Context import android.util.Log import androidx.annotation.NonNull -import com.Trust.sdk.android.httpdns.HttpDns -import com.Trust.sdk.android.httpdns.HttpDnsService -import com.Trust.sdk.android.httpdns.InitConfig -import com.Trust.sdk.android.httpdns.RequestIpType -import com.Trust.sdk.android.httpdns.log.HttpDnsLog +import com.newsdk.sdk.android.httpdns.HttpDns +import com.newsdk.sdk.android.httpdns.HttpDnsService +import com.newsdk.sdk.android.httpdns.InitConfig +import com.newsdk.sdk.android.httpdns.RequestIpType +import com.newsdk.sdk.android.httpdns.log.HttpDnsLog import io.flutter.embedding.engine.plugins.FlutterPlugin import io.flutter.plugin.common.MethodCall import io.flutter.plugin.common.MethodChannel @@ -268,7 +268,7 @@ class TrustAPPHttpDnsPlugin : FlutterPlugin, MethodCallHandler { try { desiredIPRankingMap?.let { map -> if (map.isNotEmpty()) { - val beanClass = Class.forName("com.Trust.sdk.android.httpdns.ranking.IPRankingBean") + val beanClass = Class.forName("com.newsdk.sdk.android.httpdns.ranking.IPRankingBean") val ctor = beanClass.getConstructor(String::class.java, Int::class.javaPrimitiveType) val list = ArrayList() map.forEach { (host, port) -> diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns/example/.flutter-plugins-dependencies b/HttpDNSSDK/sdk/flutter/new_httpdns/example/.flutter-plugins-dependencies index ac32241..74f24df 100644 --- a/HttpDNSSDK/sdk/flutter/new_httpdns/example/.flutter-plugins-dependencies +++ b/HttpDNSSDK/sdk/flutter/new_httpdns/example/.flutter-plugins-dependencies @@ -1 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"new_httpdns","path":"/Users/robin/product/waf-platform/HttpDNSSDK/sdk/flutter/new_httpdns/","native_build":true,"dependencies":[],"dev_dependency":false}],"android":[{"name":"new_httpdns","path":"/Users/robin/product/waf-platform/HttpDNSSDK/sdk/flutter/new_httpdns/","native_build":true,"dependencies":[],"dev_dependency":false}],"macos":[],"linux":[],"windows":[],"web":[]},"dependencyGraph":[{"name":"new_httpdns","dependencies":[]}],"date_created":"2026-03-05 15:58:08.461101","version":"3.41.4","swift_package_manager_enabled":{"ios":false,"macos":false}} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"new_httpdns","path":"E:\\\\AI_PRODUCT\\\\waf-platform\\\\HttpDNSSDK\\\\sdk\\\\flutter\\\\new_httpdns\\\\","native_build":true,"dependencies":[]}],"android":[{"name":"new_httpdns","path":"E:\\\\AI_PRODUCT\\\\waf-platform\\\\HttpDNSSDK\\\\sdk\\\\flutter\\\\new_httpdns\\\\","native_build":true,"dependencies":[]}],"macos":[],"linux":[],"windows":[],"web":[]},"dependencyGraph":[{"name":"new_httpdns","dependencies":[]}],"date_created":"2026-03-05 19:33:13.827474","version":"3.27.4","swift_package_manager_enabled":false} \ No newline at end of file diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns/example/android/gradle/wrapper/gradle-wrapper.jar b/HttpDNSSDK/sdk/flutter/new_httpdns/example/android/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000..13372ae Binary files /dev/null and b/HttpDNSSDK/sdk/flutter/new_httpdns/example/android/gradle/wrapper/gradle-wrapper.jar differ diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns/example/android/gradlew b/HttpDNSSDK/sdk/flutter/new_httpdns/example/android/gradlew new file mode 100644 index 0000000..9d82f78 --- /dev/null +++ b/HttpDNSSDK/sdk/flutter/new_httpdns/example/android/gradlew @@ -0,0 +1,160 @@ +#!/usr/bin/env bash + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn ( ) { + echo "$*" +} + +die ( ) { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; +esac + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns/example/android/gradlew.bat b/HttpDNSSDK/sdk/flutter/new_httpdns/example/android/gradlew.bat new file mode 100644 index 0000000..8a0b282 --- /dev/null +++ b/HttpDNSSDK/sdk/flutter/new_httpdns/example/android/gradlew.bat @@ -0,0 +1,90 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windowz variants + +if not "%OS%" == "Windows_NT" goto win9xME_args +if "%@eval[2+2]" == "4" goto 4NT_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* +goto execute + +:4NT_args +@rem Get arguments from the 4NT Shell from JP Software +set CMD_LINE_ARGS=%$ + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns/example/android/settings.gradle.kts b/HttpDNSSDK/sdk/flutter/new_httpdns/example/android/settings.gradle.kts index 27fbee1..6593a94 100644 --- a/HttpDNSSDK/sdk/flutter/new_httpdns/example/android/settings.gradle.kts +++ b/HttpDNSSDK/sdk/flutter/new_httpdns/example/android/settings.gradle.kts @@ -20,6 +20,9 @@ dependencyResolutionManagement { // Allow project plugins (like Flutter) to add their own repositories repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS) repositories { + maven { + url = uri("../../android/libs/repo") + } google() mavenCentral() maven { diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns/example/ios/Flutter/Flutter.podspec b/HttpDNSSDK/sdk/flutter/new_httpdns/example/ios/Flutter/Flutter.podspec deleted file mode 100644 index 3aed58d..0000000 --- a/HttpDNSSDK/sdk/flutter/new_httpdns/example/ios/Flutter/Flutter.podspec +++ /dev/null @@ -1,18 +0,0 @@ -# -# This podspec is NOT to be published. It is only used as a local source! -# This is a generated file; do not edit or check into version control. -# - -Pod::Spec.new do |s| - s.name = 'Flutter' - s.version = '1.0.0' - s.summary = 'A UI toolkit for beautiful and fast apps.' - s.homepage = 'https://flutter.dev' - s.license = { :type => 'BSD' } - s.author = { 'Flutter Dev Team' => 'flutter-dev@googlegroups.com' } - s.source = { :git => 'https://github.com/flutter/engine', :tag => s.version.to_s } - s.ios.deployment_target = '13.0' - # Framework linking is handled by Flutter tooling, not CocoaPods. - # Add a placeholder to satisfy `s.dependency 'Flutter'` plugin podspecs. - s.vendored_frameworks = 'path/to/nothing' -end diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns/example/ios/Flutter/Generated.xcconfig b/HttpDNSSDK/sdk/flutter/new_httpdns/example/ios/Flutter/Generated.xcconfig index 1152f9a..c956fbe 100644 --- a/HttpDNSSDK/sdk/flutter/new_httpdns/example/ios/Flutter/Generated.xcconfig +++ b/HttpDNSSDK/sdk/flutter/new_httpdns/example/ios/Flutter/Generated.xcconfig @@ -1,15 +1,14 @@ // This is a generated file; do not edit or check into version control. -FLUTTER_ROOT=/usr/local/share/flutter -FLUTTER_APPLICATION_PATH=/Users/robin/product/waf-platform/HttpDNSSDK/sdk/flutter/new_httpdns/example +FLUTTER_ROOT=D:\software\flutter +FLUTTER_APPLICATION_PATH=E:\AI_PRODUCT\waf-platform\HttpDNSSDK\sdk\flutter\new_httpdns\example COCOAPODS_PARALLEL_CODE_SIGN=true -FLUTTER_TARGET=/Users/robin/product/waf-platform/HttpDNSSDK/sdk/flutter/new_httpdns/example/lib/main.dart +FLUTTER_TARGET=lib\main.dart FLUTTER_BUILD_DIR=build FLUTTER_BUILD_NAME=1.0.0 FLUTTER_BUILD_NUMBER=1 EXCLUDED_ARCHS[sdk=iphonesimulator*]=i386 EXCLUDED_ARCHS[sdk=iphoneos*]=armv7 -DART_DEFINES=RkxVVFRFUl9WRVJTSU9OPTMuNDEuNA==,RkxVVFRFUl9DSEFOTkVMPXN0YWJsZQ==,RkxVVFRFUl9HSVRfVVJMPWh0dHBzOi8vZ2l0aHViLmNvbS9mbHV0dGVyL2ZsdXR0ZXIuZ2l0,RkxVVFRFUl9GUkFNRVdPUktfUkVWSVNJT049ZmYzN2JlZjYwMw==,RkxVVFRFUl9FTkdJTkVfUkVWSVNJT049ZTRiOGRjYTNmMQ==,RkxVVFRFUl9EQVJUX1ZFUlNJT049My4xMS4x DART_OBFUSCATION=false TRACK_WIDGET_CREATION=true TREE_SHAKE_ICONS=false -PACKAGE_CONFIG=/Users/robin/product/waf-platform/HttpDNSSDK/sdk/flutter/new_httpdns/example/.dart_tool/package_config.json +PACKAGE_CONFIG=.dart_tool/package_config.json diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns/example/ios/Flutter/ephemeral/flutter_lldb_helper.py b/HttpDNSSDK/sdk/flutter/new_httpdns/example/ios/Flutter/ephemeral/flutter_lldb_helper.py deleted file mode 100644 index a88caf9..0000000 --- a/HttpDNSSDK/sdk/flutter/new_httpdns/example/ios/Flutter/ephemeral/flutter_lldb_helper.py +++ /dev/null @@ -1,32 +0,0 @@ -# -# Generated file, do not edit. -# - -import lldb - -def handle_new_rx_page(frame: lldb.SBFrame, bp_loc, extra_args, intern_dict): - """Intercept NOTIFY_DEBUGGER_ABOUT_RX_PAGES and touch the pages.""" - base = frame.register["x0"].GetValueAsAddress() - page_len = frame.register["x1"].GetValueAsUnsigned() - - # Note: NOTIFY_DEBUGGER_ABOUT_RX_PAGES will check contents of the - # first page to see if handled it correctly. This makes diagnosing - # misconfiguration (e.g. missing breakpoint) easier. - data = bytearray(page_len) - data[0:8] = b'IHELPED!' - - error = lldb.SBError() - frame.GetThread().GetProcess().WriteMemory(base, data, error) - if not error.Success(): - print(f'Failed to write into {base}[+{page_len}]', error) - return - -def __lldb_init_module(debugger: lldb.SBDebugger, _): - target = debugger.GetDummyTarget() - # Caveat: must use BreakpointCreateByRegEx here and not - # BreakpointCreateByName. For some reasons callback function does not - # get carried over from dummy target for the later. - bp = target.BreakpointCreateByRegex("^NOTIFY_DEBUGGER_ABOUT_RX_PAGES$") - bp.SetScriptCallbackFunction('{}.handle_new_rx_page'.format(__name__)) - bp.SetAutoContinue(True) - print("-- LLDB integration loaded --") diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns/example/ios/Flutter/ephemeral/flutter_lldbinit b/HttpDNSSDK/sdk/flutter/new_httpdns/example/ios/Flutter/ephemeral/flutter_lldbinit deleted file mode 100644 index e3ba6fb..0000000 --- a/HttpDNSSDK/sdk/flutter/new_httpdns/example/ios/Flutter/ephemeral/flutter_lldbinit +++ /dev/null @@ -1,5 +0,0 @@ -# -# Generated file, do not edit. -# - -command script import --relative-to-command-file flutter_lldb_helper.py diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns/example/ios/Flutter/flutter_export_environment.sh b/HttpDNSSDK/sdk/flutter/new_httpdns/example/ios/Flutter/flutter_export_environment.sh index adaa67a..e1d8c44 100755 --- a/HttpDNSSDK/sdk/flutter/new_httpdns/example/ios/Flutter/flutter_export_environment.sh +++ b/HttpDNSSDK/sdk/flutter/new_httpdns/example/ios/Flutter/flutter_export_environment.sh @@ -1,14 +1,13 @@ #!/bin/sh # This is a generated file; do not edit or check into version control. -export "FLUTTER_ROOT=/usr/local/share/flutter" -export "FLUTTER_APPLICATION_PATH=/Users/robin/product/waf-platform/HttpDNSSDK/sdk/flutter/new_httpdns/example" +export "FLUTTER_ROOT=D:\software\flutter" +export "FLUTTER_APPLICATION_PATH=E:\AI_PRODUCT\waf-platform\HttpDNSSDK\sdk\flutter\new_httpdns\example" export "COCOAPODS_PARALLEL_CODE_SIGN=true" -export "FLUTTER_TARGET=/Users/robin/product/waf-platform/HttpDNSSDK/sdk/flutter/new_httpdns/example/lib/main.dart" +export "FLUTTER_TARGET=lib\main.dart" export "FLUTTER_BUILD_DIR=build" export "FLUTTER_BUILD_NAME=1.0.0" export "FLUTTER_BUILD_NUMBER=1" -export "DART_DEFINES=RkxVVFRFUl9WRVJTSU9OPTMuNDEuNA==,RkxVVFRFUl9DSEFOTkVMPXN0YWJsZQ==,RkxVVFRFUl9HSVRfVVJMPWh0dHBzOi8vZ2l0aHViLmNvbS9mbHV0dGVyL2ZsdXR0ZXIuZ2l0,RkxVVFRFUl9GUkFNRVdPUktfUkVWSVNJT049ZmYzN2JlZjYwMw==,RkxVVFRFUl9FTkdJTkVfUkVWSVNJT049ZTRiOGRjYTNmMQ==,RkxVVFRFUl9EQVJUX1ZFUlNJT049My4xMS4x" export "DART_OBFUSCATION=false" export "TRACK_WIDGET_CREATION=true" export "TREE_SHAKE_ICONS=false" -export "PACKAGE_CONFIG=/Users/robin/product/waf-platform/HttpDNSSDK/sdk/flutter/new_httpdns/example/.dart_tool/package_config.json" +export "PACKAGE_CONFIG=.dart_tool/package_config.json" diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns/example/pubspec.lock b/HttpDNSSDK/sdk/flutter/new_httpdns/example/pubspec.lock index 8d8a893..1b446cd 100644 --- a/HttpDNSSDK/sdk/flutter/new_httpdns/example/pubspec.lock +++ b/HttpDNSSDK/sdk/flutter/new_httpdns/example/pubspec.lock @@ -5,74 +5,74 @@ packages: dependency: transitive description: name: async - sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb" - url: "https://pub.dev" + sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" + url: "https://pub.flutter-io.cn" source: hosted - version: "2.13.0" + version: "2.11.0" boolean_selector: dependency: transitive description: name: boolean_selector - sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" - url: "https://pub.dev" + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + url: "https://pub.flutter-io.cn" source: hosted - version: "2.1.2" + version: "2.1.1" characters: dependency: transitive description: name: characters - sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b - url: "https://pub.dev" + sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" + url: "https://pub.flutter-io.cn" source: hosted - version: "1.4.1" + version: "1.3.0" clock: dependency: transitive description: name: clock - sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b - url: "https://pub.dev" + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + url: "https://pub.flutter-io.cn" source: hosted - version: "1.1.2" + version: "1.1.1" collection: dependency: transitive description: name: collection - sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" - url: "https://pub.dev" + sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf + url: "https://pub.flutter-io.cn" source: hosted - version: "1.19.1" + version: "1.19.0" cupertino_icons: dependency: "direct main" description: name: cupertino_icons sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6 - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.0.8" dio: dependency: "direct main" description: name: dio - sha256: d90ee57923d1828ac14e492ca49440f65477f4bb1263575900be731a3dac66a9 - url: "https://pub.dev" + sha256: aff32c08f92787a557dd5c0145ac91536481831a01b4648136373cddb0e64f8c + url: "https://pub.flutter-io.cn" source: hosted - version: "5.9.0" + version: "5.9.2" dio_web_adapter: dependency: transitive description: name: dio_web_adapter - sha256: "7586e476d70caecaf1686d21eee7247ea43ef5c345eab9e0cc3583ff13378d78" - url: "https://pub.dev" + sha256: "2f9e64323a7c3c7ef69567d5c800424a11f8337b8b228bad02524c9fb3c1f340" + url: "https://pub.flutter-io.cn" source: hosted - version: "2.1.1" + version: "2.1.2" fake_async: dependency: transitive description: name: fake_async - sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" - url: "https://pub.dev" + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + url: "https://pub.flutter-io.cn" source: hosted - version: "1.3.3" + version: "1.3.1" flutter: dependency: "direct main" description: flutter @@ -83,7 +83,7 @@ packages: description: name: flutter_lints sha256: "5398f14efa795ffb7a33e9b6a08798b26a180edac4ad7db3f231e40f82ce11e1" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "5.0.0" flutter_test: @@ -95,16 +95,16 @@ packages: dependency: "direct main" description: name: http - sha256: bb2ce4590bc2667c96f318d68cac1b5a7987ec819351d32b1c987239a815e007 - url: "https://pub.dev" + sha256: "87721a4a50b19c7f1d49001e51409bddc46303966ce89a65af4f4e6004896412" + url: "https://pub.flutter-io.cn" source: hosted - version: "1.5.0" + version: "1.6.0" http2: dependency: "direct main" description: name: http2 sha256: "382d3aefc5bd6dc68c6b892d7664f29b5beb3251611ae946a98d35158a82bbfa" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.3.1" http_parser: @@ -112,71 +112,71 @@ packages: description: name: http_parser sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "4.1.2" leak_tracker: dependency: transitive description: name: leak_tracker - sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de" - url: "https://pub.dev" + sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06" + url: "https://pub.flutter-io.cn" source: hosted - version: "11.0.2" + version: "10.0.7" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1" - url: "https://pub.dev" + sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379" + url: "https://pub.flutter-io.cn" source: hosted - version: "3.0.10" + version: "3.0.8" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1" - url: "https://pub.dev" + sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" + url: "https://pub.flutter-io.cn" source: hosted - version: "3.0.2" + version: "3.0.1" lints: dependency: transitive description: name: lints sha256: c35bb79562d980e9a453fc715854e1ed39e24e7d0297a880ef54e17f9874a9d7 - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "5.1.1" matcher: dependency: transitive description: name: matcher - sha256: dc0b7dc7651697ea4ff3e69ef44b0407ea32c487a39fff6a4004fa585e901861 - url: "https://pub.dev" + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb + url: "https://pub.flutter-io.cn" source: hosted - version: "0.12.19" + version: "0.12.16+1" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b" - url: "https://pub.dev" + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + url: "https://pub.flutter-io.cn" source: hosted - version: "0.13.0" + version: "0.11.1" meta: dependency: transitive description: name: meta - sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394" - url: "https://pub.dev" + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 + url: "https://pub.flutter-io.cn" source: hosted - version: "1.17.0" + version: "1.15.0" mime: dependency: transitive description: name: mime sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.0.0" new_httpdns: @@ -190,16 +190,16 @@ packages: dependency: transitive description: name: path - sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" - url: "https://pub.dev" + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" + url: "https://pub.flutter-io.cn" source: hosted - version: "1.9.1" + version: "1.9.0" plugin_platform_interface: dependency: transitive description: name: plugin_platform_interface sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "2.1.8" sky_engine: @@ -211,82 +211,82 @@ packages: dependency: transitive description: name: source_span - sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" - url: "https://pub.dev" + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + url: "https://pub.flutter-io.cn" source: hosted - version: "1.10.1" + version: "1.10.0" stack_trace: dependency: transitive description: name: stack_trace - sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" - url: "https://pub.dev" + sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" + url: "https://pub.flutter-io.cn" source: hosted - version: "1.12.1" + version: "1.12.0" stream_channel: dependency: transitive description: name: stream_channel - sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" - url: "https://pub.dev" + sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 + url: "https://pub.flutter-io.cn" source: hosted - version: "2.1.4" + version: "2.1.2" string_scanner: dependency: transitive description: name: string_scanner - sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" - url: "https://pub.dev" + sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" + url: "https://pub.flutter-io.cn" source: hosted - version: "1.4.1" + version: "1.3.0" term_glyph: dependency: transitive description: name: term_glyph - sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" - url: "https://pub.dev" + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.flutter-io.cn" source: hosted - version: "1.2.2" + version: "1.2.1" test_api: dependency: transitive description: name: test_api - sha256: "8161c84903fd860b26bfdefb7963b3f0b68fee7adea0f59ef805ecca346f0c7a" - url: "https://pub.dev" + sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" + url: "https://pub.flutter-io.cn" source: hosted - version: "0.7.10" + version: "0.7.3" typed_data: dependency: transitive description: name: typed_data sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.4.0" vector_math: dependency: transitive description: name: vector_math - sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b - url: "https://pub.dev" + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.flutter-io.cn" source: hosted - version: "2.2.0" + version: "2.1.4" vm_service: dependency: transitive description: name: vm_service - sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02 - url: "https://pub.dev" + sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b + url: "https://pub.flutter-io.cn" source: hosted - version: "15.0.0" + version: "14.3.0" web: dependency: transitive description: name: web sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a" - url: "https://pub.dev" + url: "https://pub.flutter-io.cn" source: hosted version: "1.1.1" sdks: - dart: ">=3.9.0-0 <4.0.0" + dart: ">=3.6.0 <4.0.0" flutter: ">=3.18.0-18.0.pre.54" diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns/pubspec.yaml b/HttpDNSSDK/sdk/flutter/new_httpdns/pubspec.yaml index ab4cc24..b65ebec 100644 --- a/HttpDNSSDK/sdk/flutter/new_httpdns/pubspec.yaml +++ b/HttpDNSSDK/sdk/flutter/new_httpdns/pubspec.yaml @@ -35,8 +35,8 @@ flutter: plugin: platforms: android: - package: com.new.ams.httpdns - pluginClass: NewHttpDnsPlugin + package: com.trustapp.ams.httpdns + pluginClass: TrustAPPHttpDnsPlugin ios: pluginClass: NewHttpDnsPlugin diff --git a/HttpDNSSDK/sdk/flutter/new_httpdns_flutter_sdk_v1.0.0.zip b/HttpDNSSDK/sdk/flutter/new_httpdns_flutter_sdk_v1.0.0.zip new file mode 100644 index 0000000..fb47668 Binary files /dev/null and b/HttpDNSSDK/sdk/flutter/new_httpdns_flutter_sdk_v1.0.0.zip differ