Streaming Network Overlay Connection Arbitration Tunnel
snocat
is a framework for forwarding
streams across authenticated, encrypted QUIC tunnels,
from a tunnel aggregator to a dynamic set of clients.
When used as a library, libsnocat
allows a dynamic set of client
s to connect over UDP to a server
,
and forwards TCP streams from the server
to the client
s.
snocat-cli
is a command-line tool for TCP reverse
tunnelling over the QUIC protocol.
It allows small-scale port redirection akin to SSH Remote Forwarding.
Primary crates used include the Tokio stack and futures-rs for async-await capabilities, Quinn for its QUIC implementation.
Various other dependencies are included under their respective licenses, and may be found in snocat/Cargo.toml and snocat-cli/Cargo.toml.
Notable exceptions from MIT or MIT OR Apache 2.0 licensing in dependencies are the following crates:
ring
for TLS, distributed under a BoringSSL-variant, ISC-style permissive licenseuntrusted
required byring
for parsing of TLS, distributed under an ISC-style permissive licensewebpki
for TLS WebPKI certificate handling, distributed under an ISC-style permissive licensememchr
,byteorder
,regex-automata
are licensed under Unlicense OR MITprost
,prost-types
,prost-derive
, andprost-build
, licensed solely under the Apache-2.0 licenseryu
required byserde_json
for floating point parsing from json, licensed under Apache-2.0 OR BSL-1.0
See NOTICE.md for license details of individual crates, and links to their project webpages.
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Under the Contributor License Agreement, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.