コード例 #1
0
DB_NAME = "{}_{}".format(USERNAME, DOMAIN.replace(".", "_"))
DB = mongo_client[DB_NAME]
GRIDFS = mongo_client[f"{DB_NAME}_gridfs"]
MEDIA_CACHE = MediaCache(GRIDFS, USER_AGENT)


def _drop_db():
    if not DEBUG_MODE:
        return

    mongo_client.drop_database(DB_NAME)


KEY = get_key(ID, ID + "#main-key", USERNAME, DOMAIN)

JWT_SECRET = get_secret_key("jwt")
JWT = JSONWebSignatureSerializer(JWT_SECRET)


def _admin_jwt_token() -> str:
    return JWT.dumps(  # type: ignore
        {
            "me": "ADMIN",
            "ts": datetime.now().timestamp()
        }).decode(  # type: ignore
            "utf-8")


ADMIN_API_KEY = get_secret_key("admin_api_key", _admin_jwt_token)

attachments = []
コード例 #2
0
from config import _drop_db
from config import custom_cache_purge_hook
from utils.httpsig import HTTPSigAuth, verify_request
from utils.key import get_secret_key
from utils.webfinger import get_remote_follow_template
from utils.webfinger import get_actor_url
from utils.errors import Error
from utils.errors import UnexpectedActivityTypeError
from utils.errors import BadActivityError
from utils.errors import NotFromOutboxError
from utils.errors import ActivityNotFoundError

from typing import Dict, Any

app = Flask(__name__)
app.secret_key = get_secret_key('flask')
app.config.update(WTF_CSRF_CHECK_DEFAULT=False, )
csrf = CSRFProtect(app)

logger = logging.getLogger(__name__)

# Hook up Flask logging with gunicorn
gunicorn_logger = logging.getLogger('gunicorn.error')
root_logger = logging.getLogger()
root_logger.handlers = gunicorn_logger.handlers
root_logger.setLevel(gunicorn_logger.level)

SIG_AUTH = HTTPSigAuth(ID + '#main-key', KEY.privkey)


def verify_pass(pwd):
コード例 #3
0
ファイル: config.py プロジェクト: dsblank/microblog.pub
        host=[os.getenv('MICROBLOGPUB_MONGODB_HOST', 'localhost:27017')],
)

DB_NAME = '{}_{}'.format(USERNAME, DOMAIN.replace('.', '_'))
DB = mongo_client[DB_NAME]

def _drop_db():
    if not DEBUG_MODE:
        return

    mongo_client.drop_database(DB_NAME)

KEY = Key(USERNAME, DOMAIN, create=True)


JWT_SECRET = get_secret_key('jwt')
JWT = JSONWebSignatureSerializer(JWT_SECRET)

def _admin_jwt_token() -> str:
    return JWT.dumps({'me': 'ADMIN', 'ts': datetime.now().timestamp()}).decode('utf-8')  # type: ignore

ADMIN_API_KEY = get_secret_key('admin_api_key', _admin_jwt_token)


ME = {
    "@context": [
        CTX_AS,
        CTX_SECURITY,
    ],
    "type": "Person",
    "id": ID,
コード例 #4
0
from core.shared import activitypubify
from core.shared import csrf
from core.shared import htmlify
from core.shared import is_api_request
from core.shared import jsonify
from core.shared import login_required
from core.shared import noindex
from core.shared import paginated_query
from utils.blacklist import is_blacklisted
from utils.emojis import EMOJIS
from utils.highlight import HIGHLIGHT_CSS
from utils.key import get_secret_key
from utils.template_filters import filters

app = Flask(__name__)
app.secret_key = get_secret_key("flask")
app.register_blueprint(filters)
app.register_blueprint(blueprints.admin.blueprint)
app.register_blueprint(blueprints.api.blueprint, url_prefix="/api")
app.register_blueprint(blueprints.indieauth.blueprint)
app.register_blueprint(blueprints.tasks.blueprint)
app.register_blueprint(blueprints.well_known.blueprint)
app.config.update(WTF_CSRF_CHECK_DEFAULT=False)

app.config.update(
    SESSION_COOKIE_SECURE=True if config.SCHEME == "https" else False)

csrf.init_app(app)

logger = logging.getLogger(__name__)