commit 33699a061e82ad9dbf89024727278415f1785a65 Author: Dmitry Sergeev Date: Thu Aug 6 21:19:05 2026 +0300 init tmp homepage template diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1d17dae --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.venv diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..1051ed1 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,2 @@ +FROM nginx:1.31.3 +COPY src /usr/share/nginx/html diff --git a/README.md b/README.md new file mode 100644 index 0000000..4036026 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# ebusmpte.ru homepage +temp solution for my personal website diff --git a/src/img/comic/250th-independence-day-stonetoss-comic.png b/src/img/comic/250th-independence-day-stonetoss-comic.png new file mode 100644 index 0000000..4d23a2a Binary files /dev/null and b/src/img/comic/250th-independence-day-stonetoss-comic.png differ diff --git a/src/img/comic/SPLC-fraud-stonetoss-comic.png b/src/img/comic/SPLC-fraud-stonetoss-comic.png new file mode 100644 index 0000000..2243f26 Binary files /dev/null and b/src/img/comic/SPLC-fraud-stonetoss-comic.png differ diff --git a/src/img/comic/ai-golem-stonetoss-comic.png b/src/img/comic/ai-golem-stonetoss-comic.png new file mode 100644 index 0000000..7f1f828 Binary files /dev/null and b/src/img/comic/ai-golem-stonetoss-comic.png differ diff --git a/src/img/comic/ai-job-replacement-stonetoss-comic.png b/src/img/comic/ai-job-replacement-stonetoss-comic.png new file mode 100644 index 0000000..cce37e5 Binary files /dev/null and b/src/img/comic/ai-job-replacement-stonetoss-comic.png differ diff --git a/src/img/comic/ai-slop-stonetoss-comic.png b/src/img/comic/ai-slop-stonetoss-comic.png new file mode 100644 index 0000000..64fdec4 Binary files /dev/null and b/src/img/comic/ai-slop-stonetoss-comic.png differ diff --git a/src/img/comic/ai-stealing-stonetoss-comic.png b/src/img/comic/ai-stealing-stonetoss-comic.png new file mode 100644 index 0000000..7b975e7 Binary files /dev/null and b/src/img/comic/ai-stealing-stonetoss-comic.png differ diff --git a/src/img/comic/ai-underclass-stonetoss-comic.png b/src/img/comic/ai-underclass-stonetoss-comic.png new file mode 100644 index 0000000..2d902ed Binary files /dev/null and b/src/img/comic/ai-underclass-stonetoss-comic.png differ diff --git a/src/img/comic/air-conditioning-stonetoss-comic.png b/src/img/comic/air-conditioning-stonetoss-comic.png new file mode 100644 index 0000000..b0fd797 Binary files /dev/null and b/src/img/comic/air-conditioning-stonetoss-comic.png differ diff --git a/src/img/comic/backrooms-movie-stonetoss-comic.png b/src/img/comic/backrooms-movie-stonetoss-comic.png new file mode 100644 index 0000000..f01f4fb Binary files /dev/null and b/src/img/comic/backrooms-movie-stonetoss-comic.png differ diff --git a/src/img/comic/capn-crunch-cereal-stonetoss-comic.png b/src/img/comic/capn-crunch-cereal-stonetoss-comic.png new file mode 100644 index 0000000..5cf8bd5 Binary files /dev/null and b/src/img/comic/capn-crunch-cereal-stonetoss-comic.png differ diff --git a/src/img/comic/christian-denominations-stonetoss-comic.png b/src/img/comic/christian-denominations-stonetoss-comic.png new file mode 100644 index 0000000..662b078 Binary files /dev/null and b/src/img/comic/christian-denominations-stonetoss-comic.png differ diff --git a/src/img/comic/chudjak-easter-stonetoss-comic.png b/src/img/comic/chudjak-easter-stonetoss-comic.png new file mode 100644 index 0000000..b68b12b Binary files /dev/null and b/src/img/comic/chudjak-easter-stonetoss-comic.png differ diff --git a/src/img/comic/crab-rangoon-stonetoss-comic.png b/src/img/comic/crab-rangoon-stonetoss-comic.png new file mode 100644 index 0000000..f0db67d Binary files /dev/null and b/src/img/comic/crab-rangoon-stonetoss-comic.png differ diff --git a/src/img/comic/data-center-stonetoss-comic.png b/src/img/comic/data-center-stonetoss-comic.png new file mode 100644 index 0000000..1c7476a Binary files /dev/null and b/src/img/comic/data-center-stonetoss-comic.png differ diff --git a/src/img/comic/diarrhea-produce-stonetoss-comic.png b/src/img/comic/diarrhea-produce-stonetoss-comic.png new file mode 100644 index 0000000..1891913 Binary files /dev/null and b/src/img/comic/diarrhea-produce-stonetoss-comic.png differ diff --git a/src/img/comic/easter-the-amazing-digital-circus-stonetoss-comic.png b/src/img/comic/easter-the-amazing-digital-circus-stonetoss-comic.png new file mode 100644 index 0000000..cda8164 Binary files /dev/null and b/src/img/comic/easter-the-amazing-digital-circus-stonetoss-comic.png differ diff --git a/src/img/comic/fallout-iran-war-stonetoss-comic.png b/src/img/comic/fallout-iran-war-stonetoss-comic.png new file mode 100644 index 0000000..d7ab82a Binary files /dev/null and b/src/img/comic/fallout-iran-war-stonetoss-comic.png differ diff --git a/src/img/comic/flock-camera-stonetoss-comic.png b/src/img/comic/flock-camera-stonetoss-comic.png new file mode 100644 index 0000000..500a90f Binary files /dev/null and b/src/img/comic/flock-camera-stonetoss-comic.png differ diff --git a/src/img/comic/god-emperor-and-monitoring-the-situation-stonetoss-comic.png b/src/img/comic/god-emperor-and-monitoring-the-situation-stonetoss-comic.png new file mode 100644 index 0000000..7af7316 Binary files /dev/null and b/src/img/comic/god-emperor-and-monitoring-the-situation-stonetoss-comic.png differ diff --git a/src/img/comic/halo-female-marine-stonetoss-comic.png b/src/img/comic/halo-female-marine-stonetoss-comic.png new file mode 100644 index 0000000..44587bf Binary files /dev/null and b/src/img/comic/halo-female-marine-stonetoss-comic.png differ diff --git a/src/img/comic/hantavirus-stonetoss-comic.png b/src/img/comic/hantavirus-stonetoss-comic.png new file mode 100644 index 0000000..9bdcdc5 Binary files /dev/null and b/src/img/comic/hantavirus-stonetoss-comic.png differ diff --git a/src/img/comic/immigration-wages-stonetoss-comic.png b/src/img/comic/immigration-wages-stonetoss-comic.png new file mode 100644 index 0000000..55a72c1 Binary files /dev/null and b/src/img/comic/immigration-wages-stonetoss-comic.png differ diff --git a/src/img/comic/invincible-animation-ai-stonetoss-comic.png b/src/img/comic/invincible-animation-ai-stonetoss-comic.png new file mode 100644 index 0000000..6c539bb Binary files /dev/null and b/src/img/comic/invincible-animation-ai-stonetoss-comic.png differ diff --git a/src/img/comic/invincible-race-mixing-stonetoss-comic.png b/src/img/comic/invincible-race-mixing-stonetoss-comic.png new file mode 100644 index 0000000..b53ce61 Binary files /dev/null and b/src/img/comic/invincible-race-mixing-stonetoss-comic.png differ diff --git a/src/img/comic/invincible-stonetoss-comic.png b/src/img/comic/invincible-stonetoss-comic.png new file mode 100644 index 0000000..3e13348 Binary files /dev/null and b/src/img/comic/invincible-stonetoss-comic.png differ diff --git a/src/img/comic/iran-negotiations-stonetoss-comic.png b/src/img/comic/iran-negotiations-stonetoss-comic.png new file mode 100644 index 0000000..7757cb0 Binary files /dev/null and b/src/img/comic/iran-negotiations-stonetoss-comic.png differ diff --git a/src/img/comic/iran-war-midterms-stonetoss-comic.png b/src/img/comic/iran-war-midterms-stonetoss-comic.png new file mode 100644 index 0000000..fcde893 Binary files /dev/null and b/src/img/comic/iran-war-midterms-stonetoss-comic.png differ diff --git a/src/img/comic/israel-iran-gas-prices-stonetoss-comic.png b/src/img/comic/israel-iran-gas-prices-stonetoss-comic.png new file mode 100644 index 0000000..61e277a Binary files /dev/null and b/src/img/comic/israel-iran-gas-prices-stonetoss-comic.png differ diff --git a/src/img/comic/jango-fett-stonetoss-comic.png b/src/img/comic/jango-fett-stonetoss-comic.png new file mode 100644 index 0000000..97f47e0 Binary files /dev/null and b/src/img/comic/jango-fett-stonetoss-comic.png differ diff --git a/src/img/comic/mcdonalds-self-serve-sodas-stonetoss-comic.png b/src/img/comic/mcdonalds-self-serve-sodas-stonetoss-comic.png new file mode 100644 index 0000000..7584529 Binary files /dev/null and b/src/img/comic/mcdonalds-self-serve-sodas-stonetoss-comic.png differ diff --git a/src/img/comic/obsession-movie-stonetoss-comic.png b/src/img/comic/obsession-movie-stonetoss-comic.png new file mode 100644 index 0000000..ff601bc Binary files /dev/null and b/src/img/comic/obsession-movie-stonetoss-comic.png differ diff --git a/src/img/comic/old-and-new-testament-stonetoss-comic.png b/src/img/comic/old-and-new-testament-stonetoss-comic.png new file mode 100644 index 0000000..982bff1 Binary files /dev/null and b/src/img/comic/old-and-new-testament-stonetoss-comic.png differ diff --git a/src/img/comic/pokemon-scalpers-stonetoss-comic.png b/src/img/comic/pokemon-scalpers-stonetoss-comic.png new file mode 100644 index 0000000..40cd277 Binary files /dev/null and b/src/img/comic/pokemon-scalpers-stonetoss-comic.png differ diff --git a/src/img/comic/psychiatry-stonetoss-comic.png b/src/img/comic/psychiatry-stonetoss-comic.png new file mode 100644 index 0000000..8a6afc4 Binary files /dev/null and b/src/img/comic/psychiatry-stonetoss-comic.png differ diff --git a/src/img/comic/punch-monkey-stonetoss-comic.png b/src/img/comic/punch-monkey-stonetoss-comic.png new file mode 100644 index 0000000..c7a3bae Binary files /dev/null and b/src/img/comic/punch-monkey-stonetoss-comic.png differ diff --git a/src/img/comic/refugees-japanese-stonetoss-comic.png b/src/img/comic/refugees-japanese-stonetoss-comic.png new file mode 100644 index 0000000..bb3a18c Binary files /dev/null and b/src/img/comic/refugees-japanese-stonetoss-comic.png differ diff --git a/src/img/comic/streamer-simps-stonetoss-comic.png b/src/img/comic/streamer-simps-stonetoss-comic.png new file mode 100644 index 0000000..b40cf2d Binary files /dev/null and b/src/img/comic/streamer-simps-stonetoss-comic.png differ diff --git a/src/img/comic/synthetic-data-stonetoss-comic.png b/src/img/comic/synthetic-data-stonetoss-comic.png new file mode 100644 index 0000000..61a3aba Binary files /dev/null and b/src/img/comic/synthetic-data-stonetoss-comic.png differ diff --git a/src/img/comic/the-amazing-digital-circus-film-stonetoss-comic.png b/src/img/comic/the-amazing-digital-circus-film-stonetoss-comic.png new file mode 100644 index 0000000..0903b09 Binary files /dev/null and b/src/img/comic/the-amazing-digital-circus-film-stonetoss-comic.png differ diff --git a/src/img/comic/the-odyssey-stonetoss-comic.png b/src/img/comic/the-odyssey-stonetoss-comic.png new file mode 100644 index 0000000..ed63a0c Binary files /dev/null and b/src/img/comic/the-odyssey-stonetoss-comic.png differ diff --git a/src/img/comic/transgender-genie-stonetoss-comic.png b/src/img/comic/transgender-genie-stonetoss-comic.png new file mode 100644 index 0000000..ebacd20 Binary files /dev/null and b/src/img/comic/transgender-genie-stonetoss-comic.png differ diff --git a/src/img/comic/trump-assassin-stonetoss-comic.png b/src/img/comic/trump-assassin-stonetoss-comic.png new file mode 100644 index 0000000..fbbd641 Binary files /dev/null and b/src/img/comic/trump-assassin-stonetoss-comic.png differ diff --git a/src/img/comic/trump-china-wall-stonetoss-comic.png b/src/img/comic/trump-china-wall-stonetoss-comic.png new file mode 100644 index 0000000..d62aba8 Binary files /dev/null and b/src/img/comic/trump-china-wall-stonetoss-comic.png differ diff --git a/src/img/comic/urban-living-stonetoss-comic.png b/src/img/comic/urban-living-stonetoss-comic.png new file mode 100644 index 0000000..416e6d6 Binary files /dev/null and b/src/img/comic/urban-living-stonetoss-comic.png differ diff --git a/src/img/comic/war-with-iran-israel-stonetoss-comic.png b/src/img/comic/war-with-iran-israel-stonetoss-comic.png new file mode 100644 index 0000000..7bb5ea3 Binary files /dev/null and b/src/img/comic/war-with-iran-israel-stonetoss-comic.png differ diff --git a/src/img/comic/war-with-iran-stonetoss-comic.png b/src/img/comic/war-with-iran-stonetoss-comic.png new file mode 100644 index 0000000..e090dae Binary files /dev/null and b/src/img/comic/war-with-iran-stonetoss-comic.png differ diff --git a/src/img/comic/women-literature-stonetoss-comic.png b/src/img/comic/women-literature-stonetoss-comic.png new file mode 100644 index 0000000..1683c8d Binary files /dev/null and b/src/img/comic/women-literature-stonetoss-comic.png differ diff --git a/src/img/comic/womens-chess-stonetoss-comic.png b/src/img/comic/womens-chess-stonetoss-comic.png new file mode 100644 index 0000000..959a928 Binary files /dev/null and b/src/img/comic/womens-chess-stonetoss-comic.png differ diff --git a/src/img/comic/x-men-sentinel-stonetoss-comic.png b/src/img/comic/x-men-sentinel-stonetoss-comic.png new file mode 100644 index 0000000..93551d1 Binary files /dev/null and b/src/img/comic/x-men-sentinel-stonetoss-comic.png differ diff --git a/src/img/comic/yuri-stonetoss-comic.png b/src/img/comic/yuri-stonetoss-comic.png new file mode 100644 index 0000000..4af9ec4 Binary files /dev/null and b/src/img/comic/yuri-stonetoss-comic.png differ diff --git a/src/index.html b/src/index.html new file mode 100644 index 0000000..8e254f2 --- /dev/null +++ b/src/index.html @@ -0,0 +1,13 @@ + + + EBUSMPTE temp homepage + + + +
+

