Full implementation of social media alt redirects (twitter/youtube/instagram -> nitter/invidious/bibliogram) depending on configuration. Verbatim search and option to ignore search autocorrect are now supported as well. Also cleaned up the javascript side of whoogle config so that it now uses arrays of available fields for parsing config values instead of manually assigning each one to a variable. This doesn't include support for Google Maps -> Open Street Maps, that seems a bit more involved than the social media redirects were, so it should likely be a separate effort.
25 lines
611 B
Python
25 lines
611 B
Python
from cryptography.fernet import Fernet
|
|
from flask import current_app as app
|
|
|
|
REQUIRED_SESSION_VALUES = ['uuid', 'config', 'fernet_keys']
|
|
|
|
|
|
def generate_user_keys(cookies_disabled=False) -> dict:
|
|
if cookies_disabled:
|
|
return app.default_key_set
|
|
|
|
# Generate/regenerate unique key per user
|
|
return {
|
|
'element_key': Fernet.generate_key(),
|
|
'text_key': Fernet.generate_key()
|
|
}
|
|
|
|
|
|
def valid_user_session(session):
|
|
# Generate secret key for user if unavailable
|
|
for value in REQUIRED_SESSION_VALUES:
|
|
if value not in session:
|
|
return False
|
|
|
|
return True
|