Skip to content

Bookmarklet which pick random file containing explicit content and replaces it with something nice in your behalf.

Notifications You must be signed in to change notification settings

404-html/internet-cleaner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Internet Cleaner®

Internet is like ️Wu Tang 🙌 for the children. Let's make it a better place!

Internet Cleaner® ️️️️️is a bookmarklet which pick random file containing explicit content and replaces it with something nice in your behalf!

javascript:!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";n.r(t);var r={GITHUB_SEARCH_PAGE_URL:"https://github.com/search?o=desc&p=PAGE&q=QUERY&s=indexed&type=Code",BAD_WORD:"ZnVjaw==",NICE_WORD:"butterfly"},o=e=>{const t=document.createElement("div");return t.innerHTML=e,t},a=e=>{var t=document.createElement("p");t.innerText=e,document.body.insertBefore(t,document.body.firstChild)},c={Clean(e,t,n){const r=t.toLowerCase(),o=t.toUpperCase(),a=t.charAt(0).toUpperCase()+t.slice(1),c=n.charAt(0).toUpperCase()+n.slice(1);return e.replace(new RegExp(r,"g"),n.toLowerCase()).replace(new RegExp(o,"g"),n.toUpperCase()).replace(new RegExp(a,"g"),c)}};let p=atob(r.BAD_WORD),u=r.NICE_WORD;(()=>new Promise((e,t)=>{p=prompt("Enter the word you want to get rid from Internet (leave empty to use custom):")||p,u=prompt("Enter the word you want the previous word to be replaced with (leave empty to use custom):")||u,e()}))().then(()=>new Promise((e,t)=>{a("Fetching search results...");const n=new XMLHttpRequest;n.onreadystatechange=function(){4==n.readyState&&200==n.status&&e(n.responseText)},n.open("GET",r.GITHUB_SEARCH_PAGE_URL.replace("QUERY",p).replace("PAGE",Math.floor(100*Math.random())+1),!0),n.send()})).then(e=>new Promise((t,n)=>{a("Picking random file...");const r=o(e).querySelectorAll(".code-list-item");let c=r[Math.floor(Math.random()*r.length)+1].querySelector("a:nth-child(2)").href;t(c=c.split("/").map((e,t)=>6===t?"master":e).join("/"))})).then(e=>new Promise((t,n)=>{a("Fetching file form...");const r=new XMLHttpRequest;r.onreadystatechange=function(){if(4==r.readyState&&200==r.status){const n=o(r.responseText).querySelector(".octicon-pencil").parentElement.parentElement.querySelectorAll("input")[1];t({url:e,token:n.value})}},r.open("GET",e),r.send()})).then(e=>new Promise((t,n)=>{const r=e.url.replace("/blob/","/edit/");a("Fetching edit form...");const o=new XMLHttpRequest;o.onreadystatechange=function(){4==o.readyState&&200==o.status&&t({url:e.url,html:o.responseText})},o.open("POST",r);var c=new FormData;c.append("utf8","✓"),c.append("authenticity_token",e.token),o.send(c)})).then(e=>new Promise((t,n)=>{const r=e.url.replace("/blob/master/","/tree-save/master/");a("Sending propose change data...");const s=o(e.html),l=new XMLHttpRequest;l.onreadystatechange=function(){4==l.readyState&&200==l.status&&t(l.responseURL)},l.open("POST",r);var i=new FormData;i.append("utf8","✓"),i.append("authenticity_token",s.querySelector(".js-blob-form>input[name=authenticity_token]").value),i.append("filename",s.querySelector("input[name=filename]").value),i.append("new_filename",s.querySelector("input[name=new_filename]").value),i.append("commit",s.querySelector(".js-commit-oid").value),i.append("quick_pull",s.querySelector("input[name=quick_pull]").value),i.append("pr",""),i.append("content_changed","true"),i.append("value",c.Clean(s.querySelector(".js-code-textarea").value,p,u)),i.append("message",""),i.append("placeholder_message","Internet cleaning"),i.append("description","Powered by [Internet Cleaner®️](https://github.com/404-html/internet-cleaner)"),setTimeout(()=>{l.send(i)},2e3)})).then(e=>(a("Fetching propose change form..."),new Promise((t,n)=>{const r=new XMLHttpRequest;r.onreadystatechange=function(){4==r.readyState&&200==r.status&&t(r.responseText)},r.open("GET",e,!0),r.send()}))).then(e=>{document.open("text/html","replace"),document.write(e),document.close(),setTimeout(()=>{document.querySelector(".compare-pr-placeholder>button").click()},700),a("I'm done!")}).catch(e=>{a("Something went wrong! Bad side of Internet is defending itself..."),a(e)})}]);

drawing

Contributors

roottool
roottool
roottool
500-html

Do you like it? Give it a star! ⭐️

About

Bookmarklet which pick random file containing explicit content and replaces it with something nice in your behalf.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •