You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Cory J Slep b14b50eeca
Merge pull request #154 from superseriousbusiness/as-sensitive
10 months ago
.github Add GitHub build workflow, remove TravisCI config 11 months ago
astool add 'sensitive' object property 1 year ago
pub go fmt ./... 1 year ago
streams add 'sensitive' object property 1 year ago
CHANGELOG Update READMEs and CHANGELOG for v1.0.0 2 years ago
CODE_OF_CONDUCT.md Add CODE_OF_CONDUCT.md. 4 years ago
CONTRIBUTING.md Update changelog and contributing 4 years ago
LICENSE Initial commit 5 years ago
README.md Add GitHub build workflow, remove TravisCI config 11 months ago
gen.go Add forgefed vocabulary to go generate command 2 years ago
go.mod Add https://w3id.org/security/v1 extension 3 years ago
go.sum Run go mod tidy 2 years ago

README.md

activity

Complete ActivityStreams-based ontologies plus middleware handlers implementing ActivityPub

Build Status Go Reference Go Report Card License Chat OpenCollective

go get github.com/go-fed/activity

This repository contains two libraries and a tool:

  • 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 for tutorials and documentation.

Status

1.0.0 (Semantic Versioning)

This library has been successfully used to federate since May 17, 2019.

An official implementation report was last submitted for version 0.2.0 here. Unfortunately, the official implementation report tool is no longer maintained. Previous unofficial implementation reports are available in issue #46.

Please see CHANGELOG for changes between versions.

Getting Started

Check out go-fed.org for tutorials and documentation.

Also, see astool, streams, or pub for their own README.

FAQ

What vocabularies are supported?

How well tested are these libraries?

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?

Note: This list only includes those who have reached out to me to explicitly be included.

Application Description Repository Point Of Contact Homepage
Anancus Self-hosted and federated social link aggregation https://gitlab.com/tuxether/anancus @tuxether@floss.social or tuxether@protonmail.ch N/A
WriteFreely Simple, open-source, privacy-focused blogging platform https://github.com/writeas/writefreely @write_as@writing.exchange or hello@write.as https://writefreely.org
Read.as Long-form reader built on open protocols https://github.com/writeas/Read.as @write_as@writing.exchange or hello@write.as https://read.as
go-fed/apcore Generic ActivityPub server framework in Go https://github.com/go-fed/apcore @cj@mastodon.technology or cjslep@gmail.com https://go-fed.org

How do I use these libraries?

Check out go-fed.org for tutorials and documentation.

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!

Useful References

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.

Thanks to those who have been early adopters with v0 and/or provided early feedback.