sophen2222

bypass linkvertise mobile and pc but not ios

Dec 4th, 2023
8,746
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.45 KB | None | 0 0
  1. // ==UserScript==
  2. // @name [Working] linkvertise and krnl bypasser
  3. // @namespace http://tampermonkey.net/
  4. // @homepageURL https://bypass.city
  5. // @description just waits 15 seconds for krnl and works fine with the other stuff 2 (it waits no time for other stuff) :)
  6. // @author Discord: varram#6209
  7. // @match *://*.linkvertise.com/*
  8. // @match *://*.linkvertise.net/*
  9. // @match *://*.link-to.net/*
  10. // @match *://bypass.city/*
  11. // @match http://localhost:3000/*
  12. // @exclude *://publisher.linkvertise.com/*
  13. // @exclude *://linkvertise.com
  14. // @exclude *://linkvertise.com/search*
  15. // @exclude *://blog.linkvertise.com
  16. // @exclude *://blog.linkvertise.com/*
  17. // @exclude https://linkvertise.com/assets/vendor/thinksuggest.html
  18. // @exclude https://linkvertise.com/assets/vendor/*
  19. // @exclude https://publisher.linkvertise.com/*
  20. // @exclude *://link-mutation.linkvertise.com/*
  21. // @grant GM_getValue
  22. // @grant GM_setValue
  23. // @grant GM_deleteValue
  24. // @grant GM_addStyle
  25. // @grant GM.getValue
  26. // @grant GM_xmlhttpRequest
  27. // @grant GM.setValue
  28. // @grant GM.deleteValue
  29. // @version 11.0.6
  30. // @author varram
  31. // @connect bypass.city
  32. // @icon https://bypass.city/favicon.ico
  33. // ==/UserScript==
  34.  
  35.  
  36. /*
  37. release: 11.0.6 (5c96a51), 11/9/2023, 7:39:06 PM
  38. Discord: https://discord.gg/tX8G9G5BMV
  39. additional copyright/license info:
  40. © All Rights Reserved
  41.  
  42. Linkvertise Bypass © 2023 by varram#6209, suspect & bypass.city team
  43. */
  44.  
  45. (() => {
  46. // src/bypass-city.ts
  47. var bypassCityListener = async () => {
  48. if (window.location.hostname !== "bypass.city" && window.location.hostname !== "localhost") {
  49. return;
  50. }
  51. injectScriptInfo();
  52. window.addEventListener("bypassComplete", async (event) => {
  53. const data = event.detail;
  54. console.log("bypassMessage", data);
  55. GM_setValue("bypass.data", data);
  56. window.open(data.url, "_self", "noopener,noreferrer");
  57. });
  58. };
  59. var injectScriptInfo = () => {
  60. const injectJs = `
  61. window.scriptInfo = {
  62. version: "${"11.0.6"}",
  63. buildTime: "${"11/9/2023, 7:39:06 PM"}",
  64. branch: "${"release"}",
  65. release: "${"5c96a51"}",
  66. installed: true,
  67. }`;
  68. const script = document.createElement("script");
  69. script.textContent = injectJs;
  70. document.body.appendChild(script);
  71. };
  72.  
  73. // src/notify.scss
  74. var notify_default = `.notification {
  75. position: fixed;
  76. top: 10px;
  77. right: 10px;
  78. margin: 10px;
  79. padding: 10px;
  80. padding-right: 20px;
  81. background-color: #25262b;
  82. color: white;
  83. transition: opacity 0.6s; /* 600ms to fade out */
  84. z-index: 4000000;
  85. border-radius: 10px; /* Rounded border */
  86. border: 2px solid #3b5bdb;
  87. animation: glow 1s ease-in-out infinite alternate;
  88. }
  89.  
  90. .notification .grid-container {
  91. display: grid;
  92. grid-template-columns: auto auto;
  93. gap: 10px;
  94. }
  95.  
  96. .notification .links {
  97. display: flex;
  98. justify-content: right;
  99. align-items: center;
  100. }
  101.  
  102. .notification .links span {
  103. padding-bottom: 4px;
  104. opacity: 0.7;
  105. }
  106.  
  107. .notification .links a, .notification .links span {
  108. display: block;
  109. color: white;
  110. font-size: 0.8rem;
  111. padding: 5px;
  112. margin-bottom: 5px;
  113. }
  114.  
  115. .grid-item img {
  116. margin-top: 15px;
  117. margin-right: 5px;
  118. width: 32px;
  119. }
  120.  
  121. .grid-item h3 {
  122. padding-top: 10px;
  123. padding-bottom: 3px;
  124. font-size: 1.5rem;
  125. color: white;
  126. }
  127.  
  128. .grid-item p {
  129. font-style: italic;
  130. font-size: 1rem;
  131. color: white;
  132. }
  133. .grid-item p a {
  134. opacity: 1;
  135. font-weight: 600;
  136. text-decoration: underline !important;
  137. margin-bottom: 8px;
  138. display: inline-block;
  139. }
  140.  
  141. .grid-item h3, .grid-item p {
  142. margin: 0;
  143. }
  144.  
  145. @keyframes glow {
  146. from {
  147. box-shadow: 0 0 10px #3b5bdb;
  148. }
  149. to {
  150. box-shadow: 0 0 20px #3b5bdb;
  151. }
  152. }`;
  153.  
  154. // src/notify-element.html
  155. var notify_element_default = '<div id="bypass-notification" class="notification">\n <div class="grid-container">\n <div class="grid-item">\n <img height="32" src="https://bypass.city/images/android-chrome-192x192.png" alt="Notification">\n </div>\n <div class="grid-item">\n <h3 id="title"></h3>\n <p>\n <span id="text"></span>\n <a id="help" href="https://discord.gg/tX8G9G5BMV">Get Support on our Discord</a>\n </p>\n </div>\n </div>\n \n <div id="links" class="links">\n <span id="version">Release</span>\n <span>&#8226;</span>\n <a href="https://discord.gg/tX8G9G5BMV">Get Support</a>\n <span>&#8226;</span>\n <a href="https://bypass.city/privacy">Privacy Policy</a>\n \n </div>\n </div>\n ';
  156.  
  157. // src/notify.ts
  158. var BypassElement = class extends HTMLElement {
  159. static get observedAttributes() {
  160. return ["text", "title", "is-help"];
  161. }
  162. constructor() {
  163. super();
  164. const shadow = this.attachShadow({ mode: "open" });
  165. const style = document.createElement("style");
  166. style.textContent = notify_default;
  167. const div = document.createElement("div");
  168. div.innerHTML = notify_element_default;
  169. shadow.appendChild(style);
  170. shadow.appendChild(div);
  171. shadow.getElementById("version").innerText = "11.0.6 (5c96a51)";
  172. }
  173. connectedCallback() {
  174. this.updateContent();
  175. }
  176. attributeChangedCallback(name, oldValue, newValue) {
  177. this.updateContent();
  178. }
  179. updateContent() {
  180. const text = this.getAttribute("text") || "";
  181. const title = this.getAttribute("title") || "";
  182. const isHelp = this.hasAttribute("is-help");
  183. if (isHelp) {
  184. this.shadowRoot.getElementById("links").remove();
  185. }
  186. this.shadowRoot.getElementById("help").style.display = isHelp ? "block" : "none";
  187. this.shadowRoot.querySelector("#title").textContent = title;
  188. this.shadowRoot.querySelector("#text").textContent = text;
  189. }
  190. };
  191. customElements.define("bypass-notification", BypassElement);
  192. var notify = ({ text, title, isHelp }) => {
  193. const titleContent = title || "Bypass in progress...";
  194. const textContent = text || "Please wait while we redirect you";
  195. const notificationElement = document.createElement("bypass-notification");
  196. notificationElement.setAttribute("title", titleContent);
  197. notificationElement.setAttribute("text", textContent);
  198. if (isHelp) {
  199. notificationElement.setAttribute("is-help", "true");
  200. }
  201. document.body.appendChild(notificationElement);
  202. };
  203.  
  204. // src/fetch.ts
  205. var jsonFetch = async (url, options) => {
  206. return new Promise((resolve, reject) => {
  207. GM_xmlhttpRequest({
  208. method: options.method,
  209. data: options.data ? JSON.stringify(options.data) : void 0,
  210. headers: options.headers,
  211. url,
  212. onload: (response) => {
  213. if (response.responseText && typeof response.responseText === "string") {
  214. try {
  215. const data = JSON.parse(response.responseText);
  216. resolve(data);
  217. } catch (e) {
  218. reject();
  219. }
  220. } else {
  221. reject();
  222. }
  223. },
  224. onerror: reject,
  225. ontimeout: reject,
  226. onabort: reject,
  227. timeout: 5e3
  228. });
  229. });
  230. };
  231.  
  232. // src/ping.ts
  233. var ping = async () => {
  234. try {
  235. const data = await jsonFetch(`${"https://bypass.city"}/.well-known/ping.json`, {
  236. method: "GET",
  237. headers: {
  238. "Content-Type": "application/json"
  239. }
  240. });
  241. return data.ping;
  242. } catch (e) {
  243. notify({
  244. title: "Server unreachable",
  245. isHelp: true
  246. });
  247. return false;
  248. }
  249. };
  250.  
  251. // src/utils.ts
  252. var sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
  253.  
  254. // src/linkvertise.ts
  255. var linkvertiseListener = async () => {
  256. if (!matchLinkvertise(window.location.href)) {
  257. return;
  258. }
  259. const bypassData = GM_getValue("bypass.data");
  260. if (bypassData) {
  261. if (window.location.href.includes("linkvertise.com/48193/")) {
  262. notify({
  263. title: "KRNL DETECTED!",
  264. text: "Bypassing krnl please wait 15 seconds\n to avoid getting blacklisted!"
  265. });
  266. await sleep(15e3);
  267. } else {
  268. notify({});
  269. await sleep(2e3);
  270. }
  271. const targetUrl = bypassData.bypassData;
  272. GM_deleteValue("bypass.data");
  273. window.open(targetUrl, "_self");
  274. } else {
  275. const testConnectivity = await ping();
  276. if (testConnectivity) {
  277. notify({});
  278. await sleep(2e3);
  279. const bypassCityUrl = new URL(`${"https://bypass.city"}/bypass`);
  280. bypassCityUrl.searchParams.set("bypass", encodeURIComponent(window.location.href));
  281. bypassCityUrl.searchParams.set("userscript", "true");
  282. bypassCityUrl.searchParams.set("userscript-version", "11.0.6");
  283. window.open(bypassCityUrl.href, "_self");
  284. }
  285. }
  286. };
  287. var matchLinkvertise = (url) => {
  288. const regex = /https?:\/\/(linkvertise\.(com|download)|(link-(center|target|hub|to)|direct-link|file-link)\.net)/i;
  289. return regex.test(url) && !url.startsWith("https://linkvertise.com/profile") && !url.startsWith("https://linkvertise.com/login");
  290. };
  291.  
  292. // src/main.ts
  293. (async () => {
  294. console.info("Linkvertise Userscript", "11.0.6 (5c96a51)", window.location.href);
  295. await bypassCityListener();
  296. await linkvertiseListener();
  297. })();
  298. })();
Add Comment
Please, Sign In to add comment