<!DOCTYPE html>
<!--
Author: Twily 2023
-->
<html lang="en">
<head>
<meta charset="utf-8">
<meta name='viewport' content='width=device-width,initial-scale=1'>
<title>Simple Homepage</title>
<style type="text/css">
html,body {
width: 100%; height: 100%;
margin: 0; padding: 0;
background: #000;
font-size: 1.2em;
font-weight: bold;
color: #600;
text-shadow: -1px -1px #F00, -1px 1px #F00, 1px 1px #F00, 1px -1px #F00;
font-family: monospace;
}
* {
/*outline: 1px solid #f0f;*/
box-sizing: border-box;
}
#backlay {
position: fixed; top: 0; left: 0;
width: 100%; height: 100%;
/*background: url('file:///home/amalie/Pictures/sakurawallpapere/sakuradungeon2.png') no-repeat center center transparent;
background-size: cover;*/
z-index: 1;
}
#overlay {
position: fixed; top: 0; left: 0;
width: 100%; height: 100%;
background: rgba(255,0,255,0);
box-shadow: 0px 0px 15px rgba(0,0,0,.5) inset;
z-index: 10;
}
#container {
position: absolute; top: 0; left: 0;
width: 100%; height: 100%;
display: flex;
flex-flow: row wrap;
align-items: center;
z-index: 20;
}
#content {
position: relative;
width: 100%; height: auto; /* 100% to stretch flex */
/*border: 1px solid #f00;*/
display: flex;
/*flex-flow: column wrap;*/
/*justify-content: center;*/ /* center horizontal */
/*align-items: center;*/
flex-flow: row wrap;
}
#content .kbox {
display: inline-block;
padding-left: 10px;
/*padding-top: 10px;*/
/*background: rgba(0,0,0,.2);
padding: 20px;
margin: 20px;
border-radius: 20px;
box-shadow: 0 0 5px rgba(0,0,0,.6);*/
}
.kbox span, .kbox i {
cursor: default;
}
#content ul {
list-style: none;
padding: 0;
}
#content ul li {
/*border-right: 2px solid #f0f;*/
}
.dlink {
position: fixed; top: 0; right: 0;
padding: 4px 8px !important;
background: rgba(255,255,255,.2);
border-radius: 2px;
color: #fff !important;
z-index: 30;
font-size: 0.7em !important;
}
a:link, a:visited {
display: inline-block; width: auto; /* '100%' for max width list box or 'auto' */
font-size: 1.4em;
padding: 0 4px;
border-radius: 2px;
color: #000;
text-shadow: -1px -1px #FFF, -1px 1px #FFF, 1px 1px #FFF, 1px -1px #FFF;
text-decoration: none;
}
a:hover, a:active, .selected { color: #FFF; }
</style>
<script type="text/javascript">
var $=function(id) { return document.getElementById(id); };
var enableLS=(typeof(Storage)!=="undefined")?true:false;
var rndMinMax=function(min,max) { return Math.floor(Math.random()*(max-min+1)+min); }
var IsJsonString=function(str) { try { JSON.parse(str); } catch(e) { return false; } return true; }
var picpath="/img/rndwp/"; // preset path part
var pictures=[ // relative or full path as used un url('') css file:/// or ./
"sakuradungeon2.png",
"sakuradungeon1.png",
"a422b570937839144f87f34a132b9d8d.jpg",
"ana_wide_w.jpg",
"59255f4a41981fac71c3f8d5f13e464d.jpg",
"98a56e8cb06d1197fb60deef7f55e5b8.jpg",
];
var links={ // category|name-link-favicon? fav not implemented--placeholder
analiestar: [
["","analiestar.com",""],
["","twily.info",""],
["","chaturbate.com/analiestar",""],
["","pornhub.com/pornstar/analie-star",""],
["","analiestar.manyvids.com",""],
["","fancentro.com/analiestar",""],
["","onlyfans.com/analiestar",""],
["","twitter.com/analiestar",""],
["","instagram.com/analiestar",""],
],
shopping: [
["","ebay.com",""],
["","aliexpress.com",""],
["","amazon.com",""],
["","www.dresslily.com",""],
["","www.gearbest.com",""],
],
banking: [
["","paxum.com",""],
["","dnb.no",""],
["","altinn.no",""],
["","digipost.no",""],
["","coinbase.com",""],
],
administration: [
["","panel.op-net.com/login",""],
["","panel.bunny.net/user/login",""],
["","webhostgb.com",""],
["","panel.dreamhost.com",""],
["","analiestar.com/acpp.php",""],
],
news: [
["","oa.no",""],
["","reddit.com/r/all",""],
["","boards.4chan.org",""],
],
media: [
["","youtube.com",""],
["","music.youtube.com",""],
],
localhost: [
["VideoBox","http://10.0.0.138",""],
["Router","http://10.0.0.1",""],
],
};
function randomwallpaper() {
var lastwall=-1;
if(enableLS) {
if(localStorage.getItem('last-wp')) {
lastwall=localStorage.getItem('last-wp');
}
}
var rndwall=lastwall;
while(rndwall==lastwall && pictures.length>1) {
rndwall=rndMinMax(0,pictures.length-1);
}
if(rndwall==lastwall) rndwall=0;
lastwall=rndwall;
if(enableLS) {
localStorage.setItem('last-wp',lastwall);
}
var wallpath=picpath+pictures[rndwall];
//$('backlay').style.background="#000";
var img=new Image();
img.onload=function(e) {
$('backlay').style.background="url('"+wallpath+"') no-repeat center center transparent";
$('backlay').style.backgroundSize="cover";
}
img.src=wallpath;
//wallpath="https://analiestar.com/randomselfie.php?name=amalie&id=VDDIM-7Y6R0-T0WT9-UIWKL";
//fetch(wallpath).then(resp => resp.blob()).then(blob => {
// const url=window.URL.createObjectURL(blob);
// const a=document.createElement('a');
// a.className="dlink";
// a.href=url;
// a.appendChild(document.createTextNode('DL Selfie'));
// var dT=new Date().getTime();
// a.download="Selfiedownload-"+dT+".jpg";
// document.body.appendChild(a);
// $('backlay').style.background="url('"+url+"') no-repeat center center transparent";
// $('backlay').style.backgroundSize="cover";
//}).catch(() => console.log('Error occurred creating blob'));
}
function randomcolors() {
var colMin=25;
var colMax=225;
var colMix=75;
var blur="3px" // default 1px
var opaq=80; // 0-200 link opacity
opaq=opaq*100/200/100; // double down for shadow+bg
var colors=[];
while(colors.length<3) {
var color=[];
for(var i=0;i<3;i++) color[i]=Math.floor((rndMinMax(colMin,colMax)+colMix)/2);
colors.push(color);
}
var rgba1="rgba("+colors[0][0]+","+colors[0][1]+","+colors[0][2]+",1)"; // rgba1
var highest=-1;
var highestidx=-1;
for(var i=0;i<3;i++) {
if(colors[0][i]>highest) {
highest=colors[0][i];
highestidx=i;
}
}
colors[0][highestidx]=255;
var rgba2="rgba("+colors[0][0]+","+colors[0][1]+","+colors[0][2]+",1)"; // rgba2
//var rgba2="rgba("+Math.round(colors[0][0]*.7)+","+Math.round(colors[0][1]*.7)+","+Math.round(colors[0][2]*.7)+",1);";
var rgba4="rgba("+colors[1][0]+","+colors[1][1]+","+colors[1][2]+","+opaq+")"; // rgna4 (switch rgba4 and rgba3 for darker links)
var lowest=255;
var lowestidx=-1;
for(var i=0;i<3;i++) {
if(colors[1][i]<lowest) {
lowest=colors[1][i];
lowestidx=i;
}
}
colors[1][lowestidx]=0;
var rgba3="rgba("+colors[1][0]+","+colors[1][1]+","+colors[1][2]+","+opaq+")"; // rgba3
var rgba5="rgba("+colors[1][0]+","+colors[1][1]+","+colors[1][2]+",.5)";
//console.log(colors);
var styles=document.getElementsByTagName('style');
for(var i=0;i<styles.length;i++) {
if(styles[i].innerHTML.indexOf('/* custom color css */')!=-1) {
styles[i].parentNode.removeChild(styles[i]);
}
}
var ncss="/* custom color css */";
ncss+="html,body{";
ncss+=" color: "+rgba2+";"; // title/category inside color
ncss+=" text-shadow: -1px -1px "+rgba1+", -1px 1px "+rgba1+", 1px 1px "+rgba1+", 1px -1px "+rgba1+";";
ncss+="}";
ncss+="a:link, a:visited {";
ncss+=" color: "+rgba4+";"; // link inside color
ncss+=" text-shadow: -1px -1px "+blur+" "+rgba3+", -1px 1px "+blur+" "+rgba3+", 1px 1px "+blur+" "+rgba3+", 1px -1px "+blur+" "+rgba3+";";
ncss+="}";
ncss+="a:hover, a:active, .selected { background: "+rgba5+"; color: "+rgba2+" !important }";
//ncss+="#content ul li {";
//ncss+=" border-right: 2px solid "+rgba5+";";
//ncss+="}";
// comment out this to use fixed colors in css only
var style=document.createElement('style');
style.type="text/css";
style.innerHTML=ncss;
document.getElementsByTagName('head')[0].appendChild(style);
}
var highestn=0;
function init() {
randomwallpaper();
randomcolors();
var n=0;
for(var k in links) { // create links
if(links.hasOwnProperty(k)) {
var kbox=document.createElement('div');
kbox.className="kbox";
//console.log("key="+k+" value="+links[k][0]);
var kcat=document.createElement('span');
//kcat.insertAdjacentHTML('beforeend',whtml);
kcat.appendChild(document.createTextNode(k));
kbox.appendChild(kcat);
var kul=document.createElement('ul');
var klen=links[k].length;
for(var j=0;j<klen;j++) {
var kli=document.createElement('li');
var klnk=document.createElement('a');
var lprot="https://";
var lhref=links[k][j][1];
var ltext=lhref;
if(ltext.substr(0,4)=="www.") {
ltext=ltext.substr(4); // hide www.
}
var ksubt="";
if(links[k][j][0]!="") {
ksubt=ltext;
ltext=links[k][j][0];
if(ksubt.substr(0,7)=="http://" || ksubt.substr(0,8)=="https://" && ksubt.substr(0,6)=="ftp://") {
ksubt=ksubt.substr(ksubt.indexOf("://")+3); // hide protocol
}
//var ksub=document.createElement('i');
var ksub=document.createElement('span');
ksub.appendChild(document.createTextNode(" ("+ksubt+")"));
}
if(lhref.substr(0,7)!="http://" && lhref.substr(0,8)!="https://" && lhref.substr(0,6)!="ftp://") {
lhref=lprot+lhref; // add default protocol
}
klnk.href=lhref;
klnk.target="_self";
n++;
highestn=n;
klnk.id="lnk"+n;
klnk.appendChild(document.createTextNode("["+n+"] "+ltext));
kli.appendChild(klnk);
if(ksubt!="") {
//kli.appendChild(document.createTextNode(" ("+ksubt+")"));
kli.appendChild(ksub);
}
kul.appendChild(kli);
}
kbox.appendChild(kul);
}
$('content').appendChild(kbox);
}
}
var tpad="";
function redraw_select() { // for key select
var elms=$('content').getElementsByTagName('a');
for(var i=0;i<elms.length;i++) {
elms[i].className="";
}
if(tpad!="") {
for(var i=0;i<=9;i++) {
var tid="lnk"+tpad+i;
if($(tid)) {
$(tid).className="selected";
}
}
if($('lnk'+tpad)) {
$('lnk'+tpad).className="selected";
}
}
}
document.addEventListener('keyup',function(e) {
var cod=e.keyCode;
//alert(cod);
if(cod>=96 && cod<=105) { // pad0-9
cod-=48; // convert num
}
if(cod==13) { // enter
e.preventDefault();
if(tpad!="") {
//alert("opening "+tpad);
if($('lnk'+tpad)) {
window.open($('lnk'+tpad).href,'_blank');
}
tpad="";
}
} else if(cod==8) { // backspace
e.preventDefault();
if(tpad.length>0) {
tpad=tpad.substr(0,tpad.length-1);
}
} else if(cod==27 || cod==127) { // esc or del
e.preventDefault();
tpad="";
} else if(cod>=48 && cod<=57) { // num0-9
e.preventDefault();
var num=cod-48;
if(num==0 && tpad=="") return;
tpad+=num.toString();
if(parseInt(tpad+"0")>highestn) {
// auto enter
//alert("opening "+tpad);
if($('lnk'+tpad)) {
window.open($('lnk'+tpad).href,'_blank');
}
tpad="";
}
}
redraw_select();
});
document.addEventListener('mousedown',function(e) {
tpad="";
redraw_select();
});
</script>
</head>
<body onload="init();">
<div id="container">
<div id="content"></div>
</div>
<div id="backlay"></div>
<div id="overlay"></div>
</body>
</html>
Top