From aa033d569d19178ee3c381e580202b47fa2deb18 Mon Sep 17 00:00:00 2001 From: surillya Date: Wed, 7 May 2025 10:13:43 -0400 Subject: [PATCH] Initial Commit --- README.md | 75 +++++++++++- chat.txt | 81 +++++++++++++ egg.html | 40 +++++++ index.html | 342 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 536 insertions(+), 2 deletions(-) create mode 100644 chat.txt create mode 100644 egg.html create mode 100644 index.html diff --git a/README.md b/README.md index 93eca5e..24c298c 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,74 @@ -# deadhub +# Suri Browser -Suris' Dead AI Hub \ No newline at end of file +Welcome to the official [Suri Browser](https://github.com/Surillya/Suri-Browser)! The Suri Browser is an AI dead internet project, made by Surillyacom Entertainment, as part of the [Dead Internet Hub](#). Its purpose is generating fictional websites using AI purely of just a fictional URL for entertainment purposes. + +

+ + +

+ +## Requirements +- Windows 10 or any major linux distribution. +- Google Chrome, Mozilla Firefox, and Microsoft Edge are supported. +- A GGUF Txt2Txt LLM model (e.g. a Qwen Coder model. Models can be found on [Hugging Face](https://huggingface.co/models)). +- A SafeTemsors Txt2Img LLM model (e.g. Anything Diffusion. Models can be found on [Hugging Face](https://huggingface.co/models)) (optional). +- LLM backend(s) for Text Generation and Automatic1111 ([KoboldCPP](https://github.com/LostRuins/koboldcpp) is recommended and already has it's own version of Automatic1111 included). + +## Getting Started +1. Start the LLM backend server(s) with the text and image generation models loaded. + - Make sure that the API is running and CORS is enabled. If you're using KoboldCPP, you don't have to worry about this. +2. Clone the repository and open the `index.html` file in your browser. + +Done. + +> 📅 **Note**: If you're using any backend(s) other than KoboldCPP, you may have to change the API, as explained in the [Detailed Features](#features-in-detail) section. + +## Features +- **Visually Appealing**: The Suri Browser offers a dark mode only modern layout with modern TailwindCSS tools. +- **Tailwind CSS**: TailwindCSS is the core design framework, guiding every aspect of the webpage, from layout to typography to gradients, shadows, and more. +- **Inline Image Generation**: The Suri Browser generates images in websites inline. +- **Inline Hyperlinks**: The Suri Browser generates links in websites inline on-click. +- **Download Websites**: You can download generated websites from the Suri Browser including images and styling to a single .html file with a single click. +- **RegEx Prompt Changing**: Add regular expressions for certain TLDs or URLs with explainations to give the LLM additional context about TLDs and/or URLs. + +## Features in Detail +#### Top Bar +![Top Bar](/screenshots/topbar.png) + +In the Top Bar, there are three buttons: +- **Red Button**: With the red button, you can change the API URL for the Automatic1111 API. +- **Yellow Button**: With the yellow button, you can change the API URL for the Text API. +- **Green Button**: With the green button, you can fetch the generate sites content, and download it to a .html file. + +> 💡 **Note**: API URLs will be stored in the local storage. + +## Roadmap +- [x] Sampler settings adjusted +- [x] URL formatting +- [x] Embedded TailwindCSS +- [x] Generate full websites from URL +- [x] Generate inline images +- [x] Changable API URLs +- [x] Website download function +- [x] Responsive design +- [] Tabs +- [] Themes +- [x] Context-based prompt changing + +## Support +If you have any feedback, bugs or suggestions, feel free to reach out over an [issue](https://github.com/Surillya/Suri-Browser/issues) or [email](mailto:contact@surillya.com). + +## License +The Suri Browser is licensed under the [Apache 2.0 License](LICENSE). + +## Contributing +Feel free to contribute meaningful pull requests to this repository. I'd love your help, but I keep myself the right to remove and/or modify anything that doesn't fit the purpose I'm trying to achieve. + +## Credits +- [Tailwind CSS](https://tailwindcss.com/) + +``` +Copyright © 2025 Surillyacom Entertainment + +Thank you for using the Suri Browser. Enjoy your browsing experience! +``` \ No newline at end of file diff --git a/chat.txt b/chat.txt new file mode 100644 index 0000000..0d53f71 --- /dev/null +++ b/chat.txt @@ -0,0 +1,81 @@ +You’ve done a really great job already—it’s clean, functional, and your vision is super clear. To level it up further for smaller models and more robustness, here’s a multi-part refinement: + + +--- + +1. Improved Prompting for Small LLMs + +Smaller models benefit from being extremely specific. Here’s a version of your prompt that nudges them into consistent output and prevents fallback to regular tags: + +Prompt for homepage: + +Generate a fictional nostalgic homepage that looks like a personal or niche website from an alternate timeline. It should: +- Use TailwindCSS classes +- Include 2–4 internal links (use tags) +- Include 1 paragraph of eerie but believable text +- Include exactly one image described as a prompt in square brackets. Do NOT use tags. +- Only include HTML from to , with no extra explanation. + +Example image prompt: [haunted playground, night, broken swings, liminal mood, 2000s web aesthetic] + +Do the same for link-based generation, just tweak the "homepage" reference to "webpage based on the theme: [theme]". + + +--- + +2. Validation Layer for Image Prompts + +To force use of square brackets and avoid pollution, we can strip tags before injecting into the iframe and treat anything in brackets as the image prompt source: + +function sanitizeHtmlContent(html) { + // Remove all tags + html = html.replace(/]*>/gi, ""); + + // Replace markdown-style ![]() with brackets + html = html.replace(/!.*?(.*?)/g, (_, url) => `[${url}]`); + + return html; +} + +Call this before injectImages(): + +const sanitized = sanitizeHtmlContent(data.results[0].text); +const parsed = await injectImages(sanitized); + + +--- + +3. Fake URL Navigation Support + +To simulate a browser-like experience, add an input + “Go” button: + +In HTML: + +
+ + +
+ +Script logic: + +function navigateToUrl() { + const input = document.getElementById("fake-url").value.trim(); + if (!input) return; + + // Strip protocol and treat as topic + const context = input.replace(/^neo:\/\//, "").replace(/[^\w\s-]/g, " "); + generatePageFromLink(context); +} + + +--- + +Optional: Replace iframe with sandboxed div? + +If you wanna go deeper down the fake-browser rabbit hole, using a div with dynamic innerHTML and custom sandboxing might give you better control (like link previews, custom protocols, etc.), but iframe is fine for now unless you hit limitations. + + +--- + +Would you like me to bundle these updates into a version of your file so you can paste-and-go? + diff --git a/egg.html b/egg.html new file mode 100644 index 0000000..7a04c69 --- /dev/null +++ b/egg.html @@ -0,0 +1,40 @@ + + + + + + + When I'm told to show my best project + + + + +
+
+
+
+
+
+
+

Output


+ + + + + + \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..c15a75b --- /dev/null +++ b/index.html @@ -0,0 +1,342 @@ + + + + + + + Suri Browser + + + + + +
+
+
+
+ + + +
+
+ +
+
+ + +
+
+
+ +
+ +
+
+ + + + + + \ No newline at end of file