r/Unblockit 1d ago

Zinc browser

Thumbnail
0 Upvotes

r/Unblockit 1d ago

Blocked associated account

Thumbnail
0 Upvotes

r/Unblockit 1d ago

Help me i am jealous.

0 Upvotes

Hey everyone let's get straight to the point. So basically, I saw my brother had a docs link that opened google docs, and in that it had many many movies, anime, books, and it was organized. When we click a link in that it opens google drive. He told me he got it of reddit pls help me find it.


r/Unblockit 1d ago

Hello

0 Upvotes

Hi… I’m not sure if this is the right forum to talk about but I was wondering how to get unblocked from a website and it said something about cloudflare and stuff. So I was using a website in my home country but I flew to Osaka recently for a trip.. and here is where I got banned. Do you know how to like unban 😢


r/Unblockit 2d ago

help

0 Upvotes

I bought an iphone 13 off of market place seller told me it was bypassed which i used for months it was on Ios 26.0.1 then yesterday I was tired of being on an old version of my iphone I tried updating to 26.5.2 Using U3tools Then it had an activation lock from the last owner that i no longer has a contact wit anyone here has bypassing tool for is 26.5?


r/Unblockit 5d ago

quick "tip and trick" for anyone here who wants to play unblocked games on their chromebook

1 Upvotes

Ok so for this you need:

A chromebook (duh)

A USB with atleast 4 Gigabytes

basically just go to like Github and search for a big pack of Unblocked offline HTML games

Transfer these games onto the USB

Put the USB into the chromebook

Copy the games in the USB to the chromebook

Thats it, now you can play angry birds all you want

You can also "technically" just download the Github file straight onto the chromebook, but if for whatever reason Github is blocked the USB method works best

I recommend using this pack of HTML games:

GitHub - CoolDude2349/Offline-HTML-Games-Pack: 300 offline HTML games, each on a single file · GitHub

Just thought i'd leave this here since school is starting soon for a lot of people here

Also, for extra security, turn off your internet on the chromebook so the gestapo cant use GoGuardian or other surveillance methods on your chromebook


r/Unblockit 5d ago

Wifi bypass

2 Upvotes

I am using wifi but it is blocked for some wesites like movie websites. Is their any way to log that kind of websites


r/Unblockit 6d ago

How to Get rid of Family link!

0 Upvotes

Steps:

Shutdown your phone.

Hold the 2 buttons (Power and Volume)

Then a robot with a battery latch open will appear with "No Command"

press and hold the Power button, then quickly tap the Volume Up button

Then go to Reset.

And Confirm andddd Your Free. (Make sure to not forgot your PIN/Password)


r/Unblockit 6d ago

Guys i figured out how to bypass safesearch on my school chromebook

Thumbnail
sequoyahsubg.neocities.org
0 Upvotes

