chore: remove hardcoded fallback domains

This commit is contained in:
2026-08-05 14:53:40 +08:00
parent da64066a21
commit f25bd7abf9
171 changed files with 27 additions and 369 deletions

View File

@@ -17,16 +17,6 @@ public class DataInfo implements Serializable {
public String tgUrl; // tg分享地址
public String wsUrl; //whatsapp分享地址
public String linkConfig;
public String backupDomains;
public String getBackupDomains() {
return backupDomains;
}
public void setBackupDomains(String backupDomains) {
this.backupDomains = backupDomains;
}
public String getLinkConfig() {
return linkConfig;
}

View File

@@ -626,12 +626,11 @@ public class MainActivity extends AppCompatActivity {
@Override
public void onSuccess(Result<DataInfo> o) {
DataInfo dataInfo = o.data;
DataInfo dataInfo = o == null ? null : o.data;
if (dataInfo != null) {
toConfigSet(dataInfo);
} else {
url = getString(MainActivity.this, "base_url", url);
activityMain2Binding.webview.loadUrl(url);
showSiteUrlError();
}
@@ -639,14 +638,12 @@ public class MainActivity extends AppCompatActivity {
@Override
public void onError(int code, String msg) {
url = getString(MainActivity.this, "base_url", url);
activityMain2Binding.webview.loadUrl(url);
showSiteUrlError();
}
@Override
public void onError2(Result<DataInfo> o) {
url = getString(MainActivity.this, "base_url", url);
activityMain2Binding.webview.loadUrl(url);
showSiteUrlError();
}
});
@@ -659,10 +656,11 @@ public class MainActivity extends AppCompatActivity {
return;
}
//后台配置url不为空 去加载
//只加载后台根据 USERID 返回的主网址,不保留本地或备用域名兜底
if (!TextUtils.isEmpty(dataInfo.getUrl())) {
saveString(MainActivity.this, "base_url", dataInfo.getUrl());
toLoadWebUrl(dataInfo);
} else {
showSiteUrlError();
}
//通用外链配置
@@ -850,56 +848,14 @@ public class MainActivity extends AppCompatActivity {
}
}
/**
* 主链接和备用链接 ping 选择最优线路
* @param dataInfo
*/
private void toLoadWebUrl(DataInfo dataInfo) {
//没有备用域名 直接加载主域名
if (TextUtils.isEmpty(dataInfo.getBackupDomains())) {
activityMain2Binding.webview.loadUrl(dataInfo.getUrl());
} else {
//拼接主域名和备用域名的数组
urlList = new ArrayList<>();
urlList.add(dataInfo.getUrl());
String[] urls = dataInfo.getBackupDomains().split(",");
if (urls != null && urls.length > 0) {
for (int i = 0; i < urls.length; i++) {
urlList.add(urls[i]);
}
}
LogUtils.i("地址是啥:" + GsonUtils.beanToJSONString(urlList));
checkUrl(0);
}
url = dataInfo.getUrl();
activityMain2Binding.webview.loadUrl(url);
}
private ArrayList<String> urlList = new ArrayList<>();
int lastCheckIndex = 0;
/**
* ping 最佳线路 加载
* @param index
*/
private void checkUrl(int index) {
lastCheckIndex = index;
Uri uri = Uri.parse(urlList.get(lastCheckIndex));
new Thread(() -> {
String result = PingUtils.ping(uri.getHost());
runOnUiThread(() -> {
if (TextUtils.isEmpty(result)) {
if (lastCheckIndex != urlList.size() - 1) {
checkUrl(lastCheckIndex + 1);
} else {
activityMain2Binding.webview.loadUrl(urlList.get(0));
}
} else {
activityMain2Binding.webview.loadUrl(urlList.get(lastCheckIndex));
}
});
}).start();
private void showSiteUrlError() {
activityMain2Binding.progressError.setVisibility(View.GONE);
onShowErrorView(getString(R.string.site_url_unavailable));
}
private void checkUpdate(String url) {

View File

@@ -1,39 +0,0 @@
package com.webclip.base;
import java.io.BufferedReader;
import java.io.InputStreamReader;
/**
* **********************
*
* @Author bug machine
* 创建时间: 2026/1/16 15:30
* 用途
* **********************
*/
public class PingUtils {
/**
* 执行 ping 命令
* @param address 域名或IP
* @return 返回执行结果
*/
public static String ping(String address) {
StringBuilder result = new StringBuilder();
try {
// -c 4 表示执行4次
Process process = Runtime.getRuntime().exec("ping -c 3 " + address);
BufferedReader reader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
result.append(line).append("\n");
}
reader.close();
process.destroy();
} catch (Exception e) {
result.append("Ping失败: ").append(e.getMessage());
}
return result.toString();
}
}

View File

@@ -51,10 +51,11 @@
<string name="app_toastloading">暂无更多数据</string>
<string name="app_notify_title">通知</string>
<string name="agentweb_loading">Loading…</string>
<string name="site_url_unavailable">无法获取站点地址,请稍后重试</string>
<string name="text_title">文本</string>
<string name="image_title">图片</string>
<string name="link_title">链接</string>
</resources>
</resources>