Roland Häder [Tue, 13 Jun 2023 22:43:29 +0000 (00:43 +0200)]
Continued:
- reformatted ({}) block
- commented out debug line
- converted print("", foo, bar) to masked (f) version
- fixed logic bug when not all needed steps were executed
Roland Häder [Tue, 13 Jun 2023 21:05:52 +0000 (23:05 +0200)]
Continued:
- always add non-existing instances, also when their software type is not
detectable, e.g. not existing
- also skip recently checked instances
Roland Häder [Tue, 13 Jun 2023 20:16:46 +0000 (22:16 +0200)]
Continued:
- re-introduced wrapper function around each column of the "model" `instances`
- marked set_data() as private (now named _set_data())
- these wrappers do NOT invoke instances.update_data(), you have to do this
from your code
Roland Häder [Tue, 13 Jun 2023 16:26:43 +0000 (18:26 +0200)]
Continued:
- 'data' is optional, e.g. empty POST bodies are okay
- fixed handling of JSON replies from peertube instances:
- the request /api/v1/server/followers is correct, then always the JSON has
"follow" and "following" as elements
Roland Häder [Tue, 13 Jun 2023 09:32:02 +0000 (11:32 +0200)]
Continued:
- domain/path might be a valid installation path, but some bug in Friendica
caused my instance to be reported as 'f.haeder.net/featured' which sucks
- still we need to let domain/path pass here as some installations might
be happening to be installed in such a way
- sure, best option is always a sub-domain ...
Roland Häder [Mon, 12 Jun 2023 22:01:25 +0000 (00:01 +0200)]
Continued:
- moved blocks, instances to new package fba.models as these modules are only
around a database table with the same name
- movved+renamed fba.log_error() to fba.models.error_log.add()
- pleroma has a /instance/about/index.html "API" which can be parsed for
block lists if the JSON has returned no 'mrf_simple' and
'quarantined_instances'
Roland Häder [Mon, 12 Jun 2023 09:22:57 +0000 (11:22 +0200)]
Continued:
- introduced instances.deobsure() for simple deobscuring attempts, e.g. when
they use * or ? when they don't want to show the domain, you can still
deobsfucate it with the hash (some provide it) or obscured domain itself
Roland Häder [Mon, 12 Jun 2023 02:48:04 +0000 (04:48 +0200)]
WIP:
- rewrote from out-dated federater blocklist to multiple up-to-date oliphant
blocklists
- also prepared for local file support (documentation prepared)
Roland Häder [Sun, 11 Jun 2023 17:59:08 +0000 (19:59 +0200)]
Continued:
- also cut off trailing double-dot (some people cannot format their data in
tables properly)
- a wildcat might be at the start of the string, so start checking there for it
Roland Häder [Sun, 11 Jun 2023 17:09:53 +0000 (19:09 +0200)]
Continued:
- reason['reason'] had been handled to tidyup.reason() which caused an error
- it needed to be flexible "detected": str, dict are only supported types for now
Roland Häder [Sun, 11 Jun 2023 16:31:22 +0000 (18:31 +0200)]
Continued:
- fixed handling of 404 (no exception) case when nodeinfo wasn't found
- copied (WIP!) fetching /about page to pleroma
- also added /about to /about/more as possible pages for misskey
Roland Häder [Sun, 11 Jun 2023 15:57:51 +0000 (17:57 +0200)]
Continued:
- .arpa domains are reverse-ip-address domains and should not be used generally
- please choose a proper domain name, e.g. lemmy.myhomepage.tld
Roland Häder [Sun, 11 Jun 2023 13:20:43 +0000 (15:20 +0200)]
Continued:
- removed another broad except block
- added missing variable initialization
- there is no 'domain', aka. instance here
- fixed bare-except, you can use 'if foo in bar' instead
Roland Häder [Sun, 11 Jun 2023 12:49:07 +0000 (14:49 +0200)]
Continued:
- handle typical network exceptions here, too
- don't sys.exit() here anymore, exit function properly
- don't 'break' here, there was no loop, better return proper error code
- fixed a few problems, found by pylint
Roland Häder [Sat, 10 Jun 2023 16:50:26 +0000 (18:50 +0200)]
Continued:
- caught more specific exception and not broad BaseException (still some are
left)
- renamed variable blocks -> blocking to avoid confusion with imported
fba.blocks
Roland Häder [Sat, 10 Jun 2023 14:29:43 +0000 (16:29 +0200)]
WIP:
- introduced network.fetch_api_url() which takes a whole URL (not domain/path
separated) and returns it's reply in a json_reply dictionary as both other
API functions are handling it
Roland Häder [Fri, 9 Jun 2023 21:29:18 +0000 (23:29 +0200)]
Continued:
- removed remains of code around pending_errors dictionary
- rewrote it towards instances.update_last_error()
- also rewrote/removed some try/except blocks
Roland Häder [Fri, 9 Jun 2023 17:52:11 +0000 (19:52 +0200)]
Continued:
- renamed fba/federation/ -> fba/networks/ to make room for ...
- added fba.federation.py module which has generic functions for federation
- introduced fba/locking.py module
- renamed aqcuire_lock() -> aqcuire()
- added locking.release()
- introduced fba/helpers/dict.py and tidyup.py
- renamed tidyu_*() to tidyup.*()
- this all-in-all was an attempt to fix cyclic imports, still some are left
Roland Häder [Fri, 9 Jun 2023 09:57:40 +0000 (11:57 +0200)]
Continued:
- renaming 'exception' to 'exc' didn't fix the problem, I thought here about
overlapping/overwriting definitions
- but pylint3 would have it shown anyway
Roland Häder [Fri, 9 Jun 2023 08:21:38 +0000 (10:21 +0200)]
Continued:
- ignored more files (tracing, coverage)
- rewrote towards fba.csrf.determine() so it will always be determined, causes
another request unfortunately
- or can we somehow save the cookie jar ?
- logging of errors can now be disabled for debug purposes
Roland Häder [Fri, 9 Jun 2023 03:32:23 +0000 (05:32 +0200)]
Continued:
- the repository is more up-to-date, let's fetch this instead
- had to parse the markdown code back to HTML to be able to traverse with
existing code over it