No description
Find a file
Benjamin Neff fbc0653153 Version 0.2.8
-----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEEhmEB3ju5IG5OdOsNlxRkw/GpAZQFAmLUVXUACgkQlxRkw/Gp
 AZTClwf8Cz/iYEeqBJ47W58zUSV7THUrE8WE6dwaBM+xZdHD9lGSacl6TZ1KhHje
 xaIGgcKOCG4WaFHzT2GNIZMwkVy4+fikvmxVt5VIZb2WOtuRFm8DmLFPt2kduaWK
 vt0PNORbHRVnlWEDrxbusTz16sk68F067ut0AfcK6CzSKFimtEmfUIgL3iuMV7m3
 lHKK4lR+2i8E1/Y/GT4kcciFOnCxXmVp0OIJtWDGccNjaimsZw4+hwr4yn9GTAXr
 ew3mHpXPFmBC60PcSmqvZUkh3tLXfMJtwliAo+Y+4qgqVK4G0/bPzIsrJuS5quJi
 lH6TXc0ZDur6AtH2XODFS2Po29kJTw==
 =n+2t
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEEhmEB3ju5IG5OdOsNlxRkw/GpAZQFAmLUVx0ACgkQlxRkw/Gp
 AZTsOwf/Wv6/HmDuvPtSNVp1Wb1MlR8MFXU2RyCprwRp+aSoMncvvbAiH3uVzrZd
 CrVdsM4Rtpf+wV9dEjdYVWS0Q1GQktA5ld+EfJsw0jIpuoETpHB0JWr3w2wTmwFP
 C9ibjNnCz7CXmWuCTs1mz2AWRp567WcxzCDgP0FHjBopX6MU14SftBqpK553TYEl
 epnhdOLf9EMwoRJMPMVCsmRddwXWg6UAxRO0Zu03rS8w72xsZ2lA3q1SKP2h4kHD
 OxR8EzkCYEz15tT3hbl89gD4o2zEco3wBAGWn9GYHzkfB+P5TTYVHParBz1OVA9W
 xBvQcnZ8E+IGOQ9Es6LuT9Ufm5d3eA==
 =KSwI
 -----END PGP SIGNATURE-----

Merge tag 'v0.2.8'

Version 0.2.8
2022-07-17 20:38:13 +02:00
.github/workflows Use strings for ruby versions, so 3.0 stays 3.0 2022-03-08 00:44:11 +01:00
app/controllers/diaspora_federation Remove legacy Webfinger handling 2021-11-27 03:56:52 +01:00
bin Bump rails and drop support for rails < 5.2 (EOL) 2021-06-30 04:41:52 +02:00
config Remove legacy Webfinger handling 2021-11-27 03:56:52 +01:00
docs Merge branch '0.2.x' into develop 2021-10-24 21:14:25 +02:00
lib Release version 0.3.0 2022-03-13 22:49:41 +01:00
spec Merge pull request #122 from SuperTux88/cleanup-legacy-webfinger 2022-03-13 21:40:36 +01:00
test Release version 0.3.0 2022-03-13 22:49:41 +01:00
.codeclimate.yml Bump rubocop 2021-11-26 02:59:31 +01:00
.editorconfig add .editorconfig 2015-06-19 01:05:06 +02:00
.gitignore Add rails 6 support 2019-10-21 03:35:18 +02:00
.rspec WIP: move test dependencies to gemspec 2015-06-24 03:09:14 +02:00
.rubocop.yml Drop ruby 2.6 support, will be EOL end of month 2022-03-08 00:28:38 +01:00
.ruby-gemset initial commit 2015-06-10 03:13:44 +02:00
.ruby-version Add ruby 3.1 to CI 2022-03-08 00:35:39 +01:00
.yardopts add changelog to gems and documentation 2016-07-14 20:02:46 +02:00
Changelog.md Version 0.2.8 2022-07-17 20:38:13 +02:00
CONTRIBUTING.md Fix type in CONTRIBUTING.md 2017-08-27 02:45:23 +02:00
COPYRIGHT Add AGPL-3.0 license text 2017-02-12 20:56:37 +01:00
diaspora_federation-json_schema.gemspec Drop ruby 2.6 support, will be EOL end of month 2022-03-08 00:28:38 +01:00
diaspora_federation-rails.gemspec Drop ruby 2.6 support, will be EOL end of month 2022-03-08 00:28:38 +01:00
diaspora_federation-test.gemspec Drop ruby 2.6 support, will be EOL end of month 2022-03-08 00:28:38 +01:00
diaspora_federation.gemspec Drop ruby 2.6 support, will be EOL end of month 2022-03-08 00:28:38 +01:00
Gemfile Add rubocop-rake 2021-11-26 04:50:28 +01:00
Gemfile.lock Release version 0.3.0 2022-03-13 22:49:41 +01:00
LICENSE Add AGPL-3.0 license text 2017-02-12 20:56:37 +01:00
Rakefile Add rubocop-rake 2021-11-26 04:50:28 +01:00
README.md Fix server_uri in README 2018-08-25 01:05:50 +02:00

diaspora* federation library

A library that provides functionalities needed for the diaspora* federation protocol

master: Build Status master | develop: Build Status develop

Code Climate Test Coverage Inline docs Gem Version

Gem Documentation | Protocol Documentation | Bugtracker

This repository contains two gems:

  • diaspora_federation provides the functionality for de-/serialization and de-/encryption of Entities in the protocols used for communication among the various installations of diaspora*.
  • diaspora_federation-rails is a rails engine that adds the diaspora* federation protocol to a rails app.

Usage

Add the gem to your Gemfile:

gem "diaspora_federation-rails"

Mount the routes in your config/routes.rb:

mount DiasporaFederation::Engine => "/"

Configure the engine in config/initializers/diaspora_federation.rb:

DiasporaFederation.configure do |config|
  # the pod url
  config.server_uri = URI("http://localhost:3000")

  # ... other settings

  config.define_callbacks do
    on :fetch_person_for_webfinger do |diaspora_id|
      person = Person.find_local_by_diaspora_id(diaspora_id)
      if person
        DiasporaFederation::Discovery::WebFinger.new(
          # ... copy person attributes to WebFinger object
        )
      end
    end

    on :fetch_person_for_hcard do |guid|
      # ... fetch hcard information
    end

    # ... other callbacks
  end
end

The available config settings can be found here and the callbacks are listed here in the gem documentation.

Contributing

See our contribution guide for more information on how to contribute to the diaspora* federation library.

License

GNU Affero General Public License.