mirror of https://gitlab.com/bashrc2/epicyon
Merge branch 'main' of ssh://code.freedombone.net:2222/bashrc/epicyon
commit
60c9f93f34
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "ActivityPub"
|
||||
|
||||
import os
|
||||
from utils import hasUsersPath
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "ActivityPub"
|
||||
|
||||
from utils import removeIdEnding
|
||||
from utils import hasUsersPath
|
||||
|
|
|
|||
1
auth.py
1
auth.py
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Security"
|
||||
|
||||
import base64
|
||||
import hashlib
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Core"
|
||||
|
||||
import os
|
||||
from webfinger import webfingerHandle
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "ActivityPub"
|
||||
|
||||
import os
|
||||
import json
|
||||
|
|
|
|||
1
blog.py
1
blog.py
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "ActivityPub"
|
||||
|
||||
import os
|
||||
from datetime import datetime
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Timeline"
|
||||
|
||||
import os
|
||||
from pprint import pprint
|
||||
|
|
|
|||
1
briar.py
1
briar.py
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Profile Metadata"
|
||||
|
||||
|
||||
def getBriarAddress(actorJson: {}) -> str:
|
||||
|
|
|
|||
1
cache.py
1
cache.py
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "ActivityPub"
|
||||
|
||||
import os
|
||||
import datetime
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "RSS Feeds"
|
||||
|
||||
import os
|
||||
import datetime
|
||||
|
|
|
|||
1
city.py
1
city.py
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Spoofing"
|
||||
|
||||
import os
|
||||
import datetime
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Security"
|
||||
|
||||
|
||||
validContexts = (
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "ActivityPub"
|
||||
|
||||
import os
|
||||
from datetime import datetime
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Client"
|
||||
|
||||
import os
|
||||
import html
|
||||
|
|
@ -725,7 +726,7 @@ def _readLocalBoxPost(session, nickname: str, domain: str,
|
|||
if isPGPEncrypted(content):
|
||||
sayStr = 'Encrypted message. Please enter your passphrase.'
|
||||
_sayCommand(sayStr, sayStr, screenreader, systemLanguage, espeak)
|
||||
content = pgpDecrypt(content, actor)
|
||||
content = pgpDecrypt(domain, content, actor)
|
||||
if isPGPEncrypted(content):
|
||||
sayStr = 'Message could not be decrypted'
|
||||
_sayCommand(sayStr, sayStr, screenreader, systemLanguage, espeak)
|
||||
|
|
@ -836,7 +837,8 @@ def _desktopShowProfile(session, nickname: str, domain: str,
|
|||
isHttp = False
|
||||
if 'http://' in actor:
|
||||
isHttp = True
|
||||
actorJson, asHeader = getActorJson(actor, isHttp, False, False, True)
|
||||
actorJson, asHeader = \
|
||||
getActorJson(domain, actor, isHttp, False, False, True)
|
||||
|
||||
_desktopShowActor(baseDir, actorJson, translate,
|
||||
systemLanguage, screenreader, espeak)
|
||||
|
|
@ -854,7 +856,8 @@ def _desktopShowProfileFromHandle(session, nickname: str, domain: str,
|
|||
"""Shows the profile for a handle
|
||||
Returns the actor json
|
||||
"""
|
||||
actorJson, asHeader = getActorJson(handle, False, False, False, True)
|
||||
actorJson, asHeader = \
|
||||
getActorJson(domain, handle, False, False, False, True)
|
||||
|
||||
_desktopShowActor(baseDir, actorJson, translate,
|
||||
systemLanguage, screenreader, espeak)
|
||||
|
|
@ -1182,7 +1185,7 @@ def _desktopNewDMbase(session, toHandle: str,
|
|||
for after in range(randint(1, 16)):
|
||||
paddedMessage += ' '
|
||||
cipherText = \
|
||||
pgpEncryptToActor(paddedMessage, toHandle)
|
||||
pgpEncryptToActor(domain, paddedMessage, toHandle)
|
||||
if not cipherText:
|
||||
sayStr = \
|
||||
toHandle + ' has no PGP public key. ' + \
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Profile Metadata"
|
||||
|
||||
|
||||
def _getDonationTypes() -> str:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Commandline Interface"
|
||||
|
||||
import os
|
||||
import shutil
|
||||
|
|
@ -1631,7 +1632,7 @@ if args.migrations:
|
|||
sys.exit()
|
||||
|
||||
if args.actor:
|
||||
getActorJson(args.actor, args.http, args.gnunet, debug)
|
||||
getActorJson(args.domain, args.actor, args.http, args.gnunet, debug)
|
||||
sys.exit()
|
||||
|
||||
if args.followers:
|
||||
|
|
|
|||
1
feeds.py
1
feeds.py
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "RSS Feeds"
|
||||
|
||||
|
||||
def rss2TagHeader(hashtag: str, httpPrefix: str, domainFull: str) -> str:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "ActivityPub"
|
||||
|
||||
from pprint import pprint
|
||||
import os
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Calendar"
|
||||
|
||||
import os
|
||||
|
||||
|
|
|
|||
1
git.py
1
git.py
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "ActivityPub"
|
||||
|
||||
import os
|
||||
import html
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Calendar"
|
||||
|
||||
import os
|
||||
from uuid import UUID
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Security"
|
||||
|
||||
# see https://tools.ietf.org/html/draft-cavage-http-signatures-06
|
||||
#
|
||||
|
|
|
|||
1
inbox.py
1
inbox.py
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Timeline"
|
||||
|
||||
import json
|
||||
import os
|
||||
|
|
|
|||
1
jami.py
1
jami.py
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Profile Metadata"
|
||||
|
||||
|
||||
def getJamiAddress(actorJson: {}) -> str:
|
||||
|
|
|
|||
1
like.py
1
like.py
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "ActivityPub"
|
||||
|
||||
from utils import hasUsersPath
|
||||
from utils import getFullDomain
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Security"
|
||||
|
||||
import base64
|
||||
import hashlib
|
||||
|
|
|
|||
411
locations.txt
411
locations.txt
|
|
@ -178,279 +178,224 @@ AZENTKILYSZABADJA, HUNGARY:47.0778:17.9683:22
|
|||
BABELTHUAP, PALAU ISLAND:7.3675:134.544:370
|
||||
BACAU, ROMANIA:46.5219:26.9103:43
|
||||
BACOLOD, PHILIPPINES:10.6425:122.929:162
|
||||
BADAJOZ, SPAIN:38.8911:W6.82111
|
||||
BADAJOZ, SPAIN:38.8911:W6.82111:1440
|
||||
BADEN-BADEN, GERMANY:48.7911:8.18694:140
|
||||
BAFOUSSAM, CAMEROON:5.53694:10.3542
|
||||
BAGABAG, PHILIPPINES:16.6189:121.252
|
||||
BAGAN, MYANMAR:21.1819:94.9292
|
||||
BAGE, BRAZIL:-31.3903:W54.1122
|
||||
BAGHDAD, IRAQ:33.2619:44.2339
|
||||
BAGHDOGRA, INDIA:26.6814:88.3281
|
||||
BAGNOLE-DE-L'ORNE, FRANCE:48.5458:W0.387222
|
||||
BAGOTVILLE, CANADA:48.3306:W70.9964
|
||||
BAGUIO, PHILIPPINES:16.375:120.619
|
||||
BAHAR DAR, ETHIOPIA:11.6081:37.3214
|
||||
BAHAWALPURE, PAKISTAN:29.3469:71.7114
|
||||
BAHIA BLANCA, ARGENTINA:-38.7247:W62.1692
|
||||
BAHIAS DEHUATULCO, MEXICO:15.7747:W96.2608
|
||||
BAHIA SOLANO, COLOMBIA:6.20278:W77.3944
|
||||
BAHRAIN, BAHRAIN:25.9183:50.5906
|
||||
BAIA MARE, ROMANIA:47.6583:23.47
|
||||
BAIDOA, SOMALIA:3.09861:43.6242
|
||||
BAIE COMEAU, CANADA:49.1322:W68.2072
|
||||
BAKEL, SENEGAL:14.8472:W12.4681
|
||||
BAKER LAKE, CANADA:64.2989:W96.0778
|
||||
BAKERSFIELD, USA:35.4333:W119.057
|
||||
BAKHTARAN, IRAN:34.3464:47.1564
|
||||
BAKSHI KA TALAB, INDIA:26.9883:80.8931
|
||||
BAFOUSSAM, CAMEROON:5.53694:10.3542:402
|
||||
BAGABAG, PHILIPPINES:16.6189:121.252:183
|
||||
BAGAN, MYANMAR:21.1819:94.9292:104
|
||||
BAGE, BRAZIL:-31.3903:W54.1122:50
|
||||
BAGHDAD, IRAQ:33.2619:44.2339:204
|
||||
BAGHDOGRA, INDIA:26.6814:88.3281:10
|
||||
BAGNOLE-DE-L'ORNE, FRANCE:48.5458:W0.387222:9
|
||||
BAGUIO, PHILIPPINES:16.375:120.619:57
|
||||
BAHAR DAR, ETHIOPIA:11.6081:37.3214:28
|
||||
BAHAWALPURE, PAKISTAN:29.3469:71.7114:246
|
||||
BAHIA BLANCA, ARGENTINA:-38.7247:W62.1692:1000
|
||||
BAHIA SOLANO, COLOMBIA:6.20278:W77.3944:1667
|
||||
BAHRAIN, BAHRAIN:25.9183:50.5906:765
|
||||
BAIA MARE, ROMANIA:47.6583:23.47:233
|
||||
BAIDOA, SOMALIA:3.09861:43.6242,1000
|
||||
BAIE COMEAU, CANADA:49.1322:W68.2072:432
|
||||
BAKER LAKE, CANADA:64.2989:W96.0778:182
|
||||
BAKERSFIELD, USA:35.4333:W119.057:391
|
||||
BAKHTARAN, IRAN:34.3464:47.1564:500
|
||||
BAKSHI KA TALAB, INDIA:26.9883:80.8931:41
|
||||
BAKU, RUSSIA:40.4675:50.0467:2140
|
||||
BALIKPAPAN, INDONESIA:-1.26806:116.894
|
||||
BALKHASH, RUSSIA:46.8942:75.0047
|
||||
BALMACEDA, CHILE:-45.9158:W71.6892
|
||||
BALTIMORE, USA:39.1753:W76.6683
|
||||
BALURGHAT, INDIA:25.2608:88.7956
|
||||
BAMAKO, MALI:12.5333:W7.94972
|
||||
BAMBARI, CENTRAL AFRICAN REP.:5.84694:20.6494
|
||||
BAMBERG, GERMANY:49.9203:10.9142
|
||||
BAMENDA, CAMEROON:6.03917:10.1225
|
||||
BAM, IRAN:29.0839:58.4503
|
||||
BANAK, NORWAY:70.0686:24.9733
|
||||
BANANERA, GUATEMALA:15.4733:W88.8372
|
||||
BANDA ACEH, INDONESIA:5.52333:95.4203
|
||||
BANDAR ABBAS, IRAN:27.1581:56.1722
|
||||
BANDAR LENGEH, IRAN:26.5317:54.8217
|
||||
BANDAR MAHSHAHR, IRAN:30.5561:49.1517
|
||||
BALIKPAPAN, INDONESIA:-1.26806:116.894:503
|
||||
BALTIMORE, USA:39.1753:W76.6683:239
|
||||
BALURGHAT, INDIA:25.2608:88.7956:10
|
||||
BAMAKO, MALI:12.5333:W7.94972:245
|
||||
BAMBERG, GERMANY:49.9203:10.9142:54
|
||||
BAMENDA, CAMEROON:6.03917:10.1225:50
|
||||
BAM, IRAN:29.0839:58.4503:50
|
||||
BANDA ACEH, INDONESIA:5.52333:95.4203:61
|
||||
BANDAR ABBAS, IRAN:27.1581:56.1722:50
|
||||
BANDAR LENGEH, IRAN:26.5317:54.8217:2
|
||||
BANDAR MAHSHAHR, IRAN:30.5561:49.1517:20
|
||||
BANDIRMA, TURKEY:40.3178:27.9775:713
|
||||
BANDOUNDU, ZAIRE:-3.31111:17.3817
|
||||
BANDUNG, INDONESIA:-6.90056:107.576
|
||||
BANE HOUEI SAY, LAOS:20.2572:100.437
|
||||
BANGALORE, INDIA:12.9497:77.6681
|
||||
BANGASSOU, CENTRAL AFRICAN REP.:4.78444:22.7814
|
||||
BANGKOK, THAILAND:13.9125:100.607
|
||||
BANGOR, USA:44.8072:W68.8281
|
||||
BANGUI, CENTRAL AFRICAN REP.:4.39833:18.5186
|
||||
BANJA LUKA, BOSNIA-HERCEGOVINA:44.9414:17.2975
|
||||
BANJARMASIN, INDONESIA:-3.44194:114.761
|
||||
BANJUL, GAMBIA:13.3378:W16.6519
|
||||
BANMAW, MYANMAR:24.2689:97.2461
|
||||
BANNU, PAKISTAN:32.9719:70.5247
|
||||
BARACOA PLAYA, CUBA:20.3656:W74.5064
|
||||
BARAHONA, DOMINICAN REPUBLIC:18.2514:W71.1203
|
||||
BARBACENA, BRAZIL:-21.2669:W43.7608
|
||||
BARCELONA, SPAIN:41.40016140348051:2.159836908862287
|
||||
BARCELONA, VENEZUELA:10.1069:W64.6889
|
||||
BARDUFOSS, NORWAY:69.0556:18.5403
|
||||
BAREILLY, INDIA:28.4222:79.4497
|
||||
BANDOUNDU, ZAIRE:-3.31111:17.3817:222
|
||||
BANDUNG, INDONESIA:-6.90056:107.576:167
|
||||
BANGALORE, INDIA:12.9497:77.6681:741
|
||||
BANGKOK, THAILAND:13.9125:100.607:1569
|
||||
BANGOR, USA:44.8072:W68.8281:89
|
||||
BANGUI, CENTRAL AFRICAN REP.:4.39833:18.5186:67
|
||||
BANJA LUKA, BOSNIA-HERCEGOVINA:44.9414:17.2975:1239
|
||||
BANJARMASIN, INDONESIA:-3.44194:114.761:98
|
||||
BANJUL, GAMBIA:13.3378:W16.6519:12
|
||||
BANNU, PAKISTAN:32.9719:70.5247:100
|
||||
BARACOA PLAYA, CUBA:20.3656:W74.5064:977
|
||||
BARAHONA, DOMINICAN REPUBLIC:18.2514:W71.1203:163
|
||||
BARBACENA, BRAZIL:-21.2669:W43.7608:759
|
||||
BARCELONA, SPAIN:41.40016140348051:2.159836908862287:101
|
||||
BARCELONA, VENEZUELA:10.1069:W64.6889:135
|
||||
BARDUFOSS, NORWAY:69.0556:18.5403:2
|
||||
BAREILLY, INDIA:28.4222:79.4497:106
|
||||
BARI, ITALY:41.1383:16.7606:117
|
||||
BARINAS, VENEZUELA:8.61944:W70.2206
|
||||
BARKING SANDS, USA:22.0217:W159.787
|
||||
BARINAS, VENEZUELA:8.61944:W70.2206:322
|
||||
BARNAUL, RUSSIA:53.3639:83.5419:321
|
||||
BARODA, INDIA:22.3361:73.2261
|
||||
BARQUISIMETO, VENEZUELA:10.0425:W69.3583
|
||||
BARRA DEL COLORADO, COSTA RICA:10.7686:W83.5858
|
||||
BARRA DO GARCAS, BRAZIL:-15.8611:W52.3889
|
||||
BARRANCABERMEJA, COLOMBIA:7.02417:W73.8067
|
||||
BARRANQUILLA, COLOMBIA:10.8894:W74.7806
|
||||
BARROW ISLAND, ENGLAND:54.1297:W3.25611
|
||||
BARROW, USA:71.2853:W156.766
|
||||
BARTER ISLAND, USA:70.1339:W143.577
|
||||
BARODA, INDIA:22.3361:73.2261:220
|
||||
BARQUISIMETO, VENEZUELA:10.0425:W69.3583:353
|
||||
BARRA DEL COLORADO, COSTA RICA:10.7686:W83.5858:811
|
||||
BARRANCABERMEJA, COLOMBIA:7.02417:W73.8067:1154
|
||||
BARRANQUILLA, COLOMBIA:10.8894:W74.7806:154
|
||||
BARROW, USA:71.2853:W156.766:55
|
||||
BARTH, GERMANY:54.3381:12.71:40
|
||||
BASCO, PHILIPPINES:20.4517:121.98
|
||||
BASRAH, IRAQ:30.5486:47.6622
|
||||
BASSE TERRE, ST. KITTS & NEVIS:17.3111:W62.7186
|
||||
BASTAK, IRAN:27.2125:54.3183
|
||||
BASTIA, CORSE ISL.:42.5539:9.48333
|
||||
BATA, EQUATORIAL GUINEA:1.90528:9.80556
|
||||
BATAM, INDONESIA:1.12083:104.119
|
||||
BASRAH, IRAQ:30.5486:47.6622:181
|
||||
BASSE TERRE, ST. KITTS & NEVIS:17.3111:W62.7186:6
|
||||
BASTIA, CORSE ISL.:42.5539:9.48333:19
|
||||
BATA, EQUATORIAL GUINEA:1.90528:9.80556:50
|
||||
BATAM, INDONESIA:1.12083:104.119:1595
|
||||
BATMAN, TURKEY:37.9289:41.1161:563
|
||||
BATON ROUGE, USA:30.5331:W91.1494:199
|
||||
BATOURI, CAMEROON:4.47306:14.3636
|
||||
BATSFJORD, NORWAY:70.6:29.6925
|
||||
BATTAMBANG, CAMBODIA:13.0956:103.224
|
||||
BATTICALOA, SRI LANKA:7.70556:81.6778
|
||||
BATU LICIN, INDONESIA:-3.4125:115.996
|
||||
BAUCAU, WEST TIMOR:-8.48528:126.399
|
||||
BAUDETTE, USA:48.7283:W94.6122
|
||||
BAUMHOLDER, GERMANY:49.65:7.3
|
||||
BAURU, BRAZIL:-22.345:W49.0536
|
||||
BATSFJORD, NORWAY:70.6:29.6925:1435
|
||||
BATTAMBANG, CAMBODIA:13.0956:103.224:293
|
||||
BATTICALOA, SRI LANKA:7.70556:81.6778:50
|
||||
BAUDETTE, USA:48.7283:W94.6122:12
|
||||
BAUMHOLDER, GERMANY:49.65:7.3:69
|
||||
BAURU, BRAZIL:-22.345:W49.0536:667
|
||||
BAUTZEN, GERMANY:51.1933:14.5197:66
|
||||
BAYAMO, CUBA:20.3964:W76.6214
|
||||
BAYAMO, CUBA:20.3964:W76.6214:918
|
||||
BAYREUTH, GERMANY:49.9842:11.6383:66
|
||||
BEAUFORT, USA:32.4772:W80.7231
|
||||
BEAUMONT, USA:29.9508:W94.0206
|
||||
BEAUNE, FRANCE:47.0058:4.89333
|
||||
BEAUVAIS, FRANCE:49.4544:2.11278
|
||||
BEAUVECHAIN, BELGIUM:50.7586:4.76833
|
||||
BEDFORD, USA:42.4697:W71.2889
|
||||
BEER-SHEBA, ISRAEL:31.2869:34.7228
|
||||
BEIJING, CHINA:40.08:116.584:16808
|
||||
BEIRA, MOZAMBIQUE:-19.7964:34.9075
|
||||
BEIRUT, LEBANON:33.8133:35.4886
|
||||
BEJAJA, ALGERIA:36.7119:5.06972
|
||||
BEJA (MADEIRA), ACORES:38.0789:W7.93222
|
||||
BELEM, BRAZIL:-1.37917:W48.4761
|
||||
BEAUFORT, USA:32.4772:W80.7231:65
|
||||
BEAUMONT, USA:29.9508:W94.0206:220
|
||||
BEAUNE, FRANCE:47.0058:4.89333:31
|
||||
BEAUVAIS, FRANCE:49.4544:2.11278:33
|
||||
BEDFORD, USA:42.4697:W71.2889:36
|
||||
BEER-SHEBA, ISRAEL:31.2869:34.7228:117
|
||||
BEIJING, CHINA:40.08:116.584:16808:4144
|
||||
BEIRA, MOZAMBIQUE:-19.7964:34.9075:633
|
||||
BEIRUT, LEBANON:33.8133:35.4886:19
|
||||
BEJAJA, ALGERIA:36.7119:5.06972:120
|
||||
BELEM, BRAZIL:-1.37917:W48.4761:1059
|
||||
BELFAST, NORTH IRELAND:54.57925:W5.93892:115
|
||||
BELGAUM, INDIA:15.8592:74.6181
|
||||
BELIZE CITY, BELIZE:17.5389:W88.3081
|
||||
BELLEVILLE, USA:38.545:W89.835
|
||||
BELLINGHAM, USA:48.7925:W122.537
|
||||
BELO HORIZONTE, BRAZIL:-19.6336:W43.9686
|
||||
BENGHAZI, LIBYA:32.0967:20.2694
|
||||
BENGKULU, INDONESIA:-3.86389:102.341
|
||||
BENGUELA, ANGOLA:-12.6089:13.4036
|
||||
BENIN, NIGERIA:6.31722:5.59944
|
||||
BELGAUM, INDIA:15.8592:74.6181:94
|
||||
BELIZE CITY, BELIZE:17.5389:W88.3081:35
|
||||
BELLEVILLE, USA:38.545:W89.835:60
|
||||
BELLINGHAM, USA:48.7925:W122.537:79
|
||||
BELO HORIZONTE, BRAZIL:-19.6336:W43.9686:330
|
||||
BENGHAZI, LIBYA:32.0967:20.2694:314
|
||||
BENGKULU, INDONESIA:-3.86389:102.341:151
|
||||
BENGUELA, ANGOLA:-12.6089:13.4036:2100
|
||||
BENIN, NIGERIA:6.31722:5.59944:1204
|
||||
BENSON, ENGLAND:51.6161:W1.09556:9
|
||||
BEOGRAD, YUGOSLAVIA:44.8183:20.3089
|
||||
BEQUIA, ST.VINCENT/GRENADINES:12.9883:W61.2619
|
||||
BERBERA, SOMALIA:10.3892:44.9408
|
||||
BERBERATI, CENTRAL AFRICAN REP.:4.22139:15.7861
|
||||
BEOGRAD, YUGOSLAVIA:44.8183:20.3089:360
|
||||
BEQUIA, ST.VINCENT/GRENADINES:12.9883:W61.2619:367
|
||||
BERBERATI, CENTRAL AFRICAN REP.:4.22139:15.7861:67
|
||||
BERGAMO, ITALY:45.6739:9.70417:40
|
||||
BERGEN, NORWAY:60.2933:5.21806
|
||||
BERGERAC, FRANCE:44.8534568:0.487531
|
||||
BERGEN, NORWAY:60.2933:5.21806:445
|
||||
BERGERAC, FRANCE:44.8534568:0.487531:56
|
||||
BERLIN, GERMANY:52.5170365:13.3888599:891
|
||||
BERMEJO, BOLIVIA:-22.7694:W64.315
|
||||
BERN, SWITZERLAND:46.9139:7.49694
|
||||
BERTRIX, BELGIUM:49.8872:5.22861
|
||||
BESALAMPY, MADAGASCAR:-16.7419:44.4814
|
||||
BERMEJO, BOLIVIA:-22.7694:W64.315:5
|
||||
BERN, SWITZERLAND:46.9139:7.49694:51
|
||||
BERTRIX, BELGIUM:49.8872:5.22861:137
|
||||
BESANCON-LA-VEZE, FRANCE:47.2083:6.08306:5
|
||||
BETHEL, USA:60.7797:W161.838
|
||||
BETHLEHEM, SOUTH AFRICA:-28.2483:28.3361
|
||||
BETTLES, USA:66.9153:W151.528
|
||||
BEZIERS, FRANCE:43.3239:3.35556
|
||||
BHAIRAWA, NEPAL:27.5056:83.4161
|
||||
BHATINDA, INDIA:30.27:74.7556
|
||||
BHAUNAGAR, INDIA:21.7519:72.185
|
||||
BHIWANI, INDIA:28.8375:76.1775
|
||||
BHOPAL, INDIA:23.285:77.3372
|
||||
BHUBANESWAR, INDIA:20.2442:85.8178
|
||||
BHUJ, INDIA:23.2878:69.67
|
||||
BIAK, INDONESIA:-1.19:136.108
|
||||
BIARRITZ-BAYONNE, FRANCE:43.4683:W1.52306
|
||||
BETHEL, USA:60.7797:W161.838:129
|
||||
BETHLEHEM, SOUTH AFRICA:-28.2483:28.3361:27
|
||||
BETTLES, USA:66.9153:W151.528:4
|
||||
BEZIERS, FRANCE:43.3239:3.35556:95
|
||||
BHAIRAWA, NEPAL:27.5056:83.4161:36
|
||||
BHAUNAGAR, INDIA:21.7519:72.185:108
|
||||
BHOPAL, INDIA:23.285:77.3372:285
|
||||
BHUBANESWAR, INDIA:20.2442:85.8178:422
|
||||
BHUJ, INDIA:23.2878:69.67:56
|
||||
BIAK, INDONESIA:-1.19:136.108:1746
|
||||
BIARRITZ-BAYONNE, FRANCE:43.4683:W1.52306:11
|
||||
BIBERACH, GERMANY:48.1108:9.76278:72
|
||||
BIDAR, INDIA:17.9078:77.4858
|
||||
BIG MOUNTAIN, USA:59.3617:W155.257
|
||||
BIKANER, INDIA:28.0725:73.2067
|
||||
BILASPUR, INDIA:21.9886:82.1111
|
||||
BILBAO, SPAIN:43.3008:W2.91056
|
||||
BILOXI, USA:30.4108:W88.9236
|
||||
BIMA, INDONESIA:-8.53944:118.687
|
||||
BINTULU, MALAYSIA:3.17222:113.044
|
||||
BIRAO, CENTRAL AFRICAN REP.:10.2361:22.7172
|
||||
BIRATNAGAR, NEPAL:26.4833:87.2636
|
||||
BIRJAND, IRAN:32.8956:59.2756
|
||||
BIDAR, INDIA:17.9078:77.4858:43
|
||||
BIKANER, INDIA:28.0725:73.2067:155
|
||||
BILASPUR, INDIA:21.9886:82.1111:205
|
||||
BILBAO, SPAIN:43.3008:W2.91056:41
|
||||
BILOXI, USA:30.4108:W88.9236:175
|
||||
BIMA, INDONESIA:-8.53944:118.687:222
|
||||
BIRATNAGAR, NEPAL:26.4833:87.2636:58
|
||||
BIRJAND, IRAN:32.8956:59.2756:50
|
||||
BIRMINGHAM, ENGLAND:52.4796992:W1.9026911:267
|
||||
BIRMINGHAM, USA:33.5628:W86.7533
|
||||
BIR MOGHREIN, MAURITANIA:25.2367:W11.5886
|
||||
BISHA, SAUDI ARABIA:19.9839:42.6228
|
||||
BIRMINGHAM, USA:33.5628:W86.7533:383
|
||||
BISHKEK, RUSSIA:43.0617:74.4783:169
|
||||
BISHO, SOUTH AFRICA:-32.8969:27.2789
|
||||
BISKRA, ALGERIA:34.7931:5.73806
|
||||
BISSAU, GUINEA BISSAU:11.8947:W15.6536
|
||||
BITAM, GABON:2.07556:11.4931
|
||||
BIZERTE, TUNISIA:37.2453:9.79139
|
||||
BJORKVIK, SWEDEN:58.7908:16.5708
|
||||
BLACKBUSHE, ENGLAND:51.3239:W0.8475
|
||||
BISHO, SOUTH AFRICA:-32.8969:27.2789:8
|
||||
BISKRA, ALGERIA:34.7931:5.73806:127
|
||||
BISSAU, GUINEA BISSAU:11.8947:W15.6536:77
|
||||
BLACKPOOL, ENGLAND:53.7717:W3.02861:34
|
||||
BLAGOVESCHENSK, RUSSIA:50.4217:127.41:321
|
||||
BLANTYRE, MALAWI:-15.6789:34.9739
|
||||
BLIDA, ALGERIA:36.5036:2.81417
|
||||
BLOEMFONTEIN, SOUTH AFRICA:-29.0328:26.1575
|
||||
BLUEFIELDS, NICARAGUA:11.9889:W83.7742
|
||||
BLYTHEVILLE, USA:35.9642:W89.9433
|
||||
BOA VISTA, BRAZIL:2.84611:W60.69
|
||||
BOA VISTA, CAPE VERDE ISLANDS:16.1367:W22.8889
|
||||
BOBO-DIOULASSO, BURKINA FASO:11.16:W4.33083
|
||||
BOCA RATON, USA:26.3783:W80.1075
|
||||
BOCAS DEL TORO, PANAMA:9.34083:W82.2508
|
||||
BODOE, NORWAY:67.2689:14.3633
|
||||
BOGOTA, COLOMBIA:4.6533326:W74.083652
|
||||
BLANTYRE, MALAWI:-15.6789:34.9739:240
|
||||
BLIDA, ALGERIA:36.5036:2.81417:53
|
||||
BLOEMFONTEIN, SOUTH AFRICA:-29.0328:26.1575:236
|
||||
BLYTHEVILLE, USA:35.9642:W89.9433:53
|
||||
BOA VISTA, CAPE VERDE ISLANDS:16.1367:W22.8889:631
|
||||
BOBO-DIOULASSO, BURKINA FASO:11.16:W4.33083:136
|
||||
BOCA RATON, USA:26.3783:W80.1075:81
|
||||
BODOE, NORWAY:67.2689:14.3633:1395
|
||||
BOGOTA, COLOMBIA:4.6533326:W74.083652:1775
|
||||
BOISE, USA:43.5642:W116.223:206
|
||||
BOJNORD, IRAN:37.4931:57.3006
|
||||
BOKARO, INDIA:23.6433:86.1486
|
||||
BOLIVAR, ARGENTINA:-36.1869:W61.0761
|
||||
BOJNORD, IRAN:37.4931:57.3006:36
|
||||
BOKARO, INDIA:23.6433:86.1486:183
|
||||
BOLOGNA, ITALY:44.5342:11.2903:140
|
||||
BOLZANO, ITALY:46.4606:11.3261:52
|
||||
BOMBAY, INDIA:19.0886:72.8678
|
||||
BOM JESUS DA LAPA, BRAZIL:-13.2619:W43.4081
|
||||
BOMOEN, NORWAY:60.6386:6.50139
|
||||
BORA BORA, FRENCH POLYNESIA:-16.4442:W151.751
|
||||
BORDEAUX, FRANCE:44.841225:W0.5800364
|
||||
BORDJ EL AMRI, TUNISIA:36.7211:9.94306
|
||||
BOMBAY, INDIA:19.0886:72.8678:603
|
||||
BOM JESUS DA LAPA, BRAZIL:-13.2619:W43.4081:4116
|
||||
BORA BORA, FRENCH POLYNESIA:-16.4442:W151.751:30
|
||||
BORDEAUX, FRANCE:44.841225:W0.5800364:49
|
||||
BORKUM, GERMANY:53.5953:6.70917:30
|
||||
BORLANGE, SWEDEN:60.4219:15.515
|
||||
BOSCOMBE DOWN, ENGLAND:51.1519:W1.74722
|
||||
BORLANGE, SWEDEN:60.4219:15.515:34
|
||||
BOSTON, USA:42.3642:W71.005:232
|
||||
BOTHAVILLE, SOUTH AFRICA:-27.3667:26.6292
|
||||
BOUAKE, IVORY COAST:7.73861:W5.07361
|
||||
BOUAR, CENTRAL AFRICAN REP.:5.95806:15.6375
|
||||
BOUFARIK, ALGERIA:36.5458:2.87611
|
||||
BOURGAS, BULGARIA:42.5689:27.5139
|
||||
BOURGES, FRANCE:47.0581:2.37028
|
||||
BOURG, FRANCE:46.2008:5.29194
|
||||
BOTHAVILLE, SOUTH AFRICA:-27.3667:26.6292:43
|
||||
BOUAKE, IVORY COAST:7.73861:W5.07361:71
|
||||
BOUFARIK, ALGERIA:36.5458:2.87611:50
|
||||
BOURGAS, BULGARIA:42.5689:27.5139:253
|
||||
BOURGES, FRANCE:47.0581:2.37028:68
|
||||
BOURG, FRANCE:46.2008:5.29194:10
|
||||
BOURNEMOUTH, ENGLAND:50.7423141383493:W1.8999454858886722:46
|
||||
BOU SAADA, ALGERIA:35.3325:4.20639
|
||||
BOU SFER, ALGERIA:35.7353:W0.805278
|
||||
BRADSHAW FIELD, USA:19.76:W155.554
|
||||
BOU SAADA, ALGERIA:35.3325:4.20639:249
|
||||
BOU SFER, ALGERIA:35.7353:W0.805278:46
|
||||
BRAGA, ACORES:41.5869:W8.445
|
||||
BRAGANCA, ACORES:41.8683:W6.71194
|
||||
BRAKPAN, SOUTH AFRICA:-26.2386:28.3017
|
||||
BRANDON, CANADA:49.91:W99.9519
|
||||
BRASILIA, BRAZIL:-15.8625:W47.9125
|
||||
BRASSCHAAT, BELGIUM:51.3333:4.5
|
||||
BRATISLAVA, SLOVAKIA:48.17:17.2125
|
||||
BRAKPAN, SOUTH AFRICA:-26.2386:28.3017:182
|
||||
BRANDON, CANADA:49.91:W99.9519:77
|
||||
BRASILIA, BRAZIL:-15.8625:W47.9125:5802
|
||||
BRASSCHAAT, BELGIUM:51.3333:4.5:38
|
||||
BRATISLAVA, SLOVAKIA:48.17:17.2125:367
|
||||
BRATSK, RUSSIA:56.3708:101.699:262
|
||||
BRAUNSCHWEIG, GERMANY:52.3192:10.5561:192
|
||||
BRAZZAVILLE, CONGO:-4.25167:15.2528
|
||||
BRAZZAVILLE, CONGO:-4.25167:15.2528:263
|
||||
BREMEN, GERMANY:53.0758196:8.8071646:326
|
||||
BREMERHAVEN, GERMANY:53.5033:8.57333:93
|
||||
BREST, FRANCE:48.4478:W4.41833:49
|
||||
BRIA, CENTRAL AFRICAN REP.:6.52806:21.9889
|
||||
BRIDGETOWN, BARBADOS:13.0744:W59.4922
|
||||
BRIENNE-LE CHATEAU, FRANCE:48.4297:4.48111
|
||||
BRIA, CENTRAL AFRICAN REP.:6.52806:21.9889:2
|
||||
BRIDGETOWN, BARBADOS:13.0744:W59.4922:38
|
||||
BRIENNE-LE CHATEAU, FRANCE:48.4297:4.48111:21
|
||||
BRINDISI, ITALY:40.6575:17.9469:333
|
||||
BRISBANE, AUSTRALIA:-27.467778:153.028056:1000
|
||||
BRISTOL, ENGLAND:51.4538022:W2.5972985:110
|
||||
BRIVE, FRANCE:45.1508:1.46917
|
||||
BRONNOYSUND, NORWAY:65.4592:12.2136
|
||||
BROUGH, ENGLAND:53.7194:W0.566111
|
||||
BROUGHTON ISLAND, CANADA:67.5458:W64.0314
|
||||
BROWNSVILLE, USA:25.9067:W97.4258
|
||||
BRIVE, FRANCE:45.1508:1.46917:48
|
||||
BRONNOYSUND, NORWAY:65.4592:12.2136:4
|
||||
BROWNSVILLE, USA:25.9067:W97.4258:376
|
||||
BROYE-LES-PESMES, FRANCE:47.335:5.51361:25
|
||||
BRUECKEBURG, GERMANY:52.2783:9.08194
|
||||
BRUEGGEN, GERMANY:51.1997:6.13194
|
||||
BRUNEI, BRUNEI:4.94556:114.928
|
||||
BRUSSELS, BELGIUM:50.9022:4.49861
|
||||
BRUECKEBURG, GERMANY:52.2783:9.08194:68
|
||||
BRUEGGEN, GERMANY:51.1997:6.13194:61
|
||||
BRUSSELS, BELGIUM:50.9022:4.49861:32
|
||||
BRYANSK, RUSSIA:53.2142:34.1764:186
|
||||
BRYAN, USA:30.7156:W96.3311
|
||||
BUATTIFEL, LIBYA:28.7953:22.0808
|
||||
BUCARAMANGA, COLOMBIA:7.12639:W73.1847
|
||||
BUCHAREST, ROMANIA:44.5031:26.1019
|
||||
BUCKLEY, USA:39.7017:W104.751
|
||||
BRYAN, USA:30.7156:W96.3311:140
|
||||
BUCARAMANGA, COLOMBIA:7.12639:W73.1847:162
|
||||
BUCHAREST, ROMANIA:44.5031:26.1019:228
|
||||
BUCKLEY, USA:39.7017:W104.751:10
|
||||
BUDAPEST, HUNGARY:47.4367:19.2556:525
|
||||
BUECHEL, GERMANY:50.1736:7.06333
|
||||
BUENAVENTURA, COLOMBIA:3.81944:W76.9897
|
||||
BUENOS AIRES, ARGENTINA:-34.5006:W58.6042
|
||||
BUENOS AIRES, COSTA RICA:9.16694:W83.3325
|
||||
BUFFALO NARROWS, CANADA:55.8419:W108.418
|
||||
BUFFALO, USA:42.9403:W78.7319
|
||||
BUJUMBURA, BURUNDI:-3.32389:29.3183
|
||||
BUKAVU/KAVUMU, ZAIRE:-2.30889:28.8086
|
||||
BUECHEL, GERMANY:50.1736:7.06333:12
|
||||
BUENAVENTURA, COLOMBIA:3.81944:W76.9897:50
|
||||
BUENOS AIRES, ARGENTINA:-34.5006:W58.6042:203
|
||||
BUENOS AIRES, COSTA RICA:9.16694:W83.3325:555
|
||||
BUFFALO NARROWS, CANADA:55.8419:W108.418:68
|
||||
BUFFALO, USA:42.9403:W78.7319:136
|
||||
BUJUMBURA, BURUNDI:-3.32389:29.3183:86
|
||||
BUKAVU/KAVUMU, ZAIRE:-2.30889:28.8086:45
|
||||
BUKHARA, RUSSIA:39.775:64.48:143
|
||||
BULAWAYO, ZIMBABWE:-20.0172:28.6178
|
||||
BULLOCKS HARBOUR, BAHAMAS:25.7381:W77.84
|
||||
BUNIA, ZAIRE:1.56556:30.2208
|
||||
BUOCHS, SWITZERLAND:46.9747:8.39889
|
||||
BURBANK, USA:34.2006:W118.359
|
||||
BURGOS, SPAIN:42.3575:W3.62056
|
||||
BURLINGTON, USA:44.4717:W73.1531
|
||||
BULAWAYO, ZIMBABWE:-20.0172:28.6178:1707
|
||||
BUNIA, ZAIRE:1.56556:30.2208:576
|
||||
BURBANK, USA:34.2006:W118.359:44
|
||||
BURGOS, SPAIN:42.3575:W3.62056:107
|
||||
BURLINGTON, USA:44.4717:W73.1531:40
|
||||
BURSA, TURKEY:40.2317:29.0092:1036
|
||||
BURWASH, CANADA:61.3711:W139.041
|
||||
BUSAN, KOREA:35.1708:129.129
|
||||
BUSHEHR, IRAN:28.9447:50.8344
|
||||
BUSH FIELD, USA:33.3697:W81.9644
|
||||
BUTA ZEGA, ZAIRE:2.81778:24.7939
|
||||
BUTTERWORTH, MALAYSIA:5.46583:100.391
|
||||
BYHOLMA, SWEDEN:56.785:13.6017
|
||||
BURWASH, CANADA:61.3711:W139.041:30
|
||||
BUSAN, KOREA:35.1708:129.129:770
|
||||
BUSHEHR, IRAN:28.9447:50.8344:50
|
||||
CABALLOCOCHA, PERU:-3.91667:W70.5081
|
||||
CABINDA, ANGOLA:-5.59694:12.1883
|
||||
CABO ROJO, DOMINICAN REPUBLIC:17.9289:W71.6447
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "ActivityPub"
|
||||
|
||||
import os
|
||||
from follow import followedAccountAccepts
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Metadata"
|
||||
|
||||
import os
|
||||
from utils import loadJson
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Profile Metadata"
|
||||
|
||||
|
||||
def getMatrixAddress(actorJson: {}) -> str:
|
||||
|
|
|
|||
1
media.py
1
media.py
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Timeline"
|
||||
|
||||
import os
|
||||
import datetime
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Metadata"
|
||||
|
||||
import os
|
||||
from utils import isAccountDir
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Core"
|
||||
|
||||
import os
|
||||
from utils import getNicknameFromActor
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "RSS Feeds"
|
||||
|
||||
# Example hashtag logic:
|
||||
#
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "RSS Feeds"
|
||||
|
||||
import os
|
||||
import json
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Timeline"
|
||||
|
||||
import os
|
||||
from shutil import copyfile
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "ActivityPub"
|
||||
|
||||
import time
|
||||
import os
|
||||
|
|
@ -1208,7 +1209,7 @@ def setPersonNotes(baseDir: str, nickname: str, domain: str,
|
|||
return True
|
||||
|
||||
|
||||
def getActorJson(handle: str, http: bool, gnunet: bool,
|
||||
def getActorJson(hostDomain: str, handle: str, http: bool, gnunet: bool,
|
||||
debug: bool, quiet=False) -> ({}, {}):
|
||||
"""Returns the actor json
|
||||
"""
|
||||
|
|
@ -1353,7 +1354,7 @@ def getActorJson(handle: str, http: bool, gnunet: bool,
|
|||
}
|
||||
personJson = \
|
||||
getJson(session, personUrl, asHeader, None,
|
||||
debug, __version__, httpPrefix, None, 20, quiet)
|
||||
debug, __version__, httpPrefix, hostDomain, 20, quiet)
|
||||
if personJson:
|
||||
if not quiet:
|
||||
pprint(personJson)
|
||||
|
|
|
|||
17
pgp.py
17
pgp.py
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Profile Metadata"
|
||||
|
||||
import os
|
||||
import subprocess
|
||||
|
|
@ -331,12 +332,13 @@ def _pgpEncrypt(content: str, recipientPubKey: str) -> str:
|
|||
return encryptResult
|
||||
|
||||
|
||||
def _getPGPPublicKeyFromActor(handle: str, actorJson=None) -> str:
|
||||
def _getPGPPublicKeyFromActor(domain: str, handle: str, actorJson=None) -> str:
|
||||
"""Searches tags on the actor to see if there is any PGP
|
||||
public key specified
|
||||
"""
|
||||
if not actorJson:
|
||||
actorJson, asHeader = getActorJson(handle, False, False, False, True)
|
||||
actorJson, asHeader = \
|
||||
getActorJson(domain, handle, False, False, False, True)
|
||||
if not actorJson:
|
||||
return None
|
||||
if not actorJson.get('attachment'):
|
||||
|
|
@ -368,18 +370,18 @@ def hasLocalPGPkey() -> bool:
|
|||
return False
|
||||
|
||||
|
||||
def pgpEncryptToActor(content: str, toHandle: str) -> str:
|
||||
def pgpEncryptToActor(domain: str, content: str, toHandle: str) -> str:
|
||||
"""PGP encrypt a message to the given actor or handle
|
||||
"""
|
||||
# get the actor and extract the pgp public key from it
|
||||
recipientPubKey = _getPGPPublicKeyFromActor(toHandle)
|
||||
recipientPubKey = _getPGPPublicKeyFromActor(domain, toHandle)
|
||||
if not recipientPubKey:
|
||||
return None
|
||||
# encrypt using the recipient public key
|
||||
return _pgpEncrypt(content, recipientPubKey)
|
||||
|
||||
|
||||
def pgpDecrypt(content: str, fromHandle: str) -> str:
|
||||
def pgpDecrypt(domain: str, content: str, fromHandle: str) -> str:
|
||||
""" Encrypt using your default pgp key to the given recipient
|
||||
fromHandle can be a handle or actor url
|
||||
"""
|
||||
|
|
@ -390,7 +392,7 @@ def pgpDecrypt(content: str, fromHandle: str) -> str:
|
|||
if containsPGPPublicKey(content):
|
||||
pubKey = extractPGPPublicKey(content)
|
||||
else:
|
||||
pubKey = _getPGPPublicKeyFromActor(content, fromHandle)
|
||||
pubKey = _getPGPPublicKeyFromActor(domain, content, fromHandle)
|
||||
if pubKey:
|
||||
_pgpImportPubKey(pubKey)
|
||||
|
||||
|
|
@ -476,7 +478,8 @@ def pgpPublicKeyUpload(baseDir: str, session,
|
|||
if debug:
|
||||
print('Getting actor for ' + handle)
|
||||
|
||||
actorJson, asHeader = getActorJson(handle, False, False, debug, True)
|
||||
actorJson, asHeader = \
|
||||
getActorJson(domain, handle, False, False, debug, True)
|
||||
if not actorJson:
|
||||
if debug:
|
||||
print('No actor returned for ' + handle)
|
||||
|
|
|
|||
1
posts.py
1
posts.py
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "ActivityPub"
|
||||
|
||||
import json
|
||||
import html
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "ActivityPub"
|
||||
|
||||
import os
|
||||
from utils import locatePost
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Calendar"
|
||||
|
||||
import os
|
||||
import time
|
||||
|
|
|
|||
|
|
@ -0,0 +1,7 @@
|
|||
#!/bin/bash
|
||||
journalctl -u epicyon | grep 'getJson Forbidden ' > .blocked_events.txt
|
||||
if [ ! -f .blocked_events.txt ]; then
|
||||
echo 'No blocking events'
|
||||
else
|
||||
cat .blocked_events.txt
|
||||
fi
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
#!/bin/bash
|
||||
journalctl -u epicyon | grep 'getJson Unauthorized ' > .unauthorized.txt
|
||||
if [ ! -f .unauthorized.txt ]; then
|
||||
echo 'No unauthorized events'
|
||||
else
|
||||
cat .unauthorized.txt
|
||||
fi
|
||||
30
session.py
30
session.py
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Core"
|
||||
|
||||
import os
|
||||
import requests
|
||||
|
|
@ -12,6 +13,7 @@ from utils import urlPermitted
|
|||
import json
|
||||
from socket import error as SocketError
|
||||
import errno
|
||||
from http.client import HTTPConnection
|
||||
|
||||
baseDirectory = None
|
||||
|
||||
|
|
@ -103,27 +105,41 @@ def getJson(session, url: str, headers: {}, params: {}, debug: bool,
|
|||
if not quiet:
|
||||
print('WARN: getJson failed, no session specified for getJson')
|
||||
return None
|
||||
|
||||
if debug:
|
||||
HTTPConnection.debuglevel = 1
|
||||
|
||||
try:
|
||||
result = session.get(url, headers=sessionHeaders,
|
||||
params=sessionParams, timeout=timeoutSec)
|
||||
if result.status_code != 200:
|
||||
if result.status_code == 401:
|
||||
print('WARN: getJson Unauthorized url: ' + url)
|
||||
elif result.status_code == 403:
|
||||
print('WARN: getJson Forbidden url: ' + url)
|
||||
elif result.status_code == 404:
|
||||
print('WARN: getJson Not Found url: ' + url)
|
||||
else:
|
||||
print('WARN: getJson url: ' + url +
|
||||
' failed with error code ' +
|
||||
str(result.status_code))
|
||||
return result.json()
|
||||
except requests.exceptions.RequestException as e:
|
||||
sessionHeaders2 = sessionHeaders.copy()
|
||||
if sessionHeaders2.get('Authorization'):
|
||||
sessionHeaders2['Authorization'] = 'REDACTED'
|
||||
if debug and not quiet:
|
||||
print('ERROR: getJson failed\nurl: ' + str(url) + ' ' +
|
||||
'headers: ' + str(sessionHeaders2) + ' ' +
|
||||
'params: ' + str(sessionParams))
|
||||
print(e)
|
||||
print('ERROR: getJson failed, url: ' + str(url) + ', ' +
|
||||
'headers: ' + str(sessionHeaders2) + ', ' +
|
||||
'params: ' + str(sessionParams) + ', ' + str(e))
|
||||
except ValueError as e:
|
||||
sessionHeaders2 = sessionHeaders.copy()
|
||||
if sessionHeaders2.get('Authorization'):
|
||||
sessionHeaders2['Authorization'] = 'REDACTED'
|
||||
if debug and not quiet:
|
||||
print('ERROR: getJson failed\nurl: ' + str(url) + ' ' +
|
||||
'headers: ' + str(sessionHeaders2) + ' ' +
|
||||
'params: ' + str(sessionParams) + ' ' + str(e))
|
||||
print('ERROR: getJson failed, url: ' + str(url) + ', ' +
|
||||
'headers: ' + str(sessionHeaders2) + ', ' +
|
||||
'params: ' + str(sessionParams) + ', ' + str(e))
|
||||
except SocketError as e:
|
||||
if not quiet:
|
||||
if e.errno == errno.ECONNRESET:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Timeline"
|
||||
|
||||
import os
|
||||
import time
|
||||
|
|
|
|||
1
ssb.py
1
ssb.py
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Profile Metadata"
|
||||
|
||||
|
||||
def getSSBAddress(actorJson: {}) -> str:
|
||||
|
|
|
|||
25
tests.py
25
tests.py
|
|
@ -2877,6 +2877,7 @@ def testFunctions():
|
|||
function = {}
|
||||
functionProperties = {}
|
||||
modules = {}
|
||||
modGroups = {}
|
||||
|
||||
for subdir, dirs, files in os.walk('.'):
|
||||
for sourceFile in files:
|
||||
|
|
@ -2894,6 +2895,17 @@ def testFunctions():
|
|||
lines = f.readlines()
|
||||
modules[modName]['lines'] = lines
|
||||
for line in lines:
|
||||
if '__module_group__' in line:
|
||||
if '=' in line:
|
||||
groupName = line.split('=')[1].strip()
|
||||
groupName = groupName.replace('"', '')
|
||||
groupName = groupName.replace("'", '')
|
||||
modules[modName]['group'] = groupName
|
||||
if not modGroups.get(groupName):
|
||||
modGroups[groupName] = [modName]
|
||||
else:
|
||||
if modName not in modGroups[groupName]:
|
||||
modGroups[groupName].append(modName)
|
||||
if not line.strip().startswith('def '):
|
||||
continue
|
||||
methodName = line.split('def ', 1)[1].split('(')[0]
|
||||
|
|
@ -3134,6 +3146,19 @@ def testFunctions():
|
|||
continue
|
||||
for modCall in modProperties['calls']:
|
||||
callGraphStr += ' "' + modName + '" -> "' + modCall + '";\n'
|
||||
# module groups/clusters
|
||||
clusterCtr = 1
|
||||
for groupName, groupModules in modGroups.items():
|
||||
callGraphStr += '\n'
|
||||
callGraphStr += \
|
||||
' subgraph cluster_' + str(clusterCtr) + ' {\n'
|
||||
callGraphStr += ' node [style=filled];\n'
|
||||
for modName in groupModules:
|
||||
callGraphStr += ' ' + modName + ';\n'
|
||||
callGraphStr += ' label = "' + groupName + '";\n'
|
||||
callGraphStr += ' color = blue;\n'
|
||||
callGraphStr += ' }\n'
|
||||
clusterCtr += 1
|
||||
callGraphStr += '\n}\n'
|
||||
with open('epicyon_modules.dot', 'w+') as fp:
|
||||
fp.write(callGraphStr)
|
||||
|
|
|
|||
1
tox.py
1
tox.py
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Profile Metadata"
|
||||
|
||||
|
||||
def getToxAddress(actorJson: {}) -> str:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Web Interface"
|
||||
|
||||
import os
|
||||
from shutil import copyfile
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Web Interface"
|
||||
|
||||
import os
|
||||
from utils import isAccountDir
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Calendar"
|
||||
|
||||
import os
|
||||
from datetime import datetime
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Web Interface"
|
||||
|
||||
import os
|
||||
from utils import getConfigParam
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Web Interface"
|
||||
|
||||
import os
|
||||
from datetime import datetime
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Web Interface"
|
||||
|
||||
import os
|
||||
from shutil import copyfile
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Web Interface"
|
||||
|
||||
import os
|
||||
from utils import isPublicPostFromUrl
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Web Interface"
|
||||
|
||||
import os
|
||||
from utils import isSystemAccount
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Web Interface"
|
||||
|
||||
import os
|
||||
from shutil import copyfile
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Web Interface"
|
||||
|
||||
|
||||
import os
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Web Interface"
|
||||
|
||||
import os
|
||||
import time
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Web Interface"
|
||||
|
||||
import os
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Web Interface"
|
||||
|
||||
import os
|
||||
from utils import getFullDomain
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Web Interface"
|
||||
|
||||
import os
|
||||
from shutil import copyfile
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Web Interface"
|
||||
|
||||
import os
|
||||
import time
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Web Interface"
|
||||
|
||||
import os
|
||||
from pprint import pprint
|
||||
|
|
@ -79,7 +80,7 @@ def htmlProfileAfterSearch(cssCache: {},
|
|||
elif httpPrefix == 'gnunet':
|
||||
gnunet = True
|
||||
profileJson, asHeader = \
|
||||
getActorJson(profileHandle, http, gnunet, debug, False)
|
||||
getActorJson(domain, profileHandle, http, gnunet, debug, False)
|
||||
if not profileJson:
|
||||
return None
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Web Interface"
|
||||
|
||||
import os
|
||||
from question import isQuestion
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Web Interface"
|
||||
|
||||
import os
|
||||
from shutil import copyfile
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Web Interface"
|
||||
|
||||
import os
|
||||
from utils import getConfigParam
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Timeline"
|
||||
|
||||
import os
|
||||
import time
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Web Interface"
|
||||
|
||||
import os
|
||||
from shutil import copyfile
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Web Interface"
|
||||
|
||||
import os
|
||||
from collections import OrderedDict
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Web Interface"
|
||||
|
||||
import os
|
||||
from shutil import copyfile
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Web Interface"
|
||||
|
||||
import os
|
||||
from shutil import copyfile
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "Web Interface"
|
||||
|
||||
import os
|
||||
from shutil import copyfile
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ __version__ = "1.2.0"
|
|||
__maintainer__ = "Bob Mottram"
|
||||
__email__ = "bob@freedombone.net"
|
||||
__status__ = "Production"
|
||||
__module_group__ = "ActivityPub"
|
||||
|
||||
import os
|
||||
import urllib.parse
|
||||
|
|
|
|||
Loading…
Reference in New Issue