Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/chrvadala/awesome-protocols

Curated list of awesome technology protocols with a reference to official RFCs
https://github.com/chrvadala/awesome-protocols

List: awesome-protocols

awesome awesome-list awesome-projects protocol

Last synced: about 1 month ago
JSON representation

Curated list of awesome technology protocols with a reference to official RFCs

Awesome Lists containing this project

README

        

# Awesome Protocols [![Awesome](https://awesome.re/badge.svg)](https://awesome.re)

Curated list of awesome technology protocols with a reference to official RFCs.

Listed protocols are open standards and agnostic by specific language implementations, anyway a library should be available in your preferred language. If not, you can write your own :)

## Contents
- [Protocols](#protocols)
- [Electric Vehicles Recharge](#electric-vehicles-recharge)
- [IoT Devices](#iot-devices)
- [Authentication](#authentication)
- [RPC](#rpc)
- [Messaging](#messaging)
- [Data Formats](#data-formats)
- [Consensus](#consensus)
- [File Exchange](#file-exchange)
- [4 Humans](#4-humans)
- [Support](#support)
- [Contributors](#contributors)

## Protocols
### Electric Vehicles Recharge
- [OCPP - Open Charge Point Protocol](https://www.openchargealliance.org/protocols/ocpp-201) - A protocol that allows a client to control Mobility Charging Stations.
- [OSCP - Open Smart Charging Protocol](https://www.openchargealliance.org/protocols/oscp-10) - A protocol that enables an optimized electric vehicle charging.
- [OICP - Open Interchange Protocol](https://www.hubject.com/wp-content/uploads/2018/10/oicp-emp-2.2.pdf) - A protocol that enables CPO (Charge Point Operators) and (EMP) E-mobility Service Provider interoperability via Hubject hub.
- [OCPI - Open Charge Point Interface](https://evroaming.org/app/uploads/2020/06/OCPI-2.2-d2.pdf) - The Open Charge Point Interface (OCPI) enables a scalable, automated EV roaming setup between Charge Point Operators and eMobility Service Providers.

### IoT Devices
- [ONVIF](https://www.onvif.org/profiles) - An interoperability protocol for IP-based physical security products. For instance, it allows us to control cameras streaming and PTZ (Pinch Tilt Zoom).

### Authentication
- [OAuth2](https://tools.ietf.org/html/rfc6749) - A standard protocol for users and systems authentication.
- [OpenID Connect](https://openid.net/connect) - A protocol that adds an identity layer on top of the OAuth 2.0 protocol.
- [SAML2](http://saml.xml.org/saml-specifications) - A standard protocol for users authentication.
- [SCIM2](https://tools.ietf.org/html/rfc7644) - A standard protocol for users and groups management.
- [PKCE](https://datatracker.ietf.org/doc/html/rfc7636) - An extension of Authorization Code Grant flow by OAuth.
- [OpenID Connect RP-Initiated Logout](https://openid.net/specs/openid-connect-rpinitiated-1_0.html) - A mechanism for a Relying Party to request that an OpenID Provider log out the End-User.
- [OpenID Connect Back-Channel Logout](https://openid.net/specs/openid-connect-backchannel-1_0.html) - This specification defines a logout mechanism that uses direct back-channel communication between the OP and RPs being logged out.
- [OpenID Connect Front-Channel Logout](https://openid.net/specs/openid-connect-frontchannel-1_0.html) - This specification defines a logout mechanism that uses front-channel communication via the User Agent between the OP and RPs being logged out.

### RPC
- [gRPC](https://grpc.io) - A Google framework for Remote Procedure Calls.
- [Protocol Buffers](https://developers.google.com/protocol-buffers/docs/overview) - A language-neutral, platform-neutral, extensible way of serializing structured data for use in communications protocols.
- [Thrift](https://thrift.apache.org) - An Apache framework for Remote Procedure Calls.
- [DBus](https://www.freedesktop.org/wiki/Software/dbus) - A message bus system that enables multiple local applications to talk to one another.

### Messaging
- [MQTT](http://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html) - A lightweight messaging transport protocol, great for IoT communication.
- [AMQP](http://www.amqp.org/specification/1.0/amqp-org-download) - A messaging transport protocol.

### Data Formats
- [GeoJSON](https://tools.ietf.org/html/rfc7946) - A geospatial data interchange format based on JSON.
- [JWT](https://tools.ietf.org/html/rfc7519) - A standard method for securely representing claims between two parties.
- [JSON Schema](http://json-schema.org/draft/2020-12/json-schema-core.html) - A standard for JSON structure validation.

### Consensus
- [RAFT](https://raft.github.io/raft.pdf) - A consensus algorithm for managing a replicated data.
- [Scuttlebutt Protocol](https://ssbc.github.io/scuttlebutt-protocol-guide/) - Scuttlebutt is a protocol for building decentralized applications that work well offline and that no one person can control.

### File Exchange
- [WebDAV](https://tools.ietf.org/html/rfc4918) - A standard protocol for remote file editing, based on HTTP.
- [FTP](https://tools.ietf.org/html/rfc959) - A standard protocol for remote file editing.

### 4 Humans
- [Semantic versioning](https://semver.org/) - Semantic versioning is a formal convention for specifying compatibility using a three-part version number: major version; minor version; and patch.
- [Conventional commits](https://www.conventionalcommits.org/en/v1.0.0/#specification) - A specification for adding human and machine readable meaning to commit messages.

## Support
If you found an error or would like to add more information, _don't hesitate_ to
[submit an issue on GitHub](https://github.com/chrvadala/awesome-protocols/issues/new).

Everyone is welcome regardless of personal background. We enforce a
[Code of conduct](CODE_OF_CONDUCT.md) in order to promote a positive and
inclusive environment.

## Contributors
- [chrvadala](https://github.com/chrvadala) (author)