<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/making-sure-you-re-not-a-bot--tnza0770d" -->

---
title: Making sure you&#x27;re not a bot! | daily.dev
description: The post reports the completion of a task in 445 milliseconds, taking 3,009,490 iterations.
canonical: https://daily.dev/posts/making-sure-you-re-not-a-bot--tnza0770d
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Making sure you&#x27;re not a bot! | daily.dev
og:description: The post reports the completion of a task in 445 milliseconds, taking 3,009,490 iterations.
og:url: https://daily.dev/posts/making-sure-you-re-not-a-bot--tnza0770d
og:image: https://api.daily.dev/og/posts/TnZA0770D.png
og:image:alt: Making sure you&#x27;re not a bot!
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Making sure you're not a bot!

**[Lobsters](https://daily.dev/sources/lobsters)** · 1 min read · 30 upvotes · 12 comments

## Summary

The post reports the completion of a task in 445 milliseconds, taking 3,009,490 iterations.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://anubis.techaro.lol/>

## Community discussion

Top comments from developers on daily.dev.

**@coppnic** · 2 upvotes

> # Illegal Software - Easy to bypass
> (Leave a Thumbs Up or Heart in the Github Issue [https://github.com/TecharoHQ/anubis/issues/50](https://github.com/TecharoHQ/anubis/issues/50) I just created for this.)
>
> ## Legal Problem
>
> Huge problem is the usage of the IP of the user before even asking for consent. **And the fact that you know about it and brag that you can set a cookie before GDPR compliance is even asked.**
>
> Congratulations, you just broke the law in the entire **EU** (GDPR), **UK** (UK-GDPR), **Switzerland** (revDSG), **Brasil** (LGPD), **South Africa** (POPIA), **South Korea** (PIPA),...

**@fatah7** · 1 upvotes

> > The post reports the completion of a task in 445 milliseconds, taking 3,009,490 iterations.
>
> this is prove that it is working againts bot (including AI). While as user I got into the main page.

**@yannou** · 0 upvotes

> Thanks i had a doubt

**@palalet** · 0 upvotes

> Lol

**@jayakadrownakainverge** · 0 upvotes

> I encountered this while using the Gnome Icon-Preview app. The "About" dialogue has a link to their Gitlab page, and I was blocked from accessing it thanks to this reverse proxy scraper, Anubis.
> It would not even present me with a challenge, and the try again or Home options do nothing.
> Trying to figure out the problem has led me here, and I'm trying to understand why they are using this.
> One user suggested this may be illegal to use, and another user also said that it was unethical to block users from their own data on Gnome's Gitlab.
> I feel like there is some non-practical motivation going...

---

Tags: [#data-science](https://daily.dev/tags/data-science), [#performance](https://daily.dev/tags/performance)

[View this post on daily.dev](https://daily.dev/posts/making-sure-you-re-not-a-bot--tnza0770d)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Making sure you're not a bot!","url":"https://daily.dev/posts/making-sure-you-re-not-a-bot--tnza0770d","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/making-sure-you-re-not-a-bot--tnza0770d"},"datePublished":"2025-03-21T02:36:56.101Z","dateModified":"2025-03-21T02:37:06.994Z","description":"The post reports the completion of a task in 445 milliseconds, taking 3,009,490 iterations.","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/da32b12e594f9601a0061dcdbb8cd23a?_a=AQAEuj9","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/da32b12e594f9601a0061dcdbb8cd23a?_a=AQAEuj9","isAccessibleForFree":true,"articleSection":"Lobsters","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Lobsters","logo":"https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg","url":"https://daily.dev/sources/lobsters"},"commentCount":12,"discussionUrl":"https://daily.dev/posts/making-sure-you-re-not-a-bot--tnza0770d","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":30},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":12}],"keywords":"data-science,performance","timeRequired":"PT1M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Lobsters","item":"https://daily.dev/sources/lobsters"},{"@type":"ListItem","position":3,"name":"Making sure you're not a bot!"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/making-sure-you-re-not-a-bot--tnza0770d","comment":[{"@type":"Comment","text":"Illegal Software - Easy to bypass\n(Leave a Thumbs Up or Heart in the Github Issue https://github.com/TecharoHQ/anubis/issues/50 I just created for this.)\nLegal Problem\nHuge problem is the usage of the IP of the user before even asking for consent. And the fact that you know about it and brag that you can set a cookie before GDPR compliance is even asked.\nCongratulations, you just broke the law in the entire EU (GDPR), UK (UK-GDPR), Switzerland (revDSG), Brasil (LGPD), South Africa (POPIA), South Korea (PIPA), Japan (APPI), Canada (PIPEDA), Argentinia, India (DPDP), and also possibly in Australia (Privacy Act), California (CCPA/CPRA), Thailand (PDPA), Indonesia (PDP), Malaysia (PDPA) and other countries I haven’t heard of their data protection laws of.\nAnd most of these countries always had IP protection (consent) laws in place long before GDPR.\nSecurity Problem\nNot only is relying on Javascript a very risky thing for a “safety check”, but also very easily passable for a Bot. No AI needed.\nIf you don’t believe me, that’s okay. I just wrote a webscraper that easily bypasses Anubis.\nStep 1 - Init\nnpm init -y\n\nStep 2 - Install dependencies\nnpm install puppeteer puppeteer-extra puppeteer-extra-plugin-stealth\n\nStep 3 - Create the scraper\nconst puppeteer = require(&#x27;puppeteer-extra&#x27;);\nconst StealthPlugin = require(&#x27;puppeteer-extra-plugin-stealth&#x27;);\nconst fs = require(&#x27;fs&#x27;);\n\npuppeteer.use(StealthPlugin());\n\n(async () =&gt; {\n  const browser = await puppeteer.launch({ headless: false, args: [&#x27;--no-sandbox&#x27;] });\n  const page = await browser.newPage();\n\n  try {\n    await page.goto(&#x27;https://anubis.techaro.lol/docs/design/how-anubis-works&#x27;, {\n      waitUntil: &#x27;domcontentloaded&#x27;,\n      timeout: 60000,\n    });\n\n    await page.waitForFunction(() =&gt; {\n      const h1 = document.querySelector(&#x27;h1&#x27;);\n      return h1 &amp;&amp; h1.textContent.trim() !== &#x27;Making sure you\\&#x27;re not a bot!&#x27; &amp;&amp; h1.textContent.trim() !== &#x27;Success!&#x27;;\n    }, { timeout: 120000 });\n\n    const h1Text = await page.$eval(&#x27;h1&#x27;, el =&gt; el.textContent.trim());\n    const url = page.url();\n    const title = await page.title();\n\n    console.log(&#x27;Final H1:&#x27;, h1Text);\n    console.log(&#x27;Final URL:&#x27;, url);\n    console.log(&#x27;Page Title:&#x27;, title);\n\n    const html = await page.content();\n    fs.writeFileSync(&#x27;anubis-test.html&#x27;, html);\n    await page.screenshot({ path: &#x27;anubis-test.png&#x27;, fullPage: true });\n\n  } catch (err) {\n    console.error(&#x27;Error:&#x27;, err.message);\n  } finally {\n    await browser.close();\n  }\n})();\n\nStep 4 - Run the Scraper\nnode anubis.js\n\nResult","datePublished":"2025-03-21T13:30:33.902Z","dateModified":"2025-03-21T14:04:41.290Z","url":"https://daily.dev/posts/TnZA0770D#c-7aRl7H0V3","author":{"@type":"Person","name":"coppnic","url":"https://daily.dev/coppnic","image":"https://media.daily.dev/image/upload/s--8VyNl1cb--/f_auto/v1732889303/avatars/avatar_z5bNZJIOpNguomDjmmrE2"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":2}},{"@type":"Comment","text":"The post reports the completion of a task in 445 milliseconds, taking 3,009,490 iterations.\n\nthis is prove that it is working againts bot (including AI). While as user I got into the main page.","datePublished":"2025-03-21T06:59:52.132Z","dateModified":"2025-03-21T07:01:10.884Z","url":"https://daily.dev/posts/TnZA0770D#c-NKt7xdKFT","author":{"@type":"Person","name":"fatah","url":"https://daily.dev/fatah7","image":"https://lh3.googleusercontent.com/a/ACg8ocKgelgpJclmQWiuyZTLLAnFAgi3MhLgrQ9pVzqTdWDzCRc9dA=s96-c"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1}},{"@type":"Comment","text":"Thanks i had a doubt","datePublished":"2025-03-24T08:27:44.816Z","url":"https://daily.dev/posts/TnZA0770D#c-hoQSEXTjP","author":{"@type":"Person","name":"Yann","url":"https://daily.dev/yannou","image":"https://media.daily.dev/image/upload/s--GrwU8Unt--/f_auto,q_auto/v1/avatars/avatar_bQt2gRUuXCLZtjZpaBakM"}},{"@type":"Comment","text":"Lol","datePublished":"2025-03-21T14:03:13.226Z","url":"https://daily.dev/posts/TnZA0770D#c-nDVUVkdQZ","author":{"@type":"Person","name":"Radek Havelka","url":"https://daily.dev/palalet","image":"https://lh3.googleusercontent.com/a-/ACNPEu-o8MElSN4ROMgrqyjqrarlLqksiGLna5TAfYA1Jw=s100"}},{"@type":"Comment","text":"I encountered this while using the Gnome Icon-Preview app. The “About” dialogue has a link to their Gitlab page, and I was blocked from accessing it thanks to this reverse proxy scraper, Anubis.\nIt would not even present me with a challenge, and the try again or Home options do nothing.\nTrying to figure out the problem has led me here, and I’m trying to understand why they are using this.\nOne user suggested this may be illegal to use, and another user also said that it was unethical to block users from their own data on Gnome’s Gitlab.\nI feel like there is some non-practical motivation going on here somewhere. Maybe something ideological even?\nSorry if I’m way off base, but it seems like an odd problem for such a huge project to force upon users.","datePublished":"2025-03-28T03:03:45.521Z","url":"https://daily.dev/posts/TnZA0770D#c-YvKDmLQUi","author":{"@type":"Person","name":"Jay aka DroWn aka Inverge","url":"https://daily.dev/jayakadrownakainverge","image":"https://avatars.githubusercontent.com/u/16339020?v=4"}}]}
```

