Volafile Upload-Helper

Helps Volafile users avoid certain problematic servers when uploading files, shows what server each file was uploaded to on hover, and allows raising the parallel-upload limit, up to 10.

Autor
Arnold François Lecherche
Dziennych instalacji
0
Wszystkich instalacji
3
Oceny
0 0 0
Wersja
1.01
Utworzono
10-05-2021
Zaktualizowano
10-05-2021
Licencja
Brak licencji
Dotyczy

This allows you to see keep from uploading large files (more than a million bytes) to Volafile servers that have gotten slow lately; it also allows you to see which server any file has been uploaded to by hovering over it, and to set the maximum number of parallel uploads, up to 10.

Alternatively, you can make this a bookmarklet; just bookmark this very page, change the bookmark's title to "Volafile Upload-Helper", and change its URL to this:

javascript:(function(w%2Cd%2CM)%7B%27use%20strict%27%3Bvar%20a%3Dfalse%2Cdlcss%3Dd.createElement(%27style%27)%2CnbRegEx%3D%2F%5E(%3F%3A%5Ba-zA-Z0-9-%5D%7B3%2C%7D%2C)*%5Ba-zA-Z0-9-%5D%7B3%2C%7D%7Cnone%24%7C%5E%24%2F%2CcommasRegExp%3D%2F%2C%2B%24%2F%2CcommaRegExp%3D%2F%2C%2Fg%2CextRegExp%3D%2F%5C..%2B%2F%2Cc%2Culmenu%2Cub%2Cr%2Cex%2Cup%2Cftt%2Ck%3Bfunction%20getStatusText(t)%7Bvar%20server%2Cname%2Cblocklist%2Cdl%2Cdlclass%3Bif(this.upload.currentAttempt%26%26this.upload.currentAttempt.info%26%26this.upload.file.size%3E1e3)%7Bserver%3Dthis.upload.currentAttempt.info.server%3Bname%3Dthis.file.dom.nameElement%3Bblocklist%3Dnew%20RegExp((c.ulblock%7C%7C%27none%27).replace(commasRegExp%2C%27%27).replace(commaRegExp%2C%27%5C%5C%5C.%7C%27)%2B%27%5C%5C%5C.%27)%3Bif(blocklist.test(server.replace(extRegExp%2C%27.%27)))%7Bthis.upload.tries-%3D0.9%3Bname.className%3D%27file_name%27%3Bthis.upload.currentAttempt.abort()%7Delse%7Bdl%3Dthis.upload.currentAttempt.info.server.replace(extRegExp%2C%27%27)%3Bdlclass%3D%27dl_%27%2Bdl%3Bif(!name.classList.contains(%27dlnum%27))%7Bname.classList.add(%27dlnum%27%2Cdlclass)%3Bif(dlcss.textContent.indexOf(dlclass)%3D%3D%3D-1)dlcss.textContent%2B%3D%27%5Cn.%27%2Bdlclass%2B%27%3Aafter%7Bcontent%3A%22%20%5Cu2022%20%27%2Bdl%2B%27%5CxA0%22%7D%27%7D%7D%7Dreturn%20this.getStatusText_2(t)%7Dfunction%20remove()%7Bif(%27undefined%27%3D%3D%3Dtypeof%20e)return%3Be.removeTimeout%3Dnull%3Be.forceRemove()%7Dfunction%20setRemoveTimeout(t)%7Bif(this.error)%7Bthis.file.dom.nameElement.innerHTML%2B%3D%27%20%26bull%3B%20%5B%3Cb%3EUPLOAD%20FAILED%3C%2Fb%3E%5D%27%3Breturn%7Dif(this.removeTimeout)w.clearTimeout(this.removeTimeout)%3Bthis.removeTimeout%3Dw.setTimeout(remove%2Ct)%7Dfunction%20isUploading()%7Bvar%20uppy%3D%5Bup.uploadQueue.uploadQueue%2Cup.runningUploads%5D%2Ci%3Duppy.length%2Cj%3Bwhile(i--)%7Bj%3Duppy%5Bi%5D.length%3Bwhile(j--)%7Buppy%5Bi%5D%5Bj%5D.getStatusText_2%3Duppy%5Bi%5D%5Bj%5D.getStatusText_2%7C%7Cuppy%5Bi%5D%5Bj%5D.getStatusText%3Buppy%5Bi%5D%5Bj%5D.getStatusText%3DgetStatusText%3Buppy%5Bi%5D%5Bj%5D.setRemoveTimeout%3DsetRemoveTimeout%7D%7Dreturn%20this.runningUploads.length%3E0%7C%7Cthis.uploadQueue.length()%3E0%7Dfunction%20addFileInfo(t%2Ce)%7Bvar%20dl%2Cdlclass%2Ca%2Cname%3Bif(e%26%26e.id%26%26e.thumb)%7Bdl%3De.thumb.server.replace(extRegExp%2C%27%27)%3Bdlclass%3D%27dl_%27%2Bdl%3Ba%3Dt.layout.elem%3Bname%3Da.querySelector(%27.file_name%27)%3Bif(name%26%26!name.classList.contains(%27dlnum%27))%7Bname.classList.add(%27dlnum%27%2Cdlclass)%3Bif(dlcss.textContent.indexOf(dlclass)%3D%3D%3D-1)dlcss.textContent%2B%3D%27%5Cn.%27%2Bdlclass%2B%27%3Aafter%7Bcontent%3A%22%20%5Cu2022%20%27%2Bdl%2B%27%5CxA0%22%7D%27%7D%7Dthis.addFileInfo_2(t%2Ce)%7Dfunction%20set_mcu()%7Bvar%20mcu%3DM.floor(prompt(%27config.max_concurrent_uploads%27%2Cc.max_concurrent_uploads))%3Bif(mcu!%3Dmcu%7C%7Cmcu%3C1%7C%7Cmcu%3E10)return%3Bthis.innerText%3D%27%E2%AE%85%20%27%2B(c.max_concurrent_uploads%3Dmcu)%7Dfunction%20set_block()%7Bvar%20block%3Dprompt(%27Enter%20a%20comma-separated%20list%20of%20server%20prefixes%20to%20block%2C%20e.g.%20%22dl8%22%20or%20%22dl7%2Cdl8%22%20(without%20quotes).%27%2Cc.ulblock)%3Bif(block%3D%3D%3Dnull%7C%7Cblock%3D%3D%3Dfalse%7C%7C!nbRegEx.test(block))return%3Bthis.innerText%3D%27%E2%A6%B8%20%27%2B(c.ulblock%3Dblock)%7Dfunction%20init()%7Bif(a)return%20k%26%26w.clearInterval(k)%3Belse%20k%3Dk%7C%7Cw.setInterval(init%2C1e3)%3Bc%3Dw.config%3Bif(!c)return%3Bulmenu%3Dd.getElementById(%27ulmenu%27)%7C%7Cd.createElement(%27div%27)%3Br%3Dw.RoomInstance%3Bif(!r)return%3Bex%3Dr.extensions%3Bup%3Dex.upload%3Bup.isUploading%3DisUploading%3Bftt%3Dex.fileTooltips%3Bftt.addFileInfo_2%3Dftt.addFileInfo_2%7C%7Cftt.addFileInfo%3Bftt.addFileInfo%3DaddFileInfo%3Bulmenu.id%3D%27ulmenu%27%3Bulmenu.setAttribute(%27style%27%2C%27display%3Ainline-block%3Bfont-size%3A0.9em%27)%3Bulmenu.innerHTML%3D%27%3Ca%20class%3D%22button%22%20id%3D%22ul_mcu%22%20title%3D%22set%20max%20concurrent%20uploads%22%3E%E2%AE%85%3C%2Fa%3E%20%3Ca%20class%3D%22button%22%20id%3D%22ul_block%22%20title%3D%22set%20upload%20blacklist%22%3E%E2%A6%B8%3C%2Fa%3E%20%26nbsp%3B%27%3Bub%3Dd.getElementById(%27upload_container%27)%3Bub.insertBefore(ulmenu%2Cub.firstChild)%3Bd.getElementById(%27ul_mcu%27).addEventListener(%27click%27%2Cset_mcu%2Cfalse)%3Bd.getElementById(%27ul_block%27).addEventListener(%27click%27%2Cset_block%2Cfalse)%3Ba%3Dtrue%3Bif(k)w.clearInterval(k)%7Ddlcss.textContent%3D%27.dlnum%3Aafter%7Bfont-style%3Aitalic%3Bopacity%3A0.5%7D%27%3Bd.documentElement.appendChild(dlcss)%3Binit()%3Bd.addEventListener(%27DOMContentLoaded%27%2Cinit%2Cfalse)%3Bw.addEventListener(%27load%27%2Cinit%2Cfalse)%7D)(window%2Cdocument%2CMath)


Then click the bookmarklet while in any room where you want to see where you left off.