murder deuxrama.net

remotes/1693045480750635534/spooky-22
Aevann1 2022-08-11 18:46:11 +02:00
parent ab5ad3732a
commit 26959e0751
23 changed files with 9 additions and 138 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 231 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

View File

@ -126,10 +126,7 @@ single_words = "|".join([slur.lower() for slur in SLURS.keys()])
LONGPOST_REPLIES = ('Wow, you must be a JP fan.', 'This is one of the worst posts I have EVER seen. Delete it.', "No, don't reply like this, please do another wall of unhinged rant please.", '<h1>😴😴😴</h1>', "Ma'am we've been over this before. You need to stop.", "I've known more coherent downies.", "Your pulitzer's in the mail", "That's great and all, but I asked for my burger without cheese.", 'That degree finally paying off', "That's nice sweaty. Why don't you have a seat in the time out corner with Pizzashill until you calm down, then you can have your Capri Sun.", "All them words won't bring your pa back.", "You had a chance to not be completely worthless, but it looks like you threw it away. At least you're consistent.", 'Some people are able to display their intelligence by going on at length on a subject and never actually saying anything. This ability is most common in trades such as politics, public relations, and law. You have impressed me by being able to best them all, while still coming off as an absolute idiot.', "You can type 10,000 characters and you decided that these were the one's that you wanted.", 'Have you owned the libs yet?', "I don't know what you said, because I've seen another human naked.", 'Impressive. Normally people with such severe developmental disabilities struggle to write much more than a sentence or two. He really has exceded our expectations for the writing portion. Sadly the coherency of his writing, along with his abilities in the social skills and reading portions, are far behind his peers with similar disabilities.', "This is a really long way of saying you don't fuck.", "Sorry ma'am, looks like his delusions have gotten worse. We'll have to admit him.", 'If only you could put that energy into your relationships', 'Posts like this is why I do Heroine.', 'still unemployed then?', 'K', 'look im gunna have 2 ask u 2 keep ur giant dumps in the toilet not in my replys 😷😷😷', "Mommy is soooo proud of you, sweaty. Let's put this sperg out up on the fridge with all your other failures.", "Good job bobby, here's a star", "That was a mistake. You're about to find out the hard way why.", f'You sat down and wrote all this shit. You could have done so many other things with your life. What happened to your life that made you decide writing novels of bullshit here was the best option?', "I don't have enough spoons to read this shit", "All those words won't bring daddy back.", 'OUT!', "Damn, you're really mad over this, but thanks for the effort you put into typing that all out! Sadly I won't read it all.", "Jesse what the fuck are you talking about??", "▼you're fucking bananas if you think I'm reading all that, take my downvote and shut up idiot", "Are you feeling okay bud?", '<img loading="lazy" data-bs-toggle="tooltip" alt=":#marseywoah:" src="/e/marseywoah.webp" b title=":#marseywoah:">')
if SITE_NAME == 'Deuxrama':
AGENDAPOSTER_PHRASE = 'there are only two genders'
else:
AGENDAPOSTER_PHRASE = 'trans lives matter'
AGENDAPOSTER_PHRASE = 'trans lives matter'
AGENDAPOSTER_MSG = """Hi @{username},\n\nYour {type} has been automatically removed because you forgot to include `{AGENDAPOSTER_PHRASE}`.\n\nDon't worry, we're here to help! We won't let you post or comment anything that doesn't express your love and acceptance towards the trans community. Feel free to resubmit your {type} with `{AGENDAPOSTER_PHRASE}` included. \n\n*This is an automated message; if you need help, you can message us [here](/contact).*"""
@ -249,16 +246,7 @@ if SITE in ('rdrama.net', 'devrama.xyz'):
SNAPPY_THREAD = 37749
MARSEY_THREAD = 37838
GAMBLING_THREAD = 39413
elif SITE == 'deuxrama.net':
PERMS['HOLE_CREATE'] = 3
PERMS['CONTENT_THREADS'] = 2
FEATURES['PROCOINS'] = False
SIDEBAR_THREAD = 175
BADGE_THREAD = 142
if SITE in {'rdrama.net', 'devrama.xyz', 'deuxrama.net'}:
if SITE in {'rdrama.net', 'devrama.xyz'}:
HOLE_COST = 50000
HOLE_INACTIVITY_DELETION = True
@ -930,8 +918,7 @@ SNAPPY_QUOTES = []
if not SITE_NAME in ['PCM', 'LGBDropTheT']:
SNAPPY_QUOTES = [f':#{x}:' for x in marseys_const2]
if SITE_NAME == 'Deuxrama': snappy_name = 'rDrama'
else: snappy_name = SITE_NAME
snappy_name = SITE_NAME
if path.isfile(f'snappy_{snappy_name}.txt'):
with open(f'snappy_{snappy_name}.txt', "r", encoding="utf-8") as f:
@ -953,7 +940,6 @@ approved_embed_hosts = {
'devrama.xyz',
'lgbdropthet.com',
'chudrama.net',
'deuxrama.net',
'imgur.com',
'lain.la',
'pngfind.com',

View File

@ -157,69 +157,6 @@ def on_login(account, redir=None):
check_for_alts(account.id)
@app.get("/loginshared/auth/<site_for>")
@auth_required
def loginshared_authenticate(v, site_for):
# Despite providing an interface for general site_for for forward-compat,
# loginshared_* is only designed at present for login on Deux using rDrama.
if not (SITE == 'rdrama.net' and site_for == 'deuxrama.net'):
abort(403)
# Kludge to prevent accounts created after the DB seeding (on either site)
# from being improperly logged into. The only account matching we have is
# based on user_id, which isn't guaranteed identical post-seeding.
if v.id > 12335:
abort(500)
token = loginshared_secret_token(site_for, v.id)
# Must be https! Downgrading security leaks secrets in query string.
redirect_url = f'https://deuxrama.net/loginshared/verify/' \
+ f'rdrama.net/{v.id}/{token}'
return redirect(redirect_url)
@app.get("/loginshared/secret/<site_for>/<user_id>")
@auth_trusted_server
def loginshared_secret(site_for, user_id):
if not (SITE == 'rdrama.net' and site_for == 'deuxrama.net'):
abort(403)
return loginshared_secret_token(site_for, user_id)
def loginshared_secret_token(site_for, user_id):
cache_key = f'loginshared_secret_token:{site_for}:{user_id}'
token = cache.get(cache_key)
if token is None:
token = secrets.token_urlsafe(32)
cache.set(cache_key, token, timeout=15)
return token
@app.get("/loginshared/verify/<site_from>/<user_id>/<token>")
def loginshared_verify(site_from, user_id, token):
if not TRUSTED_SERVER_PSK:
abort(403)
if not (SITE == 'deuxrama.net' and site_from == 'rdrama.net'):
abort(403)
provider_url = f'https://rdrama.net/loginshared/secret/deuxrama.net/{user_id}'
provider_auth = f'TrustedServer {TRUSTED_SERVER_PSK}'
provider_resp = requests.get(provider_url,
headers={'Authorization': provider_auth},
timeout=5)
if provider_resp.status_code != 200:
abort(500)
if provider_resp.text != token:
time.sleep(random.uniform(0, 2))
return render_template("login.html", failed=True)
account = get_account(user_id)
on_login(account)
return redirect('/')
@app.get("/me")
@app.get("/@me")
@auth_required

View File

@ -19,7 +19,7 @@ def rdrama(id, title):
@app.get("/marseys")
@auth_required
def marseys(v):
if SITE in ('rdrama.net','devrama.xyz','deuxrama.net'):
if SITE in ('rdrama.net','devrama.xyz'):
marseys = g.db.query(Marsey, User).join(User)
sort = request.values.get("sort", "usage")
if sort == "usage": marseys = marseys.order_by(Marsey.count.desc(), User.username)
@ -37,7 +37,7 @@ def marsey_list():
if EMOJI_MARSEYS:
emojis = [{
"name": emoji.name,
"author": author if SITE in ('rdrama.net','devrama.xyz','deuxrama.net') or author == "anton-d" else None,
"author": author if SITE in ('rdrama.net','devrama.xyz') or author == "anton-d" else None,
# yikes, I don't really like this DB schema. Next time be better
"tags": emoji.tags.split(" ") + [emoji.name[len("marsey"):] \
if emoji.name.startswith("marsey") else emoji.name],

View File

@ -70,7 +70,7 @@
</a>
{% if sub %}
<a href="/h/{{sub.name}}" class="font-weight-bold ml-2 flex-grow-1 mt-1" style="font-size:max(14px,1.2vw)">{% if not HOLE_STYLE_FLAIR %}/h/{% endif %}{{sub.name}}</a>
<a href="/h/{{sub.name}}" class="sub-name font-weight-bold ml-2 flex-grow-1 mt-1" style="font-size:max(14px,1.2vw)">{% if not HOLE_STYLE_FLAIR %}/h/{% endif %}{{sub.name}}</a>
{% elif has_logo %}
<style>
{% if g.webview %}

View File

@ -83,14 +83,6 @@
</div>
</form>
{% if SITE_NAME == 'Deuxrama' -%}
<hr>
<div class="small pt-4">Already signed in on rDrama on this device?</div>
<a class="btn btn-primary login w-100 mt-3" id="loginshared_button" href="https://rdrama.net/loginshared/auth/deuxrama.net">Sign In with rDrama</a>
{%- endif %}
</div>
{% endblock %}

View File

@ -11,7 +11,7 @@
<th>Name</th>
<th>Marsey</th>
<th><a href="?sort=usage">Usage</a></th>
{% if SITE in ('rdrama.net','devrama.xyz','deuxrama.net') %}<th><a href="?sort=author">Author</a></th>{% endif %}
{% if SITE in ('rdrama.net','devrama.xyz') %}<th><a href="?sort=author">Author</a></th>{% endif %}
</tr>
</thead>
<tbody id="followers-table">
@ -21,7 +21,7 @@
<td>{{marsey.name}}</td>
<td><img class="marsey" loading="lazy" data-bs-toggle="tooltip" alt=":#{{marsey.name}}:" title=":{{marsey.name}}:" src="/e/{{marsey.name}}.webp"></td>
<td>{{marsey.count}}</td>
{% if SITE in ('rdrama.net','devrama.xyz','deuxrama.net') %}
{% if SITE in ('rdrama.net','devrama.xyz') %}
<td><a style="color:#{{author.namecolor}};font-weight:bold" href="/@{{author.username}}"><img loading="lazy" src="{{author.profile_url}}" class="pp20"><span {% if author.patron %}class="patron" style="background-color:#{{author.namecolor}}"{% endif %}>{{author.username}}</span></a></td>
{% endif %}
</tr>

View File

@ -1,44 +0,0 @@
<div class="col sidebar text-left {% if '/sidebar' not in request.path %}d-none d-lg-block{% endif %} pt-3 pb-5 bg-white" {% if request.path != '/sidebar' %}id="sidebar-content"{% endif %}>
{%- set art_path = "assets/images/" + SITE_NAME + "/sidebar/" -%}
{%- set sidebar_art = "/" + art_path + listdir('files/' + art_path)|random() + '?v=1' -%}
{% if request.path != '/sidebar' %}
<img class="mb-4" alt="sidebar art" role="button" onclick="expandDesktopImage()" loading="lazy" src="{{sidebar_art}}" style="width: 100%">
{% endif %}
<p class="text-center text-md mb-4">
<a class="sidebar-link" href="/marseys" data-bs-toggle="tooltip" data-bs-placement="top" title="Marseys"><i class="fas fa-cat"></i></a>
<a class="sidebar-link" href="/badges" data-bs-toggle="tooltip" data-bs-placement="top" title="Badges"><i class="fas fa-hexagon"></i></a>
<a class="sidebar-link" href="/admins" data-bs-toggle="tooltip" data-bs-placement="top" title="Admins"><i class="fas fa-crown"></i></a>
<a class="sidebar-link" href="/log" data-bs-toggle="tooltip" data-bs-placement="top" title="Moderation Log"><i class="fas fa-scroll-old"></i></a>
<a class="sidebar-link" href="/transfers" data-bs-toggle="tooltip" data-bs-placement="top" title="Transfers"><i class="fas fa-arrow-right-arrow-left"></i></a>
<a class="sidebar-link" href="/random_post/" data-bs-toggle="tooltip" data-bs-placement="top" title="Random Post"><i class="fas fa-random"></i></a>
</p>
{% if v and v.admin_level >= 2 -%}
<p class="mt-1 ml-2 mb-4 text-center">
<span id="sidebar--counter--admin">
<a href="/admin/loggedin">Logged In</a> | <a href="/admin/loggedout">Logged Out</a>
</span>
</p>
{%- endif %}
<div class="rules mt-3">
Deux must secure the existence of our people and a future for dramatic children.
</div>
{% if not v -%}
<hr>
<div class="small pt-2">Already signed in on rDrama on this device?</div>
<a class="btn btn-primary login w-100 mt-3" id="loginshared_button" href="https://rdrama.net/loginshared/auth/deuxrama.net">Sign In with rDrama</a>
{%- endif %}
<pre>
</pre>
</div>

View File

@ -1,7 +1,7 @@
[![Build status](https://img.shields.io/github/workflow/status/TheMotte/rDrama/run_tests.py/frost)](https://github.com/Aevann1/rDrama/actions?query=workflow%3Arun_tests.py+branch%3Afrost)
This code runs https://rdrama.net, https://pcmemes.net, https://watchpeopledie.co, and https://deuxrama.net
This code runs https://rdrama.net, https://pcmemes.net and https://watchpeopledie.co
# Installation (Windows/Linux/MacOS)