Good night, sweet jitten.site addinput.ru

+ Random Comic +
+ + + diff --git a/src/main.css b/src/main.css new file mode 100644 index 0000000..ea55e11 --- /dev/null +++ b/src/main.css @@ -0,0 +1,18 @@ +body { + margin: 0; + min-height: 100vh; + display: flex; + justify-content: center; + align-items: center; + background: #1e1e2e; + color: #cdd6f4; + font-size: 36px; +} + +.content { + display: flex; + flex-direction: column; /* Stacks image and text vertically */ + align-items: center; /* Centers image and text horizontally inside .content */ + justify-content: center;/* Centers content vertically if .content has a fixed height */ + text-align: center; +} diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..82eade4 --- /dev/null +++ b/src/main.js @@ -0,0 +1,56 @@ +const comics = [ + '250th-independence-day-stonetoss-comic.png', + 'SPLC-fraud-stonetoss-comic.png', + 'ai-golem-stonetoss-comic.png', + 'ai-job-replacement-stonetoss-comic.png', + 'ai-slop-stonetoss-comic.png', + 'ai-stealing-stonetoss-comic.png', + 'ai-underclass-stonetoss-comic.png', + 'air-conditioning-stonetoss-comic.png', + 'backrooms-movie-stonetoss-comic.png', + 'capn-crunch-cereal-stonetoss-comic.png', + 'christian-denominations-stonetoss-comic.png', + 'chudjak-easter-stonetoss-comic.png', + 'crab-rangoon-stonetoss-comic.png', + 'data-center-stonetoss-comic.png', + 'diarrhea-produce-stonetoss-comic.png', + 'easter-the-amazing-digital-circus-stonetoss-comic.png', + 'fallout-iran-war-stonetoss-comic.png', + 'flock-camera-stonetoss-comic.png', + 'god-emperor-and-monitoring-the-situation-stonetoss-comic.png', + 'halo-female-marine-stonetoss-comic.png', + 'hantavirus-stonetoss-comic.png', + 'immigration-wages-stonetoss-comic.png', + 'invincible-animation-ai-stonetoss-comic.png', + 'invincible-race-mixing-stonetoss-comic.png', + 'invincible-stonetoss-comic.png', + 'iran-negotiations-stonetoss-comic.png', + 'iran-war-midterms-stonetoss-comic.png', + 'israel-iran-gas-prices-stonetoss-comic.png', + 'jango-fett-stonetoss-comic.png', + 'mcdonalds-self-serve-sodas-stonetoss-comic.png', + 'obsession-movie-stonetoss-comic.png', + 'old-and-new-testament-stonetoss-comic.png', + 'pokemon-scalpers-stonetoss-comic.png', + 'psychiatry-stonetoss-comic.png', + 'punch-monkey-stonetoss-comic.png', + 'refugees-japanese-stonetoss-comic.png', + 'streamer-simps-stonetoss-comic.png', + 'synthetic-data-stonetoss-comic.png', + 'the-amazing-digital-circus-film-stonetoss-comic.png', + 'the-odyssey-stonetoss-comic.png', + 'transgender-genie-stonetoss-comic.png', + 'trump-assassin-stonetoss-comic.png', + 'trump-china-wall-stonetoss-comic.png', + 'urban-living-stonetoss-comic.png', + 'war-with-iran-israel-stonetoss-comic.png', + 'war-with-iran-stonetoss-comic.png', + 'women-literature-stonetoss-comic.png', + 'womens-chess-stonetoss-comic.png', + 'x-men-sentinel-stonetoss-comic.png', + 'yuri-stonetoss-comic.png' +]; + +const randomIndex = Math.floor(Math.random() * comics.length); +const imgElement = document.getElementById('comic-img'); +imgElement.src = `img/comic/${comics[randomIndex]}`; diff --git a/stone-toss-comic-scrapper.py b/stone-toss-comic-scrapper.py new file mode 100644 index 0000000..dcfdcec --- /dev/null +++ b/stone-toss-comic-scrapper.py @@ -0,0 +1,138 @@ +from bs4 import BeautifulSoup +import os +import requests +from time import sleep +from urllib.parse import urlparse, urljoin +import sys + +def download_comic(url, download_dir): + """Download a comic and return the previous comic URL""" + if not url: + return None + + try: + # Fetch the page + headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'} + response = requests.get(url, headers=headers, timeout=15) + response.raise_for_status() + html_text = response.text + except requests.RequestException as e: + print(f"āŒ Error fetching {url}: {e}") + return None + + soup = BeautifulSoup(html_text, "html.parser") + + # Get previous comic URL + prev_link = soup.find("a", class_="previous-comic", href=True) + if prev_link is None: + print("āš ļø No previous comic link found (might be the first comic)") + return None + + prev_url = prev_link["href"] + # Make absolute URL if needed + if not prev_url.startswith('http'): + prev_url = urljoin(url, prev_url) + print(f"šŸ”— Previous: {prev_url}") + + # Find comic image in spliced-comic div + comic_div = soup.find("div", {"id": "spliced-comic"}) + if comic_div is None: + print("āŒ Can't find div#spliced-comic") + return prev_url + + img_tag = comic_div.find("img") + if img_tag is None: + print("āŒ No img tag found in div#spliced-comic") + return prev_url + + img_url = img_tag.get("src") or img_tag.get("data-src") + if not img_url: + print("āŒ No src or data-src attribute found") + return prev_url + + # Make absolute URL + if not img_url.startswith('http'): + img_url = urljoin(url, img_url) + + print(f"šŸ–¼ļø Image: {img_url}") + + # Download the image + try: + img_data = requests.get(img_url, headers=headers, timeout=30) + img_data.raise_for_status() + except requests.RequestException as e: + print(f"āŒ Failed to download image: {e}") + return prev_url + + # Create download directory if it doesn't exist + os.makedirs(download_dir, exist_ok=True) + + # Get filename from URL + parsed_url = urlparse(img_url) + filename = os.path.basename(parsed_url.path) + + # If filename is empty or has no extension, create one + if not filename or '.' not in filename: + filename = f"comic_{len(os.listdir(download_dir)) + 1:03d}.jpg" + + # Save the file + filepath = os.path.join(download_dir, filename) + + # Check if file already exists + if os.path.exists(filepath): + print(f"ā­ļø {filename} already exists, skipping") + return prev_url + + try: + with open(filepath, "wb") as handler: + handler.write(img_data.content) + print(f"āœ… {filename} downloaded ({len(img_data.content)} bytes)") + except IOError as e: + print(f"āŒ Failed to save {filename}: {e}") + return prev_url + + return prev_url + +def main(): + print("╔═══════════════════════════════════╗") + print("ā•‘ StoneToss Comic Downloader ā•‘") + print("ā•šā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•") + print() + + url = "https://stonetoss.com/" + download_dir = "comic" + max_comics = 50 + downloaded = 0 + + print(f"šŸ“š Downloading up to {max_comics} comics...") + print() + + for i in range(max_comics): + print(f"[{i+1}/{max_comics}] Processing...") + + # Download the comic and get the previous URL + prev_url = download_comic(url, download_dir) + + if prev_url is None: + print("šŸ Reached the first comic or encountered an error") + break + + downloaded += 1 + url = prev_url + sleep(1) # Be nice to the server + + print() + print("╔═══════════════════════════════════╗") + print(f"ā•‘ āœ… Downloaded {downloaded} comics ā•‘") + print(f"ā•‘ šŸ“ Saved to: ./{download_dir}/ ā•‘") + print("ā•šā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•") + +if __name__ == "__main__": + try: + main() + except KeyboardInterrupt: + print("\nā¹ļø Interrupted by user") + sys.exit(0) + except Exception as e: + print(f"\nāŒ Unexpected error: {e}") + sys.exit(1)