mirror of https://gitlab.com/bashrc2/epicyon
Support i2p webfinger
parent
ed820dbcfc
commit
17746b74df
|
@ -1479,7 +1479,9 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
str(self.server.base_dir))
|
str(self.server.base_dir))
|
||||||
wf_result = \
|
wf_result = \
|
||||||
webfinger_lookup(self.path, self.server.base_dir,
|
webfinger_lookup(self.path, self.server.base_dir,
|
||||||
self.server.domain, self.server.onion_domain,
|
self.server.domain,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain,
|
||||||
self.server.port, self.server.debug)
|
self.server.port, self.server.debug)
|
||||||
if wf_result:
|
if wf_result:
|
||||||
msg_str = json.dumps(wf_result)
|
msg_str = json.dumps(wf_result)
|
||||||
|
|
14
webfinger.py
14
webfinger.py
|
@ -245,7 +245,7 @@ def webfinger_meta(http_prefix: str, domain_full: str) -> str:
|
||||||
|
|
||||||
|
|
||||||
def webfinger_lookup(path: str, base_dir: str,
|
def webfinger_lookup(path: str, base_dir: str,
|
||||||
domain: str, onion_domain: str,
|
domain: str, onion_domain: str, i2p_domain: str,
|
||||||
port: int, debug: bool) -> {}:
|
port: int, debug: bool) -> {}:
|
||||||
"""Lookup the webfinger endpoint for an account
|
"""Lookup the webfinger endpoint for an account
|
||||||
"""
|
"""
|
||||||
|
@ -287,6 +287,11 @@ def webfinger_lookup(path: str, base_dir: str,
|
||||||
if onion_domain in handle:
|
if onion_domain in handle:
|
||||||
handle = handle.replace(onion_domain, domain)
|
handle = handle.replace(onion_domain, domain)
|
||||||
onionify = True
|
onionify = True
|
||||||
|
i2pify = False
|
||||||
|
if i2p_domain:
|
||||||
|
if i2p_domain in handle:
|
||||||
|
handle = handle.replace(i2p_domain, domain)
|
||||||
|
i2pify = True
|
||||||
# instance actor
|
# instance actor
|
||||||
if handle.startswith('actor@'):
|
if handle.startswith('actor@'):
|
||||||
handle = handle.replace('actor@', 'inbox@', 1)
|
handle = handle.replace('actor@', 'inbox@', 1)
|
||||||
|
@ -299,11 +304,14 @@ def webfinger_lookup(path: str, base_dir: str,
|
||||||
if debug:
|
if debug:
|
||||||
print('DEBUG: WEBFINGER filename not found ' + filename)
|
print('DEBUG: WEBFINGER filename not found ' + filename)
|
||||||
return None
|
return None
|
||||||
if not onionify:
|
if not onionify and not i2pify:
|
||||||
wf_json = load_json(filename)
|
wf_json = load_json(filename)
|
||||||
else:
|
elif onionify:
|
||||||
print('Webfinger request for onionified ' + handle)
|
print('Webfinger request for onionified ' + handle)
|
||||||
wf_json = load_json_onionify(filename, domain, onion_domain)
|
wf_json = load_json_onionify(filename, domain, onion_domain)
|
||||||
|
else:
|
||||||
|
print('Webfinger request for i2pified ' + handle)
|
||||||
|
wf_json = load_json_onionify(filename, domain, i2p_domain)
|
||||||
if not wf_json:
|
if not wf_json:
|
||||||
wf_json = {"nickname": "unknown"}
|
wf_json = {"nickname": "unknown"}
|
||||||
return wf_json
|
return wf_json
|
||||||
|
|
Loading…
Reference in New Issue