Comment #33 - Add support for Outlook URLs
This commit is contained in:
parent
53ee824793
commit
dc40a3c558
|
@ -98,6 +98,9 @@ public class CheckAppActivity extends AppCompatActivity {
|
|||
"bibliogram.dsrev.ru",
|
||||
"bibliogram.pussthecat.org"
|
||||
};
|
||||
|
||||
public static String outlook_safe_domain = "safelinks.protection.outlook.com";
|
||||
|
||||
private RecyclerView list_apps;
|
||||
private String[] domains;
|
||||
|
||||
|
|
|
@ -26,6 +26,7 @@ import android.util.Patterns;
|
|||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.net.URLDecoder;
|
||||
import java.net.URLEncoder;
|
||||
import java.util.Arrays;
|
||||
import java.util.Objects;
|
||||
|
@ -39,6 +40,7 @@ import static app.fedilab.nitterizeme.activities.CheckAppActivity.bibliogram_ins
|
|||
import static app.fedilab.nitterizeme.activities.CheckAppActivity.instagram_domains;
|
||||
import static app.fedilab.nitterizeme.activities.CheckAppActivity.invidious_instances;
|
||||
import static app.fedilab.nitterizeme.activities.CheckAppActivity.nitter_instances;
|
||||
import static app.fedilab.nitterizeme.activities.CheckAppActivity.outlook_safe_domain;
|
||||
import static app.fedilab.nitterizeme.activities.CheckAppActivity.shortener_domains;
|
||||
import static app.fedilab.nitterizeme.activities.CheckAppActivity.twitter_domains;
|
||||
import static app.fedilab.nitterizeme.activities.CheckAppActivity.youtube_domains;
|
||||
|
@ -54,6 +56,7 @@ import static app.fedilab.nitterizeme.helpers.Utils.manageShortened;
|
|||
import static app.fedilab.nitterizeme.helpers.Utils.manageShortenedShare;
|
||||
import static app.fedilab.nitterizeme.helpers.Utils.maps;
|
||||
import static app.fedilab.nitterizeme.helpers.Utils.nitterPattern;
|
||||
import static app.fedilab.nitterizeme.helpers.Utils.outlookRedirect;
|
||||
import static app.fedilab.nitterizeme.helpers.Utils.remove_tracking_param;
|
||||
import static app.fedilab.nitterizeme.helpers.Utils.transformUrl;
|
||||
import static app.fedilab.nitterizeme.helpers.Utils.youtubePattern;
|
||||
|
@ -259,6 +262,17 @@ public class TransformActivity extends Activity {
|
|||
|
||||
}
|
||||
forwardToBrowser(TransformActivity.this, intent);
|
||||
} else if (host != null && host.contains(outlook_safe_domain)) {
|
||||
Matcher matcher = outlookRedirect.matcher(url);
|
||||
if (matcher.find()) {
|
||||
url = matcher.group(3);
|
||||
try {
|
||||
url = URLDecoder.decode(url, "UTF-8");
|
||||
} catch (UnsupportedEncodingException ignored) {
|
||||
}
|
||||
}
|
||||
intent.setData(Uri.parse(url));
|
||||
forwardToBrowser(TransformActivity.this, intent);
|
||||
} else {
|
||||
String newUrl = remove_tracking_param(url);
|
||||
try {
|
||||
|
|
|
@ -89,12 +89,14 @@ public class Utils {
|
|||
public static final Pattern youtubePattern = Pattern.compile("(www\\.|m\\.)?(youtube\\.com|youtu\\.be|youtube-nocookie\\.com)/(((?!([\"'<])).)*)");
|
||||
public static final Pattern nitterPattern = Pattern.compile("(mobile\\.|www\\.)?twitter.com([\\w-/]+)");
|
||||
public static final Pattern bibliogramPostPattern = Pattern.compile("(m\\.|www\\.)?instagram.com(/p/[\\w-/]+)");
|
||||
|
||||
public static final Pattern bibliogramAccountPattern = Pattern.compile("(m\\.|www\\.)?instagram.com(((?!/p/).)+)");
|
||||
public static final Pattern maps = Pattern.compile("/maps/place/([^@]+@)?([\\d.,z]+).*");
|
||||
public static final Pattern ampExtract = Pattern.compile("amp/s/(.*)");
|
||||
public static final String RECEIVE_STREAMING_URL = "receive_streaming_url";
|
||||
private static final Pattern extractPlace = Pattern.compile("/maps/place/(((?!/data).)*)");
|
||||
private static final Pattern googleRedirect = Pattern.compile("https?://(www\\.)?google(\\.\\w{2,})?(\\.\\w{2,})/url\\?q=(.*)");
|
||||
public static final Pattern outlookRedirect = Pattern.compile("(.*)safelinks\\.protection\\.outlook\\.com/?[?]?((?!url).)*url=([^&]+)");
|
||||
private static final String[] G_TRACKING = {
|
||||
"sourceid",
|
||||
"aqs",
|
||||
|
|
Loading…
Reference in New Issue