It's christmas

This commit is contained in:
Fijxu 2023-12-23 18:42:02 -03:00
parent fc93251476
commit 690b2a109b
5 changed files with 1000 additions and 289 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

29
assets/js/snowstorm-min.js vendored Executable file
View 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
View 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 = '&bull;'; // &bull; = bullet, &middot; 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));

View File

@ -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>

View File

@ -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>