mirror of https://gitlab.com/bashrc2/epicyon
Tidying
parent
d582b5662b
commit
a5103c4074
51
epicyon.py
51
epicyon.py
|
@ -127,6 +127,7 @@ from blocking import get_blocks_via_server
|
||||||
from poison import html_poisoned
|
from poison import html_poisoned
|
||||||
from poison import load_dictionary
|
from poison import load_dictionary
|
||||||
from poison import load_2grams
|
from poison import load_2grams
|
||||||
|
from webapp_post import get_instance_software
|
||||||
|
|
||||||
|
|
||||||
def str2bool(value_str) -> bool:
|
def str2bool(value_str) -> bool:
|
||||||
|
@ -1344,45 +1345,29 @@ def _command_options() -> None:
|
||||||
if '/' in instance_domain_name:
|
if '/' in instance_domain_name:
|
||||||
instance_domain_name = instance_domain_name.split('/')[0]
|
instance_domain_name = instance_domain_name.split('/')[0]
|
||||||
session = create_session(proxy_type)
|
session = create_session(proxy_type)
|
||||||
profile_str = 'https://www.w3.org/ns/activitystreams'
|
instance_softw = {}
|
||||||
as_header = {
|
|
||||||
'Accept': 'application/ld+json; profile="' + profile_str + '"'
|
|
||||||
}
|
|
||||||
if not argb.domain:
|
if not argb.domain:
|
||||||
argb.domain = get_config_param(base_dir, 'domain')
|
argb.domain = get_config_param(base_dir, 'domain')
|
||||||
domain = ''
|
domain = ''
|
||||||
if argb.domain:
|
if argb.domain:
|
||||||
domain = argb.domain
|
domain = argb.domain
|
||||||
signing_priv_key_pem = get_instance_actor_key(base_dir, domain)
|
if not argb.domain:
|
||||||
|
origin_domain = get_config_param(base_dir, 'domain')
|
||||||
|
else:
|
||||||
|
origin_domain = argb.domain
|
||||||
|
signing_priv_key_pem = get_instance_actor_key(base_dir, origin_domain)
|
||||||
mitm_servers: list[str] = []
|
mitm_servers: list[str] = []
|
||||||
|
software_name = \
|
||||||
nodeinfo1_url = \
|
get_instance_software(base_dir, session,
|
||||||
http_prefix + '://' + instance_domain_name + \
|
http_prefix,
|
||||||
'/.well-known/nodeinfo'
|
instance_domain_name,
|
||||||
nodeinfo1_json = get_json(signing_priv_key_pem, session, nodeinfo1_url,
|
instance_softw,
|
||||||
as_header, None, debug, mitm_servers,
|
signing_priv_key_pem,
|
||||||
__version__, http_prefix, domain)
|
debug,
|
||||||
nodeinfo_url = None
|
http_prefix, domain,
|
||||||
if get_json_valid(nodeinfo1_json):
|
mitm_servers, False)
|
||||||
if nodeinfo1_json.get('links'):
|
if software_name:
|
||||||
if isinstance(nodeinfo1_json['links'], list):
|
print(software_name.split(' ')[1])
|
||||||
if len(nodeinfo1_json['links']) > 0:
|
|
||||||
if nodeinfo1_json['links'][0].get('href'):
|
|
||||||
href = nodeinfo1_json['links'][0]['href']
|
|
||||||
if isinstance(href, str):
|
|
||||||
nodeinfo_url = href
|
|
||||||
if nodeinfo_url:
|
|
||||||
nodeinfo_json = \
|
|
||||||
get_json(signing_priv_key_pem, session, nodeinfo_url,
|
|
||||||
as_header, None, debug, mitm_servers,
|
|
||||||
__version__, http_prefix, domain)
|
|
||||||
if get_json_valid(nodeinfo_json):
|
|
||||||
if nodeinfo_json.get('software'):
|
|
||||||
if isinstance(nodeinfo_json['software'], dict):
|
|
||||||
if nodeinfo_json['software'].get('name'):
|
|
||||||
if isinstance(nodeinfo_json['software']['name'],
|
|
||||||
str):
|
|
||||||
print(nodeinfo_json['software']['name'])
|
|
||||||
session.close()
|
session.close()
|
||||||
sys.exit()
|
sys.exit()
|
||||||
|
|
||||||
|
|
|
@ -152,14 +152,15 @@ def _get_instance_software_html(title_str: str, software_name: str) -> str:
|
||||||
return instance_str
|
return instance_str
|
||||||
|
|
||||||
|
|
||||||
def _get_instance_software(base_dir: str, session,
|
def get_instance_software(base_dir: str, session,
|
||||||
instance_http_prefix: str,
|
instance_http_prefix: str,
|
||||||
instance_domain: str,
|
instance_domain: str,
|
||||||
instance_software: {},
|
instance_software: {},
|
||||||
signing_priv_key_pem: str,
|
signing_priv_key_pem: str,
|
||||||
debug: bool,
|
debug: bool,
|
||||||
http_prefix: str, domain: str,
|
http_prefix: str, domain: str,
|
||||||
mitm_servers: []) -> str:
|
mitm_servers: [],
|
||||||
|
store: bool) -> str:
|
||||||
"""returns the type of instance software for the given
|
"""returns the type of instance software for the given
|
||||||
instance domain eg. mastodon, epicyon, pixelfed
|
instance domain eg. mastodon, epicyon, pixelfed
|
||||||
"""
|
"""
|
||||||
|
@ -216,8 +217,10 @@ def _get_instance_software(base_dir: str, session,
|
||||||
return ''
|
return ''
|
||||||
software_name = remove_html(software_name)
|
software_name = remove_html(software_name)
|
||||||
instance_software[instance_domain] = software_name
|
instance_software[instance_domain] = software_name
|
||||||
instance_software_filename = data_dir(base_dir) + '/instance_software.json'
|
if store:
|
||||||
save_json(instance_software, instance_software_filename)
|
instance_software_filename = \
|
||||||
|
data_dir(base_dir) + '/instance_software.json'
|
||||||
|
save_json(instance_software, instance_software_filename)
|
||||||
return instance_domain + ' ' + software_name
|
return instance_domain + ' ' + software_name
|
||||||
|
|
||||||
|
|
||||||
|
@ -2788,14 +2791,14 @@ def individual_post_as_html(signing_priv_key_pem: str,
|
||||||
if '://' in instance_actor:
|
if '://' in instance_actor:
|
||||||
instance_http_prefix = instance_actor.split('://')[0]
|
instance_http_prefix = instance_actor.split('://')[0]
|
||||||
software_name = \
|
software_name = \
|
||||||
_get_instance_software(base_dir, session,
|
get_instance_software(base_dir, session,
|
||||||
instance_http_prefix,
|
instance_http_prefix,
|
||||||
instance_actor,
|
instance_actor,
|
||||||
instance_software,
|
instance_software,
|
||||||
signing_priv_key_pem,
|
signing_priv_key_pem,
|
||||||
False,
|
False,
|
||||||
http_prefix, domain,
|
http_prefix, domain,
|
||||||
mitm_servers)
|
mitm_servers, True)
|
||||||
|
|
||||||
# get the title: x replies to y, x announces y, etc
|
# get the title: x replies to y, x announces y, etc
|
||||||
(title_str2,
|
(title_str2,
|
||||||
|
|
Loading…
Reference in New Issue