Allow users to control what content they see or don't in their timelines
by exposing author and retweeter information via dedicated CSS classes.
Using adblock extensions is at least a little of a cop out, especially
considered the changes to extensions that Chrome will soon force on
extensions, but it's also the simplest change that will do the trick...
at least on desktop.
Server-side blocking would require an account system to exist, whereas
javascript-side blocking would require javascript to be enabled,
something that nitter doesn't give for granted (see also: video
playback). Javascript-side blocking would also benefit some kind of
change very much like the one I'm making here (the alternative being
scraping the DOM this piece of code is generating).
Hello. `shallowCopy` has been removed for ARC/ORC since it does a deep copy for strings/seqs, which breaks the semantics of `shallowCopy`. https://github.com/Araq/packedjson/pull/13 is a fix for `packedjson` to support ARC/ORC. The PR bumps `packedjson` dependency to include [a fix](9e6fbb63cb) for ARC/ORC.
Prevents instances from being rate limited due to being senselessly
crawled by search engines. Since there is no reason to index Nitter
instances, simply block all robots. Notably, this does *not* affect link
previews (e.g. in various chat software).
m3u8 videos only work when the proxy is enabled. Further, this allows
video playback without Javascript.
This is only done when proxying is disabled to avoid excessive memory
usage on the nitter instance that would result from loading longer
videos in a single chunk.
Current Alpine doesn't ship with the "well-known" CA
certificates. Without them present, outbound HTTPS or TLS connections
aren't even initiated, leading to this at startup:
```
fetching token failed: No SSL/TLS CA certificates found.
```
This adds `ca-certificates` to the runtime image.