5.5 KiB
EL PURO
"99.1% Pure. Zero Compromise."
El Puro er et mobil-optimeret incremental/idle-spil stylet som en hemmelig, krypteret burner phone (SilkNet OS v3.2). Spillet er skabt til hurtige mikro-sessioner (30 sekunder til 3 minutter), hvor du opbygger et undergrundsimperium fra en lille cannabis-plante til et globalt syntetisk kartel.
Spillet kører som en selvstændig Docker Compose stack med en lynhurtig Python FastAPI backend, SQLite database og en Nginx reverse-proxy.
📱 Nøglefunktioner
- Burner Phone Interface: Mørkt OLED-design med monospaced taktiske datafonte (
JetBrains Mono), statuslinje med Police Heat meter og 4 touch-venlige bund-tabs:- ⚗️ Lab: Manuel høst/syntese, hyring af laboranter og opskriftsblanding.
- 💼 Streets: Dealer-netværk og Designer Cocktails (kombination af stoffer som f.eks. Calvin Klein, Speedball og Candy Flip).
- 🕸️ Network (Talent-Træ): Forgrenet spindelvæv med 3 distinkte stier: Path of the Chemist, Path of the Kingpin og Path of the Smuggler.
- 🏦 Offshore: Hvidvaskning af snavsede kontanter til Clean Bonds (Prestige-reset med permanente multiplikatorer).
- 10 Progressive Stof-Tiers: Cannabis, Magic Mushrooms, Adderall, Meth (Blue Sky), MDMA, Ketamin, Kokain (Pure White), Crack, Heroin og Fentanyl.
- Police Heat & Raids: Hurtige quick-time hændelser, hvor du kan bestikke politiet, gemme dit lager eller løbe risikoen for 2x profit.
- Simpelt Honeypot Brugersystem: Kun brugernavn og password. Ingen e-mail, ingen 2FA. Inkluderer en usynlig honeypot-fælde (
website_hp), der automatisk afviser bot-registreringer. - Cloud & Offline Sync: Spillet gemmer lokalt og synkroniserer automatisk til serveren hvert 5. sekund.
🛠️ Arkitektur & Teknologistak
┌────────────────────────┐
│ Browser / Mobil UI │
│ (HTML5, CSS, JS) │
└───────────┬────────────┘
│ HTTP / :HOST_PORT
▼
┌────────────────────────┐
│ Nginx Proxy │
│ (Reverse Proxy) │
└─────┬────────────┬─────┘
│ │
/ (Statiske aktiver) │ /api/*
│ ▼
│ ┌───────────────┐
│ │ Python FastAPI│
│ │ (JWT & Auth) │
│ └───────┬───────┘
│ │
▼ ▼
[frontend/] [SQLite DB]
(/app/data/elpuro.db)
🚀 Hurtig Start med Docker Compose
1. Forudsætninger
2. Klon repository
git clone https://git.p20.dev/christian/el-puro.git
cd el-puro
3. Konfiguration (.env)
Kopier eksempelfilen og tilpas dine indstillinger:
cp .env.example .env
Indhold i .env:
# Port på værtsmaskinen hvor spillet tilgås
HOST_PORT=8080
# Offentligt domænenavn (valgfrit til vhost-routing)
DOMAIN_NAME=localhost
# Hemmelig nøgle til JWT signering
SECRET_KEY=el_puro_secret_key_change_in_production_jwt_99_1_pure
4. Start stakken
docker compose up -d --build
Spillet er nu tilgængeligt i din browser på:
👉 http://localhost:8080 (eller den port du valgte i .env).
📁 Projektstruktur
.
├── .env.example # Skabelon til miljøvariable
├── docker-compose.yml # Docker Compose opsætning
├── backend/ # FastAPI backend
│ ├── Dockerfile
│ ├── requirements.txt
│ ├── main.py # API endpoints & logik
│ ├── auth.py # Bcrypt & JWT autentificering
│ ├── database.py # SQLite databaseinitialisering
│ └── models.py # Pydantic schemas (med honeypot trap)
├── frontend/ # Mobil-optimeret frontend
│ ├── index.html # SilkNet OS layout og modals
│ ├── css/
│ │ └── style.css # Dark OLED tema og responsivt layout
│ └── js/
│ ├── api.js # API klient & sky-synkronisering
│ ├── config.js # 10 stoffer, opskrifter, skills og achievements
│ └── game.js # Spilmotor, loop, heat og mechanics
└── nginx/
└── default.conf.template # Nginx reverse proxy konfiguration
🔒 Honeypot Sikkerhed
Registrerings-endpointet (POST /api/auth/register) inkluderer en skjult website_hp parameter.
- Menneskelige brugere ser ikke feltet og lader det stå tomt.
- Automatiserede bots udfylder formularen blindt, hvorefter serveren afviser anmodningen med
400 Bad Request. Dette holder databasen fri for falske konti uden behov for Captcha.
📜 Licens
Privat projekt tilhørende Christian. Alle rettigheder forbeholdes.