AI prompts
base on The largest unblocked games website on GitHub; 3500+ unblocked games, unblocked proxy, unblocked chatgpt, emulators, chat; <div align="center"><a href="https://nettleweb.com/" target="_blank" rel="noopener nofollow"><img src="https://nettleweb.com/res/logo.svg" width="768" height="256" draggable="false" alt="NettleWeb Logo" /></a></div>
# NettleWeb
[![Discord Shield](https://img.shields.io/discord/998658232207814667?style=for-the-badge&logo=Discord&logoColor=%23ffffff&label=Discord&labelColor=%23303030&color=%23004080
)](https://discord.gg/djdH3kVd4v) [![Version](https://img.shields.io/github/manifest-json/v/nettleweb/nettleweb?style=for-the-badge&label=Version&labelColor=%23303030)](https://nettleweb.com/) [![Last Update](https://img.shields.io/github/last-commit/nettleweb/nettleweb?style=for-the-badge&label=Last%20Update&labelColor=%23303030&color=%23004080)](https://nettleweb.com/)
NettleWeb (formerly WhiteSpider) is a free, open-source unblocked gaming platform designed for school or office users who are restricted from certain websites. Its goal is to bring users freedom while also protecting their privacy against activity monitoring. It has now archived more than 3500 HTML5, Flash, DOS and classic games, plus additional tools like **unblockers**, **emulators**, **unblocked YouTube** and **unblocked ChatGPT**.
NettleWeb is, and will always be, free and open-source. You can however show us your care by clicking on the **star** button at the top right corner. It would have a significant effect on this project's future development. <br />
[Main Link](https://nettleweb.com/) | [Mirror 1](https://nettleweb.pages.dev/) | [Mirror 2](https://nettleweb.github.io) | [Discord](https://discord.gg/djdH3kVd4v)
## Features
- **3500+ Free Unblocked Games** - This is what makes NettleWeb the largest unblocked website on GitHub, most of them are stored locally meaning they are not affected by network restrictions.
- **Dynamic Server Switching** - You can create and use your own [Backend Mirror](https://docs.google.com/document/d/1qh4VDIIYyi37f4nYaUqEiYd-CbI7dN6Bsaoy0X4hsQ0/edit?tab=t.0#heading=h.5hlrywvf3ho5) in case the default backend server is blocked by network restrictions.
- **Unblocked YouTube** - A standalone, ad-less YouTube client is included in the 'apps' section.
- **Unblocked ChatGPT** - A standalone, unlimited, self-hosted ChatGPT is included in the 'chat' section.
- **Unblocker/Proxy** - Allows you to access 99% of the blocked websites, regardless they are blocked by network or extensions. Multiple unblocking modes are included, you can switch mode in case some websites don't work properly.
- **Chat Features** - This is what makes NettleWeb different from other unblocked websites. We have included an embedded chat application that allows you to send realtime direct messages with your friends.
## Mirror Links
Mirror links have been removed from this section, because they could easily get blocked once listed. Please consider using data URL for bypassing browser extensions, or self-host a mirror link for bypassing external network restrictions. (See below for instructions)
## Self Hosting
If the main link is not working properly, you could self-host your own mirror link by following the instructions below.
Note: If you are seeing a 'disconnected' message in the header of your self-hosted mirror website, it means that the default backend server has been restricted. Games will be able to play as normal, but you would not be able to access certain features such as chat, proxy, game comments. In this case, using a backend mirror could help. For detailed instructions, please checkout [this document](https://docs.google.com/document/d/1qh4VDIIYyi37f4nYaUqEiYd-CbI7dN6Bsaoy0X4hsQ0/edit?tab=t.0#heading=h.5hlrywvf3ho5).
#### GitHub Pages
1. Click on the fork button at the top right corner to fork this repository.
2. Rename it to `username.github.io` where `username` is your actual GitHub username.
3. In your forked repository, go to settings->pages. Change 'source' to 'GitHub Actions' and click save.
4. Your forked mirror version should now be published at the URL shown above. Deploying the contents usually takes 10 minutes, so it is normal to see a blank page if you opened the link too early. If GitHub Pages is blocked for you, switching to an alternative hosting provider listed below may help.
Note 1: Due to resource linkage, hosting the website at non-root locations like `username.github.io/project` is **not supported** at this moment. If you already have a project hosted at the root location, consider using a custom domain or creating another GitHub account.
Note 2: Always update your mirror website whenever a new version is released. Using an outdated version might prevent you from connecting after a protocol change.
#### Other Hosting Providers
[![Deploy to Heroku](https://binbashbanana.github.io/deploy-buttons/buttons/remade/heroku.svg)](https://heroku.com/deploy/?template=https://github.com/nettleweb/nettleweb)
[![Run on Replit](https://binbashbanana.github.io/deploy-buttons/buttons/remade/replit.svg)](https://replit.com/github/nettleweb/nettleweb)
[![Remix on Glitch](https://binbashbanana.github.io/deploy-buttons/buttons/remade/glitch.svg)](https://glitch.com/edit/#!/import/github/nettleweb/nettleweb)
[![Deploy to IBM Cloud](https://binbashbanana.github.io/deploy-buttons/buttons/remade/ibmcloud.svg)](https://cloud.ibm.com/devops/setup/deploy?repository=https://github.com/nettleweb/nettleweb)
[![Deploy to Amplify Console](https://binbashbanana.github.io/deploy-buttons/buttons/remade/amplifyconsole.svg)](https://console.aws.amazon.com/amplify/home#/deploy?repo=https://github.com/nettleweb/nettleweb)
[![Run on Google Cloud](https://binbashbanana.github.io/deploy-buttons/buttons/remade/googlecloud.svg)](https://deploy.cloud.run/?git_repo=https://github.com/nettleweb/nettleweb)
[![Deploy to Oracle Cloud](https://binbashbanana.github.io/deploy-buttons/buttons/remade/oraclecloud.svg)](https://cloud.oracle.com/resourcemanager/stacks/create?zipUrl=https://github.com/nettleweb/nettleweb/archive/refs/heads/main.zip)
[![Deploy on Railway](https://binbashbanana.github.io/deploy-buttons/buttons/remade/railway.svg)](https://railway.app/new/template?template=https://github.com/nettleweb/nettleweb)
[![Deploy to Vercel](https://binbashbanana.github.io/deploy-buttons/buttons/remade/vercel.svg)](https://vercel.com/new/clone?repository-url=https://github.com/nettleweb/nettleweb)
[![Deploy to Netlify](https://binbashbanana.github.io/deploy-buttons/buttons/remade/netlify.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/nettleweb/nettleweb)
[![Deploy to Koyeb](https://binbashbanana.github.io/deploy-buttons/buttons/remade/koyeb.svg)](https://app.koyeb.com/deploy?type=git&repository=github.com/nettleweb/nettleweb&branch=Main&name=nettleweb)
[![Deploy to Render](https://binbashbanana.github.io/deploy-buttons/buttons/remade/render.svg)](https://render.com/deploy?repo=https://github.com/nettleweb/nettleweb)
[![Deploy to Cyclic](https://binbashbanana.github.io/deploy-buttons/buttons/remade/cyclic.svg)](https://app.cyclic.sh/api/app/deploy/nettleweb/nettleweb)
## Data URL
The code below is a data URL of an embedded NettleWeb mirror, it can bypass most restrictions set by browser extensions on Chrome and Edge. However it **cannot** be used to bypass external network restriction.
```
data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiID8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTI4MCIgaGVpZ2h0PSI3MjAiIHZpZXdCb3g9IjAgMCAxMjgwIDcyMCI+Cgk8dGl0bGU+R29vZ2xlPC90aXRsZT4KCTxmb3JlaWduT2JqZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMjgwIiBoZWlnaHQ9IjcyMCI+CgkJPGVtYmVkIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBzcmM9Imh0dHBzOi8vbmV0dGxld2ViLmNvbS8iIHR5cGU9InRleHQvcGxhaW4iIHdpZHRoPSIxMjYwIiBoZWlnaHQ9IjcwMCIgLz4KCTwvZm9yZWlnbk9iamVjdD4KPC9zdmc+
```
Data URLs work in the same way as HTTP(S) or file URLs, they can be opened directly in a new tab. (Just copy and paste the code above into a new tab's address bar and press enter)
## FAQ
This section has been moved to the FAQ page on the [website](https://nettleweb.com/).
## License
All code and files within this repository are licensed under the MIT License. You are free to modify or redistribute this project under the terms stated in `LICENSE.md`. However you must not attempt to reverse-engineer any pre-compiled contents.
## Credits
This project was made possible with the support of the following open-source libraries:
- [JS-DOS](https://github.com/caiiiycuk/js-dos) - DOS emulator in browser
- [Ruffle](https://github.com/ruffle-rs/ruffle) - Flash emulator in browser
- [EmulatorJS](https://github.com/EmulatorJS/EmulatorJS) - A collection of game emulators ported to JavaScript/WASM
- [@paulmillr/qr](https://github.com/paulmillr/qr) - A lightweight, zero-dependency QR code generator, which made the 2FA application possible.
- [fflate](https://github.com/101arrowz/fflate) - A fast, small deflate compression library.
- [Puppeteer](https://github.com/puppeteer/puppeteer) - Node.js API for Chrome, which made the unblocker possible.
- [node-llama-cpp](https://github.com/withcatai/node-llama-cpp) - Node.js bindings for `llama.cpp`, which made the unblocked ChatGPT possible.
- [emoji-picker-element](https://github.com/nolanlawson/emoji-picker-element) - A featured, zero-dependency emoji picker that supports the chat application.
", Assign "at most 3 tags" to the expected json: {"id":"8336","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"