All Projects → diaspora → diaspora_federation

diaspora / diaspora_federation

Licence: AGPL-3.0 license
A library that provides functionalities needed for the diaspora* federation protocol.

Programming Languages

ruby
36898 projects - #4 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to diaspora federation

Federation
Python library for abstracting social federation protocols
Stars: ✭ 93 (-4.12%)
Mutual labels:  protocol, federation
social-relay
Public post relay for the Diaspora federated social network protocol
Stars: ✭ 27 (-72.16%)
Mutual labels:  diaspora, federation
codacy-scalameta
Codacy tool for Scalameta
Stars: ✭ 35 (-63.92%)
Mutual labels:  engine
HelenaFramework
Modern framework on C++20 for backend/frontend development.
Stars: ✭ 53 (-45.36%)
Mutual labels:  engine
grakkit
A modern JavaScript development environment for Minecraft.
Stars: ✭ 184 (+89.69%)
Mutual labels:  engine
unity-button-sounds-editor
Editor extension for Unity game engine. It helps to assign AudioClip to buttons and to play sounds by button clicks.
Stars: ✭ 65 (-32.99%)
Mutual labels:  engine
network
Monorepo containing all the main components of Streamr Network.
Stars: ✭ 522 (+438.14%)
Mutual labels:  protocol
seamless
Seamless is a framework to set up reproducible computations (and visualizations) that respond to changes in cells. Cells contain the input data as well as the source code of the computations, and all cells can be edited interactively.
Stars: ✭ 19 (-80.41%)
Mutual labels:  protocol
arancino-daemon
No description or website provided.
Stars: ✭ 12 (-87.63%)
Mutual labels:  protocol
republic-go
An official reference implementation of Republic Protocol, written in Go
Stars: ✭ 58 (-40.21%)
Mutual labels:  protocol
433MHz Tx Rx
Arduino based 433MHz Tx and Rx combo using Manchester protocol
Stars: ✭ 27 (-72.16%)
Mutual labels:  protocol
Landing-CMS
A simple CMS for landing pages
Stars: ✭ 78 (-19.59%)
Mutual labels:  engine
can-prog
Command-line tool to flashing devices by CAN-BUS
Stars: ✭ 66 (-31.96%)
Mutual labels:  protocol
osdp-python
A Python control panel implementation of the Open Supervised Device Protocol (OSDP)
Stars: ✭ 28 (-71.13%)
Mutual labels:  protocol
goridge-php
PHP Goridge Protocol implementation
Stars: ✭ 53 (-45.36%)
Mutual labels:  protocol
procbridge
A super-lightweight IPC (Inter-Process Communication) protocol over TCP socket.
Stars: ✭ 118 (+21.65%)
Mutual labels:  protocol
StriderMqtt
A very thin MQTT client
Stars: ✭ 21 (-78.35%)
Mutual labels:  protocol
php-chess
A chess library for PHP.
Stars: ✭ 42 (-56.7%)
Mutual labels:  engine
unified-args
Create CLIs for unified processors
Stars: ✭ 30 (-69.07%)
Mutual labels:  engine
openpgpkey-control
OpenPGP keys published on your website (WKD)
Stars: ✭ 36 (-62.89%)
Mutual labels:  federation

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].