microblog.pub fork with new design and some customizations for running the new Nikisoft.one blog. https://blog.nikisoft.one
nipos fdb5948888 Allow short preview texts on overview,some small bugfixes | 5 years ago | |
---|---|---|
config | 5 years ago | |
poussetaches @ f19e0f4a36 | 5 years ago | |
static | 5 years ago | |
templates | 5 years ago | |
tests | 5 years ago | |
utils | 5 years ago | |
.env | 6 years ago | |
.gitignore | 6 years ago | |
.gitmodules | 5 years ago | |
.isort.cfg | 6 years ago | |
LICENSE | 6 years ago | |
Makefile | 5 years ago | |
README.md | 5 years ago | |
activitypub.py | 5 years ago | |
app.py | 5 years ago | |
config.py | 5 years ago | |
mkconfig.sh | 5 years ago | |
mkservices.sh | 5 years ago | |
poussetaches.py | 5 years ago | |
requirements.txt | 5 years ago | |
setup.cfg | 6 years ago | |
start.sh | 5 years ago |
A self-hosted, single-user, ActivityPub powered microblog.
Quite early state but already stable enough for hosting your blogh-feed
, h-entry
, h-cards
, ...)microblog.pub implements an ActivityPub server, it implements both the client to server API and the federated server to server API.
Activities are verified using HTTP Signatures or by fetching the content on the remote server directly.
Please make sure that you have the following software installed when starting the installation:
$ git clone https://notabug.org/nipos/nikisoftblog
$ cd nikisoftblog
$ make install
$ sudo make pt-install
$ make config
$ make password
$ sudo make services
$ sudo systemctl enable poussetaches
$ sudo systemctl start poussetaches
$ sudo systemctl enable microblog
$ sudo systemctl start microblog
$ make password
Password: <enter a password; nothing will show on screen>
$2b$12$iW497g...
Edit config/me.yml
to add the above-generated password, like so:
username: 'username'
name: 'Your Name'
icon_url: 'https://you-avatar-url'
domain: 'your-domain.tld'
summary: 'your summary'
https: true
pass: $2b$12$iW497g...
Your admin API key can be found at config/admin_api_key.key
.
Returns the actor profile, with links to all the "standard" collections.
Special collection that reference notes with the given tag.
Special collection that returns the stream/inbox as displayed in the UI.
The user API is used by the admin UI (and requires a CSRF token when used with a regular user session), but it can also be accessed with an API key.
All the examples are using HTTPie.
Deletes the given note id
(the note must from the instance outbox).
Answers a 201 (Created) status code.
You can pass the id
via JSON, form data or query argument.
$ http POST https://microblog.pub/api/note/delete Authorization:'Bearer <token>' id=http://microblob.pub/outbox/<note_id>/activity
{
"activity": "https://microblog.pub/outbox/<delete_id>"
}
Adds the given note id
(the note must from the instance outbox) to the featured collection (and pins it on the homepage).
Answers a 201 (Created) status code.
You can pass the id
via JSON, form data or query argument.
$ http POST https://microblog.pub/api/note/pin Authorization:'Bearer <token>' id=http://microblob.pub/outbox/<note_id>/activity
{
"pinned": true
}
Removes the given note id
(the note must from the instance outbox) from the featured collection (and un-pins it).
Answers a 201 (Created) status code.
You can pass the id
via JSON, form data or query argument.
$ http POST https://microblog.pub/api/note/unpin Authorization:'Bearer <token>' id=http://microblob.pub/outbox/<note_id>/activity
{
"pinned": false
}
Likes the given activity.
Answers a 201 (Created) status code.
You can pass the id
via JSON, form data or query argument.
$ http POST https://microblog.pub/api/like Authorization:'Bearer <token>' id=http://activity-iri.tld
{
"activity": "https://microblog.pub/outbox/<like_id>"
}
Boosts/Announces the given activity.
Answers a 201 (Created) status code.
You can pass the id
via JSON, form data or query argument.
$ http POST https://microblog.pub/api/boost Authorization:'Bearer <token>' id=http://activity-iri.tld
{
"activity": "https://microblog.pub/outbox/<announce_id>"
}
Blocks the given actor, all activities from this actor will be dropped after that.
Answers a 201 (Created) status code.
You can pass the id
via JSON, form data or query argument.
$ http POST https://microblog.pub/api/block Authorization:'Bearer <token>' actor=http://actor-iri.tld/
{
"activity": "https://microblog.pub/outbox/<block_id>"
}
Follows the given actor.
Answers a 201 (Created) status code.
You can pass the id
via JSON, form data or query argument.
$ http POST https://microblog.pub/api/follow Authorization:'Bearer <token>' actor=http://actor-iri.tld/
{
"activity": "https://microblog.pub/outbox/<follow_id>"
}
Creates a new note. reply
is the IRI of the "replied" note if any.
Answers a 201 (Created) status code.
You can pass the content
and reply
via JSON, form data or query argument.
$ http POST https://microblog.pub/api/new_note Authorization:'Bearer <token>' content=hello
{
"activity": "https://microblog.pub/outbox/<create_id>"
}
$ http GET https://microblog.pub/api/stream Authorization:'Bearer <token>'