226 breaking releases

Uses new Rust 2024

new 0.229.0 Mar 5, 2026
0.227.0 Mar 3, 2026
0.217.0 Dec 20, 2025
0.213.0 Oct 30, 2025
0.4.0 Jul 26, 2021

#1400 in Network programming

Download history 1170/week @ 2025-11-13 964/week @ 2025-11-20 1025/week @ 2025-11-27 1205/week @ 2025-12-04 1104/week @ 2025-12-11 1228/week @ 2025-12-18 724/week @ 2025-12-25 911/week @ 2026-01-01 1508/week @ 2026-01-08 1265/week @ 2026-01-15 1557/week @ 2026-01-22 1531/week @ 2026-01-29 1761/week @ 2026-02-05 2614/week @ 2026-02-12 3795/week @ 2026-02-19 2014/week @ 2026-02-26

10,385 downloads per month
Used in 59 crates (24 directly)

MIT license

2MB
58K SLoC

deno_net

This crate implements networking APIs.

Usage Example

From javascript, include the extension's source:

import * as webidl from "ext:deno_webidl/00_webidl.js";
import * as net from "ext:deno_net/01_net.js";
import * as tls from "ext:deno_net/02_tls.js";

Then from rust, provide: deno_net::deno_net::init::<Permissions>(root_cert_store_provider, unsafely_ignore_certificate_errors)

Where:

  • root_cert_store_provider: Option<Arc<dyn RootCertStoreProvider>>
  • unsafely_ignore_certificate_errors: Option<Vec<String>>
  • Permissions: A struct implementing deno_net::NetPermissions

In the extensions field of your RuntimeOptions

Dependencies

  • deno_web: Provided by the deno_web crate
  • deno_fetch: Provided by the deno_fetch crate

Provided ops

Following ops are provided, which can be accessed through Deno.ops:

Net

  • op_net_accept_tcp
  • op_net_accept_unix
  • op_net_connect_tcp
  • op_net_connect_unix
  • op_net_listen_tcp
  • op_net_listen_udp
  • op_net_listen_unix
  • op_net_listen_unixpacket
  • op_net_recv_udp
  • op_net_recv_unixpacket
  • op_net_send_udp
  • op_net_send_unixpacket
  • op_net_connect_tls
  • op_net_listen_tls
  • op_net_accept_tls
  • op_net_join_multi_v4_udp
  • op_net_join_multi_v6_udp
  • op_net_leave_multi_v4_udp
  • op_net_leave_multi_v6_udp
  • op_net_set_multi_loopback_udp
  • op_net_set_multi_ttl_udp

TLS

  • op_tls_start
  • op_tls_handshake
  • op_tls_key_null
  • op_tls_key_static
  • op_tls_key_static_from_file
  • op_tls_cert_resolver_create
  • op_tls_cert_resolver_poll
  • op_tls_cert_resolver_resolve
  • op_tls_cert_resolver_resolve_error

Other

  • op_node_unstable_net_listen_udp
  • op_dns_resolve
  • op_set_nodelay
  • op_set_keepalive
  • op_node_unstable_net_listen_unixpacket

Dependencies

~193MB
~4M SLoC