revert: remove local fallback domains

This commit is contained in:
2026-08-05 15:54:27 +08:00
parent 5e6520c258
commit 63a12890c3
171 changed files with 36 additions and 378 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

@@ -598,17 +598,16 @@ 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) {
if (dataInfo.getIsUse() == 0) {
MainActivity.this.finish();
return;
}
if (!TextUtils.isEmpty(dataInfo.getUrl())) {
saveString(MainActivity.this, "base_url", dataInfo.getUrl());
toLoadWebUrl(dataInfo);
} else {
showSiteUrlError();
}
String link = dataInfo.getLinkConfig();
@@ -686,8 +685,7 @@ public class MainActivity extends AppCompatActivity {
activityMain2Binding.layoutOtherapp.setVisibility(View.GONE);
}
} else {
url = getString(MainActivity.this, "base_url", url);
activityMain2Binding.webview.loadUrl(url);
showSiteUrlError();
}
@@ -695,60 +693,25 @@ 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();
}
});
}
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;
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) {
@@ -898,13 +861,9 @@ public class MainActivity extends AppCompatActivity {
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
super.onReceivedError(view, request, error);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
int errorCode = error.getErrorCode();
String errorMessage = error.getDescription().toString();
String currentUrl = request.getUrl().toString();
if ((errorCode == -2 || errorCode == -6) && currentUrl.contains(url)) {
if (request.isForMainFrame()) {
onShowErrorView(errorMessage);
} else {
onShowNetView();
}
}
activityMain2Binding.progressbar.setVisibility(View.GONE);
@@ -919,10 +878,8 @@ public class MainActivity extends AppCompatActivity {
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
super.onReceivedError(view, errorCode, description, failingUrl);
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
if ((errorCode == -2 || errorCode == -6) && failingUrl.contains(url)) {
if (isMainPageUrl(failingUrl)) {
onShowErrorView(description);
} else {
onShowNetView();
}
}
activityMain2Binding.progressbar.setVisibility(View.GONE);
@@ -1034,6 +991,12 @@ public class MainActivity extends AppCompatActivity {
}
};
private boolean isMainPageUrl(String targetUrl) {
return TextUtils.equals(targetUrl, url)
|| TextUtils.equals(targetUrl, url + "index")
|| TextUtils.equals(targetUrl, url + "/index");
}
private boolean isToOutSideUrl(String url1) {
return url1.contains("facebook") || url1.contains("https://t.me") ||
url1.contains("instagram") || url1.contains("https://x.com") || url1.contains("https://wa.me") ||

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>