From b026d00bd93ccef5a4b8e8bcf54e5cd58fb3ade4 Mon Sep 17 00:00:00 2001
From: bacalhau
Date: Sat, 28 Feb 2026 11:38:48 +0000
Subject: [PATCH] added files after removing them 5 times on accident
---
.gitignore | 1 +
README.md | 27 +++++++++++++
docker-compose.yml | 15 +++++++
src/main.py | 52 ++++++++++++++++++++++++
src/static/style.css | 86 ++++++++++++++++++++++++++++++++++++++++
src/templates/index.html | 13 ++++++
6 files changed, 194 insertions(+)
create mode 100644 .gitignore
create mode 100644 README.md
create mode 100644 docker-compose.yml
create mode 100644 src/main.py
create mode 100644 src/static/style.css
create mode 100644 src/templates/index.html
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..1269488
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+data
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..b18d445
--- /dev/null
+++ b/README.md
@@ -0,0 +1,27 @@
+# shitty darknet website
+cool website with python, flask, mariadb and monero.
+
+## description
+We make a darknet dating website based darknet users (such as myself). Each user can provide their own web page and must pay to join. a list of users will be displayed on the main page. Website will not use javashit.
+
+## goals:
+Website must contain these features when finished
+ - create accounts
+ - delete accounts
+ - monero payments
+ - search page
+
+## Database
+### USER
+ - id (PK)
+ - username
+ - first name
+ - last name
+ - adress
+ - pgp
+ - xmpp
+ - email (optional)
+ - phone number (optional)
+ - likes
+ - dislikes
+ - sex
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000..dd21f30
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,15 @@
+version: "3.9"
+
+services:
+ db:
+ image: postgres
+ container_name: lovedb
+ restart: always
+ environment:
+ POSTGRES_USER: love
+ POSTGRES_PASSWORD: love
+ POSTGRES_DB: lovedb
+ ports:
+ - "5432:5432"
+ volumes:
+ - ./data:/var/lib/postgresql
diff --git a/src/main.py b/src/main.py
new file mode 100644
index 0000000..b7b3e6a
--- /dev/null
+++ b/src/main.py
@@ -0,0 +1,52 @@
+from flask import Flask, render_template
+from flask_sqlalchemy import SQLAlchemy
+from sqlalchemy import Enum
+from sqlalchemy.dialects.postgresql import ARRAY
+
+app = Flask(__name__)
+
+app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://love:love@localhost/lovedb'
+app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
+
+db = SQLAlchemy(app)
+
+class SexEnum:
+ male = "male"
+ female = "female"
+
+class User(db.Model):
+ id = db.Column(db.Integer, primary_key=True)
+ username = db.Column(db.String(80), unique=True, nullable=False)
+ pgp = db.Column(db.String(4096), unique=True, nullable=False)
+
+ firstname = db.Column(db.String(80), unique=False, nullable=False)
+ lastname = db.Column(db.String(80), unique=False, nullable=False)
+ sex = db.Column(Enum('male', 'female', name="sex_enum"), nullable=False)
+ date_of_birth = db.Column(db.Date, nullable=False)
+ profile_picture = db.Column(db.String(200), nullable=False)
+ pictures = db.Column(ARRAY(db.String), nullable=True)
+ country = db.Column(db.String(80), unique=False, nullable=False)
+ city = db.Column(db.String(80), unique=False, nullable=True)
+
+ height = db.Column(db.Float, nullable=True)
+ weight = db.Column(db.Integer, nullable=True)
+ race = db.Column(db.String(20), unique=False, nullable=True)
+
+ prefered_age_range = db.Column(db.String(20), nullable=True)
+ likes = db.Column(ARRAY(db.String), nullable=True)
+ dislikes = db.Column(ARRAY(db.String), nullable=True)
+
+ xmpp = db.Column(db.String(80), unique=True, nullable=False)
+ email = db.Column(db.String(80), unique=True, nullable=True)
+ phone = db.Column(db.String(20), unique=True, nullable=True)
+
+ is_verified = db.Column(db.Boolean, default=False)
+
+@app.route("/")
+def home():
+ return render_template("index.html")
+
+if __name__ == "__main__":
+ with app.app_context():
+ db.create_all()
+ app.run(debug=True)
diff --git a/src/static/style.css b/src/static/style.css
new file mode 100644
index 0000000..e8304dc
--- /dev/null
+++ b/src/static/style.css
@@ -0,0 +1,86 @@
+@font-face {
+ font-family: 'font';
+ src: url('/font/font.ttf') format('truetype');
+ font-weight: normal;
+ font-style: normal;
+ font-display: swap;
+}
+@font-face {
+ font-family: 'font';
+ src: url('/font/font-Bold.ttf') format('truetype');
+ font-weight: bold;
+ font-style: normal;
+ font-display: swap;
+}
+
+body {
+ background: #111011;
+ color: #e0e0e0;
+ text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.8);
+ max-width: 800px;
+ margin: auto;
+ font-family: font;
+ font-weight: normal;
+ line-height: 1.2rem;
+ word-wrap: break-word;
+}
+
+footer {
+ padding: 0 0 1.5rem 0;
+ text-align: center;
+ margin-top: auto;
+}
+
+main {
+}
+
+img {
+ max-width: 100%;
+}
+
+strong, b {
+ font-weight: bold;
+}
+
+
+h1 {
+ color: #ffffff;
+ text-decoration: underline #FF00FF;
+ text-align: center;
+}
+
+h2 {
+ text-align: center;
+ color: #ff00ff;
+}
+
+h3 {
+ color: #ff00ff;
+}
+
+a {
+ color: #0000ff;
+}
+
+a:hover {
+ color: #ffffff;
+}
+
+summary {
+ color: #ff00ff;
+ background: #111011;
+}
+
+details {
+ background: #222;
+}
+
+summary:hover {
+ color: #fff;
+ cursor: pointer;
+}
+
+.service {
+ padding: 0.5rem;
+ border: solid thin #ffff00;
+}
diff --git a/src/templates/index.html b/src/templates/index.html
new file mode 100644
index 0000000..b58edaf
--- /dev/null
+++ b/src/templates/index.html
@@ -0,0 +1,13 @@
+
+
+
+ onions
+
+
+onions
find the onion of your life!
+
+
+ Welcome!
+ WIP
+
+