Surprise! We've been running on hardware provided by BuyVM for a few months and wanted to show them a little appreciation.
Running a paste site comes with unique challenges, ones that aren't always obvious and hard to control. As such, BuyVM offered us a home where we could worry less about the hosting side of things and focus on maintaining a clean and useful service! Go check them out and show them some love!
Description: I was tired of deleting filters one by one, so I created a JS script to automate it
Submitted on June 19, 2025 at 11:29 AM
Expires on June 19, 2026 at 11:29 AM (11 months from now)

1
javascript:(async()=>{const delay=ms=>new Promise(res=>setTimeout(res,ms));const log=msg=>console.log(`[RowBot] ${msg}`);const rows=[...document.querySelectorAll("table tr")].filter(tr=>tr.querySelector(".toggle-container"));if(rows.length===0){alert("❌ No filter rows found.");return}let deleted=0;for(const row of rows){if(deleted>=50)break;const checkbox=row.querySelector(".toggle-container input[type='checkbox']");if(!checkbox||checkbox.checked)continue;const dropdownBtn=[...row.querySelectorAll("button")].find(btn=>btn.querySelector("use")?.getAttribute("xlink:href")==="#ic-chevron-down-filled");if(!dropdownBtn){log("❌ Dropdown not found");continue}dropdownBtn.click();await delay(300);let deleteBtn=null;for(let i=0;i<10&&!deleteBtn;i++){deleteBtn=[...document.querySelectorAll("button.dropdown-item-button")].find(btn=>btn.textContent.trim().toLowerCase()==="delete");await delay(100)}if(!deleteBtn){log("❌ Delete option not found");continue}deleteBtn.click();await delay(400);let modalDeleteBtn=null;for(let i=0;i<10&&!modalDeleteBtn;i++){modalDeleteBtn=[...document.querySelectorAll("button.button-solid-danger")].find(btn=>btn.textContent.trim().toLowerCase()==="delete");await delay(100)}if(modalDeleteBtn){modalDeleteBtn.click();log(`✅ Deleted: ${row.textContent.trim().slice(0,60)}`);deleted++;await delay(1000)}else{log("❌ Modal 'Delete' not found")}}alert(`✅ Deleted ${deleted} inactive filter(s).`)})();