forked from indymedia/epicyon
Generalise proxying
parent
8ed646aed5
commit
35438c0fc8
58
daemon.py
58
daemon.py
|
@ -398,7 +398,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
if not self.server.session:
|
||||
if self.server.debug:
|
||||
print('DEBUG: creating new session during authenticated fetch')
|
||||
self.server.session = createSession(self.server.useTor)
|
||||
self.server.session = createSession(self.server.proxyType)
|
||||
if not self.server.session:
|
||||
print('ERROR: GET failed to create session 1')
|
||||
return False
|
||||
|
@ -812,7 +812,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
self.server.cachedWebfingers,
|
||||
self.server.personCache,
|
||||
self.server.allowDeletion,
|
||||
self.server.useTor, version,
|
||||
self.server.proxyType, version,
|
||||
self.server.debug)
|
||||
|
||||
def _postToOutboxThread(self, messageJson: {}) -> bool:
|
||||
|
@ -1177,7 +1177,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
|
||||
if not self.server.session:
|
||||
print('Starting new session')
|
||||
self.server.session = createSession(self.server.useTor)
|
||||
self.server.session = createSession(self.server.proxyType)
|
||||
if not self.server.session:
|
||||
print('ERROR: GET failed to create session 2')
|
||||
self._404()
|
||||
|
@ -1277,7 +1277,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
'@' + self.server.domain):
|
||||
if not self.server.session:
|
||||
self.server.session = \
|
||||
createSession(self.server.useTor)
|
||||
createSession(self.server.proxyType)
|
||||
if not self.server.session:
|
||||
print('ERROR: GET failed to create session 3')
|
||||
self._404()
|
||||
|
@ -1314,7 +1314,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
'@' + self.server.domain):
|
||||
if not self.server.session:
|
||||
self.server.session = \
|
||||
createSession(self.server.useTor)
|
||||
createSession(self.server.proxyType)
|
||||
if not self.server.session:
|
||||
print('ERROR: GET failed to create session 4')
|
||||
self._404()
|
||||
|
@ -1346,7 +1346,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
if '/rss.xml' not in self.path:
|
||||
if not self.server.session:
|
||||
self.server.session = \
|
||||
createSession(self.server.useTor)
|
||||
createSession(self.server.proxyType)
|
||||
if not self.server.session:
|
||||
print('ERROR: GET failed to create session 5')
|
||||
self._404()
|
||||
|
@ -1392,7 +1392,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
pageNumber = 10
|
||||
if not self.server.session:
|
||||
self.server.session = \
|
||||
createSession(self.server.useTor)
|
||||
createSession(self.server.proxyType)
|
||||
if not self.server.session:
|
||||
print('ERROR: GET failed to create session 6')
|
||||
self._404()
|
||||
|
@ -2280,7 +2280,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
callingDomain)
|
||||
return
|
||||
if not self.server.session:
|
||||
self.server.session = createSession(self.server.useTor)
|
||||
self.server.session = createSession(self.server.proxyType)
|
||||
if not self.server.session:
|
||||
print('ERROR: GET failed to create session 7')
|
||||
self._404()
|
||||
|
@ -2375,7 +2375,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
callingDomain)
|
||||
return
|
||||
if not self.server.session:
|
||||
self.server.session = createSession(self.server.useTor)
|
||||
self.server.session = createSession(self.server.proxyType)
|
||||
if not self.server.session:
|
||||
print('ERROR: GET failed to create session 8')
|
||||
self._404()
|
||||
|
@ -2425,7 +2425,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
followingHandle = self.path.split('/followapprove=')[1]
|
||||
if '@' in followingHandle:
|
||||
if not self.server.session:
|
||||
self.server.session = createSession(self.server.useTor)
|
||||
self.server.session = createSession(self.server.proxyType)
|
||||
if not self.server.session:
|
||||
print('ERROR: GET failed to create session 9')
|
||||
self._404()
|
||||
|
@ -2549,7 +2549,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
callingDomain)
|
||||
return
|
||||
if not self.server.session:
|
||||
self.server.session = createSession(self.server.useTor)
|
||||
self.server.session = createSession(self.server.proxyType)
|
||||
if not self.server.session:
|
||||
print('ERROR: GET failed to create session 10')
|
||||
self._404()
|
||||
|
@ -2648,7 +2648,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
callingDomain)
|
||||
return
|
||||
if not self.server.session:
|
||||
self.server.session = createSession(self.server.useTor)
|
||||
self.server.session = createSession(self.server.proxyType)
|
||||
if not self.server.session:
|
||||
print('ERROR: GET failed to create session 11')
|
||||
self._404()
|
||||
|
@ -2749,7 +2749,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
callingDomain)
|
||||
return
|
||||
if not self.server.session:
|
||||
self.server.session = createSession(self.server.useTor)
|
||||
self.server.session = createSession(self.server.proxyType)
|
||||
if not self.server.session:
|
||||
print('ERROR: GET failed to create session 12')
|
||||
self._404()
|
||||
|
@ -2836,7 +2836,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
callingDomain)
|
||||
return
|
||||
if not self.server.session:
|
||||
self.server.session = createSession(self.server.useTor)
|
||||
self.server.session = createSession(self.server.proxyType)
|
||||
if not self.server.session:
|
||||
print('ERROR: GET failed to create session 13')
|
||||
self._404()
|
||||
|
@ -2933,7 +2933,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
cookie, callingDomain)
|
||||
return
|
||||
if not self.server.session:
|
||||
self.server.session = createSession(self.server.useTor)
|
||||
self.server.session = createSession(self.server.proxyType)
|
||||
if not self.server.session:
|
||||
print('ERROR: GET failed to create session 14')
|
||||
self._404()
|
||||
|
@ -3364,10 +3364,10 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
if self.server.debug:
|
||||
print('DEBUG: ' +
|
||||
'creating new session')
|
||||
useTor = \
|
||||
self.server.useTor
|
||||
proxyType = \
|
||||
self.server.proxyType
|
||||
self.server.session = \
|
||||
createSession(useTor)
|
||||
createSession(proxyType)
|
||||
if not self.server.session:
|
||||
print('ERROR: GET failed to ' +
|
||||
'create session 15')
|
||||
|
@ -3465,9 +3465,9 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
if self.server.debug:
|
||||
print('DEBUG: ' +
|
||||
'creating new session')
|
||||
useTor = self.server.useTor
|
||||
proxyType = self.server.proxyType
|
||||
self.server.session = \
|
||||
createSession(useTor)
|
||||
createSession(proxyType)
|
||||
if not self.server.session:
|
||||
print('ERROR: GET failed to ' +
|
||||
'create session 16')
|
||||
|
@ -4547,7 +4547,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
if self.server.debug:
|
||||
print('DEBUG: creating new session')
|
||||
self.server.session = \
|
||||
createSession(self.server.useTor)
|
||||
createSession(self.server.proxyType)
|
||||
if not self.server.session:
|
||||
print('ERROR: GET failed to create session 17')
|
||||
self._404()
|
||||
|
@ -4626,7 +4626,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
if self.server.debug:
|
||||
print('DEBUG: creating new session')
|
||||
self.server.session = \
|
||||
createSession(self.server.useTor)
|
||||
createSession(self.server.proxyType)
|
||||
if not self.server.session:
|
||||
print('ERROR: GET failed to create session 18')
|
||||
self._404()
|
||||
|
@ -4705,7 +4705,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
if self.server.debug:
|
||||
print('DEBUG: creating new session')
|
||||
self.server.session = \
|
||||
createSession(self.server.useTor)
|
||||
createSession(self.server.proxyType)
|
||||
if not self.server.session:
|
||||
print('ERROR: GET failed to create session 19')
|
||||
self._404()
|
||||
|
@ -4759,7 +4759,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
if self.server.debug:
|
||||
print('DEBUG: creating new session')
|
||||
self.server.session = \
|
||||
createSession(self.server.useTor)
|
||||
createSession(self.server.proxyType)
|
||||
if not self.server.session:
|
||||
print('ERROR: GET failed to create session 20')
|
||||
self._404()
|
||||
|
@ -5465,7 +5465,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
if not self.server.session:
|
||||
print('Starting new session from POST')
|
||||
self.server.session = \
|
||||
createSession(self.server.useTor)
|
||||
createSession(self.server.proxyType)
|
||||
if not self.server.session:
|
||||
print('ERROR: POST failed to create session 1')
|
||||
self._404()
|
||||
|
@ -6657,7 +6657,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
nickname = getNicknameFromActor(actorStr)
|
||||
if not self.server.session:
|
||||
self.server.session = \
|
||||
createSession(self.server.useTor)
|
||||
createSession(self.server.proxyType)
|
||||
if not self.server.session:
|
||||
print('ERROR: POST failed to create session 2')
|
||||
self._404()
|
||||
|
@ -7816,7 +7816,7 @@ def runDaemon(blogsInstance: bool, mediaInstance: bool,
|
|||
authenticatedFetch=False,
|
||||
noreply=False, nolike=False, nopics=False,
|
||||
noannounce=False, cw=False, ocapAlways=False,
|
||||
useTor=False, maxReplies=64,
|
||||
proxyType=None, maxReplies=64,
|
||||
domainMaxPostsPerDay=8640, accountMaxPostsPerDay=864,
|
||||
allowDeletion=False, debug=False, unitTest=False,
|
||||
instanceOnlySkillsSearch=False, sendThreads=[],
|
||||
|
@ -7922,7 +7922,7 @@ def runDaemon(blogsInstance: bool, mediaInstance: bool,
|
|||
httpd.instanceId = instanceId
|
||||
httpd.personCache = {}
|
||||
httpd.cachedWebfingers = {}
|
||||
httpd.useTor = useTor
|
||||
httpd.proxyType = proxyType
|
||||
httpd.session = None
|
||||
httpd.sessionLastUpdate = 0
|
||||
httpd.lastGET = 0
|
||||
|
@ -8023,7 +8023,7 @@ def runDaemon(blogsInstance: bool, mediaInstance: bool,
|
|||
baseDir, httpPrefix, httpd.sendThreads,
|
||||
httpd.postLog, httpd.cachedWebfingers,
|
||||
httpd.personCache, httpd.inboxQueue,
|
||||
domain, onionDomain, i2pDomain, port, useTor,
|
||||
domain, onionDomain, i2pDomain, port, proxyType,
|
||||
httpd.federationList,
|
||||
httpd.ocapAlways, maxReplies,
|
||||
domainMaxPostsPerDay, accountMaxPostsPerDay,
|
||||
|
|
70
epicyon.py
70
epicyon.py
|
@ -386,8 +386,13 @@ if args.posts:
|
|||
args.port = 443
|
||||
nickname = args.posts.split('@')[0]
|
||||
domain = args.posts.split('@')[1]
|
||||
proxyType = None
|
||||
if args.tor or domain.endswith('.onion'):
|
||||
proxyType = 'tor'
|
||||
elif args.i2p or domain.endswith('.i2p'):
|
||||
proxyType = 'i2p'
|
||||
getPublicPostsOfPerson(baseDir, nickname, domain, False, True,
|
||||
args.tor, args.port, httpPrefix, debug,
|
||||
proxyType, args.port, httpPrefix, debug,
|
||||
__version__)
|
||||
sys.exit()
|
||||
|
||||
|
@ -399,13 +404,18 @@ if args.postsraw:
|
|||
args.port = 443
|
||||
nickname = args.postsraw.split('@')[0]
|
||||
domain = args.postsraw.split('@')[1]
|
||||
proxyType = None
|
||||
if args.tor or domain.endswith('.onion'):
|
||||
proxyType = 'tor'
|
||||
elif args.i2p or domain.endswith('.i2p'):
|
||||
proxyType = 'i2p'
|
||||
getPublicPostsOfPerson(baseDir, nickname, domain, False, False,
|
||||
args.tor, args.port, httpPrefix, debug,
|
||||
proxyType, args.port, httpPrefix, debug,
|
||||
__version__)
|
||||
sys.exit()
|
||||
|
||||
if args.json:
|
||||
session = createSession(False)
|
||||
session = createSession(None)
|
||||
profileStr = 'https://www.w3.org/ns/activitystreams'
|
||||
asHeader = {
|
||||
'Accept': 'application/ld+json; profile="' + profileStr + '"'
|
||||
|
@ -588,9 +598,11 @@ else:
|
|||
if configFederationList:
|
||||
federationList = configFederationList
|
||||
|
||||
useTor = args.tor
|
||||
if domain.endswith('.onion'):
|
||||
useTor = True
|
||||
proxyType = None
|
||||
if args.tor or domain.endswith('.onion'):
|
||||
proxyType = 'tor'
|
||||
elif args.i2p or domain.endswith('.i2p'):
|
||||
proxyType = 'i2p'
|
||||
|
||||
if args.approve:
|
||||
if not args.nickname:
|
||||
|
@ -599,7 +611,7 @@ if args.approve:
|
|||
if '@' not in args.approve:
|
||||
print('syntax: --approve nick@domain')
|
||||
sys.exit()
|
||||
session = createSession(useTor)
|
||||
session = createSession(proxyType)
|
||||
sendThreads = []
|
||||
postLog = []
|
||||
cachedWebfingers = {}
|
||||
|
@ -623,7 +635,7 @@ if args.deny:
|
|||
if '@' not in args.deny:
|
||||
print('syntax: --deny nick@domain')
|
||||
sys.exit()
|
||||
session = createSession(useTor)
|
||||
session = createSession(proxyType)
|
||||
sendThreads = []
|
||||
postLog = []
|
||||
cachedWebfingers = {}
|
||||
|
@ -665,7 +677,7 @@ if args.message:
|
|||
print('Specify a password with the --password option')
|
||||
sys.exit()
|
||||
|
||||
session = createSession(useTor)
|
||||
session = createSession(proxyType)
|
||||
if not args.sendto:
|
||||
print('Specify an account to sent to: --sendto [nickname@domain]')
|
||||
sys.exit()
|
||||
|
@ -738,7 +750,7 @@ if args.announce:
|
|||
print('Specify a password with the --password option')
|
||||
sys.exit()
|
||||
|
||||
session = createSession(useTor)
|
||||
session = createSession(proxyType)
|
||||
personCache = {}
|
||||
cachedWebfingers = {}
|
||||
print('Sending announce/repeat of ' + args.announce)
|
||||
|
@ -786,7 +798,7 @@ if args.itemName:
|
|||
'with the --duration option')
|
||||
sys.exit()
|
||||
|
||||
session = createSession(useTor)
|
||||
session = createSession(proxyType)
|
||||
personCache = {}
|
||||
cachedWebfingers = {}
|
||||
print('Sending shared item: ' + args.itemName)
|
||||
|
@ -818,7 +830,7 @@ if args.undoItemName:
|
|||
print('Specify a nickname with the --nickname option')
|
||||
sys.exit()
|
||||
|
||||
session = createSession(useTor)
|
||||
session = createSession(proxyType)
|
||||
personCache = {}
|
||||
cachedWebfingers = {}
|
||||
print('Sending undo of shared item: ' + args.undoItemName)
|
||||
|
@ -844,7 +856,7 @@ if args.like:
|
|||
print('Specify a password with the --password option')
|
||||
sys.exit()
|
||||
|
||||
session = createSession(useTor)
|
||||
session = createSession(proxyType)
|
||||
personCache = {}
|
||||
cachedWebfingers = {}
|
||||
print('Sending like of ' + args.like)
|
||||
|
@ -869,7 +881,7 @@ if args.undolike:
|
|||
print('Specify a password with the --password option')
|
||||
sys.exit()
|
||||
|
||||
session = createSession(useTor)
|
||||
session = createSession(proxyType)
|
||||
personCache = {}
|
||||
cachedWebfingers = {}
|
||||
print('Sending undo like of ' + args.undolike)
|
||||
|
@ -894,7 +906,7 @@ if args.delete:
|
|||
print('Specify a password with the --password option')
|
||||
sys.exit()
|
||||
|
||||
session = createSession(useTor)
|
||||
session = createSession(proxyType)
|
||||
personCache = {}
|
||||
cachedWebfingers = {}
|
||||
print('Sending delete request of ' + args.delete)
|
||||
|
@ -929,7 +941,7 @@ if args.follow:
|
|||
sys.exit()
|
||||
followDomain, followPort = getDomainFromActor(args.follow)
|
||||
|
||||
session = createSession(useTor)
|
||||
session = createSession(proxyType)
|
||||
personCache = {}
|
||||
cachedWebfingers = {}
|
||||
followHttpPrefix = httpPrefix
|
||||
|
@ -967,7 +979,7 @@ if args.unfollow:
|
|||
sys.exit()
|
||||
followDomain, followPort = getDomainFromActor(args.unfollow)
|
||||
|
||||
session = createSession(useTor)
|
||||
session = createSession(proxyType)
|
||||
personCache = {}
|
||||
cachedWebfingers = {}
|
||||
followHttpPrefix = httpPrefix
|
||||
|
@ -1052,14 +1064,18 @@ if args.actor:
|
|||
domain = args.actor.split('@')[1]
|
||||
domain = domain.replace('\n', '').replace('\r', '')
|
||||
cachedWebfingers = {}
|
||||
if args.http or domain.endswith('.onion'):
|
||||
if args.http or \
|
||||
domain.endswith('.onion') or domain.endswith('.i2p'):
|
||||
httpPrefix = 'http'
|
||||
port = 80
|
||||
useTor = True
|
||||
if domain.endswith('.onion'):
|
||||
proxyType = 'tor'
|
||||
elif domain.endswith('.i2p'):
|
||||
proxyType = 'i2p'
|
||||
else:
|
||||
httpPrefix = 'https'
|
||||
port = 443
|
||||
session = createSession(useTor)
|
||||
session = createSession(proxyType)
|
||||
if nickname == 'inbox':
|
||||
nickname = domain
|
||||
|
||||
|
@ -1348,7 +1364,7 @@ if args.skill:
|
|||
print('Skill level should be a percentage in the range 0-100')
|
||||
sys.exit()
|
||||
|
||||
session = createSession(useTor)
|
||||
session = createSession(proxyType)
|
||||
personCache = {}
|
||||
cachedWebfingers = {}
|
||||
print('Sending ' + args.skill + ' skill level ' +
|
||||
|
@ -1375,7 +1391,7 @@ if args.availability:
|
|||
print('Specify a password with the --password option')
|
||||
sys.exit()
|
||||
|
||||
session = createSession(useTor)
|
||||
session = createSession(proxyType)
|
||||
personCache = {}
|
||||
cachedWebfingers = {}
|
||||
print('Sending availability status of ' + nickname +
|
||||
|
@ -1416,7 +1432,7 @@ if args.block:
|
|||
print(args.block + ' does not look like an actor url')
|
||||
sys.exit()
|
||||
|
||||
session = createSession(useTor)
|
||||
session = createSession(proxyType)
|
||||
personCache = {}
|
||||
cachedWebfingers = {}
|
||||
print('Sending block of ' + args.block)
|
||||
|
@ -1452,7 +1468,7 @@ if args.delegate:
|
|||
delegatedNickname = args.delegate.split('@')[0]
|
||||
args.delegate = blockedActor
|
||||
|
||||
session = createSession(useTor)
|
||||
session = createSession(proxyType)
|
||||
personCache = {}
|
||||
cachedWebfingers = {}
|
||||
print('Sending delegation for ' + args.delegate +
|
||||
|
@ -1487,7 +1503,7 @@ if args.undelegate:
|
|||
delegatedNickname = args.undelegate.split('@')[0]
|
||||
args.undelegate = blockedActor
|
||||
|
||||
session = createSession(useTor)
|
||||
session = createSession(proxyType)
|
||||
personCache = {}
|
||||
cachedWebfingers = {}
|
||||
print('Sending delegation removal for ' + args.undelegate +
|
||||
|
@ -1526,7 +1542,7 @@ if args.unblock:
|
|||
print(args.unblock + ' does not look like an actor url')
|
||||
sys.exit()
|
||||
|
||||
session = createSession(useTor)
|
||||
session = createSession(proxyType)
|
||||
personCache = {}
|
||||
cachedWebfingers = {}
|
||||
print('Sending undo block of ' + args.unblock)
|
||||
|
@ -1686,7 +1702,7 @@ runDaemon(args.blogsinstance, args.mediainstance,
|
|||
args.maxEmoji, args.authenticatedFetch,
|
||||
args.noreply, args.nolike, args.nopics,
|
||||
args.noannounce, args.cw, ocapAlways,
|
||||
useTor, args.maxReplies,
|
||||
proxyType, args.maxReplies,
|
||||
args.domainMaxPostsPerDay,
|
||||
args.accountMaxPostsPerDay,
|
||||
args.allowdeletion, debug, False,
|
||||
|
|
12
inbox.py
12
inbox.py
|
@ -1937,7 +1937,7 @@ def inboxAfterCapabilities(recentPostsCache: {}, maxRecentPosts: int,
|
|||
postLog: [], cachedWebfingers: {}, personCache: {},
|
||||
queue: [], domain: str,
|
||||
onionDomain: str, i2pDomain: str,
|
||||
port: int, useTor: bool,
|
||||
port: int, proxyType: str,
|
||||
federationList: [], ocapAlways: bool, debug: bool,
|
||||
acceptedCaps: [],
|
||||
queueFilename: str, destinationFilename: str,
|
||||
|
@ -2288,7 +2288,7 @@ def runInboxQueue(recentPostsCache: {}, maxRecentPosts: int,
|
|||
baseDir: str, httpPrefix: str, sendThreads: [], postLog: [],
|
||||
cachedWebfingers: {}, personCache: {}, queue: [],
|
||||
domain: str,
|
||||
onionDomain: str, i2pDomain: str, port: int, useTor: bool,
|
||||
onionDomain: str, i2pDomain: str, port: int, proxyType: str,
|
||||
federationList: [],
|
||||
ocapAlways: bool, maxReplies: int,
|
||||
domainMaxPostsPerDay: int, accountMaxPostsPerDay: int,
|
||||
|
@ -2300,7 +2300,7 @@ def runInboxQueue(recentPostsCache: {}, maxRecentPosts: int,
|
|||
"""
|
||||
currSessionTime = int(time.time())
|
||||
sessionLastUpdate = currSessionTime
|
||||
session = createSession(useTor)
|
||||
session = createSession(proxyType)
|
||||
inboxHandle = 'inbox@' + domain
|
||||
if debug:
|
||||
print('DEBUG: Inbox queue running')
|
||||
|
@ -2347,7 +2347,7 @@ def runInboxQueue(recentPostsCache: {}, maxRecentPosts: int,
|
|||
# recreate the session periodically
|
||||
if not session or currTime - sessionLastUpdate > 1200:
|
||||
print('Creating inbox session')
|
||||
session = createSession(useTor)
|
||||
session = createSession(proxyType)
|
||||
if not session:
|
||||
continue
|
||||
sessionLastUpdate = currTime
|
||||
|
@ -2705,7 +2705,7 @@ def runInboxQueue(recentPostsCache: {}, maxRecentPosts: int,
|
|||
personCache, queue,
|
||||
domain,
|
||||
onionDomain, i2pDomain,
|
||||
port, useTor,
|
||||
port, proxyType,
|
||||
federationList, ocapAlways,
|
||||
debug, acceptedCaps,
|
||||
queueFilename, destination,
|
||||
|
@ -2728,7 +2728,7 @@ def runInboxQueue(recentPostsCache: {}, maxRecentPosts: int,
|
|||
personCache, queue,
|
||||
domain,
|
||||
onionDomain, i2pDomain,
|
||||
port, useTor,
|
||||
port, proxyType,
|
||||
federationList, ocapAlways,
|
||||
debug, acceptedCaps,
|
||||
queueFilename, destination,
|
||||
|
|
|
@ -44,7 +44,7 @@ def postMessageToOutbox(messageJson: {}, postToNickname: str,
|
|||
federationList: [], sendThreads: [],
|
||||
postLog: [], cachedWebfingers: {},
|
||||
personCache: {}, allowDeletion: bool,
|
||||
useTor: bool, version: str, debug: bool) -> bool:
|
||||
proxyType: str, version: str, debug: bool) -> bool:
|
||||
"""post is received by the outbox
|
||||
Client to server message post
|
||||
https://www.w3.org/TR/activitypub/#client-to-server-outbox-delivery
|
||||
|
@ -214,7 +214,7 @@ def postMessageToOutbox(messageJson: {}, postToNickname: str,
|
|||
if not server.session:
|
||||
if debug:
|
||||
print('DEBUG: creating new session for c2s')
|
||||
server.session = createSession(useTor)
|
||||
server.session = createSession(proxyType)
|
||||
if not server.session:
|
||||
print('ERROR: Failed to create session for postMessageToOutbox')
|
||||
return False
|
||||
|
|
4
posts.py
4
posts.py
|
@ -2825,12 +2825,12 @@ def archivePostsForPerson(httpPrefix: str, nickname: str, domain: str,
|
|||
|
||||
|
||||
def getPublicPostsOfPerson(baseDir: str, nickname: str, domain: str,
|
||||
raw: bool, simple: bool, useTor: bool,
|
||||
raw: bool, simple: bool, proxyType: str,
|
||||
port: int, httpPrefix: str,
|
||||
debug: bool, projectVersion: str) -> None:
|
||||
""" This is really just for test purposes
|
||||
"""
|
||||
session = createSession(useTor)
|
||||
session = createSession(proxyType)
|
||||
if not session:
|
||||
return
|
||||
personCache = {}
|
||||
|
|
|
@ -101,7 +101,7 @@ def updatePostSchedule(baseDir: str, handle: str, httpd,
|
|||
httpd.cachedWebfingers,
|
||||
httpd.personCache,
|
||||
httpd.allowDeletion,
|
||||
httpd.useTor,
|
||||
httpd.proxyType,
|
||||
httpd.projectVersion,
|
||||
httpd.debug):
|
||||
indexLines.remove(line)
|
||||
|
|
10
session.py
10
session.py
|
@ -14,17 +14,23 @@ import json
|
|||
baseDirectory = None
|
||||
|
||||
|
||||
def createSession(onionRoute: bool):
|
||||
def createSession(proxyType: str):
|
||||
session = None
|
||||
try:
|
||||
session = requests.session()
|
||||
except BaseException:
|
||||
print('ERROR: session request failed')
|
||||
return None
|
||||
if session and onionRoute:
|
||||
if not session:
|
||||
return None
|
||||
if proxyType == 'tor':
|
||||
session.proxies = {}
|
||||
session.proxies['http'] = 'socks5h://localhost:9050'
|
||||
session.proxies['https'] = 'socks5h://localhost:9050'
|
||||
elif proxyType == 'i2p':
|
||||
session.proxies = {}
|
||||
session.proxies['http'] = 'socks5h://localhost:4447'
|
||||
session.proxies['https'] = 'socks5h://localhost:4447'
|
||||
return session
|
||||
|
||||
|
||||
|
|
28
tests.py
28
tests.py
|
@ -233,7 +233,7 @@ def createServerAlice(path: str, domain: str, port: int,
|
|||
os.chdir(path)
|
||||
nickname = 'alice'
|
||||
httpPrefix = 'http'
|
||||
useTor = False
|
||||
proxyType = None
|
||||
password = 'alicepass'
|
||||
noreply = False
|
||||
nolike = False
|
||||
|
@ -280,7 +280,7 @@ def createServerAlice(path: str, domain: str, port: int,
|
|||
onionDomain, i2pDomain, port, port,
|
||||
httpPrefix, federationList, maxMentions, maxEmoji, False,
|
||||
noreply, nolike, nopics, noannounce, cw, ocapAlways,
|
||||
useTor, maxReplies,
|
||||
proxyType, maxReplies,
|
||||
domainMaxPostsPerDay, accountMaxPostsPerDay,
|
||||
allowDeletion, True, True, False, sendThreads, False)
|
||||
|
||||
|
@ -296,7 +296,7 @@ def createServerBob(path: str, domain: str, port: int,
|
|||
os.chdir(path)
|
||||
nickname = 'bob'
|
||||
httpPrefix = 'http'
|
||||
useTor = False
|
||||
proxyType = None
|
||||
clientToServer = False
|
||||
password = 'bobpass'
|
||||
noreply = False
|
||||
|
@ -343,7 +343,7 @@ def createServerBob(path: str, domain: str, port: int,
|
|||
onionDomain, i2pDomain, port, port,
|
||||
httpPrefix, federationList, maxMentions, maxEmoji, False,
|
||||
noreply, nolike, nopics, noannounce, cw, ocapAlways,
|
||||
useTor, maxReplies,
|
||||
proxyType, maxReplies,
|
||||
domainMaxPostsPerDay, accountMaxPostsPerDay,
|
||||
allowDeletion, True, True, False, sendThreads, False)
|
||||
|
||||
|
@ -358,7 +358,7 @@ def createServerEve(path: str, domain: str, port: int, federationList: [],
|
|||
os.chdir(path)
|
||||
nickname = 'eve'
|
||||
httpPrefix = 'http'
|
||||
useTor = False
|
||||
proxyType = None
|
||||
password = 'evepass'
|
||||
noreply = False
|
||||
nolike = False
|
||||
|
@ -383,7 +383,7 @@ def createServerEve(path: str, domain: str, port: int, federationList: [],
|
|||
onionDomain, i2pDomain, port, port,
|
||||
httpPrefix, federationList, maxMentions, maxEmoji, False,
|
||||
noreply, nolike, nopics, noannounce, cw, ocapAlways,
|
||||
useTor, maxReplies, allowDeletion, True, True, False,
|
||||
proxyType, maxReplies, allowDeletion, True, True, False,
|
||||
sendThreads, False)
|
||||
|
||||
|
||||
|
@ -396,7 +396,7 @@ def testPostMessageBetweenServers():
|
|||
testServerBobRunning = False
|
||||
|
||||
httpPrefix = 'http'
|
||||
useTor = False
|
||||
proxyType = None
|
||||
|
||||
baseDir = os.getcwd()
|
||||
if os.path.isdir(baseDir + '/.tests'):
|
||||
|
@ -461,7 +461,7 @@ def testPostMessageBetweenServers():
|
|||
print('\n\n*******************************************************')
|
||||
print('Alice sends to Bob')
|
||||
os.chdir(aliceDir)
|
||||
sessionAlice = createSession(useTor)
|
||||
sessionAlice = createSession(proxyType)
|
||||
inReplyTo = None
|
||||
inReplyToAtomUri = None
|
||||
subject = None
|
||||
|
@ -550,7 +550,7 @@ def testPostMessageBetweenServers():
|
|||
followPerson(aliceDir, 'alice', aliceDomain, 'bob',
|
||||
bobDomain + ':' + str(bobPort), federationList, False)
|
||||
|
||||
sessionBob = createSession(useTor)
|
||||
sessionBob = createSession(proxyType)
|
||||
bobPostLog = []
|
||||
bobPersonCache = {}
|
||||
bobCachedWebfingers = {}
|
||||
|
@ -654,7 +654,7 @@ def testFollowBetweenServers():
|
|||
testServerBobRunning = False
|
||||
|
||||
httpPrefix = 'http'
|
||||
useTor = False
|
||||
proxyType = None
|
||||
federationList = []
|
||||
|
||||
baseDir = os.getcwd()
|
||||
|
@ -727,7 +727,7 @@ def testFollowBetweenServers():
|
|||
print('*********************************************************')
|
||||
print('Alice sends a follow request to Bob')
|
||||
os.chdir(aliceDir)
|
||||
sessionAlice = createSession(useTor)
|
||||
sessionAlice = createSession(proxyType)
|
||||
inReplyTo = None
|
||||
inReplyToAtomUri = None
|
||||
subject = None
|
||||
|
@ -1205,7 +1205,7 @@ def testClientToServer():
|
|||
testServerBobRunning = False
|
||||
|
||||
httpPrefix = 'http'
|
||||
useTor = False
|
||||
proxyType = None
|
||||
federationList = []
|
||||
|
||||
baseDir = os.getcwd()
|
||||
|
@ -1276,7 +1276,7 @@ def testClientToServer():
|
|||
print('\n\n*******************************************************')
|
||||
print('Alice sends to Bob via c2s')
|
||||
|
||||
sessionAlice = createSession(useTor)
|
||||
sessionAlice = createSession(proxyType)
|
||||
followersOnly = False
|
||||
attachedImageFilename = baseDir+'/img/logo.png'
|
||||
mediaType = getAttachmentMediaType(attachedImageFilename)
|
||||
|
@ -1415,7 +1415,7 @@ def testClientToServer():
|
|||
open(bobDir + '/accounts/bob@' + bobDomain + '/following.txt').read()
|
||||
|
||||
print('\n\nBob likes the post')
|
||||
sessionBob = createSession(useTor)
|
||||
sessionBob = createSession(proxyType)
|
||||
password = 'bobpass'
|
||||
outboxPath = bobDir + '/accounts/bob@' + bobDomain + '/outbox'
|
||||
inboxPath = aliceDir + '/accounts/alice@' + aliceDomain + '/inbox'
|
||||
|
|
Loading…
Reference in New Issue