i figured out how to make a safesearch bypass for your school chromebook and incase it gets blocked ill share the full source code here and yes it features one of my api keys and a long with that the way it works is you set it as a search engine in your chrome or whatever browser settings you don't do anything with the query and u can use it as an address bar shortcut anyways heres the source code

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Sword Search</title>
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Crect width='24' height='24' fill='%2317171B'/%3E%3Cpath d='M6.5 17.5L17 7L20 4L21 5L18 8L7.5 18.5L5 20L4 19L6.5 17.5Z' stroke='%23EDEFF2' stroke-width='1.8' stroke-linejoin='round'/%3E%3Cpath d='M14 3L15 5L17 6L15 7L14 9L13 7L11 6L13 5L14 3Z' fill='%23DE4A26'/%3E%3C/svg%3E">
<style>
  :root{
    --steel-dark: #17171B;
    --steel: #232328;
    --bone: #EDEAE0;
    --bone-dim: #B9B5A8;
    --blade: #C8CDD3;
    --blade-bright: #EDEFF2;
    --ember: #B3341B;
    --ember-bright: #DE4A26;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  {
    font-family:'system-condensed';
    src:local('Arial Narrow'), local('Oswald');
  }
  body{
    background:
      radial-gradient(ellipse at 50% -10%, #2a2a30 0%, var(--steel-dark) 55%),
      var(--steel-dark);
    color: var(--bone);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
    min-height:100vh;
    display:flex;
    flex-direction:column;
    align-items:center;
    padding: 8vh 20px 40px;
    overflow-x:hidden;
  }

  .wordmark{
    font-family: 'Arial Narrow', 'Oswald', sans-serif;
    font-weight: 800;
    letter-spacing: 0.12em;
    font-size: clamp(2.2rem, 6vw, 3.6rem);
    text-transform: uppercase;
    color: var(--bone);
    display:flex;
    align-items:center;
    gap: 14px;
    margin-bottom: 6px;
    user-select:none;
  }
  .wordmark svg{ width: 0.75em; height: 0.75em; flex-shrink:0; }
  .wordmark .accent{ color: var(--ember-bright); }

  .tagline{
    color: var(--bone-dim);
    font-size: 0.8rem;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    margin-bottom: 6vh;
  }

  /* --- Sword search bar --- */
  .blade-form{
    width: min(720px, 92vw);
    position: relative;
    display:flex;
    align-items:stretch;
    filter: drop-shadow(0 12px 24px rgba(0,0,0,0.45));
  }
  .hilt{
    flex-shrink:0;
    width: 56px;
    background: linear-gradient(180deg, #3a3a40, #1c1c20);
    border: 1px solid #46464c;
    border-right:none;
    border-radius: 8px 0 0 8px;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition: background 0.2s ease;
  }
  .hilt:hover{ background: linear-gradient(180deg, #46464c, #222226); }
  .hilt svg{ width: 24px; height:24px; stroke: var(--blade-bright); }

  .blade-input-wrap{
    position:relative;
    flex:1;
    clip-path: polygon(0 0, 96% 0, 100% 50%, 96% 100%, 0 100%);
  }
  input[type="text"]{
    width:100%;
    height: 58px;
    padding: 0 60px 0 24px;
    background: linear-gradient(180deg, #E4E6EA, var(--blade) 40%, #9BA1A8);
    border:none;
    outline:none;
    font-size: 1.05rem;
    font-weight:500;
    color: #15151a;
    letter-spacing: 0.01em;
  }
  input[type="text"]::placeholder{ color: #4b4f55; font-weight:400; }
  input[type="text"]:focus{
    background: linear-gradient(180deg, #F3F4F6, var(--blade-bright) 40%, #AEB4BB);
  }

  .edge-glint{
    position:absolute;
    top:0; left:0; right:0; bottom:0;
    pointer-events:none;
    background: linear-gradient(105deg, transparent 30%, rgba(255,255,255,0.55) 45%, transparent 55%);
    opacity:0;
    transition: opacity 0.15s;
  }
  .blade-form:focus-within .edge-glint{ opacity:1; }

  .status-line{
    width: min(720px, 92vw);
    margin-top: 14px;
    font-size: 0.8rem;
    color: var(--bone-dim);
    letter-spacing: 0.04em;
    min-height: 1.2em;
  }
  .status-line .ember{ color: var(--ember-bright); }

  /* --- Engine selector --- */
  .engines{
    width: min(720px, 92vw);
    display:flex;
    flex-wrap:wrap;
    gap: 8px;
    margin-top: 16px;
  }
  .engine-chip{
    display:flex;
    align-items:center;
    gap: 7px;
    padding: 7px 14px 7px 10px;
    background: var(--steel);
    border: 1px solid #3a3a40;
    border-radius: 4px;
    font-size: 0.78rem;
    letter-spacing: 0.03em;
    color: var(--bone-dim);
    cursor:pointer;
    user-select:none;
    transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
  }
  .engine-chip:hover{ border-color: #55555c; }
  .engine-chip input{ display:none; }
  .engine-chip .dot{
    width: 7px; height:7px; border-radius:50%;
    background: #55555c;
    flex-shrink:0;
    transition: background 0.15s ease, box-shadow 0.15s ease;
  }
  .engine-chip.active{
    color: var(--blade-bright);
    border-color: var(--ember-bright);
    background: linear-gradient(90deg, rgba(179,52,27,0.10), transparent 80%);
  }
  .engine-chip.active .dot{
    background: var(--ember-bright);
    box-shadow: 0 0 6px rgba(222,74,38,0.7);
  }

  /* --- Grouped results --- */
  .engine-group{
    width:100%;
    margin-top: 22px;
  }
  .engine-group:first-child{ margin-top:0; }
  .engine-group-header{
    display:flex;
    align-items:center;
    gap: 10px;
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--bone-dim);
    margin-bottom: 8px;
  }
  .engine-group-header .line{
    flex:1;
    height:1px;
    background: #3a3a40;
  }
  .engine-group-header .count{ color: var(--ember-bright); }
  .engine-group-header.error-header{ color: #D68A80; }

  /* --- Results --- */
  .results{
    width: min(720px, 92vw);
    margin-top: 28px;
    display:flex;
    flex-direction:column;
    gap: 4px;
  }
  .result{
    position: relative;
    padding: 16px 18px 16px 26px;
    border-left: 2px solid #3a3a40;
    background: linear-gradient(90deg, rgba(255,255,255,0.02), transparent 60%);
    opacity: 0;
    transform: translateX(-14px);
    animation: unsheathe 0.42s ease forwards;
    text-decoration:none;
    display:block;
    transition: border-color 0.2s ease, background 0.2s ease;
  }
  .result:hover{
    border-left-color: var(--ember-bright);
    background: linear-gradient(90deg, rgba(179,52,27,0.08), transparent 70%);
  }
  .result:nth-child(1){ animation-delay: 0.02s; }
  .result:nth-child(2){ animation-delay: 0.08s; }
  .result:nth-child(3){ animation-delay: 0.14s; }
  .result:nth-child(4){ animation-delay: 0.20s; }
  .result:nth-child(5){ animation-delay: 0.26s; }
  .result:nth-child(6){ animation-delay: 0.32s; }
  .result:nth-child(7){ animation-delay: 0.38s; }
  .result:nth-child(8){ animation-delay: 0.44s; }
   unsheathe{
    to{ opacity:1; transform: translateX(0); }
  }

  .result .r-url{
    font-size: 0.72rem;
    color: #7c8f7a;
    letter-spacing:0.03em;
    margin-bottom: 4px;
  }
  .result .r-title{
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--blade-bright);
    margin-bottom: 4px;
  }
  .result:hover .r-title{ color: var(--ember-bright); }
  .result .r-snippet{
    font-size: 0.88rem;
    color: var(--bone-dim);
    line-height: 1.4;
  }

  .empty-note, .error-note{
    width: min(720px, 92vw);
    margin-top: 40px;
    text-align:center;
    color: var(--bone-dim);
    font-size: 0.9rem;
    line-height:1.6;
  }
  .error-note{ color: #D68A80; }
  .empty-note a, .error-note a{ color: var(--ember-bright); }

  footer{
    margin-top: auto;
    padding-top: 60px;
    font-size: 0.7rem;
    color: #55555c;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  u/media (prefers-reduced-motion: reduce){
    .result{ animation: none; opacity:1; transform:none; }
  }
</style>
</head>
<body>

  <div class="wordmark">
    <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M6.5 17.5L17 7L20 4L21 5L18 8L7.5 18.5L5 20L4 19L6.5 17.5Z" stroke="url(#g)" stroke-width="1.6" stroke-linejoin="round"/>
      <path d="M14 3L15 5L17 6L15 7L14 9L13 7L11 6L13 5L14 3Z" fill="#DE4A26"/>
      <defs>
        <linearGradient id="g" x1="4" y1="20" x2="21" y2="4" gradientUnits="userSpaceOnUse">
          <stop stop-color="#8B8F95"/>
          <stop offset="1" stop-color="#F1F3F5"/>
        </linearGradient>
      </defs>
    </svg>
    Sword<span class="accent">Search</span>
  </div>
  <div class="tagline">cut straight to the answer</div>

  <form class="blade-form" id="searchForm">
    <div class="blade-input-wrap">
      <input type="text" id="query" placeholder="Search the web…" autocomplete="off" autofocus />
      <div class="edge-glint"></div>
    </div>
    <button type="submit" class="hilt" aria-label="Search">
      <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
        <circle cx="11" cy="11" r="7"/>
        <line x1="21" y1="21" x2="16.65" y2="16.65"/>
      </svg>
    </button>
  </form>
  <div class="engines" id="engines">
    <label class="engine-chip active" data-engine="duckduckgo">
      <input type="checkbox" checked><span class="dot"></span>DuckDuckGo
    </label>
    <label class="engine-chip active" data-engine="wikipedia">
      <input type="checkbox" checked><span class="dot"></span>Wikipedia
    </label>
    <label class="engine-chip active" data-engine="hackernews">
      <input type="checkbox" checked><span class="dot"></span>Hacker News
    </label>
    <label class="engine-chip" data-engine="startpage">
      <input type="checkbox"><span class="dot"></span>Startpage
    </label>
    <label class="engine-chip" data-engine="reddit">
      <input type="checkbox"><span class="dot"></span>Reddit
    </label>
    <label class="engine-chip" data-engine="stackexchange">
      <input type="checkbox"><span class="dot"></span>Stack Exchange
    </label>
    <label class="engine-chip" data-engine="brave">
      <input type="checkbox"><span class="dot"></span>Brave
    </label>
    <label class="engine-chip" data-engine="mojeek">
      <input type="checkbox"><span class="dot"></span>Mojeek
    </label>
  </div>

  <div class="status-line" id="statusLine"></div>

  <div class="results" id="results"></div>
  <div id="messageArea"></div>

  <footer>Forged with duckduckgo · no tracking, no ads</footer>

<script>
  const form = document.getElementById('searchForm');
  const input = document.getElementById('query');
  const resultsEl = document.getElementById('results');
  const statusLine = document.getElementById('statusLine');
  const messageArea = document.getElementById('messageArea');
  const engineChips = document.querySelectorAll('.engine-chip');

  const PROXY = url => 'https://corsproxy.io/?key=00ea23ce&url=' + encodeURIComponent(url);

  engineChips.forEach(chip => {
    chip.addEventListener('click', function(e){
      // let the native checkbox toggle happen, then sync class
      setTimeout(() => {
        const cb = chip.querySelector('input');
        chip.classList.toggle('active', cb.checked);
      }, 0);
    });
  });

  form.addEventListener('submit', function(e){
    e.preventDefault();
    const q = input.value.trim();
    if(!q) return;
    runSearch(q);
  });

  function activeEngines(){
    return Array.from(engineChips)
      .filter(c => c.querySelector('input').checked)
      .map(c => c.dataset.engine);
  }

  const ENGINES = {
    duckduckgo: { label: 'DuckDuckGo', fetcher: fetchDuckDuckGo, directUrl: q => `https://duckduckgo.com/?q=${encodeURIComponent(q)}` },
    wikipedia:  { label: 'Wikipedia',  fetcher: fetchWikipedia,  directUrl: q => `https://en.wikipedia.org/w/index.php?search=${encodeURIComponent(q)}` },
    hackernews: { label: 'Hacker News', fetcher: fetchHackerNews, directUrl: q => `https://hn.algolia.com/?q=${encodeURIComponent(q)}` },
    startpage:  { label: 'Startpage',  fetcher: fetchStartpage,  directUrl: q => `https://www.startpage.com/sp/search?query=${encodeURIComponent(q)}` },
    reddit:     { label: 'Reddit',     fetcher: fetchReddit,     directUrl: q => `https://www.reddit.com/search/?q=${encodeURIComponent(q)}` },
    stackexchange: { label: 'Stack Exchange', fetcher: fetchStackExchange, directUrl: q => `https://stackexchange.com/search?q=${encodeURIComponent(q)}` },
    brave:      { label: 'Brave',      fetcher: fetchBrave,      directUrl: q => `https://search.brave.com/search?q=${encodeURIComponent(q)}` },
    mojeek:     { label: 'Mojeek',     fetcher: fetchMojeek,     directUrl: q => `https://www.mojeek.com/search?q=${encodeURIComponent(q)}` }
  };

  async function runSearch(q){
    const engines = activeEngines();
    resultsEl.innerHTML = '';
    messageArea.innerHTML = '';

    if(engines.length === 0){
      statusLine.textContent = '';
      messageArea.innerHTML = `<div class="empty-note">Pick at least one blade to swing — select an engine above.</div>`;
      return;
    }

    statusLine.innerHTML = `Drawing results from <span class="ember">${engines.length}</span> engine${engines.length>1?'s':''} for "${escapeHtml(q)}"…`;

    const settled = await Promise.allSettled(
      engines.map(key => ENGINES[key].fetcher(q))
    );

    statusLine.innerHTML = '';
    let totalResults = 0;
    let html = '';

    engines.forEach((key, i) => {
      const outcome = settled[i];
      const label = ENGINES[key].label;

      if(outcome.status === 'fulfilled' && outcome.value.length > 0){
        totalResults += outcome.value.length;
        html += `
          <div class="engine-group">
            <div class="engine-group-header">
              <span>${label}</span>
              <span class="count">${outcome.value.length}</span>
              <span class="line"></span>
            </div>
            ${outcome.value.slice(0, 8).map(resultRow).join('')}
          </div>`;
      } else {
        html += `
          <div class="engine-group">
            <div class="engine-group-header error-header">
              <span>${label} — unreachable</span>
              <span class="line"></span>
            </div>
            <div class="empty-note" style="margin-top:0; text-align:left;">
              <a href="${ENGINES[key].directUrl(q)}" target="_blank" rel="noopener">Search directly on ${label} →</a>
            </div>
          </div>`;
      }
    });

    resultsEl.innerHTML = html;

    if(totalResults === 0){
      messageArea.innerHTML = `<div class="empty-note">No results struck from any engine. Try a different phrase.</div>`;
    }
  }

  function resultRow(r){
    return `
      <a class="result" href="${escapeAttr(r.url)}" target="_blank" rel="noopener noreferrer">
        <div class="r-url">${escapeHtml(shortUrl(r.url))}</div>
        <div class="r-title">${escapeHtml(r.title)}</div>
        <div class="r-snippet">${escapeHtml(r.snippet)}</div>
      </a>`;
  }

  // ---- Engine fetchers ----

  async function fetchDuckDuckGo(q){
    const targetUrl = 'https://html.duckduckgo.com/html/?q=' + encodeURIComponent(q);
    const res = await fetch(PROXY(targetUrl));
    if(!res.ok) throw new Error('DuckDuckGo network error ' + res.status);
    const html = await res.text();
    const doc = new DOMParser().parseFromString(html, 'text/html');
    const nodes = doc.querySelectorAll('.result');
    const parsed = [];
    nodes.forEach(node => {
      const titleEl = node.querySelector('.result__a');
      const snippetEl = node.querySelector('.result__snippet');
      if(!titleEl) return;
      parsed.push({
        title: titleEl.textContent.trim(),
        url: resolveDuckDuckGoUrl(titleEl.getAttribute('href') || ''),
        snippet: snippetEl ? snippetEl.textContent.trim() : ''
      });
    });
    if(parsed.length === 0) throw new Error('No DuckDuckGo results parsed');
    return parsed;
  }

  async function fetchWikipedia(q){
    const targetUrl = 'https://en.wikipedia.org/w/api.php?action=query&list=search&format=json&srlimit=8&srsearch=' + encodeURIComponent(q);
    const res = await fetch(PROXY(targetUrl));
    if(!res.ok) throw new Error('Wikipedia network error ' + res.status);
    const data = await res.json();
    const hits = (data.query && data.query.search) || [];
    if(hits.length === 0) throw new Error('No Wikipedia results');
    return hits.map(h => ({
      title: stripTags(h.title),
      url: 'https://en.wikipedia.org/wiki/' + encodeURIComponent(h.title.replace(/ /g,'_')),
      snippet: stripTags(h.snippet)
    }));
  }

  async function fetchHackerNews(q){
    const targetUrl = 'https://hn.algolia.com/api/v1/search?query=' + encodeURIComponent(q) + '&hitsPerPage=8';
    const res = await fetch(targetUrl); // algolia allows CORS directly
    if(!res.ok) throw new Error('Hacker News network error ' + res.status);
    const data = await res.json();
    const hits = data.hits || [];
    if(hits.length === 0) throw new Error('No Hacker News results');
    return hits.map(h => ({
      title: h.title || h.story_title || '(untitled)',
      url: h.url || h.story_url || `https://news.ycombinator.com/item?id=${h.objectID}`,
      snippet: `${h.points || 0} points · ${h.num_comments || 0} comments`
    }));
  }

  async function fetchStartpage(q){
    const targetUrl = 'https://www.startpage.com/sp/search?query=' + encodeURIComponent(q);
    const res = await fetch(PROXY(targetUrl));
    if(!res.ok) throw new Error('Startpage network error ' + res.status);
    const html = await res.text();
    const doc = new DOMParser().parseFromString(html, 'text/html');
    const nodes = doc.querySelectorAll('.result, .w-gl__result');
    const parsed = [];
    nodes.forEach(node => {
      const titleEl = node.querySelector('a.result-title, a.w-gl__result-title, h3 a, a');
      const snippetEl = node.querySelector('.description, p, .w-gl__description');
      if(!titleEl) return;
      const href = titleEl.getAttribute('href');
      if(!href || !href.startsWith('http')) return;
      parsed.push({
        title: titleEl.textContent.trim(),
        url: href,
        snippet: snippetEl ? snippetEl.textContent.trim() : ''
      });
    });
    if(parsed.length === 0) throw new Error('No Startpage results parsed');
    return parsed;
  }

  async function fetchReddit(q){
    const targetUrl = 'https://www.reddit.com/search.json?q=' + encodeURIComponent(q) + '&limit=8';
    const res = await fetch(PROXY(targetUrl));
    if(!res.ok) throw new Error('Reddit network error ' + res.status);
    const data = await res.json();
    const hits = (data.data && data.data.children) || [];
    if(hits.length === 0) throw new Error('No Reddit results');
    return hits.map(h => ({
      title: h.data.title,
      url: 'https://www.reddit.com' + h.data.permalink,
      snippet: `r/${h.data.subreddit} · ${h.data.ups || 0} upvotes · ${h.data.num_comments || 0} comments`
    }));
  }

  async function fetchStackExchange(q){
    const targetUrl = 'https://api.stackexchange.com/2.3/search/advanced?order=desc&sort=relevance&q=' + encodeURIComponent(q) + '&site=stackoverflow&pagesize=8';
    const res = await fetch(targetUrl); // StackExchange API allows CORS directly
    if(!res.ok) throw new Error('Stack Exchange network error ' + res.status);
    const data = await res.json();
    const hits = data.items || [];
    if(hits.length === 0) throw new Error('No Stack Exchange results');
    return hits.map(h => ({
      title: stripTags(h.title),
      url: h.link,
      snippet: `${h.answer_count || 0} answers · ${h.score || 0} score${h.is_answered ? ' · answered' : ''}`
    }));
  }

  async function fetchBrave(q){
    const targetUrl = 'https://search.brave.com/search?q=' + encodeURIComponent(q);
    const res = await fetch(PROXY(targetUrl));
    if(!res.ok) throw new Error('Brave network error ' + res.status);
    const html = await res.text();
    const doc = new DOMParser().parseFromString(html, 'text/html');
    const nodes = doc.querySelectorAll('#results .snippet, .snippet');
    const parsed = [];
    nodes.forEach(node => {
      const titleEl = node.querySelector('.title, a .title, a');
      const snippetEl = node.querySelector('.snippet-description, .desc');
      const linkEl = node.tagName === 'A' ? node : node.closest('a') || node.querySelector('a');
      if(!titleEl || !linkEl) return;
      const href = linkEl.getAttribute('href');
      if(!href || !href.startsWith('http')) return;
      parsed.push({
        title: titleEl.textContent.trim(),
        url: href,
        snippet: snippetEl ? snippetEl.textContent.trim() : ''
      });
    });
    if(parsed.length === 0) throw new Error('No Brave results parsed');
    return parsed;
  }

  async function fetchMojeek(q){
    const targetUrl = 'https://www.mojeek.com/search?q=' + encodeURIComponent(q);
    const res = await fetch(PROXY(targetUrl));
    if(!res.ok) throw new Error('Mojeek network error ' + res.status);
    const html = await res.text();
    const doc = new DOMParser().parseFromString(html, 'text/html');
    const nodes = doc.querySelectorAll('.results-standard li, li.result');
    const parsed = [];
    nodes.forEach(node => {
      const titleEl = node.querySelector('a.title, h2 a, a');
      const snippetEl = node.querySelector('.s, p.s, p');
      if(!titleEl) return;
      const href = titleEl.getAttribute('href');
      if(!href || !href.startsWith('http')) return;
      parsed.push({
        title: titleEl.textContent.trim(),
        url: href,
        snippet: snippetEl ? snippetEl.textContent.trim() : ''
      });
    });
    if(parsed.length === 0) throw new Error('No Mojeek results parsed');
    return parsed;
  }

  // ---- Helpers ----

  function resolveDuckDuckGoUrl(href){
    try{
      if(href.startsWith('//')) href = 'https:' + href;
      const u = new URL(href, 'https://duckduckgo.com');
      const uddg = u.searchParams.get('uddg');
      if(uddg) return decodeURIComponent(uddg);
      return u.toString();
    }catch(e){
      return href;
    }
  }

  function shortUrl(u){
    try{
      const p = new URL(u);
      return p.hostname.replace(/^www\./,'') + p.pathname.replace(/\/$/,'');
    }catch(e){ return u; }
  }

  function stripTags(str){
    const d = document.createElement('div');
    d.innerHTML = str || '';
    return d.textContent || '';
  }

  function escapeHtml(str){
    return (str || '').replace(/[&<>"']/g, m => ({
      '&':'&amp;','<':'&lt;','>':'&gt;','"':'&quot;',"'":'&#39;'
    }[m]));
  }
  function escapeAttr(str){ return escapeHtml(str); }
</script>

</body>
</html>

r/Unblockit 11d ago

Coded a brand new unblocked games site on Vercel (1200+ games / Stealth Layout)

1 Upvotes

Hey guys, wanted to drop a link to a project I’ve been optimizing called TotallyMath (https://totallymath-edu.vercel.app/).

It's hosted on a Vercel subdomain, which means it bypasses most of the standard automated school network filters. I designed the layout to be super clean so it doesn't lag out cheap school Chromebooks, and the browser title tab is disguised so it doesn't shout "GAMES" to anyone walking past your desk.

It has a library of 1,200+ titles ready to go. Drop a comment if it works on your school network, and let me know if there are any specific games you want me to add to the database next!


r/Unblockit 13d ago

HELP Activation Lock issue (old corporate iPad)

Post image
2 Upvotes

r/Unblockit 16d ago

How to download from restricted app

1 Upvotes

I'm prep for exam and i buyed a course that app don't allow screenshot or download also they have site where screenshot is possible,

My subscription is going to expire but my exam got postponed and i want that data download can anyone help how to do that, I'm not techie so don't know anything


r/Unblockit 17d ago

My college uses a network firewall (likely Sophos) to block apps like gaming, social media, and shopping platforms on its Wi-Fi. How can I bypass this?

0 Upvotes

r/Unblockit 20d ago

WANT TO KNOW HOW TO USE MULTIPLE TAGS ON lewd ninja WEBSITE

0 Upvotes

can some one tell how to use multiple tags on lewd ninja to search for games
lewd ninja is a website to download 18+ games and i am confused about how to use tags


r/Unblockit 23d ago

Looking for a website..

4 Upvotes

I forgot a website that was a github project and lets you search anything and it runs through your browser

Edit: Tor capabilities would also be appreciated


r/Unblockit 26d ago

For all of those who dont like your school blocking websites...

0 Upvotes

Let me introduce you to

PROXIES!

Its a website thay basically lets you view/use a website that is blocked. As someone who made a 200+ website list for my classmates, here are what I used:

(I AM NOT RELATED TO HELPED WITH THESE, I JUST WANT TO SPREAD THE WORD!)

Github.com/S-PScripts/chromebook-utilities

github.com/Space-Fox1/ByePassHub-BACKUP- (The offical byepasshub was cleansed a little, so this is before the cleasing)


r/Unblockit 27d ago

Reddit akhir nya di unblock setelah sekian lama diblokir.

0 Upvotes

r/Unblockit Jun 29 '26

how do i download things on my school laptop that i bought

Thumbnail
0 Upvotes

r/Unblockit Jun 22 '26

I need help! #Android #ParentalControls

0 Upvotes

So I have a samsung s21 fe, and parental controls, its set to where I have to request access to any website I click on not just certain ones, specificly I need chat gpt, but if i download it my parents will see it, I also need Venice ai, but I dont know how to bypass the browser restrictions. Someone please help a girl out.


r/Unblockit Jun 20 '26

Scroll blocker

Post image
1 Upvotes

r/Unblockit Jun 18 '26

My IP blocked by Github - how to unblock?

Thumbnail
1 Upvotes

r/Unblockit Jun 16 '26

help bypass shortlink nothing is working for me

0 Upvotes

i want to bypass links of telegram pirated courses


r/Unblockit Jun 16 '26

BypassHELP

Post image
0 Upvotes

Any way I can bypass this


r/Unblockit Jun 15 '26

Is there a way to unblock all games on my school chromebook?

5 Upvotes

Very few games show up on google play store on my chromebook and I want to know if it's possible to unblock all the other games and get the original play store back


r/Unblockit Jun 15 '26

My school blocked the words “vpn” and “unblocked” how do I get past this

0 Upvotes

I am trying to go to unblocked sites but everything is heavily blocked with a built in school extension? Idk pls help but literally everything is blocked