[] %folder%
👤 log-in/out
🏠%folder%
%files%
{.if|{.get|can upload.}|{::}.} {.if|{.%number-addresses-downloading%*%speed-out% < 7500.}|{:{.if|{.%connections% < 40.}|{: {.if|{.get|can archive.}|{:{.if|{.%number-files% > 0.}|{:{.if|{.%total-kbytes% <= 4000000.}|
Archive
.}:}.}:}.}:}.} :}.} [files]
{.if|{.get|can upload.}|{:
⇧ Upload Files
:}.}
HTTP File Server %user% %list%
▼ FileName sort %number%  📷 Photo Newest sortSize sort
[special:alias|cache] dmy={.time|format=dd/mm/yyyy|when=%item-modified-dt%.} [folder] %item-name%{.dmy.}folder  [file.jpg = file.JPG = file.jpeg = file.png = file.gif = file.tif = file.bmp = file.webp] %item-name%{.dmy.}%item-size% [file] %item-name%{.dmy.}%item-size% [link] 🔗 %item-name%. . .  link  [nofiles] {.if not|{.match|*recursive*|%url%.}|{:{.if|{.get|can upload.}|{:
⇧ Upload Files
:}.}:}.} {.if|{.match|*recursive*|%url%.}|{:
⇦ Back
:}|{:
⇦ Back
{.if not|%user%|{:Log in ⇨:}.}:}.} [api level] 999 [error-page] %content% [overload] {.if not|%user%|{:{.if|{.%url% = /.}|{:{.disconnect.}:}.}:}.}{.add header|Cache-Control: no-cache, max-age=0.}Overload


High traffic mode engaged.

Returning to previous page after overload has cleared.
{.disconnect|{.current downloads|ip|file=this.}.}{.if|{.{.current downloads|ip=%ip%|file=this.} > 1.} |{: {.disconnection reason|knackered.} :}/if.} [max contemp downloads] {.add header|Cache-Control: no-cache, max-age=0.}Downloads


There are ongoing downloads.

More available after current downloads finish.
{.disconnect|{.current downloads|ip|file=this.}.} [not found] {.if|{.match|*.php*;*.js;*.py;*.vbs*;*.exe|%url%.}|{:{.disconnect.}:}.}{.add header|Cache-Control: no-cache, max-age=0.}404


You have found the 404 page.

Redirecting.
{.disconnect|{.current downloads|ip|file=this.}.} [unauth] {.if|{.match|*.php*;*.js;*.py;*.vbs*;*.exe|%url%.}|{:{.disconnect.}:}.}{.redirect|/~login.} [deny] {.if not|%user%|{:{.disconnect.}:}.}{.if|{.match|*.php*;*.js;*.py;*.vbs*;*.exe|%url%.}|{:{.disconnect.}:}.}{.add header|Cache-Control: no-cache, max-age=0.}Denied



No

[ban] {.disconnect.} [upload|public] {.add header|Cache-Control: no-cache, max-age=0.} Upload to: %folder% {.if|{.%number-addresses-downloading%*%speed-out% > 7500.}|{:Upload to: %folder%
⇦ Back



Upload is not available to due to high server load.

Automatically retrying in seconds...

:}|{:
Upload to: %folder%
⇦ Back

You can upload files into the
%diskfree% available space.


First:

 + 


And then:
Results page appears after uploads complete
{.if|{.can mkdir.}|{:



-or-

You can make a new folder:
{.if|{.and| {.get|can upload.} | {.postvar|createfolder.} .}|{: {.mkdir|%folder-resource%\{.postvar|fldname.}.} :}/if.}
(refresh the page after making a folder)
:}.} :}.} [upload-results] Upload results for: %folder%
Upload results for: %folder%
%uploaded-files%

