It's christmas
This commit is contained in:
parent
fc93251476
commit
690b2a109b
5 changed files with 1000 additions and 289 deletions
BIN
assets/bgs/watertile-blueish.gif
Normal file
BIN
assets/bgs/watertile-blueish.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 51 KiB |
29
assets/js/snowstorm-min.js
vendored
Executable file
29
assets/js/snowstorm-min.js
vendored
Executable file
|
@ -0,0 +1,29 @@
|
||||||
|
/** @license
|
||||||
|
|
||||||
|
DHTML Snowstorm! JavaScript-based snow for web pages
|
||||||
|
Making it snow on the internets since 2003. You're welcome.
|
||||||
|
-----------------------------------------------------------
|
||||||
|
Version 1.44.20131208 (Previous rev: 1.44.20131125)
|
||||||
|
Copyright (c) 2007, Scott Schiller. All rights reserved.
|
||||||
|
Code provided under the BSD License
|
||||||
|
http://schillmania.com/projects/snowstorm/license.txt
|
||||||
|
*/
|
||||||
|
var snowStorm=function(g,f){function k(a,d){isNaN(d)&&(d=0);return Math.random()*a+d}function x(){g.setTimeout(function(){a.start(!0)},20);a.events.remove(m?f:g,"mousemove",x)}function y(){(!a.excludeMobile||!D)&&x();a.events.remove(g,"load",y)}this.excludeMobile=this.autoStart=!0;this.flakesMax=128;this.flakesMaxActive=64;this.animationInterval=33;this.useGPU=!0;this.className=null;this.excludeMobile=!0;this.flakeBottom=null;this.followMouse=!0;this.snowColor="#fff";this.snowCharacter="•";this.snowStick=
|
||||||
|
!0;this.targetElement=null;this.useMeltEffect=!0;this.usePixelPosition=this.usePositionFixed=this.useTwinkleEffect=!1;this.freezeOnBlur=!0;this.flakeRightOffset=this.flakeLeftOffset=0;this.flakeHeight=this.flakeWidth=8;this.vMaxX=5;this.vMaxY=4;this.zIndex=0;var a=this,q,m=navigator.userAgent.match(/msie/i),E=navigator.userAgent.match(/msie 6/i),D=navigator.userAgent.match(/mobile|opera m(ob|in)/i),r=m&&"BackCompat"===f.compatMode||E,h=null,n=null,l=null,p=null,s=null,z=null,A=null,v=1,t=!1,w=!1,
|
||||||
|
u;a:{try{f.createElement("div").style.opacity="0.5"}catch(F){u=!1;break a}u=!0}var B=!1,C=f.createDocumentFragment();q=function(){function c(b){g.setTimeout(b,1E3/(a.animationInterval||20))}function d(a){return void 0!==h.style[a]?a:null}var e,b=g.requestAnimationFrame||g.webkitRequestAnimationFrame||g.mozRequestAnimationFrame||g.oRequestAnimationFrame||g.msRequestAnimationFrame||c;e=b?function(){return b.apply(g,arguments)}:null;var h;h=f.createElement("div");e={transform:{ie:d("-ms-transform"),
|
||||||
|
moz:d("MozTransform"),opera:d("OTransform"),webkit:d("webkitTransform"),w3:d("transform"),prop:null},getAnimationFrame:e};e.transform.prop=e.transform.w3||e.transform.moz||e.transform.webkit||e.transform.ie||e.transform.opera;h=null;return e}();this.timer=null;this.flakes=[];this.active=this.disabled=!1;this.meltFrameCount=20;this.meltFrames=[];this.setXY=function(c,d,e){if(!c)return!1;a.usePixelPosition||w?(c.style.left=d-a.flakeWidth+"px",c.style.top=e-a.flakeHeight+"px"):r?(c.style.right=100-100*
|
||||||
|
(d/h)+"%",c.style.top=Math.min(e,s-a.flakeHeight)+"px"):a.flakeBottom?(c.style.right=100-100*(d/h)+"%",c.style.top=Math.min(e,s-a.flakeHeight)+"px"):(c.style.right=100-100*(d/h)+"%",c.style.bottom=100-100*(e/l)+"%")};this.events=function(){function a(c){c=b.call(c);var d=c.length;e?(c[1]="on"+c[1],3<d&&c.pop()):3===d&&c.push(!1);return c}function d(a,b){var c=a.shift(),d=[f[b]];if(e)c[d](a[0],a[1]);else c[d].apply(c,a)}var e=!g.addEventListener&&g.attachEvent,b=Array.prototype.slice,f={add:e?"attachEvent":
|
||||||
|
"addEventListener",remove:e?"detachEvent":"removeEventListener"};return{add:function(){d(a(arguments),"add")},remove:function(){d(a(arguments),"remove")}}}();this.randomizeWind=function(){var c;c=k(a.vMaxX,0.2);z=1===parseInt(k(2),10)?-1*c:c;A=k(a.vMaxY,0.2);if(this.flakes)for(c=0;c<this.flakes.length;c++)this.flakes[c].active&&this.flakes[c].setVelocities()};this.scrollHandler=function(){var c;p=a.flakeBottom?0:parseInt(g.scrollY||f.documentElement.scrollTop||(r?f.body.scrollTop:0),10);isNaN(p)&&
|
||||||
|
(p=0);if(!t&&!a.flakeBottom&&a.flakes)for(c=0;c<a.flakes.length;c++)0===a.flakes[c].active&&a.flakes[c].stick()};this.resizeHandler=function(){g.innerWidth||g.innerHeight?(h=g.innerWidth-16-a.flakeRightOffset,l=a.flakeBottom||g.innerHeight):(h=(f.documentElement.clientWidth||f.body.clientWidth||f.body.scrollWidth)-(!m?8:0)-a.flakeRightOffset,l=a.flakeBottom||f.documentElement.clientHeight||f.body.clientHeight||f.body.scrollHeight);s=f.body.offsetHeight;n=parseInt(h/2,10)};this.resizeHandlerAlt=function(){h=
|
||||||
|
a.targetElement.offsetWidth-a.flakeRightOffset;l=a.flakeBottom||a.targetElement.offsetHeight;n=parseInt(h/2,10);s=f.body.offsetHeight};this.freeze=function(){if(a.disabled)return!1;a.disabled=1;a.timer=null};this.resume=function(){if(a.disabled)a.disabled=0;else return!1;a.timerInit()};this.toggleSnow=function(){a.flakes.length?(a.active=!a.active,a.active?(a.show(),a.resume()):(a.stop(),a.freeze())):a.start()};this.stop=function(){var c;this.freeze();for(c=0;c<this.flakes.length;c++)this.flakes[c].o.style.display=
|
||||||
|
"none";a.events.remove(g,"scroll",a.scrollHandler);a.events.remove(g,"resize",a.resizeHandler);a.freezeOnBlur&&(m?(a.events.remove(f,"focusout",a.freeze),a.events.remove(f,"focusin",a.resume)):(a.events.remove(g,"blur",a.freeze),a.events.remove(g,"focus",a.resume)))};this.show=function(){var a;for(a=0;a<this.flakes.length;a++)this.flakes[a].o.style.display="block"};this.SnowFlake=function(c,d,e){var b=this;this.type=c;this.x=d||parseInt(k(h-20),10);this.y=!isNaN(e)?e:-k(l)-12;this.vY=this.vX=null;
|
||||||
|
this.vAmpTypes=[1,1.2,1.4,1.6,1.8];this.vAmp=this.vAmpTypes[this.type]||1;this.melting=!1;this.meltFrameCount=a.meltFrameCount;this.meltFrames=a.meltFrames;this.twinkleFrame=this.meltFrame=0;this.active=1;this.fontSize=10+10*(this.type/5);this.o=f.createElement("div");this.o.innerHTML=a.snowCharacter;a.className&&this.o.setAttribute("class",a.className);this.o.style.color=a.snowColor;this.o.style.position=t?"fixed":"absolute";a.useGPU&&q.transform.prop&&(this.o.style[q.transform.prop]="translate3d(0px, 0px, 0px)");
|
||||||
|
this.o.style.width=a.flakeWidth+"px";this.o.style.height=a.flakeHeight+"px";this.o.style.fontFamily="arial,verdana";this.o.style.cursor="default";this.o.style.overflow="hidden";this.o.style.fontWeight="normal";this.o.style.zIndex=a.zIndex;C.appendChild(this.o);this.refresh=function(){if(isNaN(b.x)||isNaN(b.y))return!1;a.setXY(b.o,b.x,b.y)};this.stick=function(){r||a.targetElement!==f.documentElement&&a.targetElement!==f.body?b.o.style.top=l+p-a.flakeHeight+"px":a.flakeBottom?b.o.style.top=a.flakeBottom+
|
||||||
|
"px":(b.o.style.display="none",b.o.style.bottom="0%",b.o.style.position="fixed",b.o.style.display="block")};this.vCheck=function(){0<=b.vX&&0.2>b.vX?b.vX=0.2:0>b.vX&&-0.2<b.vX&&(b.vX=-0.2);0<=b.vY&&0.2>b.vY&&(b.vY=0.2)};this.move=function(){var c=b.vX*v;b.x+=c;b.y+=b.vY*b.vAmp;b.x>=h||h-b.x<a.flakeWidth?b.x=0:0>c&&b.x-a.flakeLeftOffset<-a.flakeWidth&&(b.x=h-a.flakeWidth-1);b.refresh();l+p-b.y+a.flakeHeight<a.flakeHeight?(b.active=0,a.snowStick?b.stick():b.recycle()):(a.useMeltEffect&&(b.active&&3>
|
||||||
|
b.type&&!b.melting&&0.998<Math.random())&&(b.melting=!0,b.melt()),a.useTwinkleEffect&&(0>b.twinkleFrame?0.97<Math.random()&&(b.twinkleFrame=parseInt(8*Math.random(),10)):(b.twinkleFrame--,u?b.o.style.opacity=b.twinkleFrame&&0===b.twinkleFrame%2?0:1:b.o.style.visibility=b.twinkleFrame&&0===b.twinkleFrame%2?"hidden":"visible")))};this.animate=function(){b.move()};this.setVelocities=function(){b.vX=z+k(0.12*a.vMaxX,0.1);b.vY=A+k(0.12*a.vMaxY,0.1)};this.setOpacity=function(a,b){if(!u)return!1;a.style.opacity=
|
||||||
|
b};this.melt=function(){!a.useMeltEffect||!b.melting?b.recycle():b.meltFrame<b.meltFrameCount?(b.setOpacity(b.o,b.meltFrames[b.meltFrame]),b.o.style.fontSize=b.fontSize-b.fontSize*(b.meltFrame/b.meltFrameCount)+"px",b.o.style.lineHeight=a.flakeHeight+2+0.75*a.flakeHeight*(b.meltFrame/b.meltFrameCount)+"px",b.meltFrame++):b.recycle()};this.recycle=function(){b.o.style.display="none";b.o.style.position=t?"fixed":"absolute";b.o.style.bottom="auto";b.setVelocities();b.vCheck();b.meltFrame=0;b.melting=
|
||||||
|
!1;b.setOpacity(b.o,1);b.o.style.padding="0px";b.o.style.margin="0px";b.o.style.fontSize=b.fontSize+"px";b.o.style.lineHeight=a.flakeHeight+2+"px";b.o.style.textAlign="center";b.o.style.verticalAlign="baseline";b.x=parseInt(k(h-a.flakeWidth-20),10);b.y=parseInt(-1*k(l),10)-a.flakeHeight;b.refresh();b.o.style.display="block";b.active=1};this.recycle();this.refresh()};this.snow=function(){var c=0,d=null,e,d=0;for(e=a.flakes.length;d<e;d++)1===a.flakes[d].active&&(a.flakes[d].move(),c++),a.flakes[d].melting&&
|
||||||
|
a.flakes[d].melt();c<a.flakesMaxActive&&(d=a.flakes[parseInt(k(a.flakes.length),10)],0===d.active&&(d.melting=!0));a.timer&&q.getAnimationFrame(a.snow)};this.mouseMove=function(c){if(!a.followMouse)return!0;c=parseInt(c.clientX,10);c<n?v=-2+2*(c/n):(c-=n,v=2*(c/n))};this.createSnow=function(c,d){var e;for(e=0;e<c;e++)if(a.flakes[a.flakes.length]=new a.SnowFlake(parseInt(k(6),10)),d||e>a.flakesMaxActive)a.flakes[a.flakes.length-1].active=-1;a.targetElement.appendChild(C)};this.timerInit=function(){a.timer=
|
||||||
|
!0;a.snow()};this.init=function(){var c;for(c=0;c<a.meltFrameCount;c++)a.meltFrames.push(1-c/a.meltFrameCount);a.randomizeWind();a.createSnow(a.flakesMax);a.events.add(g,"resize",a.resizeHandler);a.events.add(g,"scroll",a.scrollHandler);a.freezeOnBlur&&(m?(a.events.add(f,"focusout",a.freeze),a.events.add(f,"focusin",a.resume)):(a.events.add(g,"blur",a.freeze),a.events.add(g,"focus",a.resume)));a.resizeHandler();a.scrollHandler();a.followMouse&&a.events.add(m?f:g,"mousemove",a.mouseMove);a.animationInterval=
|
||||||
|
Math.max(20,a.animationInterval);a.timerInit()};this.start=function(c){if(B){if(c)return!0}else B=!0;if("string"===typeof a.targetElement&&(c=a.targetElement,a.targetElement=f.getElementById(c),!a.targetElement))throw Error('Snowstorm: Unable to get targetElement "'+c+'"');a.targetElement||(a.targetElement=f.body||f.documentElement);a.targetElement!==f.documentElement&&a.targetElement!==f.body&&(a.resizeHandler=a.resizeHandlerAlt,a.usePixelPosition=!0);a.resizeHandler();a.usePositionFixed=a.usePositionFixed&&
|
||||||
|
!r&&!a.flakeBottom;if(g.getComputedStyle)try{w="relative"===g.getComputedStyle(a.targetElement,null).getPropertyValue("position")}catch(d){w=!1}t=a.usePositionFixed;h&&(l&&!a.disabled)&&(a.init(),a.active=!0)};a.autoStart&&a.events.add(g,"load",y,!1);return this}(window,document);
|
666
assets/js/snowstorm.js
Executable file
666
assets/js/snowstorm.js
Executable file
|
@ -0,0 +1,666 @@
|
||||||
|
/** @license
|
||||||
|
* DHTML Snowstorm! JavaScript-based snow for web pages
|
||||||
|
* Making it snow on the internets since 2003. You're welcome.
|
||||||
|
* -----------------------------------------------------------
|
||||||
|
* Version 1.44.20131208 (Previous rev: 1.44.20131125)
|
||||||
|
* Copyright (c) 2007, Scott Schiller. All rights reserved.
|
||||||
|
* Code provided under the BSD License
|
||||||
|
* http://schillmania.com/projects/snowstorm/license.txt
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*jslint nomen: true, plusplus: true, sloppy: true, vars: true, white: true */
|
||||||
|
/*global window, document, navigator, clearInterval, setInterval */
|
||||||
|
|
||||||
|
var snowStorm = (function(window, document) {
|
||||||
|
|
||||||
|
// --- common properties ---
|
||||||
|
|
||||||
|
this.autoStart = true; // Whether the snow should start automatically or not.
|
||||||
|
this.excludeMobile = true; // Snow is likely to be bad news for mobile phones' CPUs (and batteries.) Enable at your own risk.
|
||||||
|
this.flakesMax = 128; // Limit total amount of snow made (falling + sticking)
|
||||||
|
this.flakesMaxActive = 64; // Limit amount of snow falling at once (less = lower CPU use)
|
||||||
|
this.animationInterval = 33; // Theoretical "miliseconds per frame" measurement. 20 = fast + smooth, but high CPU use. 50 = more conservative, but slower
|
||||||
|
this.useGPU = true; // Enable transform-based hardware acceleration, reduce CPU load.
|
||||||
|
this.className = null; // CSS class name for further customization on snow elements
|
||||||
|
this.excludeMobile = true; // Snow is likely to be bad news for mobile phones' CPUs (and batteries.) By default, be nice.
|
||||||
|
this.flakeBottom = null; // Integer for Y axis snow limit, 0 or null for "full-screen" snow effect
|
||||||
|
this.followMouse = true; // Snow movement can respond to the user's mouse
|
||||||
|
this.snowColor = '#fff'; // Don't eat (or use?) yellow snow.
|
||||||
|
this.snowCharacter = '•'; // • = bullet, · is square on some systems etc.
|
||||||
|
this.snowStick = true; // Whether or not snow should "stick" at the bottom. When off, will never collect.
|
||||||
|
this.targetElement = null; // element which snow will be appended to (null = document.body) - can be an element ID eg. 'myDiv', or a DOM node reference
|
||||||
|
this.useMeltEffect = true; // When recycling fallen snow (or rarely, when falling), have it "melt" and fade out if browser supports it
|
||||||
|
this.useTwinkleEffect = false; // Allow snow to randomly "flicker" in and out of view while falling
|
||||||
|
this.usePositionFixed = false; // true = snow does not shift vertically when scrolling. May increase CPU load, disabled by default - if enabled, used only where supported
|
||||||
|
this.usePixelPosition = false; // Whether to use pixel values for snow top/left vs. percentages. Auto-enabled if body is position:relative or targetElement is specified.
|
||||||
|
|
||||||
|
// --- less-used bits ---
|
||||||
|
|
||||||
|
this.freezeOnBlur = true; // Only snow when the window is in focus (foreground.) Saves CPU.
|
||||||
|
this.flakeLeftOffset = 0; // Left margin/gutter space on edge of container (eg. browser window.) Bump up these values if seeing horizontal scrollbars.
|
||||||
|
this.flakeRightOffset = 0; // Right margin/gutter space on edge of container
|
||||||
|
this.flakeWidth = 8; // Max pixel width reserved for snow element
|
||||||
|
this.flakeHeight = 8; // Max pixel height reserved for snow element
|
||||||
|
this.vMaxX = 5; // Maximum X velocity range for snow
|
||||||
|
this.vMaxY = 4; // Maximum Y velocity range for snow
|
||||||
|
this.zIndex = 0; // CSS stacking order applied to each snowflake
|
||||||
|
|
||||||
|
// --- "No user-serviceable parts inside" past this point, yadda yadda ---
|
||||||
|
|
||||||
|
var storm = this,
|
||||||
|
features,
|
||||||
|
// UA sniffing and backCompat rendering mode checks for fixed position, etc.
|
||||||
|
isIE = navigator.userAgent.match(/msie/i),
|
||||||
|
isIE6 = navigator.userAgent.match(/msie 6/i),
|
||||||
|
isMobile = navigator.userAgent.match(/mobile|opera m(ob|in)/i),
|
||||||
|
isBackCompatIE = (isIE && document.compatMode === 'BackCompat'),
|
||||||
|
noFixed = (isBackCompatIE || isIE6),
|
||||||
|
screenX = null, screenX2 = null, screenY = null, scrollY = null, docHeight = null, vRndX = null, vRndY = null,
|
||||||
|
windOffset = 1,
|
||||||
|
windMultiplier = 2,
|
||||||
|
flakeTypes = 6,
|
||||||
|
fixedForEverything = false,
|
||||||
|
targetElementIsRelative = false,
|
||||||
|
opacitySupported = (function(){
|
||||||
|
try {
|
||||||
|
document.createElement('div').style.opacity = '0.5';
|
||||||
|
} catch(e) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}()),
|
||||||
|
didInit = false,
|
||||||
|
docFrag = document.createDocumentFragment();
|
||||||
|
|
||||||
|
features = (function() {
|
||||||
|
|
||||||
|
var getAnimationFrame;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* hat tip: paul irish
|
||||||
|
* http://paulirish.com/2011/requestanimationframe-for-smart-animating/
|
||||||
|
* https://gist.github.com/838785
|
||||||
|
*/
|
||||||
|
|
||||||
|
function timeoutShim(callback) {
|
||||||
|
window.setTimeout(callback, 1000/(storm.animationInterval || 20));
|
||||||
|
}
|
||||||
|
|
||||||
|
var _animationFrame = (window.requestAnimationFrame ||
|
||||||
|
window.webkitRequestAnimationFrame ||
|
||||||
|
window.mozRequestAnimationFrame ||
|
||||||
|
window.oRequestAnimationFrame ||
|
||||||
|
window.msRequestAnimationFrame ||
|
||||||
|
timeoutShim);
|
||||||
|
|
||||||
|
// apply to window, avoid "illegal invocation" errors in Chrome
|
||||||
|
getAnimationFrame = _animationFrame ? function() {
|
||||||
|
return _animationFrame.apply(window, arguments);
|
||||||
|
} : null;
|
||||||
|
|
||||||
|
var testDiv;
|
||||||
|
|
||||||
|
testDiv = document.createElement('div');
|
||||||
|
|
||||||
|
function has(prop) {
|
||||||
|
|
||||||
|
// test for feature support
|
||||||
|
var result = testDiv.style[prop];
|
||||||
|
return (result !== undefined ? prop : null);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// note local scope.
|
||||||
|
var localFeatures = {
|
||||||
|
|
||||||
|
transform: {
|
||||||
|
ie: has('-ms-transform'),
|
||||||
|
moz: has('MozTransform'),
|
||||||
|
opera: has('OTransform'),
|
||||||
|
webkit: has('webkitTransform'),
|
||||||
|
w3: has('transform'),
|
||||||
|
prop: null // the normalized property value
|
||||||
|
},
|
||||||
|
|
||||||
|
getAnimationFrame: getAnimationFrame
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
localFeatures.transform.prop = (
|
||||||
|
localFeatures.transform.w3 ||
|
||||||
|
localFeatures.transform.moz ||
|
||||||
|
localFeatures.transform.webkit ||
|
||||||
|
localFeatures.transform.ie ||
|
||||||
|
localFeatures.transform.opera
|
||||||
|
);
|
||||||
|
|
||||||
|
testDiv = null;
|
||||||
|
|
||||||
|
return localFeatures;
|
||||||
|
|
||||||
|
}());
|
||||||
|
|
||||||
|
this.timer = null;
|
||||||
|
this.flakes = [];
|
||||||
|
this.disabled = false;
|
||||||
|
this.active = false;
|
||||||
|
this.meltFrameCount = 20;
|
||||||
|
this.meltFrames = [];
|
||||||
|
|
||||||
|
this.setXY = function(o, x, y) {
|
||||||
|
|
||||||
|
if (!o) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (storm.usePixelPosition || targetElementIsRelative) {
|
||||||
|
|
||||||
|
o.style.left = (x - storm.flakeWidth) + 'px';
|
||||||
|
o.style.top = (y - storm.flakeHeight) + 'px';
|
||||||
|
|
||||||
|
} else if (noFixed) {
|
||||||
|
|
||||||
|
o.style.right = (100-(x/screenX*100)) + '%';
|
||||||
|
// avoid creating vertical scrollbars
|
||||||
|
o.style.top = (Math.min(y, docHeight-storm.flakeHeight)) + 'px';
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
if (!storm.flakeBottom) {
|
||||||
|
|
||||||
|
// if not using a fixed bottom coordinate...
|
||||||
|
o.style.right = (100-(x/screenX*100)) + '%';
|
||||||
|
o.style.bottom = (100-(y/screenY*100)) + '%';
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
// absolute top.
|
||||||
|
o.style.right = (100-(x/screenX*100)) + '%';
|
||||||
|
o.style.top = (Math.min(y, docHeight-storm.flakeHeight)) + 'px';
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
this.events = (function() {
|
||||||
|
|
||||||
|
var old = (!window.addEventListener && window.attachEvent), slice = Array.prototype.slice,
|
||||||
|
evt = {
|
||||||
|
add: (old?'attachEvent':'addEventListener'),
|
||||||
|
remove: (old?'detachEvent':'removeEventListener')
|
||||||
|
};
|
||||||
|
|
||||||
|
function getArgs(oArgs) {
|
||||||
|
var args = slice.call(oArgs), len = args.length;
|
||||||
|
if (old) {
|
||||||
|
args[1] = 'on' + args[1]; // prefix
|
||||||
|
if (len > 3) {
|
||||||
|
args.pop(); // no capture
|
||||||
|
}
|
||||||
|
} else if (len === 3) {
|
||||||
|
args.push(false);
|
||||||
|
}
|
||||||
|
return args;
|
||||||
|
}
|
||||||
|
|
||||||
|
function apply(args, sType) {
|
||||||
|
var element = args.shift(),
|
||||||
|
method = [evt[sType]];
|
||||||
|
if (old) {
|
||||||
|
element[method](args[0], args[1]);
|
||||||
|
} else {
|
||||||
|
element[method].apply(element, args);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function addEvent() {
|
||||||
|
apply(getArgs(arguments), 'add');
|
||||||
|
}
|
||||||
|
|
||||||
|
function removeEvent() {
|
||||||
|
apply(getArgs(arguments), 'remove');
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
add: addEvent,
|
||||||
|
remove: removeEvent
|
||||||
|
};
|
||||||
|
|
||||||
|
}());
|
||||||
|
|
||||||
|
function rnd(n,min) {
|
||||||
|
if (isNaN(min)) {
|
||||||
|
min = 0;
|
||||||
|
}
|
||||||
|
return (Math.random()*n)+min;
|
||||||
|
}
|
||||||
|
|
||||||
|
function plusMinus(n) {
|
||||||
|
return (parseInt(rnd(2),10)===1?n*-1:n);
|
||||||
|
}
|
||||||
|
|
||||||
|
this.randomizeWind = function() {
|
||||||
|
var i;
|
||||||
|
vRndX = plusMinus(rnd(storm.vMaxX,0.2));
|
||||||
|
vRndY = rnd(storm.vMaxY,0.2);
|
||||||
|
if (this.flakes) {
|
||||||
|
for (i=0; i<this.flakes.length; i++) {
|
||||||
|
if (this.flakes[i].active) {
|
||||||
|
this.flakes[i].setVelocities();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
this.scrollHandler = function() {
|
||||||
|
var i;
|
||||||
|
// "attach" snowflakes to bottom of window if no absolute bottom value was given
|
||||||
|
scrollY = (storm.flakeBottom ? 0 : parseInt(window.scrollY || document.documentElement.scrollTop || (noFixed ? document.body.scrollTop : 0), 10));
|
||||||
|
if (isNaN(scrollY)) {
|
||||||
|
scrollY = 0; // Netscape 6 scroll fix
|
||||||
|
}
|
||||||
|
if (!fixedForEverything && !storm.flakeBottom && storm.flakes) {
|
||||||
|
for (i=0; i<storm.flakes.length; i++) {
|
||||||
|
if (storm.flakes[i].active === 0) {
|
||||||
|
storm.flakes[i].stick();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
this.resizeHandler = function() {
|
||||||
|
if (window.innerWidth || window.innerHeight) {
|
||||||
|
screenX = window.innerWidth - 16 - storm.flakeRightOffset;
|
||||||
|
screenY = (storm.flakeBottom || window.innerHeight);
|
||||||
|
} else {
|
||||||
|
screenX = (document.documentElement.clientWidth || document.body.clientWidth || document.body.scrollWidth) - (!isIE ? 8 : 0) - storm.flakeRightOffset;
|
||||||
|
screenY = storm.flakeBottom || document.documentElement.clientHeight || document.body.clientHeight || document.body.scrollHeight;
|
||||||
|
}
|
||||||
|
docHeight = document.body.offsetHeight;
|
||||||
|
screenX2 = parseInt(screenX/2,10);
|
||||||
|
};
|
||||||
|
|
||||||
|
this.resizeHandlerAlt = function() {
|
||||||
|
screenX = storm.targetElement.offsetWidth - storm.flakeRightOffset;
|
||||||
|
screenY = storm.flakeBottom || storm.targetElement.offsetHeight;
|
||||||
|
screenX2 = parseInt(screenX/2,10);
|
||||||
|
docHeight = document.body.offsetHeight;
|
||||||
|
};
|
||||||
|
|
||||||
|
this.freeze = function() {
|
||||||
|
// pause animation
|
||||||
|
if (!storm.disabled) {
|
||||||
|
storm.disabled = 1;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
storm.timer = null;
|
||||||
|
};
|
||||||
|
|
||||||
|
this.resume = function() {
|
||||||
|
if (storm.disabled) {
|
||||||
|
storm.disabled = 0;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
storm.timerInit();
|
||||||
|
};
|
||||||
|
|
||||||
|
this.toggleSnow = function() {
|
||||||
|
if (!storm.flakes.length) {
|
||||||
|
// first run
|
||||||
|
storm.start();
|
||||||
|
} else {
|
||||||
|
storm.active = !storm.active;
|
||||||
|
if (storm.active) {
|
||||||
|
storm.show();
|
||||||
|
storm.resume();
|
||||||
|
} else {
|
||||||
|
storm.stop();
|
||||||
|
storm.freeze();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
this.stop = function() {
|
||||||
|
var i;
|
||||||
|
this.freeze();
|
||||||
|
for (i=0; i<this.flakes.length; i++) {
|
||||||
|
this.flakes[i].o.style.display = 'none';
|
||||||
|
}
|
||||||
|
storm.events.remove(window,'scroll',storm.scrollHandler);
|
||||||
|
storm.events.remove(window,'resize',storm.resizeHandler);
|
||||||
|
if (storm.freezeOnBlur) {
|
||||||
|
if (isIE) {
|
||||||
|
storm.events.remove(document,'focusout',storm.freeze);
|
||||||
|
storm.events.remove(document,'focusin',storm.resume);
|
||||||
|
} else {
|
||||||
|
storm.events.remove(window,'blur',storm.freeze);
|
||||||
|
storm.events.remove(window,'focus',storm.resume);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
this.show = function() {
|
||||||
|
var i;
|
||||||
|
for (i=0; i<this.flakes.length; i++) {
|
||||||
|
this.flakes[i].o.style.display = 'block';
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
this.SnowFlake = function(type,x,y) {
|
||||||
|
var s = this;
|
||||||
|
this.type = type;
|
||||||
|
this.x = x||parseInt(rnd(screenX-20),10);
|
||||||
|
this.y = (!isNaN(y)?y:-rnd(screenY)-12);
|
||||||
|
this.vX = null;
|
||||||
|
this.vY = null;
|
||||||
|
this.vAmpTypes = [1,1.2,1.4,1.6,1.8]; // "amplification" for vX/vY (based on flake size/type)
|
||||||
|
this.vAmp = this.vAmpTypes[this.type] || 1;
|
||||||
|
this.melting = false;
|
||||||
|
this.meltFrameCount = storm.meltFrameCount;
|
||||||
|
this.meltFrames = storm.meltFrames;
|
||||||
|
this.meltFrame = 0;
|
||||||
|
this.twinkleFrame = 0;
|
||||||
|
this.active = 1;
|
||||||
|
this.fontSize = (10+(this.type/5)*10);
|
||||||
|
this.o = document.createElement('div');
|
||||||
|
this.o.innerHTML = storm.snowCharacter;
|
||||||
|
if (storm.className) {
|
||||||
|
this.o.setAttribute('class', storm.className);
|
||||||
|
}
|
||||||
|
this.o.style.color = storm.snowColor;
|
||||||
|
this.o.style.position = (fixedForEverything?'fixed':'absolute');
|
||||||
|
if (storm.useGPU && features.transform.prop) {
|
||||||
|
// GPU-accelerated snow.
|
||||||
|
this.o.style[features.transform.prop] = 'translate3d(0px, 0px, 0px)';
|
||||||
|
}
|
||||||
|
this.o.style.width = storm.flakeWidth+'px';
|
||||||
|
this.o.style.height = storm.flakeHeight+'px';
|
||||||
|
this.o.style.fontFamily = 'arial,verdana';
|
||||||
|
this.o.style.cursor = 'default';
|
||||||
|
this.o.style.overflow = 'hidden';
|
||||||
|
this.o.style.fontWeight = 'normal';
|
||||||
|
this.o.style.zIndex = storm.zIndex;
|
||||||
|
docFrag.appendChild(this.o);
|
||||||
|
|
||||||
|
this.refresh = function() {
|
||||||
|
if (isNaN(s.x) || isNaN(s.y)) {
|
||||||
|
// safety check
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
storm.setXY(s.o, s.x, s.y);
|
||||||
|
};
|
||||||
|
|
||||||
|
this.stick = function() {
|
||||||
|
if (noFixed || (storm.targetElement !== document.documentElement && storm.targetElement !== document.body)) {
|
||||||
|
s.o.style.top = (screenY+scrollY-storm.flakeHeight)+'px';
|
||||||
|
} else if (storm.flakeBottom) {
|
||||||
|
s.o.style.top = storm.flakeBottom+'px';
|
||||||
|
} else {
|
||||||
|
s.o.style.display = 'none';
|
||||||
|
s.o.style.bottom = '0%';
|
||||||
|
s.o.style.position = 'fixed';
|
||||||
|
s.o.style.display = 'block';
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
this.vCheck = function() {
|
||||||
|
if (s.vX>=0 && s.vX<0.2) {
|
||||||
|
s.vX = 0.2;
|
||||||
|
} else if (s.vX<0 && s.vX>-0.2) {
|
||||||
|
s.vX = -0.2;
|
||||||
|
}
|
||||||
|
if (s.vY>=0 && s.vY<0.2) {
|
||||||
|
s.vY = 0.2;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
this.move = function() {
|
||||||
|
var vX = s.vX*windOffset, yDiff;
|
||||||
|
s.x += vX;
|
||||||
|
s.y += (s.vY*s.vAmp);
|
||||||
|
if (s.x >= screenX || screenX-s.x < storm.flakeWidth) { // X-axis scroll check
|
||||||
|
s.x = 0;
|
||||||
|
} else if (vX < 0 && s.x-storm.flakeLeftOffset < -storm.flakeWidth) {
|
||||||
|
s.x = screenX-storm.flakeWidth-1; // flakeWidth;
|
||||||
|
}
|
||||||
|
s.refresh();
|
||||||
|
yDiff = screenY+scrollY-s.y+storm.flakeHeight;
|
||||||
|
if (yDiff<storm.flakeHeight) {
|
||||||
|
s.active = 0;
|
||||||
|
if (storm.snowStick) {
|
||||||
|
s.stick();
|
||||||
|
} else {
|
||||||
|
s.recycle();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (storm.useMeltEffect && s.active && s.type < 3 && !s.melting && Math.random()>0.998) {
|
||||||
|
// ~1/1000 chance of melting mid-air, with each frame
|
||||||
|
s.melting = true;
|
||||||
|
s.melt();
|
||||||
|
// only incrementally melt one frame
|
||||||
|
// s.melting = false;
|
||||||
|
}
|
||||||
|
if (storm.useTwinkleEffect) {
|
||||||
|
if (s.twinkleFrame < 0) {
|
||||||
|
if (Math.random() > 0.97) {
|
||||||
|
s.twinkleFrame = parseInt(Math.random() * 8, 10);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
s.twinkleFrame--;
|
||||||
|
if (!opacitySupported) {
|
||||||
|
s.o.style.visibility = (s.twinkleFrame && s.twinkleFrame % 2 === 0 ? 'hidden' : 'visible');
|
||||||
|
} else {
|
||||||
|
s.o.style.opacity = (s.twinkleFrame && s.twinkleFrame % 2 === 0 ? 0 : 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
this.animate = function() {
|
||||||
|
// main animation loop
|
||||||
|
// move, check status, die etc.
|
||||||
|
s.move();
|
||||||
|
};
|
||||||
|
|
||||||
|
this.setVelocities = function() {
|
||||||
|
s.vX = vRndX+rnd(storm.vMaxX*0.12,0.1);
|
||||||
|
s.vY = vRndY+rnd(storm.vMaxY*0.12,0.1);
|
||||||
|
};
|
||||||
|
|
||||||
|
this.setOpacity = function(o,opacity) {
|
||||||
|
if (!opacitySupported) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
o.style.opacity = opacity;
|
||||||
|
};
|
||||||
|
|
||||||
|
this.melt = function() {
|
||||||
|
if (!storm.useMeltEffect || !s.melting) {
|
||||||
|
s.recycle();
|
||||||
|
} else {
|
||||||
|
if (s.meltFrame < s.meltFrameCount) {
|
||||||
|
s.setOpacity(s.o,s.meltFrames[s.meltFrame]);
|
||||||
|
s.o.style.fontSize = s.fontSize-(s.fontSize*(s.meltFrame/s.meltFrameCount))+'px';
|
||||||
|
s.o.style.lineHeight = storm.flakeHeight+2+(storm.flakeHeight*0.75*(s.meltFrame/s.meltFrameCount))+'px';
|
||||||
|
s.meltFrame++;
|
||||||
|
} else {
|
||||||
|
s.recycle();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
this.recycle = function() {
|
||||||
|
s.o.style.display = 'none';
|
||||||
|
s.o.style.position = (fixedForEverything?'fixed':'absolute');
|
||||||
|
s.o.style.bottom = 'auto';
|
||||||
|
s.setVelocities();
|
||||||
|
s.vCheck();
|
||||||
|
s.meltFrame = 0;
|
||||||
|
s.melting = false;
|
||||||
|
s.setOpacity(s.o,1);
|
||||||
|
s.o.style.padding = '0px';
|
||||||
|
s.o.style.margin = '0px';
|
||||||
|
s.o.style.fontSize = s.fontSize+'px';
|
||||||
|
s.o.style.lineHeight = (storm.flakeHeight+2)+'px';
|
||||||
|
s.o.style.textAlign = 'center';
|
||||||
|
s.o.style.verticalAlign = 'baseline';
|
||||||
|
s.x = parseInt(rnd(screenX-storm.flakeWidth-20),10);
|
||||||
|
s.y = parseInt(rnd(screenY)*-1,10)-storm.flakeHeight;
|
||||||
|
s.refresh();
|
||||||
|
s.o.style.display = 'block';
|
||||||
|
s.active = 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
this.recycle(); // set up x/y coords etc.
|
||||||
|
this.refresh();
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
this.snow = function() {
|
||||||
|
var active = 0, flake = null, i, j;
|
||||||
|
for (i=0, j=storm.flakes.length; i<j; i++) {
|
||||||
|
if (storm.flakes[i].active === 1) {
|
||||||
|
storm.flakes[i].move();
|
||||||
|
active++;
|
||||||
|
}
|
||||||
|
if (storm.flakes[i].melting) {
|
||||||
|
storm.flakes[i].melt();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (active<storm.flakesMaxActive) {
|
||||||
|
flake = storm.flakes[parseInt(rnd(storm.flakes.length),10)];
|
||||||
|
if (flake.active === 0) {
|
||||||
|
flake.melting = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (storm.timer) {
|
||||||
|
features.getAnimationFrame(storm.snow);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
this.mouseMove = function(e) {
|
||||||
|
if (!storm.followMouse) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
var x = parseInt(e.clientX,10);
|
||||||
|
if (x<screenX2) {
|
||||||
|
windOffset = -windMultiplier+(x/screenX2*windMultiplier);
|
||||||
|
} else {
|
||||||
|
x -= screenX2;
|
||||||
|
windOffset = (x/screenX2)*windMultiplier;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
this.createSnow = function(limit,allowInactive) {
|
||||||
|
var i;
|
||||||
|
for (i=0; i<limit; i++) {
|
||||||
|
storm.flakes[storm.flakes.length] = new storm.SnowFlake(parseInt(rnd(flakeTypes),10));
|
||||||
|
if (allowInactive || i>storm.flakesMaxActive) {
|
||||||
|
storm.flakes[storm.flakes.length-1].active = -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
storm.targetElement.appendChild(docFrag);
|
||||||
|
};
|
||||||
|
|
||||||
|
this.timerInit = function() {
|
||||||
|
storm.timer = true;
|
||||||
|
storm.snow();
|
||||||
|
};
|
||||||
|
|
||||||
|
this.init = function() {
|
||||||
|
var i;
|
||||||
|
for (i=0; i<storm.meltFrameCount; i++) {
|
||||||
|
storm.meltFrames.push(1-(i/storm.meltFrameCount));
|
||||||
|
}
|
||||||
|
storm.randomizeWind();
|
||||||
|
storm.createSnow(storm.flakesMax); // create initial batch
|
||||||
|
storm.events.add(window,'resize',storm.resizeHandler);
|
||||||
|
storm.events.add(window,'scroll',storm.scrollHandler);
|
||||||
|
if (storm.freezeOnBlur) {
|
||||||
|
if (isIE) {
|
||||||
|
storm.events.add(document,'focusout',storm.freeze);
|
||||||
|
storm.events.add(document,'focusin',storm.resume);
|
||||||
|
} else {
|
||||||
|
storm.events.add(window,'blur',storm.freeze);
|
||||||
|
storm.events.add(window,'focus',storm.resume);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
storm.resizeHandler();
|
||||||
|
storm.scrollHandler();
|
||||||
|
if (storm.followMouse) {
|
||||||
|
storm.events.add(isIE?document:window,'mousemove',storm.mouseMove);
|
||||||
|
}
|
||||||
|
storm.animationInterval = Math.max(20,storm.animationInterval);
|
||||||
|
storm.timerInit();
|
||||||
|
};
|
||||||
|
|
||||||
|
this.start = function(bFromOnLoad) {
|
||||||
|
if (!didInit) {
|
||||||
|
didInit = true;
|
||||||
|
} else if (bFromOnLoad) {
|
||||||
|
// already loaded and running
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (typeof storm.targetElement === 'string') {
|
||||||
|
var targetID = storm.targetElement;
|
||||||
|
storm.targetElement = document.getElementById(targetID);
|
||||||
|
if (!storm.targetElement) {
|
||||||
|
throw new Error('Snowstorm: Unable to get targetElement "'+targetID+'"');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!storm.targetElement) {
|
||||||
|
storm.targetElement = (document.body || document.documentElement);
|
||||||
|
}
|
||||||
|
if (storm.targetElement !== document.documentElement && storm.targetElement !== document.body) {
|
||||||
|
// re-map handler to get element instead of screen dimensions
|
||||||
|
storm.resizeHandler = storm.resizeHandlerAlt;
|
||||||
|
//and force-enable pixel positioning
|
||||||
|
storm.usePixelPosition = true;
|
||||||
|
}
|
||||||
|
storm.resizeHandler(); // get bounding box elements
|
||||||
|
storm.usePositionFixed = (storm.usePositionFixed && !noFixed && !storm.flakeBottom); // whether or not position:fixed is to be used
|
||||||
|
if (window.getComputedStyle) {
|
||||||
|
// attempt to determine if body or user-specified snow parent element is relatlively-positioned.
|
||||||
|
try {
|
||||||
|
targetElementIsRelative = (window.getComputedStyle(storm.targetElement, null).getPropertyValue('position') === 'relative');
|
||||||
|
} catch(e) {
|
||||||
|
// oh well
|
||||||
|
targetElementIsRelative = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fixedForEverything = storm.usePositionFixed;
|
||||||
|
if (screenX && screenY && !storm.disabled) {
|
||||||
|
storm.init();
|
||||||
|
storm.active = true;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
function doDelayedStart() {
|
||||||
|
window.setTimeout(function() {
|
||||||
|
storm.start(true);
|
||||||
|
}, 20);
|
||||||
|
// event cleanup
|
||||||
|
storm.events.remove(isIE?document:window,'mousemove',doDelayedStart);
|
||||||
|
}
|
||||||
|
|
||||||
|
function doStart() {
|
||||||
|
if (!storm.excludeMobile || !isMobile) {
|
||||||
|
doDelayedStart();
|
||||||
|
}
|
||||||
|
// event cleanup
|
||||||
|
storm.events.remove(window, 'load', doStart);
|
||||||
|
}
|
||||||
|
|
||||||
|
// hooks for starting the snow
|
||||||
|
if (storm.autoStart) {
|
||||||
|
storm.events.add(window, 'load', doStart, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
return this;
|
||||||
|
|
||||||
|
}(window, document));
|
|
@ -13,6 +13,18 @@
|
||||||
<link rel="stylesheet" href="../style.css" type="text/css">
|
<link rel="stylesheet" href="../style.css" type="text/css">
|
||||||
<link rel="icon" type="image/x-icon" href="../favicon.ico">
|
<link rel="icon" type="image/x-icon" href="../favicon.ico">
|
||||||
<a rel="me" href="https://noc.social/@fijxu"></a>
|
<a rel="me" href="https://noc.social/@fijxu"></a>
|
||||||
|
<script src="../assets/js/snowstorm-min.js"></script>
|
||||||
|
<script>
|
||||||
|
snowStorm.snowColor = '#ffffff'; // blue-ish snow!?
|
||||||
|
snowStorm.flakesMaxActive = 96; // show more snow on screen at once
|
||||||
|
snowStorm.useTwinkleEffect = false;
|
||||||
|
snowStorm.animationInterval = 33;
|
||||||
|
snowStorm.freezeOnBlur = false;
|
||||||
|
snowStorm.followMouse = false;
|
||||||
|
snowStorm.usePositionFixed = false;
|
||||||
|
snowStorm.vMaxX = 3;
|
||||||
|
snowStorm.vMaxY = 3;
|
||||||
|
</script>
|
||||||
<style>
|
<style>
|
||||||
.lol {
|
.lol {
|
||||||
width: 300vh;
|
width: 300vh;
|
||||||
|
@ -37,33 +49,28 @@
|
||||||
<a href="https://zzls.xyz/trafficstats">Internet Traffic Stats</a> |
|
<a href="https://zzls.xyz/trafficstats">Internet Traffic Stats</a> |
|
||||||
<a href="https://blog.zzls.xyz/en">Blog</a>
|
<a href="https://blog.zzls.xyz/en">Blog</a>
|
||||||
</div>
|
</div>
|
||||||
s
|
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<h1 class="tilttext">>.></h1>
|
<h1 class="tilttext">>.></h1>
|
||||||
<p class="lastupdate">Last Updated: 2023-12-07</p>
|
<p class="lastupdate">Last Updated: 2023-12-07</p>
|
||||||
<p class="lastupdate">12-07 Changelog: Now I offer more ways to contact me, not only matrix. Server specs was
|
<p class="lastupdate">12.23 : Now there is a page with the status of all services at <a href="https://status.zzls.xyz/">https://status.zzls.xyz</a></p>
|
||||||
updated and IDK what more. I am getting really tired of modifying 2 webpages at the same time (The Spanish and
|
|
||||||
English translation) so I guess I will port this site to Hugo some day... This is not very fun to do</p>
|
|
||||||
<p>
|
<p>
|
||||||
<p class="lastupdate">12-16 Changelog: Privacy Policy has been updated!!! And a <a class="rainbowtext">IRC Bouncer</a> service is now available</p>
|
Hiiiiiii, I am dedicated on
|
||||||
<p>
|
hosting privacy related services and other types of services mainly for South
|
||||||
Hiiiiiii, I am dedicated on
|
America and the rest of the internet. Very few people in South
|
||||||
hosting privacy related services and other types of services mainly for South
|
America care about
|
||||||
America and the rest of the internet. Very few people in South
|
their privacy (for mere ignorance and convenience) so here I am,
|
||||||
America care about
|
making it easier for those people who want to
|
||||||
their privacy (for mere ignorance and convenience) so here I am,
|
start taking care of their personal data. Obviously, if you are from another country, such as the United States or from another region, feel free to use them, as long as they work for you, it's all good :D.
|
||||||
making it easier for those people who want to
|
|
||||||
start taking care of their personal data. Obviously, if you are from another country, such as the United States or from another region, feel free to use them, as long as they work for you, it's all good :D.
|
|
||||||
</p>
|
</p>
|
||||||
<h2>Services list</h2>
|
<h2>Services list</h2>
|
||||||
<p style="font-size: small; color: burlywood;">⚠️ <i>Before you consider
|
<p style="font-size: small; color: burlywood;">⚠️ <i>Before you consider
|
||||||
using my services on a daily
|
using my services on a daily
|
||||||
basis, the ones marked with <a class="selfhosted">(Self-Hosted)</a>
|
basis, the ones marked with <a class="selfhosted">(Self-Hosted)</a>
|
||||||
may be
|
may be
|
||||||
go down at any time because they are
|
go down at any time because they are
|
||||||
they are hosted with my own home internet. I don't rent dedicated
|
they are hosted with my own home internet. I don't rent dedicated
|
||||||
servers for these services (because I am not
|
servers for these services (because I am not
|
||||||
able to afford it xD).</i>
|
able to afford it xD).</i>
|
||||||
</p>
|
</p>
|
||||||
<h4>Privacy Oriented Ones:</h4>
|
<h4>Privacy Oriented Ones:</h4>
|
||||||
<ul>
|
<ul>
|
||||||
|
@ -72,66 +79,66 @@ s
|
||||||
🇨🇱 (<a href="http://librex.zzlsghu6mvvwyy75mvga6gaf4znbp3erk5xwfzedb4gg6qqh2j6rlvid.onion/">Tor</a>)
|
🇨🇱 (<a href="http://librex.zzlsghu6mvvwyy75mvga6gaf4znbp3erk5xwfzedb4gg6qqh2j6rlvid.onion/">Tor</a>)
|
||||||
<a class="selfhosted">(Self-Hosted)</a>
|
<a class="selfhosted">(Self-Hosted)</a>
|
||||||
<p class="rainbowtext">
|
<p class="rainbowtext">
|
||||||
"A
|
"A
|
||||||
metasearch engine that gets
|
metasearch engine that gets
|
||||||
results from other engines, and strips away all of the tracking parameters and Microsoft/globohomo bullshit
|
results from other engines, and strips away all of the tracking parameters and Microsoft/globohomo bullshit
|
||||||
they add" <a href="https://git.lolcat.ca/lolcat/4get">Source Code</a> </p>
|
they add" <a href="https://git.lolcat.ca/lolcat/4get">Source Code</a> </p>
|
||||||
|
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a class="THEYGLOW" style="color: greenyellow;" href="https://4getus.zzls.xyz">4get</a> @
|
<a class="THEYGLOW" style="color: greenyellow;" href="https://4getus.zzls.xyz">4get</a> @
|
||||||
🇺🇸 (<a href="http://4getus.zzls2vhse6jeahgdz5snle37dnngmbeh4jgug5xvsdpmlchaw3ieonid.onion/">Tor</a>)
|
🇺🇸 (<a href="http://4getus.zzls2vhse6jeahgdz5snle37dnngmbeh4jgug5xvsdpmlchaw3ieonid.onion/">Tor</a>)
|
||||||
<p>
|
<p>
|
||||||
The same as above but in the united states. It could be more
|
The same as above but in the united states. It could be more
|
||||||
stable because it is in a VPS, but it has more
|
stable because it is in a VPS, but it has more
|
||||||
probability of getting rate limited as well...
|
probability of getting rate limited as well...
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a style="color: greenyellow;"></a><a href="https://matrix.zzls.xyz">Matrix
|
<a style="color: greenyellow;"></a><a href="https://matrix.zzls.xyz">Matrix
|
||||||
Homeserver</a> @ 🇨🇱 <a class="selfhosted">(Self-Hosted)</a>
|
Homeserver</a> @ 🇨🇱 <a class="selfhosted">(Self-Hosted)</a>
|
||||||
<p>
|
<p>
|
||||||
Matrix server running <a href="https://github.com/matrix-org/synapse">Synapse</a>, using a
|
Matrix server running <a href="https://github.com/matrix-org/synapse">Synapse</a>, using a
|
||||||
NVME,
|
NVME,
|
||||||
PostgreSQL and a good CPU. It has support for Spaces, Threading and
|
PostgreSQL and a good CPU. It has support for Spaces, Threading and
|
||||||
other experimental features. <b>You can request an account contacting me <a href="../contact/">here</a></b>
|
other experimental features. <b>You can request an account contacting me <a href="../contact/">here</a></b>
|
||||||
<p>It also has mautrix-whatsapp integration, which is a bot for sending and receiving messages from Whatsapp in
|
<p>It also has mautrix-whatsapp integration, which is a bot for sending and receiving messages from Whatsapp in
|
||||||
Matrix.</p>
|
Matrix.</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://search.zzls.xyz">SearxNG</a> @ 🇨🇱
|
<a href="https://search.zzls.xyz">SearxNG</a> @ 🇨🇱
|
||||||
<p>
|
<p>
|
||||||
A metasearch
|
A metasearch
|
||||||
engine which aggregates results from more than 70
|
engine which aggregates results from more than 70
|
||||||
search services.
|
search services.
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://inv.zzls.xyz">Invidious</a> @ 🇨🇱 (<a
|
<a href="https://inv.zzls.xyz">Invidious</a> @ 🇨🇱 (<a
|
||||||
href="http://inv.zzls.i2p/?i2paddresshelper=6s3qhqcyth644rlssv2sajluvrx632uaucsmnwaowglg6hocxjfa.b32.i2p">I2P</a>)
|
href="http://inv.zzls.i2p/?i2paddresshelper=6s3qhqcyth644rlssv2sajluvrx632uaucsmnwaowglg6hocxjfa.b32.i2p">I2P</a>)
|
||||||
<a class="selfhosted">(Self-Hosted)</a>
|
<a class="selfhosted">(Self-Hosted)</a>
|
||||||
<p>
|
<p>
|
||||||
An alternative
|
An alternative
|
||||||
frontend for Youtube, feel free to register.
|
frontend for Youtube, feel free to register.
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://ri.zzls.xyz">Rimgo</a>
|
<a href="https://ri.zzls.xyz">Rimgo</a>
|
||||||
@ 🇨🇱 (<a href="http://rimgo.zzlsghu6mvvwyy75mvga6gaf4znbp3erk5xwfzedb4gg6qqh2j6rlvid.onion/">Tor</a>)
|
@ 🇨🇱 (<a href="http://rimgo.zzlsghu6mvvwyy75mvga6gaf4znbp3erk5xwfzedb4gg6qqh2j6rlvid.onion/">Tor</a>)
|
||||||
(<a
|
(<a
|
||||||
href="http://rimgo.zzls.i2p/?i2paddresshelper=p57356k2xwhxrg2lxrjajcftkrptv4zejeeblzfgkcvpzuetkz2a.b32.i2p">I2P</a>)
|
href="http://rimgo.zzls.i2p/?i2paddresshelper=p57356k2xwhxrg2lxrjajcftkrptv4zejeeblzfgkcvpzuetkz2a.b32.i2p">I2P</a>)
|
||||||
<p>
|
<p>
|
||||||
A Imgur
|
A Imgur
|
||||||
proxy that load images faster than the original imgur webpage.
|
proxy that load images faster than the original imgur webpage.
|
||||||
<a href="https://codeberg.org/video-prize-ranch/rimgo">Source Code</a>
|
<a href="https://codeberg.org/video-prize-ranch/rimgo">Source Code</a>
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://pbin.zzls.xyz">Privatebin</a> @ 🇨🇱 <a class="selfhosted">(Self-Hosted)</a>
|
<a href="https://pbin.zzls.xyz">Privatebin</a> @ 🇨🇱 <a class="selfhosted">(Self-Hosted)</a>
|
||||||
<p>
|
<p>
|
||||||
A
|
A
|
||||||
pastebin where the server has 0 knowledge about the pastes, all the
|
pastebin where the server has 0 knowledge about the pastes, all the
|
||||||
data is encrypted in the client side.
|
data is encrypted in the client side.
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -140,100 +147,100 @@ s
|
||||||
<li>
|
<li>
|
||||||
<a style="color: greenyellow;">IRC Bouncer</a> @ 🇺🇸
|
<a style="color: greenyellow;">IRC Bouncer</a> @ 🇺🇸
|
||||||
<p>
|
<p>
|
||||||
An IRC Bouncer that allows you to stay connected on IRC networks without losing messages. If you want an account and instructions on how to use it, talk to me <a href="../contact/index-en.html">here</a>
|
An IRC Bouncer that allows you to stay connected on IRC networks without losing messages. If you want an account and instructions on how to use it, talk to me <a href="../contact/index-en.html">here</a>
|
||||||
A IRC bouncer that works Un bouncer IRC que sirve para mantenerte conectado en redes IRC sin perder los mensajes.
|
A IRC bouncer that works Un bouncer IRC que sirve para mantenerte conectado en redes IRC sin perder los mensajes.
|
||||||
Si quieres una cuenta e
|
Si quieres una cuenta e
|
||||||
instrucciones de uso, háblame por <a href="./contact/index.html">aquí</a>
|
instrucciones de uso, háblame por <a href="./contact/index.html">aquí</a>
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://ayaya.beauty">ayaya.beauty</a> @ 🇨🇱 <a class="selfhosted">(Self-Hosted)</a>
|
<a href="https://ayaya.beauty">ayaya.beauty</a> @ 🇨🇱 <a class="selfhosted">(Self-Hosted)</a>
|
||||||
<p>
|
<p>
|
||||||
A
|
A
|
||||||
temporal media uploader using <a href="https://github.com/nokonoko/uguu">Uguu</a>. It allows you to
|
temporal media uploader using <a href="https://github.com/nokonoko/uguu">Uguu</a>. It allows you to
|
||||||
upload files up to <b>512MiB</b> (yes, 512MiB) and they are deleted
|
upload files up to <b>512MiB</b> (yes, 512MiB) and they are deleted
|
||||||
automatically in 7 days.
|
automatically in 7 days.
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a style="color: greenyellow;"></a><a href="https://git.zzls.xyz">Forgejo</a>
|
<a style="color: greenyellow;"></a><a href="https://git.zzls.xyz">Forgejo</a>
|
||||||
@ 🇨🇱 <a class="selfhosted">(Self-Hosted)</a>
|
@ 🇨🇱 <a class="selfhosted">(Self-Hosted)</a>
|
||||||
<p>
|
<p>
|
||||||
A git
|
A git
|
||||||
server where you can host
|
server where you can host
|
||||||
your personal projects or make mirrors of other git repositories
|
your personal projects or make mirrors of other git repositories
|
||||||
with the intention of archiving them.
|
with the intention of archiving them.
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://logs.zzls.xyz">Twitch Logs</a> @ 🇺🇸
|
<a href="https://logs.zzls.xyz">Twitch Logs</a> @ 🇺🇸
|
||||||
<p>
|
<p>
|
||||||
A bunch of
|
A bunch of
|
||||||
logs
|
logs
|
||||||
from twitch streams (mainly spanish ones), currently using about
|
from twitch streams (mainly spanish ones), currently using about
|
||||||
~400GiB of storage
|
~400GiB of storage
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://count.ayaya.beauty">Moe Counter</a> @ 🇨🇱
|
<a href="https://count.ayaya.beauty">Moe Counter</a> @ 🇨🇱
|
||||||
<p>
|
<p>
|
||||||
A
|
A
|
||||||
Gelbooru
|
Gelbooru
|
||||||
like counter that you can embed in your webpage to count the visitors
|
like counter that you can embed in your webpage to count the visitors
|
||||||
of the page
|
of the page
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h2>Servers specifications</h2>
|
<h2>Servers specifications</h2>
|
||||||
<p>You can find more information about the servers/computers running this
|
<p>You can find more information about the servers/computers running this
|
||||||
kind of services here -> <a href="../srvspecs">yes, here</a></p>
|
kind of services here -> <a href="../srvspecs">yes, here</a></p>
|
||||||
<h2>Q&A</h2>
|
<h2>Q&A</h2>
|
||||||
<h4>Your services are running behind <a style="color:coral">Cloudflare?</a></h4>
|
<h4>Your services are running behind <a style="color:coral">Cloudflare?</a></h4>
|
||||||
<p>No</p>
|
<p>No</p>
|
||||||
<p>And here is the reason why</p>
|
<p>And here is the reason why</p>
|
||||||
<p>People shouldn't use Cloudflare for privacy related services, it
|
<p>People shouldn't use Cloudflare for privacy related services, it
|
||||||
defeats the whole concept of online
|
defeats the whole concept of online
|
||||||
privacy and freedom since Cloudflare is a man in the middle and can
|
privacy and freedom since Cloudflare is a man in the middle and can
|
||||||
decrypt all the data between the user and the
|
decrypt all the data between the user and the
|
||||||
server. And nobody wants a hundred of Cloudflare captchas shit just to
|
server. And nobody wants a hundred of Cloudflare captchas shit just to
|
||||||
access a site, that is supposed to stop bad
|
access a site, that is supposed to stop bad
|
||||||
bots, not humans.
|
bots, not humans.
|
||||||
<h4>How I can ensure you are not collecting any data?</h4>
|
<h4>How I can ensure you are not collecting any data?</h4>
|
||||||
<p>The NGINX configs and other configs are available
|
<p>The NGINX configs and other configs are available
|
||||||
<a href="https://git.zzls.xyz/Fijxu/etc-configs">here</a>, they are on
|
<a href="https://git.zzls.xyz/Fijxu/etc-configs">here</a>, they are on
|
||||||
different branches so explore whatever you want, if you find something
|
different branches so explore whatever you want, if you find something
|
||||||
that is not very privacy respecting into the Privacy Oriented services
|
that is not very privacy respecting into the Privacy Oriented services
|
||||||
configs, contact me via matrix:
|
configs, contact me via matrix:
|
||||||
<a href="https://matrix.to/#/@fijxu:zzls.xyz">@fijxu:zzls.xyz</a>
|
<a href="https://matrix.to/#/@fijxu:zzls.xyz">@fijxu:zzls.xyz</a>
|
||||||
(I'am always available there, it's not dead).
|
(I'am always available there, it's not dead).
|
||||||
</p>
|
</p>
|
||||||
<h4>How I can TRUST YOU?</h4>
|
<h4>How I can TRUST YOU?</h4>
|
||||||
<!-- TOO EXTREMIST LMAO -->
|
<!-- TOO EXTREMIST LMAO -->
|
||||||
<!-- <p>Do you trust <b style="color: #4285f4">G</b><b style="color: #ea4335">O</b><b style="color: #fbbc05">O</b><b
|
<!-- <p>Do you trust <b style="color: #4285f4">G</b><b style="color: #ea4335">O</b><b style="color: #fbbc05">O</b><b
|
||||||
style="color: #4285f4">G</b><b style="color: #35ae56">L</b><b style="color: #ea4335">E</b> with your data right?
|
style="color: #4285f4">G</b><b style="color: #35ae56">L</b><b style="color: #ea4335">E</b> with your data right?
|
||||||
So there is not
|
So there is not
|
||||||
problem in trusting a random person of internet that fights for online
|
problem in trusting a random person of internet that fights for online
|
||||||
privacy rather than a big corporation selling your personal data for
|
privacy rather than a big corporation selling your personal data for
|
||||||
advertisement purposes right?
|
advertisement purposes right?
|
||||||
</p> -->
|
</p> -->
|
||||||
<p>
|
<p>
|
||||||
I am a single person on the internet that focus on online privacy. I don't own any business, company or anything like that and my objetive is not about making money.
|
I am a single person on the internet that focus on online privacy. I don't own any business, company or anything like that and my objetive is not about making money.
|
||||||
</p>
|
</p>
|
||||||
<p>I mainly thought of hosting the services only for myself and not leaving them public, but doing that doesn't make any sense at all since all the traffic that comes in and out from X service (Like Invidious) will come from a single person, me. Doing this is like just using a VPN.</p>
|
<p>I mainly thought of hosting the services only for myself and not leaving them public, but doing that doesn't make any sense at all since all the traffic that comes in and out from X service (Like Invidious) will come from a single person, me. Doing this is like just using a VPN.</p>
|
||||||
<p>So I said to myself "I should make this services public for anyone interested on privacy like me" and so I did it.</p>
|
<p>So I said to myself "I should make this services public for anyone interested on privacy like me" and so I did it.</p>
|
||||||
<blockquote cite="https://cock.li/" style="font-family: monospace; font-style: italic;">
|
<blockquote cite="https://cock.li/" style="font-family: monospace; font-style: italic;">
|
||||||
Administering a mail host is sort of like being a nurse; there's a
|
Administering a mail host is sort of like being a nurse; there's a
|
||||||
brief
|
brief
|
||||||
period at the start when the thought of seeing people's privates might
|
period at the start when the thought of seeing people's privates might
|
||||||
be vaguely titillating in a theoretical sense, but that sort of thing
|
be vaguely titillating in a theoretical sense, but that sort of thing
|
||||||
doesn't last long when it's up against the daily reality of shit,
|
doesn't last long when it's up against the daily reality of shit,
|
||||||
piss,
|
piss,
|
||||||
blood, and vomit. Now that I think about it, administering a mail host
|
blood, and vomit. Now that I think about it, administering a mail host
|
||||||
is exactly like being a nurse, only people die slightly less often.
|
is exactly like being a nurse, only people die slightly less often.
|
||||||
</blockquote>
|
</blockquote>
|
||||||
<!-- BELLOW COMMENTED TEXT IS JUST BULLSHIT (but true) -->
|
<!-- BELLOW COMMENTED TEXT IS JUST BULLSHIT (but true) -->
|
||||||
<!-- <h4>Why are your privacy oriented services running on Chile and not US?</h4>
|
<!-- <h4>Why are your privacy oriented services running on Chile and not US?</h4>
|
||||||
<p>Because of the <span class="THEYGLOW">3 letter agencies</span> (yes,
|
<p>Because of the <span class="THEYGLOW">3 letter agencies</span> (yes,
|
||||||
they <span class="THEYGLOW">glow</span> a lot) that exists on the US,
|
they <span class="THEYGLOW">glow</span> a lot) that exists on the US,
|
||||||
also i don't want everything running on the same country where i host
|
also i don't want everything running on the same country where i host
|
||||||
|
@ -246,29 +253,29 @@ s
|
||||||
by a long time, that services will not be available, but that happens
|
by a long time, that services will not be available, but that happens
|
||||||
rarely.
|
rarely.
|
||||||
</p> -->
|
</p> -->
|
||||||
<h4>Do you have any donations link?</h4>
|
<h4>Do you have any donations link?</h4>
|
||||||
<p><a href="../donate">Yes</a>.</p>
|
<p><a href="../donate">Yes</a>.</p>
|
||||||
<h2 style="text-align: center;">buh</h2>
|
<h2 style="text-align: center;">buh</h2>
|
||||||
<p style="text-align: center;">Suggestions and thank you messages go here.</p>
|
<p style="text-align: center;">Suggestions and thank you messages go here.</p>
|
||||||
<iframe src="https://lol.zzls.xyz" title="xD" style="width: 100%; height: 1080px; border: none;"></iframe>
|
<iframe src="https://lol.zzls.xyz" title="xD" style="width: 100%; height: 1080px; border: none;"></iframe>
|
||||||
</div>
|
</div>
|
||||||
<footer>
|
<footer>
|
||||||
<div class="banners">
|
<div class="banners">
|
||||||
<a href="https://spyware.neocities.org/articles/discord_es.html"><img src="../assets/discord.gif"
|
<a href="https://spyware.neocities.org/articles/discord_es.html"><img src="../assets/discord.gif"
|
||||||
alt="Discord?, No Thanks"></a>
|
alt="Discord?, No Thanks"></a>
|
||||||
<a href="https://commonterms.org/"><img src="../assets/notread.gif" alt="Do you read TOS right?"></a>
|
<a href="https://commonterms.org/"><img src="../assets/notread.gif" alt="Do you read TOS right?"></a>
|
||||||
<a href="https://absurdismworld.cc/0x40/"><img src="../assets/rave.gif" alt="RAVIN'"></a>
|
<a href="https://absurdismworld.cc/0x40/"><img src="../assets/rave.gif" alt="RAVIN'"></a>
|
||||||
<img src="../assets/seedyourtorrents.gif" alt="Sharing is caring <3">
|
<img src="../assets/seedyourtorrents.gif" alt="Sharing is caring <3">
|
||||||
<img src="../assets/nftbutton.gif" alt="NFTs? wtf">
|
<img src="../assets/nftbutton.gif" alt="NFTs? wtf">
|
||||||
<a><img src="../assets/08831.gif" alt="OOOOO"></a>
|
<a><img src="../assets/08831.gif" alt="OOOOO"></a>
|
||||||
<a href="https://inv.zzls.xyz/watch?v=1pMDdKV8wCw"><img src="../assets/right2repair.gif"
|
<a href="https://inv.zzls.xyz/watch?v=1pMDdKV8wCw"><img src="../assets/right2repair.gif"
|
||||||
alt="I support Right To Repair (Not like Apple)"></a>
|
alt="I support Right To Repair (Not like Apple)"></a>
|
||||||
<!-- <p style="margin: auto;"> -->
|
<!-- <p style="margin: auto;"> -->
|
||||||
<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img alt="Creative Commons License"
|
<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img alt="Creative Commons License"
|
||||||
style="border-width: 0" src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png"></a>
|
style="border-width: 0" src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png"></a>
|
||||||
<a href="https://jigsaw.w3.org/css-validator/check/referer">
|
<a href="https://jigsaw.w3.org/css-validator/check/referer">
|
||||||
<img style="border:0;width:88px;height:31px" src="https://jigsaw.w3.org/css-validator/images/vcss"
|
<img style="border:0;width:88px;height:31px" src="https://jigsaw.w3.org/css-validator/images/vcss"
|
||||||
alt="Valid CSS!">
|
alt="Valid CSS!">
|
||||||
</a>
|
</a>
|
||||||
<!-- </p> -->
|
<!-- </p> -->
|
||||||
</div>
|
</div>
|
||||||
|
|
367
index.html
367
index.html
|
@ -6,19 +6,32 @@
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<title>Wuuuuu~</title>
|
<title>Wuuuuu~</title>
|
||||||
<meta name="description"
|
<meta name="description"
|
||||||
content="Alojando servicios de privacidad online para el internet, y mas mierdas que me interesan">
|
content="Alojando servicios de privacidad online para el internet, y mas mierdas que me interesan">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<meta name="keywords" content="Privacy Services, Invidious, 4get, Matrix Federation">
|
<meta name="keywords" content="Privacy Services, Invidious, 4get, Matrix Federation">
|
||||||
<link rel="stylesheet" href="/style.css" type="text/css">
|
<link rel="stylesheet" href="/style.css" type="text/css">
|
||||||
<link rel="icon" type="image/x-icon" href="./favicon.ico">
|
<link rel="icon" type="image/x-icon" href="./favicon.ico">
|
||||||
<a rel="me" href="https://noc.social/@fijxu"></a>
|
<a rel="me" href="https://noc.social/@fijxu"></a>
|
||||||
|
<!-- https://www.schillmania.com/projects/snowstorm/ -->
|
||||||
|
<script src="./assets/js/snowstorm-min.js"></script>
|
||||||
|
<script>
|
||||||
|
snowStorm.snowColor = '#ffffff'; // blue-ish snow!?
|
||||||
|
snowStorm.flakesMaxActive = 96; // show more snow on screen at once
|
||||||
|
snowStorm.useTwinkleEffect = false;
|
||||||
|
snowStorm.animationInterval = 33;
|
||||||
|
snowStorm.freezeOnBlur = false;
|
||||||
|
snowStorm.followMouse = false;
|
||||||
|
snowStorm.usePositionFixed = false;
|
||||||
|
snowStorm.vMaxX = 3;
|
||||||
|
snowStorm.vMaxY = 3;
|
||||||
|
</script>
|
||||||
<style>
|
<style>
|
||||||
.lol {
|
.lol {
|
||||||
width: 300vh;
|
width: 300vh;
|
||||||
height: auto;
|
height: auto;
|
||||||
max-height: 100%;
|
max-height: 100%;
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
@ -38,36 +51,32 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<h1 class="tilttext">>.></h1>
|
<h1 class="tilttext">>.></h1>
|
||||||
<p class="lastupdate">Ultima Actualización: 2023-12-16</p>
|
<p class="lastupdate">Ultima Actualización: 2023-12-23</p>
|
||||||
<p class="lastupdate">Registro de Cambios 12-07: Ahora ofrezco mas opciones para contactarme, no solo matrix. Las
|
<p class="lastupdate">12.23 : Ahora hay una pagina para ver el estado de todos los servicios aquí: <a href="https://status.zzls.xyz/">https://status.zzls.xyz</a></p>
|
||||||
especificaciones de los servidores han sido actualizadas y no se que otra cosa más. Ya me estoy cansando de tener
|
|
||||||
que modificar 2 paginas al mismo tiempo (La española y la traduccion en Ingles) asi que creo que portare este
|
|
||||||
sitio a Hugo algún día... Hacer esto ya no es divertido.</p>
|
|
||||||
<p class="lastupdate">12-16 Changelog: La Política de Privacidad fue actualizada!!! Y un <a class="rainbowtext">Bouncer IRC</a> ahora esta disponible</p>
|
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Holaalalalalalal, me dedico a alojar servicios
|
Holaalalalalalal, me dedico a alojar servicios
|
||||||
enfocados a
|
enfocados a
|
||||||
la
|
la
|
||||||
privacidad y otros tipos de servicios varios principalmente para
|
privacidad y otros tipos de servicios varios principalmente para
|
||||||
Latinoamérica y el resto del internet. A muy poca gente de Latinoamérica
|
Latinoamérica y el resto del internet. A muy poca gente de Latinoamérica
|
||||||
le importa su privacidad (por mera ignorancia y
|
le importa su privacidad (por mera ignorancia y
|
||||||
conveniencia) asi que aquí estoy yo, haciéndolo todo más
|
conveniencia) asi que aquí estoy yo, haciéndolo todo más
|
||||||
fácil para esa gente que quiere empezar a cuidar de
|
fácil para esa gente que quiere empezar a cuidar de
|
||||||
sus datos personales ante las grandes empresas que se benefician de ellos. Obviamente, si eres de otro país, como
|
sus datos personales ante las grandes empresas que se benefician de ellos. Obviamente, si eres de otro país, como
|
||||||
Estados Unidos u de alguna que otra región, siéntete libre
|
Estados Unidos u de alguna que otra región, siéntete libre
|
||||||
de utilizarlos, mientras funcionen para ti, todo bien :D.
|
de utilizarlos, mientras funcionen para ti, todo bien :D.
|
||||||
</p>
|
</p>
|
||||||
<h2>Lista de servicios</h2>
|
<h2>Lista de servicios</h2>
|
||||||
<p style="font-size: small; color: burlywood;">⚠️ <i>Por favor,
|
<p style="font-size: small; color: burlywood;">⚠️ <i>Por favor,
|
||||||
antes de que pienses usar mis servicios de forma
|
antes de que pienses usar mis servicios de forma
|
||||||
diaria, toma en cuenta que los que están marcados con
|
diaria, toma en cuenta que los que están marcados con
|
||||||
<a class="selfhosted">(Self-Hosted)</a>
|
<a class="selfhosted">(Self-Hosted)</a>
|
||||||
pueden
|
pueden
|
||||||
caerse en cualquier momento porque
|
caerse en cualquier momento porque
|
||||||
están alojados con mi propio internet, no arriendo
|
están alojados con mi propio internet, no arriendo
|
||||||
servidores dedicados para estos servicios.
|
servidores dedicados para estos servicios.
|
||||||
(Porque no soy capaz de pagarlo xD)</i>
|
(Porque no soy capaz de pagarlo xD)</i>
|
||||||
</p>
|
</p>
|
||||||
<h4>Servicios enfocados a la Privacidad:</h4>
|
<h4>Servicios enfocados a la Privacidad:</h4>
|
||||||
<ul>
|
<ul>
|
||||||
|
@ -76,249 +85,249 @@
|
||||||
🇨🇱 (<a href="http://4get.zzlsghu6mvvwyy75mvga6gaf4znbp3erk5xwfzedb4gg6qqh2j6rlvid.onion/">Tor</a>)
|
🇨🇱 (<a href="http://4get.zzlsghu6mvvwyy75mvga6gaf4znbp3erk5xwfzedb4gg6qqh2j6rlvid.onion/">Tor</a>)
|
||||||
<a class="selfhosted">(Self-Hosted)</a>
|
<a class="selfhosted">(Self-Hosted)</a>
|
||||||
<p class="rainbowtext">"Un
|
<p class="rainbowtext">"Un
|
||||||
metabuscador que
|
metabuscador que
|
||||||
obtiene resultados de otros motores y elimina todo
|
obtiene resultados de otros motores y elimina todo
|
||||||
el rastreo y la mierda de Microsoft/globohomo que
|
el rastreo y la mierda de Microsoft/globohomo que
|
||||||
añaden." <a href="https://git.lolcat.ca/lolcat/4get">Codigo fuente</a>
|
añaden." <a href="https://git.lolcat.ca/lolcat/4get">Codigo fuente</a>
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a class="THEYGLOW" style="color: greenyellow;" href="https://4getus.zzls.xyz">4get</a> @
|
<a class="THEYGLOW" style="color: greenyellow;" href="https://4getus.zzls.xyz">4get</a> @
|
||||||
🇺🇸 (<a href="http://4getus.zzls2vhse6jeahgdz5snle37dnngmbeh4jgug5xvsdpmlchaw3ieonid.onion/">Tor</a>)
|
🇺🇸 (<a href="http://4getus.zzls2vhse6jeahgdz5snle37dnngmbeh4jgug5xvsdpmlchaw3ieonid.onion/">Tor</a>)
|
||||||
<p>
|
<p>
|
||||||
Lo mismo que el anterior pero en estados unidos.
|
Lo mismo que el anterior pero en estados unidos.
|
||||||
Podría ser más estable porque está en un VPS, pero
|
Podría ser más estable porque está en un VPS, pero
|
||||||
tiene más probabilidad de conseguir "rate limit"
|
tiene más probabilidad de conseguir "rate limit"
|
||||||
también.
|
también.
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a style="color: greenyellow;"></a><a href="https://matrix.zzls.xyz">Matrix</a> @ 🇨🇱
|
<a style="color: greenyellow;"></a><a href="https://matrix.zzls.xyz">Matrix</a> @ 🇨🇱
|
||||||
<a class="selfhosted">(Self-Hosted)</a>
|
<a class="selfhosted">(Self-Hosted)</a>
|
||||||
<p>Servidor
|
<p>Servidor
|
||||||
de Matrix que usa <a href="https://github.com/matrix-org/synapse">Synapse</a>,
|
de Matrix que usa <a href="https://github.com/matrix-org/synapse">Synapse</a>,
|
||||||
con un NVME, PostgreSQL y un buen CPU. Es compatible con
|
con un NVME, PostgreSQL y un buen CPU. Es compatible con
|
||||||
Spaces, Threading y otras funciones
|
Spaces, Threading y otras funciones
|
||||||
experimentales. <b>Si quieres una cuenta, háblame por <a href="./contact/">aquí</a></b>
|
experimentales. <b>Si quieres una cuenta, háblame por <a href="./contact/">aquí</a></b>
|
||||||
<p>Tambien integra mautrix-whatsapp, un bot con el cual puedes enviar y recibir mensajes de whatsapp en Matrix
|
<p>Tambien integra mautrix-whatsapp, un bot con el cual puedes enviar y recibir mensajes de whatsapp en Matrix
|
||||||
</p>
|
</p>
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://search.zzls.xyz">SearxNG</a> @ 🇨🇱 (<a
|
<a href="https://search.zzls.xyz">SearxNG</a> @ 🇨🇱 (<a
|
||||||
href="http://searxdr3pqz4nydgnqocsia2xbywptxbkympa2emn7zlgggrir4bkfad.onion/">Tor</a>)
|
href="http://searxdr3pqz4nydgnqocsia2xbywptxbkympa2emn7zlgggrir4bkfad.onion/">Tor</a>)
|
||||||
<p>
|
<p>
|
||||||
Un metabuscador
|
Un metabuscador
|
||||||
que agrega resultados de más de 70
|
que agrega resultados de más de 70
|
||||||
servicios de búsqueda.
|
servicios de búsqueda.
|
||||||
<a href="https://github.com/searxng/searxng">Código
|
<a href="https://github.com/searxng/searxng">Código
|
||||||
Fuente</a>,
|
Fuente</a>,
|
||||||
<a href="https://searx.space">Otras Instancias</a>
|
<a href="https://searx.space">Otras Instancias</a>
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://inv.zzls.xyz">Invidious</a> @ 🇨🇱 (<a
|
<a href="https://inv.zzls.xyz">Invidious</a> @ 🇨🇱 (<a
|
||||||
href="http://inv.zzls.i2p/?i2paddresshelper=6s3qhqcyth644rlssv2sajluvrx632uaucsmnwaowglg6hocxjfa.b32.i2p">I2P</a>)
|
href="http://inv.zzls.i2p/?i2paddresshelper=6s3qhqcyth644rlssv2sajluvrx632uaucsmnwaowglg6hocxjfa.b32.i2p">I2P</a>)
|
||||||
<a class="selfhosted">(Self-Hosted)</a>
|
<a class="selfhosted">(Self-Hosted)</a>
|
||||||
<p>
|
<p>
|
||||||
Un
|
Un
|
||||||
front-end alternativo a YouTube.
|
front-end alternativo a YouTube.
|
||||||
Siéntete libre de usar las descargas y registrarte.
|
Siéntete libre de usar las descargas y registrarte.
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<!-- <li><s>
|
<!-- <li><s>
|
||||||
<a href="https://librex.zzls.xyz">LibreX</a>
|
<a href="https://librex.zzls.xyz">LibreX</a>
|
||||||
@ 🇨🇱 (<a href="http://librex.zzlsghu6mvvwyy75mvga6gaf4znbp3erk5xwfzedb4gg6qqh2j6rlvid.onion/">Tor</a>)
|
@ 🇨🇱 (<a href="http://librex.zzlsghu6mvvwyy75mvga6gaf4znbp3erk5xwfzedb4gg6qqh2j6rlvid.onion/">Tor</a>)
|
||||||
(<a
|
|
||||||
href="http://librex.zzls.i2p/?i2paddresshelper=huurwog32tny663wkglrhozfoyqyqmsuxjbd7dtudccx44awjda.b32.i2p/">I2P</a>)
|
|
||||||
<a class="selfhosted">(Self-Hosted)</a> ⎯ "Metabuscador
|
|
||||||
libre de frameworks y javascript que
|
|
||||||
respeta tu privacidad". Usa google y
|
|
||||||
otros motores de búsqueda
|
|
||||||
para obtener los resultados, asi que ninguna de tu
|
|
||||||
información es revelada a hacia los motores de
|
|
||||||
búsqueda, se podría decir que actúa como un proxy. <a href="https://github.com/hnhx/librex">Codigo
|
|
||||||
Fuente</a></s> INSTANCIA MUERTA, ME ABURRI DE ALOJAR LIBREY XD.
|
|
||||||
</li> -->
|
|
||||||
<li>
|
|
||||||
<a href="https://ri.zzls.xyz">Rimgo</a> @ 🇨🇱 (<a
|
|
||||||
href="http://rimgo.zzlsghu6mvvwyy75mvga6gaf4znbp3erk5xwfzedb4gg6qqh2j6rlvid.onion/">Tor</a>)
|
|
||||||
(<a
|
(<a
|
||||||
href="http://rimgo.zzls.i2p/?i2paddresshelper=p57356k2xwhxrg2lxrjajcftkrptv4zejeeblzfgkcvpzuetkz2a.b32.i2p">I2P</a>)
|
href="http://librex.zzls.i2p/?i2paddresshelper=huurwog32tny663wkglrhozfoyqyqmsuxjbd7dtudccx44awjda.b32.i2p/">I2P</a>)
|
||||||
<p>
|
<a class="selfhosted">(Self-Hosted)</a> ⎯ "Metabuscador
|
||||||
Un proxy de Imgur que es capaz de cargar
|
libre de frameworks y javascript que
|
||||||
las imágenes mucho mas rápido que la pagina de Imgur
|
respeta tu privacidad". Usa google y
|
||||||
ocultando tu IP.
|
otros motores de búsqueda
|
||||||
<a href="https://codeberg.org/video-prize-ranch/rimgo">Código
|
para obtener los resultados, asi que ninguna de tu
|
||||||
Fuente</a>
|
información es revelada a hacia los motores de
|
||||||
</p>
|
búsqueda, se podría decir que actúa como un proxy. <a href="https://github.com/hnhx/librex">Codigo
|
||||||
</li>
|
Fuente</a></s> INSTANCIA MUERTA, ME ABURRI DE ALOJAR LIBREY XD.
|
||||||
<li>
|
</li> -->
|
||||||
<a href="https://pbin.zzls.xyz">Privatebin</a> @ 🇨🇱
|
<li>
|
||||||
<a class="selfhosted">(Self-Hosted)</a>
|
<a href="https://ri.zzls.xyz">Rimgo</a> @ 🇨🇱 (<a
|
||||||
<p>
|
href="http://rimgo.zzlsghu6mvvwyy75mvga6gaf4znbp3erk5xwfzedb4gg6qqh2j6rlvid.onion/">Tor</a>)
|
||||||
|
(<a
|
||||||
|
href="http://rimgo.zzls.i2p/?i2paddresshelper=p57356k2xwhxrg2lxrjajcftkrptv4zejeeblzfgkcvpzuetkz2a.b32.i2p">I2P</a>)
|
||||||
|
<p>
|
||||||
|
Un proxy de Imgur que es capaz de cargar
|
||||||
|
las imágenes mucho mas rápido que la pagina de Imgur
|
||||||
|
ocultando tu IP.
|
||||||
|
<a href="https://codeberg.org/video-prize-ranch/rimgo">Código
|
||||||
|
Fuente</a>
|
||||||
|
</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="https://pbin.zzls.xyz">Privatebin</a> @ 🇨🇱
|
||||||
|
<a class="selfhosted">(Self-Hosted)</a>
|
||||||
|
<p>
|
||||||
Un
|
Un
|
||||||
pastebin donde el servidor tiene 0 conocimiento sobre
|
pastebin donde el servidor tiene 0 conocimiento sobre
|
||||||
los pastes, todos los
|
los pastes, todos los
|
||||||
datos están encriptados en el lado del cliente usando
|
datos están encriptados en el lado del cliente usando
|
||||||
AES-256.
|
AES-256.
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h4>Servicios Varios:</h4>
|
<h4>Servicios Varios:</h4>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<a style="color: greenyellow;">IRC Bouncer</a> @ 🇺🇸
|
<a style="color: greenyellow;">IRC Bouncer</a> @ 🇺🇸
|
||||||
<p>
|
<p>
|
||||||
Un bouncer IRC que sirve para mantenerte conectado en redes IRC sin perder los mensajes.
|
Un bouncer IRC que sirve para mantenerte conectado en redes IRC sin perder los mensajes.
|
||||||
Si quieres una cuenta e
|
Si quieres una cuenta e
|
||||||
instrucciones de uso, háblame por <a href="./contact/index.html">aquí</a>
|
instrucciones de uso, háblame por <a href="./contact/index.html">aquí</a>
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://ayaya.beauty">ayaya.beauty</a> @ 🇨🇱
|
<a href="https://ayaya.beauty">ayaya.beauty</a> @ 🇨🇱
|
||||||
<a class="selfhosted">(Self-Hosted)</a>
|
<a class="selfhosted">(Self-Hosted)</a>
|
||||||
<p>
|
<p>
|
||||||
Un subidor multimedia temporal
|
Un subidor multimedia temporal
|
||||||
que usa <a href="https://github.com/nokonoko/uguu">Uguu</a>,
|
que usa <a href="https://github.com/nokonoko/uguu">Uguu</a>,
|
||||||
permite
|
permite
|
||||||
subir archivos de hasta 512MB como máximo con una
|
subir archivos de hasta 512MB como máximo con una
|
||||||
duración de 7 Dias.
|
duración de 7 Dias.
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a style="color: greenyellow;"></a><a href="https://git.zzls.xyz">Forgejo</a> @ 🇨🇱
|
<a style="color: greenyellow;"></a><a href="https://git.zzls.xyz">Forgejo</a> @ 🇨🇱
|
||||||
<a class="selfhosted">(Self-Hosted)</a>
|
<a class="selfhosted">(Self-Hosted)</a>
|
||||||
<p>
|
<p>
|
||||||
Un
|
Un
|
||||||
servidor git donde puedes alojar
|
servidor git donde puedes alojar
|
||||||
tus proyectos personales o hacer mirrors de otros
|
tus proyectos personales o hacer mirrors de otros
|
||||||
repositorios git con la intención de archivarlos.
|
repositorios git con la intención de archivarlos.
|
||||||
<i>Ya era publico hace un tiempo, pero ahora decido
|
<i>Ya era publico hace un tiempo, pero ahora decido
|
||||||
destacarlo en la pagina web</i>
|
destacarlo en la pagina web</i>
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://logs.zzls.xyz">Logs de Twitch</a> @ 🇺🇸
|
<a href="https://logs.zzls.xyz">Logs de Twitch</a> @ 🇺🇸
|
||||||
<p>
|
<p>
|
||||||
Un montón de logs de varios streamers de
|
Un montón de logs de varios streamers de
|
||||||
habla hispana, + de 400GiB de logs (en conjunto de todos
|
habla hispana, + de 400GiB de logs (en conjunto de todos
|
||||||
los canales dentro del listado) existen
|
los canales dentro del listado) existen
|
||||||
actualmente.
|
actualmente.
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://logs.spanix.team">Logs de Twitch
|
<a href="https://logs.spanix.team">Logs de Twitch
|
||||||
(Spanixbot)</a> @ 🇺🇸
|
(Spanixbot)</a> @ 🇺🇸
|
||||||
<p>
|
<p>
|
||||||
Logs que son usados por el
|
Logs que son usados por el
|
||||||
bot
|
bot
|
||||||
<a href="https://spanix.team">Spanixbot</a>, hecho por
|
<a href="https://spanix.team">Spanixbot</a>, hecho por
|
||||||
<a href="https://twitch.tv/ZonianMidian">ZonianMidian</a>.
|
<a href="https://twitch.tv/ZonianMidian">ZonianMidian</a>.
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://count.ayaya.beauty">Moe counter</a> @ 🇨🇱
|
<a href="https://count.ayaya.beauty">Moe counter</a> @ 🇨🇱
|
||||||
<p>
|
<p>
|
||||||
Un contador de visitas como "Gelbooru" que
|
Un contador de visitas como "Gelbooru" que
|
||||||
puedes integrar a tu pagina web a archivos markdown para
|
puedes integrar a tu pagina web a archivos markdown para
|
||||||
hacer un recuento de la cantidad de visitas.
|
hacer un recuento de la cantidad de visitas.
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<h2>Servers!!!</h2>
|
<h2>Servers!!!</h2>
|
||||||
<p>Puedes encontrar información acerca de los servidores que se
|
<p>Puedes encontrar información acerca de los servidores que se
|
||||||
usan para alojar los servicios que proveo aquí
|
usan para alojar los servicios que proveo aquí
|
||||||
-> <a href="../srvspecs">si, aquí</a> (SOLO EN INGLES)</p>
|
-> <a href="../srvspecs">si, aquí</a> (SOLO EN INGLES)</p>
|
||||||
<h2>Preguntas y Respuestas</h2>
|
<h2>Preguntas y Respuestas</h2>
|
||||||
<h4>Tus servicios están corriendo detrás de <a style="color:coral">Cloudflare?</a></h4>
|
<h4>Tus servicios están corriendo detrás de <a style="color:coral">Cloudflare?</a></h4>
|
||||||
<p><b>No</b></p>
|
<p><b>No</b></p>
|
||||||
<p>Aqui esta la razon:</p>
|
<p>Aqui esta la razon:</p>
|
||||||
<p>No se debería usar Cloudflare para servicios
|
<p>No se debería usar Cloudflare para servicios
|
||||||
relacionados con la privacidad, ya que
|
relacionados con la privacidad, ya que
|
||||||
invalida todo el concepto de privacidad y libertad en
|
invalida todo el concepto de privacidad y libertad en
|
||||||
online. Cloudflare puede des-encriptar todo el trafico
|
online. Cloudflare puede des-encriptar todo el trafico
|
||||||
entre el usuario y el servidor y eso no es privado ni
|
entre el usuario y el servidor y eso no es privado ni
|
||||||
seguro. Al alojar varios servicios enfocados en la privacidad hay gente que prefiere utilizar
|
seguro. Al alojar varios servicios enfocados en la privacidad hay gente que prefiere utilizar
|
||||||
navegadores
|
navegadores
|
||||||
con JavaScript desactivado o extensiones para solo permitir JavaScript "libre" y Cloudflare siempre usa
|
con JavaScript desactivado o extensiones para solo permitir JavaScript "libre" y Cloudflare siempre usa
|
||||||
e
|
e
|
||||||
injecta codigo JavaScript en las paginas para analíticas y otras mierdas . Ademas que nadie quiere los
|
injecta codigo JavaScript en las paginas para analíticas y otras mierdas . Ademas que nadie quiere los
|
||||||
captchas de mierda
|
captchas de mierda
|
||||||
y pantallas de carga de más de 5 segundos solo por
|
y pantallas de carga de más de 5 segundos solo por
|
||||||
cloudflare.</p>
|
cloudflare.</p>
|
||||||
<p> Creo que en toda mi vida he gastado al rededor de unas 2
|
<p> Creo que en toda mi vida he gastado al rededor de unas 2
|
||||||
horas gracias a los captchas de cloudflare que a
|
horas gracias a los captchas de cloudflare que a
|
||||||
veces son infinitos y demasiado molestos. Se supone que
|
veces son infinitos y demasiado molestos. Se supone que
|
||||||
tienen que filtrar bots, no personas.</p>
|
tienen que filtrar bots, no personas.</p>
|
||||||
<h4>Como puedo asegurarme de que no estas guardando datos
|
<h4>Como puedo asegurarme de que no estas guardando datos
|
||||||
personales?</h4>
|
personales?</h4>
|
||||||
<p>
|
<p>
|
||||||
La configuraciones de NGINX y otras configuraciones de
|
La configuraciones de NGINX y otras configuraciones de
|
||||||
los servidores están
|
los servidores están
|
||||||
<a href="https://git.zzls.xyz/Fijxu/etc-configs">aca</a>,
|
<a href="https://git.zzls.xyz/Fijxu/etc-configs">aca</a>,
|
||||||
están en diferentes "ramas" asi que explora lo que
|
están en diferentes "ramas" asi que explora lo que
|
||||||
quieras, si encuentras que algo no es de tu gusto dentro
|
quieras, si encuentras que algo no es de tu gusto dentro
|
||||||
de las configuraciones, háblame por <a href="./contact/">aquí</a>
|
de las configuraciones, háblame por <a href="./contact/">aquí</a>
|
||||||
</p>
|
</p>
|
||||||
<!-- <b> - Como puedo <span style="color: red">CONFIAR EN TI</span>?</b>
|
<!-- <b> - Como puedo <span style="color: red">CONFIAR EN TI</span>?</b>
|
||||||
|
<p>
|
||||||
|
> Confías en <b style="color: #4285f4">G</b><b style="color: #ea4335">O</b><b style="color: #fbbc05">O</b><b
|
||||||
|
style="color: #4285f4">G</b><b style="color: #35ae56">L</b><b style="color: #ea4335">E</b>,
|
||||||
|
<b>INSTAGRAM</b> y otros servicios con tus datos personales, cierto? Asi que no debería haber problema en
|
||||||
|
confiar en una persona independiente que lucha por la privacidad online a preferir a una gran empresa que se
|
||||||
|
lucra de la venta de datos personales cierto?
|
||||||
|
</p>
|
||||||
|
<blockquote cite="https://cock.li/" style="margin-bottom: 1px;">
|
||||||
|
Administrar un host de correo es algo así como ser enfermera.
|
||||||
|
Hay un breve período al principio cuando la idea de ver las partes privadas de la gente podría
|
||||||
|
ser vagamente excitante en un sentido teórico, pero ese tipo de cosas
|
||||||
|
no dura mucho cuando se enfrenta a la realidad diaria de mierda, orina,
|
||||||
|
sangre y vómito. Ahora que lo pienso, administrar un host de correo
|
||||||
|
es exactamente como ser enfermera, sólo que la gente muere un poco menos a menudo.
|
||||||
|
</blockquote>
|
||||||
|
<p style="text-align: center;font-size:0.5em;">
|
||||||
|
Traducido del Ingles al Español
|
||||||
|
</p> -->
|
||||||
|
|
||||||
|
<!-- <b>
|
||||||
|
- Porque los servicios enfocados a la privacidad están en Chile y no Estados Unidos?</b>
|
||||||
<p>
|
<p>
|
||||||
> Confías en <b style="color: #4285f4">G</b><b style="color: #ea4335">O</b><b style="color: #fbbc05">O</b><b
|
> Debido a las "<span class="THEYGLOW">agencias de 3 letras</span>" (Sí,
|
||||||
style="color: #4285f4">G</b><b style="color: #35ae56">L</b><b style="color: #ea4335">E</b>,
|
ellos <span class="THEYGLOW">brillan</span> demasiado) que existen en estados unidos, ademas, tampoco quiero
|
||||||
<b>INSTAGRAM</b> y otros servicios con tus datos personales, cierto? Asi que no debería haber problema en
|
alojar todo en el mismo país donde ya alojo otros servicios. Sobre los servicios auto alojados, estos son
|
||||||
confiar en una persona independiente que lucha por la privacidad online a preferir a una gran empresa que se
|
mucho mas seguros y confiables ya que están en mi casa, asi que tengo control total sobre ellos, y si sale
|
||||||
lucra de la venta de datos personales cierto?
|
algo mal, no necesito contactar a algún tipo de soporte. Lo único malo es que si se me corta el internet por
|
||||||
</p>
|
un largo periodo de tiempo, esos servicios no estarán disponibles hasta que vuelva el internet, pero eso
|
||||||
<blockquote cite="https://cock.li/" style="margin-bottom: 1px;">
|
para muy pocas veces.
|
||||||
Administrar un host de correo es algo así como ser enfermera.
|
</p>
|
||||||
Hay un breve período al principio cuando la idea de ver las partes privadas de la gente podría
|
|
||||||
ser vagamente excitante en un sentido teórico, pero ese tipo de cosas
|
|
||||||
no dura mucho cuando se enfrenta a la realidad diaria de mierda, orina,
|
|
||||||
sangre y vómito. Ahora que lo pienso, administrar un host de correo
|
|
||||||
es exactamente como ser enfermera, sólo que la gente muere un poco menos a menudo.
|
|
||||||
</blockquote>
|
|
||||||
<p style="text-align: center;font-size:0.5em;">
|
|
||||||
Traducido del Ingles al Español
|
|
||||||
</p> -->
|
|
||||||
|
|
||||||
<!-- <b>
|
SI LEES ESTO, ESTO ESTA COMENTADO PORQUE SUENA MUY AUTISTA PARA LA GENTE DE LATINO AMERICA Y ESTA MAS ENFOCADO A LOS USUARIOS DE HABLA INGLESA XDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD-->
|
||||||
- Porque los servicios enfocados a la privacidad están en Chile y no Estados Unidos?</b>
|
<h4>Tienes un link para poder donar?</h4>
|
||||||
<p>
|
<p><a href="./donate/">Si</a>.</p>
|
||||||
> Debido a las "<span class="THEYGLOW">agencias de 3 letras</span>" (Sí,
|
<h2 style="text-align: center;">buh</h2>
|
||||||
ellos <span class="THEYGLOW">brillan</span> demasiado) que existen en estados unidos, ademas, tampoco quiero
|
<p style="text-align: center;">Sugerencias y mensajes de agradecimiento van aca.</p>
|
||||||
alojar todo en el mismo país donde ya alojo otros servicios. Sobre los servicios auto alojados, estos son
|
<iframe src="https://lol.zzls.xyz" title="xD" style="width: 100%; height: 1080px; border: none;"></iframe>
|
||||||
mucho mas seguros y confiables ya que están en mi casa, asi que tengo control total sobre ellos, y si sale
|
|
||||||
algo mal, no necesito contactar a algún tipo de soporte. Lo único malo es que si se me corta el internet por
|
|
||||||
un largo periodo de tiempo, esos servicios no estarán disponibles hasta que vuelva el internet, pero eso
|
|
||||||
para muy pocas veces.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
SI LEES ESTO, ESTO ESTA COMENTADO PORQUE SUENA MUY AUTISTA PARA LA GENTE DE LATINO AMERICA Y ESTA MAS ENFOCADO A LOS USUARIOS DE HABLA INGLESA XDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD-->
|
|
||||||
<h4>Tienes un link para poder donar?</h4>
|
|
||||||
<p><a href="./donate/">Si</a>.</p>
|
|
||||||
<h2 style="text-align: center;">buh</h2>
|
|
||||||
<p style="text-align: center;">Sugerencias y mensajes de agradecimiento van aca.</p>
|
|
||||||
<iframe src="https://lol.zzls.xyz" title="xD" style="width: 100%; height: 1080px; border: none;"></iframe>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
<div class="banners">
|
<div class="banners">
|
||||||
<a href="https://spyware.neocities.org/articles/discord_es.html"><img src="./assets/discord.gif"
|
<a href="https://spyware.neocities.org/articles/discord_es.html"><img src="./assets/discord.gif"
|
||||||
alt="Discord?, No Thanks"></a>
|
alt="Discord?, No Thanks"></a>
|
||||||
<a href="https://commonterms.org/"><img src="./assets/notread.gif" alt="Do you read TOS right?"></a>
|
<a href="https://commonterms.org/"><img src="./assets/notread.gif" alt="Do you read TOS right?"></a>
|
||||||
<a href="https://absurdismworld.cc/0x40/"><img src="./assets/rave.gif" alt="RAVIN'"></a>
|
<a href="https://absurdismworld.cc/0x40/"><img src="./assets/rave.gif" alt="RAVIN'"></a>
|
||||||
<img src="./assets/seedyourtorrents.gif" alt="Sharing is caring <3">
|
<img src="./assets/seedyourtorrents.gif" alt="Sharing is caring <3">
|
||||||
<img src="./assets/nftbutton.gif" alt="NFTs? wtf">
|
<img src="./assets/nftbutton.gif" alt="NFTs? wtf">
|
||||||
<a><img src="./assets/08831.gif" alt="OOOOO"></a>
|
<a><img src="./assets/08831.gif" alt="OOOOO"></a>
|
||||||
<a href="https://inv.zzls.xyz/watch?v=1pMDdKV8wCw"><img src="./assets/right2repair.gif"
|
<a href="https://inv.zzls.xyz/watch?v=1pMDdKV8wCw"><img src="./assets/right2repair.gif"
|
||||||
alt="I support Right To Repair (Not like Apple)"></a>
|
alt="I support Right To Repair (Not like Apple)"></a>
|
||||||
<!-- <p style="margin: auto;"> -->
|
<!-- <p style="margin: auto;"> -->
|
||||||
<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img alt="Creative Commons License"
|
<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img alt="Creative Commons License"
|
||||||
style="border-width: 0" src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png"></a>
|
style="border-width: 0" src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png"></a>
|
||||||
<a href="https://jigsaw.w3.org/css-validator/check/referer">
|
<a href="https://jigsaw.w3.org/css-validator/check/referer">
|
||||||
<img style="border:0;width:88px;height:31px" src="https://jigsaw.w3.org/css-validator/images/vcss"
|
<img style="border:0;width:88px;height:31px" src="https://jigsaw.w3.org/css-validator/images/vcss"
|
||||||
alt="Valid CSS!">
|
alt="Valid CSS!">
|
||||||
</a>
|
</a>
|
||||||
<!-- </p> -->
|
<!-- </p> -->
|
||||||
</div>
|
</div>
|
||||||
|
@ -339,4 +348,4 @@
|
||||||
</footer>
|
</footer>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
|
Loading…
Reference in a new issue