From 3785a39ddf78a03de5f856b4bed4abf1d12a28f6 Mon Sep 17 00:00:00 2001 From: stupidcomputer Date: Thu, 20 Jun 2024 19:48:39 -0500 Subject: [PATCH] remove gmail_mail_bridge --- boxes/netbox/default.nix | 2 - builds/gmail_mail_bridge.nix | 19 ---------- builds/gmail_mail_bridge/.gitignore | 1 - builds/gmail_mail_bridge/README | 10 ----- builds/gmail_mail_bridge/default.nix | 20 ---------- .../gmail_mail_bridge/__init__.py | 37 ------------------- builds/gmail_mail_bridge/shell.nix | 12 ------ builds/gmail_mail_bridge/sync.gas | 23 ------------ 8 files changed, 124 deletions(-) delete mode 100644 builds/gmail_mail_bridge.nix delete mode 100644 builds/gmail_mail_bridge/.gitignore delete mode 100644 builds/gmail_mail_bridge/README delete mode 100644 builds/gmail_mail_bridge/default.nix delete mode 100644 builds/gmail_mail_bridge/gmail_mail_bridge/__init__.py delete mode 100644 builds/gmail_mail_bridge/shell.nix delete mode 100644 builds/gmail_mail_bridge/sync.gas diff --git a/boxes/netbox/default.nix b/boxes/netbox/default.nix index acfe8ca..be53013 100644 --- a/boxes/netbox/default.nix +++ b/boxes/netbox/default.nix @@ -35,8 +35,6 @@ neovim ]; - services.gmail_mail_bridge.enable = true; - system.copySystemConfiguration = true; system.stateVersion = "23.05"; # don't change this, lol boot.loader.grub.enable = true; diff --git a/builds/gmail_mail_bridge.nix b/builds/gmail_mail_bridge.nix deleted file mode 100644 index a81985c..0000000 --- a/builds/gmail_mail_bridge.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ lib, pkgs, config, ... }: -let - cfg = config.services.gmail_mail_bridge; - appEnv = pkgs.python3.withPackages (p: with p; [ waitress (callPackage ./gmail_mail_bridge/default.nix {}) ]); -in { - options.services.gmail_mail_bridge = { - enable = lib.mkEnableOption "Enable the gmail_mail_bridge"; - }; - - config = lib.mkIf cfg.enable { - systemd.services.gmail_mail_bridge = { - wantedBy = [ "multi-user.target" ]; - serviceConfig = { - ExecStart = "${appEnv}/bin/waitress-serve --port=8041 gmail_mail_bridge:app"; - StandardOutput = "journal"; - }; - }; - }; -} diff --git a/builds/gmail_mail_bridge/.gitignore b/builds/gmail_mail_bridge/.gitignore deleted file mode 100644 index aaca2e2..0000000 --- a/builds/gmail_mail_bridge/.gitignore +++ /dev/null @@ -1 +0,0 @@ -__pycache_/ diff --git a/builds/gmail_mail_bridge/README b/builds/gmail_mail_bridge/README deleted file mode 100644 index eae7b1c..0000000 --- a/builds/gmail_mail_bridge/README +++ /dev/null @@ -1,10 +0,0 @@ -synchronize email from gmail accounts whose OAuth access is heavily restricted - -background ----------- - -my school district disabled external OAuth access to email, which is not cool. this script gets around this and creates a bridge so you can recieve emails from your school email. - -do note that this is heavily unpolished and most definately insecure. there are some hardcoded credentials (which you can change, it just takes a little technical know-how) - -have fun! diff --git a/builds/gmail_mail_bridge/default.nix b/builds/gmail_mail_bridge/default.nix deleted file mode 100644 index bde908a..0000000 --- a/builds/gmail_mail_bridge/default.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ pkgs, pythonPackages ? (import {}).python3Packages }: -pythonPackages.buildPythonPackage { - name = "gmail_mail_bridge"; - src = ./gmail_mail_bridge; - - propagatedBuildInputs = [ pythonPackages.flask pkgs.system-sendmail ]; - - installPhase = '' - runHook preInstall - - mkdir -p $out/${pythonPackages.python.sitePackages} - cp -r . $out/${pythonPackages.python.sitePackages}/gmail_mail_bridge - - runHook postInstall - ''; - - shellHook = "export FLASK_APP=gmail_mail_bridge"; - - format = "other"; -} diff --git a/builds/gmail_mail_bridge/gmail_mail_bridge/__init__.py b/builds/gmail_mail_bridge/gmail_mail_bridge/__init__.py deleted file mode 100644 index e6a7241..0000000 --- a/builds/gmail_mail_bridge/gmail_mail_bridge/__init__.py +++ /dev/null @@ -1,37 +0,0 @@ -from flask import Flask -from flask import request -from flask import redirect -from flask import abort - -import logging - -import smtplib -import email - -from subprocess import Popen, PIPE, STDOUT - -pre_shared_secret = "amongus sussy imposter" -to = "ryan@beepboop.systems" - -app = Flask(__name__) - -def handle_post(request): - msg = email.message_from_string(request.form["payload"]) - del msg["To"] - msg["To"] = to - if not msg["From"]: - msg["From"] = "unknown-sender@mail.beepboop.systems" - - s = smtplib.SMTP('localhost') - s.send_message(msg) - s.quit() - -@app.route("/bridge-submit", methods = ["GET", "POST"]) -def testing(): - if request.method == 'POST': - data = request.form - if data['auth'] == pre_shared_secret: - handle_post(request) - else: - return 'you didn\'t use post' - return "default answer" diff --git a/builds/gmail_mail_bridge/shell.nix b/builds/gmail_mail_bridge/shell.nix deleted file mode 100644 index abd9f69..0000000 --- a/builds/gmail_mail_bridge/shell.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ pkgs ? import (fetchTarball "https://github.com/NixOS/nixpkgs/tarball/nixos-23.11") {} }: - -pkgs.mkShell { - packages = [ - (pkgs.python3.withPackages (ps: [ - ps.flask - ])) - - pkgs.curl - pkgs.jq - ]; -} diff --git a/builds/gmail_mail_bridge/sync.gas b/builds/gmail_mail_bridge/sync.gas deleted file mode 100644 index 0df9d17..0000000 --- a/builds/gmail_mail_bridge/sync.gas +++ /dev/null @@ -1,23 +0,0 @@ -// google-side synchronization -// add a minute-wise trigger for mail synchronization -// go to the sidebar, select triggers, add a new one, configure it -// to run syncMail every minute - -function syncMail() { - var threads = GmailApp.search("label:need_processing"); - var label = GmailApp.getUserLabelByName("need_processing"); - for (var thread of threads) { - for (var message of GmailApp.getMessagesForThread(thread)) { - var formData = { - auth: 'amongus sussy imposter', - payload: message.getRawContent(), - }; - var options = { - 'method' : 'POST', - 'payload' : formData - }; - var resp = UrlFetchApp.fetch('https://mail.beepboop.systems/bridge-submit', options); - } - thread.removeLabel(label); - } -}