nghq - A HTTP/QUIC mapping layer built atop ngtcp2

  •        29

nghq is a HTTP framing layer built on top of ngtcp2 and aims to provide support for the HTTP/QUIC mapping for running HTTP over IETF QUIC. The public API is documented here. In addition, the library's public header file nghq.h has comment blocks for every function and callback listed above it which also serve as documentation.

https://github.com/bbc/nghq

Tags
Implementation
License
Platform

   




Related Projects

quic-go - A QUIC implementation in pure go

  •    Go

quic-go is an implementation of the QUIC protocol in Go. quic-go is compatible with the current version(s) of Google Chrome and QUIC as deployed on Google's servers. We're actively tracking the development of the Chrome code to ensure compatibility as the protocol evolves. In that process, we're dropping support for old QUIC versions. As Google's QUIC versions are expected to converge towards the IETF QUIC draft, quic-go will eventually implement that draft.

goquic - QUIC support for Go

  •    C

This is a work-in-progress QUIC implementation for Go. This is based on libquic library, which is in turn based on original QUIC implementation on Chromium. QUIC is an experimental protocol aimed at reducing web latency over that of TCP. On the surface, QUIC is very similar to TCP+TLS+SPDY implemented on UDP. Because TCP is implement in operating system kernels, and middlebox firmware, making significant changes to TCP is next to impossible. However, since QUIC is built on top of UDP, it suffers from no such limitations.

libquic - QUIC, a multiplexed stream transport over UDP

  •    C++

QUIC is an experimental protocol aimed at reducing web latency over that of TCP. On the surface, QUIC is very similar to TCP+TLS+SPDY implemented on UDP. Because TCP is implemented in operating system kernels, and middlebox firmware, making significant changes to TCP is next to impossible. However, since QUIC is built on top of UDP, it suffers from no such limitations. See Chromium QUIC Page for detailed information.

proto-quic

  •    C++

proto-quic is intended as a standalone library for QUIC.It contains the subset of Chromium code and dependencies required for QUIC so folks can use the Chromium code without depending on all of Chromium. It is intended to be a cross-platform library, but will only support the set (or a strict subset) of platforms which Chromium already supports.

nghttp2 - nghttp2 - HTTP/2 C Library and tools

  •    C++

This is an implementation of the Hypertext Transfer Protocol version 2 in C. The framing layer of HTTP/2 is implemented as a reusable C library. On top of that, we have implemented an HTTP/2 client, server and proxy. We have also developed load test and benchmarking tools for HTTP/2.


sslyze - Fast and powerful SSL/TLS server scanning library.

  •    Python

Fast and powerful SSL/TLS server scanning library for Python 2.7 and 3.4+. SSLyze is a Python library and a CLI tool that can analyze the SSL configuration of a server by connecting to it. It is designed to be fast and comprehensive, and should help organizations and testers identify mis-configurations affecting their SSL/TLS servers.

wolfssl - (formerly CyaSSL) is a small, fast, portable implementation of TLS/SSL for embedded devices to the cloud

  •    C

The wolfSSL embedded SSL library (formerly CyaSSL) is a lightweight SSL/TLS library written in ANSI C and targeted for embedded, RTOS, and resource-constrained environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating environments as well because of its royalty-free pricing and excellent cross platform support.

bbcticker

  •    

This is an attempt to create a Linux/Unix version of the BBC Online Ticker using GTK. The official Windows version is available from the BBC (http:www.bbc.co.uk). I haven't incorporated all the features of the original yet, but it is still useable

peaks.js - JavaScript UI component for interacting with audio waveforms

  •    Javascript

A browser based audio waveform visualisation frontend component from BBC R&D.Peaks.js is a modular client-side JavaScript component designed for the display of and interaction with audio waveforms in the browser.

tal - TV Application Layer

  •    Javascript

TAL was developed internally within the BBC as a way of vastly simplifying TV application development whilst increasing the reach of BBC TV applications such as iPlayer. Today all of the BBC's HTML-based TV applications are built using TAL.There are hundreds of different devices in the marketplace and they all use slightly different technologies to achieve the same result. The purpose of TAL is to allow you to write an application once, and be confident that it can be deployed to all HTML-based TV devices.

waveform-data

  •    Javascript

waveform-data.js is a JavaScript library for creating zoomable, browsable and segmentable representations of audio waveforms.We use these projects daily in applications such as BBC Radio Archive and browser editing and sharing tools for BBC content editors.

get_iplayer - A utility for downloading TV and radio programmes from BBC iPlayer

  •    Perl

A utility for downloading TV and radio programmes from BBC iPlayer

Diffable

  •    

Diffable is an F# library that makes it easy and natural to debug and unit-test values belonging to discriminated union types. It provides functions that generate DOT code representing such values as directed graphs, so that any test failures or unexpected behavior can be quic...

Caddy - Fast, cross-platform HTTP/2 web server with automatic HTTPS

  •    Go

Caddy is a general-purpose HTTP/2 web server that serves HTTPS by default. Caddy is fast, easy to use, and makes you more productive.

dingo - A DNS client in Go that supports Google DNS over HTTPS

  •    Go

A DNS client (stub resolver) implemented in Go for the Google DNS-over-HTTPS. It effectively encrypts all your DNS traffic. It also supports OpenResolve by OpenDNS. The ultimate goal for the project is to provide a secure, caching DNS client that communicates with recursive DNS resolvers over encrypted channels only. For now, it resolves DNS queries over HTTP/2 in independent threads. The plans for future include better caching and support for QUIC.

PyExfil - A Python Package for Data Exfiltration

  •    Python

All requirements can be met with a pip install --user -r requirments.txt. After that the server is easy to execute. Notice that in some cases you might want to use py2exe before delivering the package to the code you want to operate. So recently we have decided to impliment some physical data exfiltration techniques assuming some networks might be airgapped from any internet connectivity. So this is the first one. It will encode a file in several QR codes, display them on the screen one by one and it comes with a decoder to recompile that into the file itself.

sower - Sower is a cross platform intelligent transparent proxy solution

  •    Go

The sower is a cross-platform intelligent transparent proxy tool base on DNS solution. The first time you visit a new website, sower will detect if the domain in block list and add it in suggect list. So that, you do not need to care about the rules, sower will handle it in a intelligent way.