go-fed-activity/README.md

111 lines
6.3 KiB
Markdown
Raw Permalink Normal View History

2018-01-24 04:30:59 +05:30
# activity
2020-12-23 02:19:21 +05:30
> Complete ActivityStreams-based ontologies plus middleware handlers implementing ActivityPub
[![Build Status][Build-Status-Image]][Build-Status-Url] [![Go Reference][Go-Reference-Image]][Go-Reference-Url]
[![Go Report Card][Go-Report-Card-Image]][Go-Report-Card-Url] [![License][License-Image]][License-Url]
2020-12-23 16:52:50 +05:30
[![Chat][Chat-Image]][Chat-Url] [![OpenCollective][OpenCollective-Image]][OpenCollective-Url]
2020-12-23 02:19:21 +05:30
2018-01-24 04:30:59 +05:30
`go get github.com/go-fed/activity`
2019-02-24 20:57:02 +05:30
This repository contains two libraries and a tool:
2018-01-24 04:30:59 +05:30
2019-02-24 20:57:02 +05:30
* `astool`: A linked-data aware tool to generate golang native types for any
ActivityStreams vocabulary.
* `streams`: The ActivityStreams native types generated with the `astool`.
* `pub`: ActivityPub Social Protocol (Client-to-Server or C2S) and Federating
Protocol (Server-to-Server or S2S)
Check out [go-fed.org](https://go-fed.org/) for tutorials and documentation.
2018-01-24 04:30:59 +05:30
## Status
**1.0.0** ([Semantic Versioning](https://semver.org/))
This library has been successfully used to
[federate since May 17, 2019](https://cjslep.com/c/blog/this-blog-is-federated).
An [official implementation report](https://activitypub.rocks/implementation-report/)
was last submitted for version **0.2.0** [here](https://github.com/w3c/activitypub/issues/318).
Unfortunately, the official implementation report tool is no longer maintained.
Previous unofficial implementation reports are available in [issue #46](https://github.com/go-fed/activity/issues/46).
Please see CHANGELOG for changes between versions.
## Getting Started
Check out [go-fed.org](https://go-fed.org/) for tutorials and documentation.
Also, see `astool`, `streams`, or `pub` for their own README.
## FAQ
### What vocabularies are supported?
* [ActivityStreams](https://www.w3.org/TR/activitystreams-vocabulary).
* A subset of the [toot](https://github.com/tootsuite/mastodon/blob/master/app/lib/activitypub/adapter.rb) vocabulary.
* A subset of the [security](https://w3c-ccg.github.io/security-vocab/) vocabulary.
* [ForgeFed](https://forgefed.peers.community/vocabulary.html).
### How well tested are these libraries?
2018-05-31 03:18:34 +05:30
I took great care to add numerous tests using examples directly from
specifications, official test repositories, and my own end-to-end tests.
**v1.0.0** has around 200 unit tests. The **federation** or **S2S** portion of
the library is very well tested. The **social** or **C2S** portion could use
additional unit tests, but is far less popular than federation. About 70% of the
lines are covered by unit tests.
### Who is using this library currently?
2019-02-24 20:57:02 +05:30
Note: This list only includes those who have reached out to me to explicitly be
included.
2018-05-31 03:18:34 +05:30
| Application | Description | Repository | Point Of Contact | Homepage |
|:-----------:|:-------------------------------------------------:|:--------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------------:|:------------------------------------:|
2019-10-24 01:59:48 +05:30
| Anancus | Self-hosted and federated social link aggregation | [https://gitlab.com/tuxether/anancus](https://gitlab.com/tuxether/anancus) | [@tuxether@floss.social](https://floss.social/@tuxether) or [tuxether@protonmail.ch](mailto:tuxether@protonmail.ch) | N/A |
| WriteFreely | Simple, open-source, privacy-focused blogging platform | [https://github.com/writeas/writefreely](https://github.com/writeas/writefreely) | [@write_as@writing.exchange](https://writing.exchange/@write_as) or [hello@write.as](mailto:hello@write.as) | [https://writefreely.org](https://writefreely.org) |
| Read.as | Long-form reader built on open protocols | [https://github.com/writeas/Read.as](https://github.com/writeas/Read.as) | [@write_as@writing.exchange](https://writing.exchange/@write_as) or [hello@write.as](mailto:hello@write.as) | [https://read.as](https://read.as) |
| go-fed/apcore | Generic ActivityPub server framework in Go | [https://github.com/go-fed/apcore](https://github.com/go-fed/apcore) | [@cj@mastodon.technology](https://mastodon.technology/@cj) or [cjslep@gmail.com](mailto:cjslep@gmail.com) | [https://go-fed.org](https://go-fed.org) |
2018-05-31 03:18:34 +05:30
### How do I use these libraries?
Check out [go-fed.org](https://go-fed.org/) for tutorials and documentation.
2019-02-24 20:57:02 +05:30
Please see each subdirectory for its own README for further elaboration.
### How can I get help, file issues, or contribute?
Please see the CONTRIBUTING.md file!
2018-01-24 04:30:59 +05:30
### Useful References
2018-01-24 04:30:59 +05:30
* [ActivityPub Specification](https://www.w3.org/TR/activitypub)
* [ActivityPub GitHub Repo](https://github.com/w3c/activitypub)
* [ActivityStreams Core Specification](https://www.w3.org/TR/activitystreams-core)
* [ActivityStreams Vocabulary Specification](https://www.w3.org/TR/activitystreams-vocabulary)
* [ActivityStreams GitHub Repo](https://github.com/w3c/activitystreams)
## Thanks
I would like to thank those that have worked hard to create the technologies
and standards that created the opportunity to implement this suite of
libraries.
2019-02-24 20:57:02 +05:30
Thanks to those who have been early adopters with v0 and/or provided early
feedback.
2020-12-23 02:19:21 +05:30
[Build-Status-Image]: https://github.com/go-fed/activity/workflows/build/badge.svg
[Build-Status-Url]: https://github.com/go-fed/activity/actions
2020-12-23 02:19:21 +05:30
[Go-Reference-Image]: https://pkg.go.dev/badge/github.com/go-fed/activity
[Go-Reference-Url]: https://pkg.go.dev/github.com/go-fed/activity
[Go-Report-Card-Image]: https://goreportcard.com/badge/github.com/go-fed/activity
[Go-Report-Card-Url]: https://goreportcard.com/report/github.com/go-fed/activity
2020-12-23 02:21:01 +05:30
[License-Image]: https://img.shields.io/github/license/go-fed/activity?color=blue
2020-12-23 02:19:21 +05:30
[License-Url]: https://opensource.org/licenses/BSD-3-Clause
2020-12-23 16:52:50 +05:30
[Chat-Image]: https://img.shields.io/matrix/go-fed:feneas.org?server_fqdn=matrix.org
[Chat-Url]: https://matrix.to/#/!BLOSvIyKTDLIVjRKSc:feneas.org?via=feneas.org&via=matrix.org
2020-12-23 02:19:21 +05:30
[OpenCollective-Image]: https://img.shields.io/opencollective/backers/go-fed-activitypub-labs
[OpenCollective-Url]: https://opencollective.com/go-fed-activitypub-labs