3 releases (breaking)
0.2.0 | Jun 29, 2020 |
---|---|
0.1.0 | Jun 11, 2020 |
0.0.1-alpha.1 | Jun 11, 2020 |
#2 in #nntp
105KB
2K
SLoC
Brokaw
📰 A Usenet/NNTP library. More at 11! 📰
Brokaw is a typed Usenet library for the dozens of people still reading Netnews. It is very much in development and provides no guarantees about stability.
Brokaw (mostly) implements RFC 3977 and several popular extensions.
Getting Started
[dependencies]
brokaw = "*"
use brokaw::client::ClientConfig;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = ClientConfig::default().connect(("news.mozilla.org", 119))?;
client.capabilities().iter()
.for_each(|c| println!("{}", c));
Ok(())
}
Check out in the repo the examples as well!
Features
- TLS (aka
NNTPS
) courtesy ofnative-tls
- A high-level client API (
NntpClient
) for simple interactions with news servers - A low-level connection API (
NntpConnection
) for more specialized use cases AUTHINFO USER/PASS
Authentication (RFC 4643- Typed commands and responses
AllMost commands in RFC 3977 (POST
,NEWGROUP
,NEWNEWS
, andLISTGROUP
have yet to be implemented)
Missing Features
Dependencies
~1–11MB
~120K SLoC