diff --git a/app/src/main/java/com/github/tvbox/osc/player/thirdparty/RemoteTVBox.java b/app/src/main/java/com/github/tvbox/osc/player/thirdparty/RemoteTVBox.java index c62dba75..cec63056 100644 --- a/app/src/main/java/com/github/tvbox/osc/player/thirdparty/RemoteTVBox.java +++ b/app/src/main/java/com/github/tvbox/osc/player/thirdparty/RemoteTVBox.java @@ -74,7 +74,7 @@ public class RemoteTVBox { avalibleFailNum = 0; avalibleSuccessNum = 0; String localIp = RemoteServer.getLocalIPAddress(App.getInstance()); - List searchList = new IpScanning().search(localIp); + List searchList = new IpScanning().search(localIp, false); avalibleIpNum = searchList.size(); int port = 9978; for(IpScanningVo one : searchList) { diff --git a/app/src/main/java/com/github/tvbox/osc/server/ControlManager.java b/app/src/main/java/com/github/tvbox/osc/server/ControlManager.java index edb14b3a..006568af 100644 --- a/app/src/main/java/com/github/tvbox/osc/server/ControlManager.java +++ b/app/src/main/java/com/github/tvbox/osc/server/ControlManager.java @@ -80,7 +80,7 @@ public class ControlManager { @Override public void onPushReceived(String url) { - Matcher m = Pattern.compile("(https?://[A-Za-z0-9:_@$#\\/\\.\\?\\=\\&\\%\\-]+)").matcher(url); + Matcher m = Pattern.compile("(https?://[A-Za-z0-9:_@$#\\|\\/\\.\\?\\=\\&\\%\\-]+)").matcher(url); String finalUrl = url; if (m.find()) { finalUrl = m.group(1); diff --git a/app/src/main/java/com/github/tvbox/osc/ui/activity/PlayActivity.java b/app/src/main/java/com/github/tvbox/osc/ui/activity/PlayActivity.java index 1d944417..e29dfd33 100644 --- a/app/src/main/java/com/github/tvbox/osc/ui/activity/PlayActivity.java +++ b/app/src/main/java/com/github/tvbox/osc/ui/activity/PlayActivity.java @@ -1468,7 +1468,7 @@ public class PlayActivity extends BaseActivity { url = loadFoundVideoUrls.poll(); mHandler.removeMessages(100); String cookie = CookieManager.getInstance().getCookie(url); - if(!TextUtils.isEmpty(cookie))headers.put("Cookie", cookie);//携带cookie + if(!TextUtils.isEmpty(cookie))headers.put("Cookie", " " + cookie);//携带cookie playUrl(url, headers); stopLoadWebView(false); } @@ -1652,7 +1652,7 @@ public class PlayActivity extends BaseActivity { mHandler.removeMessages(100); url = loadFoundVideoUrls.poll(); String cookie = CookieManager.getInstance().getCookie(url); - if(!TextUtils.isEmpty(cookie))webHeaders.put("Cookie", cookie);//携带cookie + if(!TextUtils.isEmpty(cookie))webHeaders.put("Cookie", " " + cookie);//携带cookie playUrl(url, webHeaders); stopLoadWebView(false); } diff --git a/app/src/main/java/com/github/tvbox/osc/ui/activity/PushActivity.java b/app/src/main/java/com/github/tvbox/osc/ui/activity/PushActivity.java index cbdbb67e..ab6c33f3 100644 --- a/app/src/main/java/com/github/tvbox/osc/ui/activity/PushActivity.java +++ b/app/src/main/java/com/github/tvbox/osc/ui/activity/PushActivity.java @@ -46,7 +46,7 @@ public class PushActivity extends BaseActivity { if (manager.hasPrimaryClip() && manager.getPrimaryClip() != null && manager.getPrimaryClip().getItemCount() > 0) { ClipData.Item addedText = manager.getPrimaryClip().getItemAt(0); String clipText = addedText.getText().toString().trim(); - Matcher m = Pattern.compile("(https?://[A-Za-z0-9:_@$#\\/\\.\\?\\=\\&\\%\\-]+)").matcher(clipText); + Matcher m = Pattern.compile("(https?://[A-Za-z0-9:_@$#\\|\\/\\.\\?\\=\\&\\%\\-]+)").matcher(clipText); if (m.find()) { clipText = m.group(1); } diff --git a/app/src/main/java/com/github/tvbox/osc/ui/fragment/PlayFragment.java b/app/src/main/java/com/github/tvbox/osc/ui/fragment/PlayFragment.java index d8ad9d4f..fde6dbdc 100644 --- a/app/src/main/java/com/github/tvbox/osc/ui/fragment/PlayFragment.java +++ b/app/src/main/java/com/github/tvbox/osc/ui/fragment/PlayFragment.java @@ -1487,7 +1487,7 @@ public class PlayFragment extends BaseLazyFragment { url = loadFoundVideoUrls.poll(); mHandler.removeMessages(100); String cookie = CookieManager.getInstance().getCookie(url); - if(!TextUtils.isEmpty(cookie))headers.put("Cookie", cookie);//携带cookie + if(!TextUtils.isEmpty(cookie))headers.put("Cookie", " " + cookie);//携带cookie playUrl(url, headers); stopLoadWebView(false); } @@ -1672,7 +1672,7 @@ public class PlayFragment extends BaseLazyFragment { mHandler.removeMessages(100); url = loadFoundVideoUrls.poll(); String cookie = CookieManager.getInstance().getCookie(url); - if(!TextUtils.isEmpty(cookie))webHeaders.put("Cookie", cookie);//携带cookie + if(!TextUtils.isEmpty(cookie))webHeaders.put("Cookie", " " + cookie);//携带cookie playUrl(url, webHeaders); stopLoadWebView(false); } diff --git a/app/src/main/java/com/github/tvbox/osc/util/DefaultConfig.java b/app/src/main/java/com/github/tvbox/osc/util/DefaultConfig.java index 995c4d0e..467781c4 100644 --- a/app/src/main/java/com/github/tvbox/osc/util/DefaultConfig.java +++ b/app/src/main/java/com/github/tvbox/osc/util/DefaultConfig.java @@ -106,31 +106,6 @@ public class DefaultConfig { return start > -1 ? fileName.substring(0, start) : fileName; } -// private static final String[] videoSuffix = {"m3u8","mp4","flv","avi","mkv","rm","wmv","mpg"}; -// public static boolean isVideoFormat(String url) { -// if (url.contains("=http")) { -// return false; -// } -// Uri uri = Uri.parse(url); -// String path = uri.getPath(); -// if (path == null || path.isEmpty()) { -// return false; -// } -// if (path.endsWith(".js") || path.endsWith(".css") || path.endsWith(".html")) { -// return false; -// } -// String query = uri.getQuery(); -// if (query != null && query.startsWith("http")) { -// return false; -// } -// for(String oneSubfix : videoSuffix) { -// if (path.contains("." + oneSubfix)) { -// return true; -// } -// } -// return false; -// } - private static final Pattern snifferMatch = Pattern.compile( "http((?!http).){20,}?\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg)\\?.*|" + "http((?!http).){20,}\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg)|" + diff --git a/app/src/main/java/com/github/tvbox/osc/util/IpScanning.java b/app/src/main/java/com/github/tvbox/osc/util/IpScanning.java index d671f8fd..48cd1a2a 100644 --- a/app/src/main/java/com/github/tvbox/osc/util/IpScanning.java +++ b/app/src/main/java/com/github/tvbox/osc/util/IpScanning.java @@ -38,14 +38,21 @@ public class IpScanning { * 通过IP扫描对应网段中可以使用的网段 * @param ips 输入的IP */ - public List search(String ips) { + public List search(String ips, boolean all) { //清空缓存 ipScanningVos.clear(); int divisionIp = ips.lastIndexOf("."); String substring = ips.substring(0, divisionIp + 1); + + String last = ips.substring(divisionIp + 1); + int end = Integer.parseInt(last) + 30; //搜索范围不是全部,缩小范围 + end = end > 255 ? 255 : end; + if (all) end = 255; + int total = end; + //扫描对应网段中的所有Ip - BlockingQueue queue = new ArrayBlockingQueue<>(255); - for (int i = 1; i < 255; i++) { + BlockingQueue queue = new ArrayBlockingQueue<>(total); + for (int i = 1; i < total; i++) { String iip = substring + i; threadPool.submit(new PingIp(iip, queue)); }