В этой теме обсуждаем нейросети для создания и клонирования сайтов и делимся опытом.
Держи в курсе, следим за твоим творчестовомУра, наконец то могу поделиться опытом.
Спойлер - все плохо.
Все эти сервисы создают клон с помощью tailwind css или еще какой то библиотеки.
Я пробовал скопировать сайт для создания токенов на солане, он вообще не сложный нефига.
Можно копировать про скриншоту а можно по ссылке.
По ссылке результат сооовсем печальный, сразу отбрасываем.
Остается по скринам.
Конечно хочется просто сделать картинку сайта целиком с помощью плагинов или через f12 и вставить в ИИ, но результат тоже не очень, к том же все ИИ кроме v0.dev так и не поняли что именно я от них хочу, как ни странно, так что единственный верный путь как я понял - скринить каждый блок отдельно.
Пробовал следуюущие сервисы:
https://www.cursor.com/ - гавно
https://bolt.new/ - получше
https://v0.dev/ - лучше всех (и дает даже скачать твой сайт причем бесплатно)
https://github.com/nutlope/napkins - тоже полный кал получился, хотя вроде люди хвалят данный сервис.
https://www.framer.com/ - также пробовал это, там ты устанавливаешь плагин который позволяет тебе выделять блоки на сайте и переносить их в веб-конструктор в фреймер.
И вроде бы все делал правильно. Но все равно ничего не вышло. Я например копирую родительский блок, а потом когда копирую те блоки что внутри него, все ломается.
А если копировать сразу вложенные блоки то тогда структура неправильная.
В общем велика вероятность того что я что-то делал неправильно, особенно в случае с Framer.
В итоге: v0.dev справлялся лучше всех (и все равно нихуя не копия 1 в 1), но картинки с сайтов он конечно же не копирует а вставляет "пустышки" которые надо самому менять.
Вариант которым пользуюсь я: Просто в чатгпт я скидываю скрин блока и прошу сгенерировать идентичный, и он очень даже достойно справляется.
До чего руки так и не дошли:
https://github.com/abi/screenshot-to-code - вроде как должно быть что то нормальное.![]()
Same
same.new
Вообще почти каждую неделю что то новое по этой теме появляеться, так что надо успевать тестировать.
Делитесь сервисами если у вас что-то адекватное выходило))
UPD: !!!! https://same.new/ - вот эта лучше чем v0.dev, попробуйте эту!
Мне тоже он понравился :)UPD: !!!! https://same.new/ - вот эта лучше чем v0.dev, попробуйте эту!
Фишинг либо просто снижает затраты на создание сайтов и тестирование гипотез.Прошу обьяснить, в чём заключается профит от скопированного сайта?
То есть скопировал сайт, заменил картинки с ссылки и захостил. Вуаля, у меня есть сайт.снижает затраты на создание сайтов и тестирование гипотез.
Это зависит от твоих целей и задач.То есть скопировал сайт, заменил картинки с ссылки и захостил. Вуаля, у меня есть сайт.
Правильно понимаю ?
А тестировать как?
Локально или также захостить и терзать сайт?
Почему нельзя на оригинале?
Создаёт дизайн сайта по текстовому описанию;
Можно загружать картинки или скетчи — нейросеть поймёт идею;
Дизайн сразу можно редактировать;
Один клик — и всё уходит в Figma;
Получаешь готовый HTML/CSS код;
Главное: полностью БЕСПЛАТНО.
Идеальный инструмент, чтобы быстро сделать лендинг, прототип приложения или просто визуализировать идею без знаний кода.
Сохраняем и пробуем ТУТ (https://stitch.withgoogle.com/)from selenium import webdriver
from bs4 import BeautifulSoup
import time
import random
# Настройка headless Chrome
options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
driver = webdriver.Chrome(options=options)
# Функция для сканирования сайта
def scrape_site(url):
driver.get(url)
time.sleep(random.uniform(1.5, 3.5)) # Случайная задержка
soup = BeautifulSoup(driver.page_source, 'html.parser')
# Извлечение DOM и ресурсов
scripts = [script['src'] for script in soup.find_all('script') if 'src' in script.attrs]
styles = [link['href'] for link in soup.find_all('link') if 'href' in link.attrs]
# Логирование сетевых запросов
network_requests = driver.execute_script("return window.performance.getEntriesByType('resource');")
return {'scripts': scripts, 'styles': styles, 'requests': network_requests}
# Тест
print(scrape_site('https://example.com'))
driver.quit()
const express = require('express');
const app = express();
app.get('/fake-api/login', (req, res) => {
// Симуляция ответа API с фейковым токеном
const fakeToken = Buffer.from(Date.now().toString()).toString('base64');
res.json({
status: 'success',
token: fakeToken,
message: 'Фейковый API для логина'
});
});
app.listen(3000, () => console.log('Фейковый API запущен на порту 3000'));
from transformers import pipeline
# Модель для генерации кода
generator = pipeline('text-generation', model='Salesforce/codegen-350M-mono')
# Генерация HTML-кода
prompt = "Generate HTML for a simple e-commerce homepage with a product list"
result = generator(prompt, max_length=200, num_return_sequences=1)
print(result[0]['generated_text'])
from mitmproxy import http
import random
def request(flow: http.HTTPFlow) -> None:
# Случайное изменение заголовков
flow.request.headers['User-Agent'] = f'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/{random.randint(500, 600)}.36'
flow.request.headers['X-Fake-Header'] = str(random.randint(1000, 9999))
Интересно, но нихрена не понятно.Короче, чтобы скопировать сайт, сперва надо разобраться в его структуре и поведении. Я использую Selenium и BeautifulSoup в Питоне, но с одним хитрым трюком. Вместо того чтобы просто вытягивать HTML и CSS, написал скрипт, который ещё и отслеживает динамику сайта, типа AJAX запросов или WebSocket’ов. Так можно даже форму логина с CSRF токеном раскрутить и повторить её работу. Чтобы сервер не просёк, что его сканируют, юзаю headless Chrome с ротацией прокси, вроде Tor или кастомного VPN. Плюс кошу под реального юзера: отправляю запросы с рандомными нелинейными задержками, будто человек по сайту лазает...
Этот код сканирует сайт и возвращает ресурсы (типа JavaScript и CSS) плюс сетевые запросы. С этими данными можно восстановить весь внешний вид и поведение сайта...Python:from selenium import webdriver from bs4 import BeautifulSoup import time import random # Настройка headless Chrome options = webdriver.ChromeOptions() options.add_argument('--headless') options.add_argument('--no-sandbox') driver = webdriver.Chrome(options=options) # Функция для сканирования сайта def scrape_site(url): driver.get(url) time.sleep(random.uniform(1.5, 3.5)) # Случайная задержка soup = BeautifulSoup(driver.page_source, 'html.parser') # Извлечение DOM и ресурсов scripts = [script['src'] for script in soup.find_all('script') if 'src' in script.attrs] styles = [link['href'] for link in soup.find_all('link') if 'href' in link.attrs] # Логирование сетевых запросов network_requests = driver.execute_script("return window.performance.getEntriesByType('resource');") return {'scripts': scripts, 'styles': styles, 'requests': network_requests} # Тест print(scrape_site('https://example.com')) driver.quit()
Но чтобы скопировать сайт, просто вытащить DOM не хватит. Надо ещё подделать его динамическое поведение. Я тут юзаю модель на базе GAN (ну, что-то вроде лёгкой версии от Hugging Face или кастомной модели), которая учится воспроизводить поведение JavaScript и API. Например, если у сайта есть API, который работает с токеном, я могу сварганить фейковый API, который выдаёт похожие ответы.
Как? С помощью Frida можно отследить, как ведёт себя JavaScript в браузере, а потом с моделью машинного обучения (типа TensorFlow или PyTorch) симулировать это поведение. Скажем, форму логина с CSRF-токеном можно воссоздать на сервере с Node.js...
Python:const express = require('express'); const app = express(); app.get('/fake-api/login', (req, res) => { // Симуляция ответа API с фейковым токеном const fakeToken = Buffer.from(Date.now().toString()).toString('base64'); res.json({ status: 'success', token: fakeToken, message: 'Фейковый API для логина' }); }); app.listen(3000, () => console.log('Фейковый API запущен на порту 3000'));
Этот код создаёт фейковый API, который можно засунуть в скопированный сайт вместо оригинального...
Если хочешь с нуля сайт замуть, можно юзать генеративные модели типа CodeGen или GitHub Copilot, но у меня есть вариант покруче. Я беру Gradio и языковую модель, типа LLaMA, которая на входе берёт текстовые описания например, "интернет-магазин с корзиной" и шлёпает готовый HTML, CSS и JavaScript.
Чтобы сайт был антифорензик, я обфусцирую сгенеренный код через obfuscator.io и ставлю его на сервер с Nginx и TLS 1.3, чтобы никаких следов не осталось...
Этот код через модель CodeGen генерит HTML-страницу для интернет-магазина. Можно взять выходные данные и сразу закинуть их в HTML-файл...Python:from transformers import pipeline # Модель для генерации кода generator = pipeline('text-generation', model='Salesforce/codegen-350M-mono') # Генерация HTML-кода prompt = "Generate HTML for a simple e-commerce homepage with a product list" result = generator(prompt, max_length=200, num_return_sequences=1) print(result[0]['generated_text'])
Чтобы твой скопированный сайт не спалили, я юзаю фишку под названием Dynamic Request Mutation. Это когда каждый HTTP/HTTPS-запрос от твоего сайта чуть-чуть меняется например, хедеры или query string. Так даже если WAF типа Cloudflare начнёт анализировать трафик, он подумает, что всё норм. Это можно замуть через прокси, типа mitmproxy...
Этот код через mitmproxy меняет заголовки запросов, чтобы их не отследили...Python:from mitmproxy import http import random def request(flow: http.HTTPFlow) -> None: # Случайное изменение заголовков flow.request.headers['User-Agent'] = f'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/{random.randint(500, 600)}.36' flow.request.headers['X-Fake-Header'] = str(random.randint(1000, 9999))

Интересно, но нихрена не понятно.
Замути подробную статью с пошаговым планом для самых маленьких.
С нас лайк и подписка.