⇦ Back
[upload-success]
  • SUCCESS! Uploaded: %item-name% - %item-size% (Speed: %speed% KB/s) [upload-failed]
  • Error while uploading: %item-name%: - %reason% [special:import] {.set item|/|not as download=*.htm;*.html;*.css;*.mp3;*.png;*.jpg;*.jpeg;*.gif.;*.js.} {.set ini|use-system-icons=no.} {.set ini|log-progress=no.} {.set ini|log-dump-request=no.} {.set ini|log-only-served=yes.} {.set ini|tray-icon-for-each-download=no.} {.set ini|enable-fingerprints=no.} {.set ini|send-hfs-identifier=no.} {.set ini|support-descript.ion=no.} {.set ini|tray-instead-of-quit=yes.} {.set ini|load-single-comment-files=no.} {.set ini|hints4newcomers=no.} {.set ini|save-totals=no.} {.set ini|tray-shows=ips.} {.set ini|flash-on= .} {.set ini|use-iso-date-format=yes.} {.set ini|max-connections=-1.} {.set ini|speed-limit-ip=-1.} {.set ini|speed-limit=-1.} {.set ini|max-connections-by-ip=-1.} [+special:strings] option.comment=0 [newfile] [ajax.changepwd|public|no log] {.check session.} {.break|if={.not|{.can change pwd.}.} |result={.!Forbidden.} (0).} {.if|{.length|{.set account||password={.postvar|new.}.}/length.}|{.!OK.} (1)|{.!Failed.} (2).} [login|public] {.if|{.match|*.php*;*.js;*.py;*.vbs*;*.exe|%url%.}|{:{.disconnect.}:}.}{.add header|Cache-Control: no-cache, max-age=0.}HFS %version%



    Keep me logged-in



    [audioplayer.js|public] {.add header|Cache-Control: public, max-age=86400.}function addon(){ var playall=1, m3uall=1, compatible=1, player=0, dur=0, shuffle=1, repeat=1 ; var audio=new Audio(), pls=[[]], level=0, backjump=[], aud=[] ; var it=document.querySelectorAll('a[href]') //td it.forEach(function(item,index) { if(!(['.mp3','.ogg','.m4a','.aac'].indexOf(item.getAttribute('href').slice(-4))+1)) return //,'m3u8' pls[0].push(item.getAttribute('href')) var bu=item.firstElementChild || (compatible? item:item.parentNode.parentNode.previousElementSibling) bu.addEventListener('click',function(e){e.preventDefault(); showa(item.getAttribute('href'))}) var tmp=document.querySelector('input[value="'+item.getAttribute('href')+'"]'); if(playall &&tmp) tmp.checked=true if(dur) {aud[index]=new Audio(); aud[index].preload='metadata'; aud[index].src=item.getAttribute('href'); aud[index].onloadedmetadata=function(){item.nextSibling.textContent=new Date(aud[index].duration*1000).toJSON().slice(14,-5)}} }) if(location.search=='?shuffle') shuffle=!shuffle; if(shuffle) pls[0]=pls[0].sort(function(a, b){return 0.5 - Math.random()}) // var pBar = document.querySelector('header') if(pBar&&player&&pls[0].length) {audio=document.createElement('audio');audio.controls=true;pBar.parentNode.insertBefore(audio, pBar)} var ref=document.querySelector('#actions') || document.querySelector('header') || document.querySelector('#menu-bar') || document.querySelector('body') ; var but=document.createElement('button') but.textContent= "\u25BA" but.setAttribute("class", "play") but.onclick=function() {if(audio.paused) {if(!audio.src) audio.src=shuffle?pls[0][0]:tmp[0]; audio.play()} else {audio.pause()}} but.oncontextmenu = function(e) {e.preventDefault(); audio.onended()} //rightclick // if(pls[0].length && !document.querySelector('button.play')) ref.appendChild(but) function showa(that) {if(that.match(/m3u8?$/)) fetch(that).then(function(response) {response.text() .then(function(text){var tmp=text.match(/^(?!#)(?!\s).*$/mg).map(encodeURI); showa(tmp[0]); if(m3uall) {backjump[level]=that;level++;pls[level]=tmp}})}); else {audio.src=that; audio.play(); document.title=decodeURI(that); //but.textContent="\u2759\u2759" if(document.querySelector('main a[href="thumb/"]')) navigator.mediaSession.metadata = new MediaMetadata({artwork: [{src: that.replace(/.*\//,'$&thumb/')}] }); }} audio.onended = function() { var akt=audio.getAttribute("src") do {akt=pls[level][pls[level].indexOf(akt)+1]; var tmp=document.querySelector('input[value="'+akt+'"]')} while (!(!tmp||tmp.checked)) if(akt) showa(akt); else if(level) {level--;audio.src=backjump[level];audio.onended()} else if(repeat) showa(pls[0][0]) } audio.onpause = function() {document.querySelector('button.play').textContent="\u25BA"}; audio.onplay = function() {document.querySelector('button.play').textContent="\u2759\u2759"} audio.onloadedmetadata=function(){but.title=audio.mozGetMetadata?audio.mozGetMetadata().TITLE+' ':''; but.title+=new Date(audio.duration*1000).toJSON().slice(14,-5); document.querySelector('a[href="'+this.getAttribute("src")+'"]').title=but.title} if(pls[0].length) {window.onbeforeunload = function(e) {localStorage.last=audio.getAttribute("src")+'#t='+audio.currentTime} // var tmp=localStorage.last.split("#t=");if(!shuffle) audio.currentTime=tmp[1]; audio.preload='none'; audio.src=shuffle?pls[0][0]:tmp[0] tmp=1000*location.search.slice(1); if(tmp) setTimeout(function(){ document.querySelector('button.play').click() }, tmp)} //?60 s sleep audio.onerror=function(){audio.onended()} ; if ('mediaSession' in navigator) {navigator.mediaSession.setActionHandler('nexttrack', function() { audio.onended() });} }; if(!document.querySelector('main')) addon() //hfs2.4 [photoplayer2.js|public] {.add header|Cache-Control: public, max-age=86400.}function addon(){ var compatible=1 //edit here if (window.NodeList && !NodeList.prototype.forEach) { //IE11 NodeList.prototype.forEach = function (callback, thisArg) {thisArg = thisArg || window; for (var i=0; i