Skip to content

Commit

Permalink
Update index.html
Browse files Browse the repository at this point in the history
Add support for providing the redirect URL in the URL fragment segment
  • Loading branch information
HTTPSRedirector committed Jun 14, 2024
1 parent ef73c5e commit 82136b9
Showing 1 changed file with 39 additions and 1 deletion.
40 changes: 39 additions & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,40 @@ <h2>HTTPS Redirector</h2>
return str.replace(/"/g, '%22').replace(/>/g, '%3c').replace(/</g, '%3e').replace(/\n/g, '%0a').replace(/\r/g, '%0d');
}

function getFragmentParameters() {
// Parse the URL fragment like the URL query segment
var fragment = window.location.hash.substring(1);
var params = {};
var paramPairs = fragment.split('&');
paramPairs.forEach(function(pair) {
var keyValue = pair.split('=');
var key = decodeURIComponent(keyValue[0]);
var value = decodeURIComponent(keyValue[1] || '');
params[key] = value;
});
return params;
}

function getFragmentParam(key, defaultVal=null) {
var params = getFragmentParameters();
var paramVal = params[key];
if ((paramVal == null || paramVal == '') && defaultVal != null) {
return defaultVal;
}
return paramVal;
}

function getFragmentParamWithAnyKey(keys, defaultVal=null) {
var paramVal = null;
for (var k of keys) {
paramVal = getFragmentParam(k);
if (paramVal) {
break;
}
}
return paramVal ? paramVal : defaultVal;
}

function getUrlParam(key, defaultVal=null) {
var queryString = window.location.search;
var urlParams = new URLSearchParams(queryString);
Expand Down Expand Up @@ -90,7 +124,11 @@ <h2>HTTPS Redirector</h2>
function getRedirectUrl() {
var redirectUrl = document.getElementById('redirect-url').value;
if (!redirectUrl) {
redirectUrl = getUrlParamWithAnyKey(['redirectUrl', 'redirect', 'url', 'uri', 'r', 'u',], null);
var paramKeys = ['redirectUrl', 'redirect', 'url', 'uri', 'r', 'u',];
redirectUrl = getUrlParamWithAnyKey(paramKeys, null);
if (!redirectUrl) {
redirectUrl = getFragmentParamWithAnyKey(paramKeys, null);
}
}
redirectUrl = fixRedirectUrl(redirectUrl);
return redirectUrl;
Expand Down

0 comments on commit 82136b9

Please sign in to comment.