self-reliantly posting on the #Fediverse with painless hosting and security in mind. 1. Rent any web space from EUR 2 monthly with a domain-name as your enduring digital property (e.g. … https://demo.mro.name/shaarligo
Marcus Rohrmoser bf75a25a9d gently towards unicode hashtags https://www.unicode.org/reports/tr31/#D2 | il y a 1 an | |
---|---|---|
static | il y a 3 ans | |
testdata | il y a 5 ans | |
tpl | il y a 4 ans | |
.gitattributes | il y a 6 ans | |
.gitignore | il y a 4 ans | |
.travis.yml | il y a 5 ans | |
README.md | il y a 1 an | |
ShaarliGo.go | il y a 1 an | |
ShaarliGo_test.go | il y a 1 an | |
api0.go | il y a 3 ans | |
api0_test.go | il y a 1 an | |
atom.go | il y a 3 ans | |
atom_test.go | il y a 3 ans | |
ban.go | il y a 3 ans | |
ban_test.go | il y a 3 ans | |
build.sh | il y a 1 an | |
cgi-fake.sh | il y a 7 ans | |
comb.go | il y a 3 ans | |
comb_test.go | il y a 3 ans | |
config-core.go | il y a 3 ans | |
config-core_test.go | il y a 3 ans | |
config.go | il y a 3 ans | |
config_test.go | il y a 3 ans | |
doap.rdf | il y a 4 ans | |
emoji_map.go | il y a 6 ans | |
feedwriter.go | il y a 3 ans | |
feedwriter_test.go | il y a 3 ans | |
flow.dot | il y a 7 ans | |
go.mod | il y a 1 an | |
go.sum | il y a 1 an | |
http.go | il y a 3 ans | |
mastodon.go | il y a 1 an | |
mini-build.sh | il y a 6 ans | |
pinboard.go | il y a 3 ans | |
pinboard_test.go | il y a 3 ans | |
post-test.sh | il y a 7 ans | |
search.go | il y a 3 ans | |
search_test.go | il y a 3 ans | |
tags.go | il y a 1 an | |
tags_test.go | il y a 1 an | |
tools.go | il y a 3 ans | |
tools_test.go | il y a 3 ans | |
version.go | il y a 1 an |
🌩 Lightning Talk at the 34c3 🚀
🌺 Self-reliant publishing for laypeople like your loved ones and mine. Have a say and not be subjected to any T&Cs, just local law. All without setup headaches, but truly self-sustained and enduringly independent:
That's if the webserver is Apache (Linux, 64 bit, modules cgi and rewrite) as common with shared hosting.
For lighttpd see static/app/lighttpd.conf
. Nginx lacks CGI support (srsly?).
Or build from source at http://mro.name/ShaarliGo
In case you are reluctant to file a public issue, feel free to email security@mro.name (🔏key).
POSSE is an abbreviation for Publish (on your) Own Site, Syndicate Elsewhere, a content publishing model that starts with posting content on your own domain first, then syndicating out copies to 3rd party services with permashortlinks back to the original on your site.
(says https://indieweb.org/POSSE)
You can POSSE to
enter your Pinboard Auth Token from https://pinboard.in/settings/password at the
end of app/config.yaml
like this
posse:
- pinboard: https://api.pinboard.in/v1?auth_token=johndoe:XOG6EJIYMIZZ
prefix:
It's ok to leave prefix
empty. Each pinboard post gets a backlink as an
additional footer line. If prefix
is set, the footer line is prefix
+ id
.
at first manually obtain an access token (example server here is https://social.tchncs.de/):
write:statuses
Then enter the server endpoint plus /api/v1/
and access token into
app/config.yaml
like so:
posse:
- mastodon: https://social.tchncs.de/api/v1/
token: …boph1koomie4eikaiG…
prefix:
It's ok to leave prefix
empty. Each mastodon post gets a backlink as an
additional footer line. If prefix
is set, the footer line is prefix
+ id
.
Also, if you don't know the token but the endpoint accepts basic auth (pleroma), you may add the credentials to the url for the time being until I figure out how to get a token from pleroma or do proper OAuth2.
Quality | very good | good | normal | irrelevant |
---|---|---|---|---|
Functionality | × | |||
Reliability | × | |||
Usability | × | |||
Efficiency | × | |||
Changeability | × | |||
Portability | × |
tl;dr: a webserver that can execute CGIs and serve files from disc.
ShaarliGo is an old-school CGI binary executable, so it needs a webserver to drive it.
Configurations come for Apache (automatic, see static/.htaccess
) and
Lighttpd (see static/app/lighttpd.conf
).
As a self-contained, statically linked, Go executable, it has no runtime dependencies and works on a variety of platforms.
ShaarliGo needs write access to the webroot filesystem to once unpack the web assets and when posting update the content.
Storage footprint is <25 KiB per post.
When posting a page, it is once accessed via HTTP GET to infer title, tags and a thumbnail image URL.
app/config.yaml
is acceptable),inspired by and compatible to http://sebsauvage.net/wiki/doku.php?id=php:shaarli.