Nym clients — bringing mixnet technology to browsers and more!
Learn what Nym has for you to build for privacy
Learn about Nym clients that you can use to build for privacy
The Nym mixnet is a powerful overlay network that protects privacy at the transport layer of the internet, and it‘ i’s now available for integration into a wide variety of apps and wallets through Nym clients.
This post gives a quick overview of the Nym clients that are currently available. If you want to learn more, do get in touch with the Nym Developer Relations team to find out about integrating network layer privacy and available grants for integrations and app development.
Why integrate a mixnet?
End-to-end encryption has become widely accepted as standard security practice. But although it effectively protects the contents of messages, data about the messages — metadata — leaks information at the network layer. Mixnets encrypt and mix individual data packets, thereby protecting any internet traffic from traffic analysis. In this way, the network provides powerful protection for metadata such as IP addresses and patterns of communication — the main targets for the kinds of ML-powered surveillance practices of today.
How to connect to the mixnet
In order for applications to connect to the mixnet, they have to utilise one of several Nym clients.
Each client is suited for different programming environments, but all perform the same underlying functions of connecting and authenticating with gateways, encrypting and routing outgoing packets, and decrypting incoming traffic. This means developers can focus on other aspects of application design while gaining the privacy features of the mixnet.
Client #1 — WebAssembly Client
The WebAssembly client allows applications to connect to the mixnet from any WebAssembly-capable runtime. This is perfect for browser-based apps, edge-computing, and frameworks such as Electron or Tauri (the framework used to build both NymConnect and the Nym Wallet).
Typescript developers can easily utilise this client via the Nym SDK. If you are a JavaScript or TypeScript developer and would like to give things a try and see how it works, have a look at our docs and GitHub repository for examples on how to use it. Rust developers can look forward to a Rust SDK coming in the future.
This is the very first time that the full privacy powers of mixnets are available easily and directly from a browser window.
Client #2 — Websocket client
The Websocket client does what it says on the tin — it is a standalone process which allows developers to communicate with the mixnet via a websocket connection, designed to run on both desktops and remote servers.
Provided your application is written in a language that supports websockets (read: most!), you can use this client to communicate with the mixnet. This client has already been utilised in projects such as Pastenym and NymDrive, and developers can check out a tutorial for setting up both client-side code and a service provider to communicate with via the mixnet using the Websocket client here.
Client #3 — SOCKS client
The SOCKS client enables easy integration with any applications that can send traffic using the SOCKS4, SOCKS4a, or SOCKS5 proxy protocols.
NOTE: The latest Nym release has now expanded the SOCKS client to also support SOCK4a and SOCKS4a, making the mixnet available for integration by a broader variety of applications and wallets, including Monero.
Developers may have seen this client before used in NymConnect, or in our quickstart guide, allowing you to access the mixnet without having to even open a code editor! Just set up a client and route your application traffic to it as per this guide.
Developers wanting to integrate application code with this client will need to also set up a Network Requester service to proxy traffic from the mixnet to whatever service they wish to access in the clearnet.
Currently, the mixnet is enabled to end-users of Telegram, Keybase, Electrum wallet and Blockstream Green wallets via NymConnect. If you want to run a service provider and/or gateway to privacy-enhance more applications, get in touch on Discord!
Dev resources
Relevant links:
- Shipyard
- Service grants
- What is a gateway? / Docs
- What is a network requester? / Docs
- Sign up to the Shipyard grants email list
- Nym Whitepaper
Privacy loves company
Discord // Telegram // Element // Twitter
The internet is global and so is Nym: join the Nym Community wherever you are and help build the private internet today.
English // 中文 // Русский // Türkçe // Tiếng Việt // 日本 // Française // Español // Português // 한국인