on mobiles, go to real page to get reactivity

This commit is contained in:
Ville Rantanen
2021-05-26 19:34:15 +03:00
parent 1f01eb4aaa
commit 425229b39d

View File

@@ -199,6 +199,7 @@ def generate_index(opts):
files = [f for f in files if f != opts.filename] files = [f for f in files if f != opts.filename]
files = [f for f in files if f != opts.password_filename] files = [f for f in files if f != opts.password_filename]
files = match_files(files, opts.includes) files = match_files(files, opts.includes)
dirs = match_files(dirs, opts.includes)
dirs.sort() dirs.sort()
files.sort() files.sort()
files.sort(key=lambda x: x.find("/") > 0) files.sort(key=lambda x: x.find("/") > 0)
@@ -318,7 +319,7 @@ def get_password_page(secret, target_base, target_ext):
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="shortcut icon" href="data:image/x-icon;," type="image/x-icon"> <link rel="shortcut icon" href="data:image/x-icon;," type="image/x-icon">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1, height=device-height, viewport-fit=cover">
<title>Password required</title> <title>Password required</title>
<script language="JavaScript"> <script language="JavaScript">
Object.defineProperty(String.prototype, 'hashCode', { Object.defineProperty(String.prototype, 'hashCode', {
@@ -332,6 +333,9 @@ Object.defineProperty(String.prototype, 'hashCode', {
return hash; return hash;
} }
}); });
function isMobile () {
return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
}
function scramble(p,t) { function scramble(p,t) {
p += t; p += t;
var sstr = ''; var sstr = '';
@@ -360,9 +364,14 @@ function pw(element) {
if (element.value) { if (element.value) {
pw = pw.split(':',2); pw = pw.split(':',2);
if (element.value.hashCode() == parseInt(pw[0])) { if (element.value.hashCode() == parseInt(pw[0])) {
let unscrambled = "TARGET_BASE." + unscramble(element.value, atob(pw[1])) + "TARGET_EXT"
if (isMobile()) {
document.location.replace(unscrambled);
return
}
document.getElementById("body").innerHTML = ''; document.getElementById("body").innerHTML = '';
var frame = document.createElement("iframe"); var frame = document.createElement("iframe");
frame.src = "TARGET_BASE." + unscramble(element.value, atob(pw[1])) + "TARGET_EXT"; frame.src = unscrambled;
document.getElementById("body").appendChild(frame); document.getElementById("body").appendChild(frame);
} else { } else {
document.getElementById("message").innerHTML = "No match"; document.getElementById("message").innerHTML = "No match";
@@ -427,6 +436,7 @@ def get_header(opts):
<html> <html>
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, height=device-height, viewport-fit=cover">
<meta name="generator" content="SimpleWebPage """ <meta name="generator" content="SimpleWebPage """
+ VERSION + VERSION
+ """" /> + """" />