Greasy Fork is available in English.

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.

Skaber
Arnold François Lecherche
Daglige installationer
0
Installationer i alt
3
Bedømmelser
0 0 0
Version
1.01
Oprettet
10.05.2021
Opdateret
10.05.2021
Licens
N/A
Gælder for

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.