IPNS-Link has two types of software: Exposers and Gateways. The individual service you want to expose is referred to as the Origin, the goal of IPNS-Link is to expose an Origin with an Exposer and for a Gateway to then access the Origin through that Exposer.
The Exposer consists of two IPFS nodes named the Listener and the Publisher; The Publisher is responsible for periodically publishing a Manifest for each Origin. The Manifest contains ciphertext which, when decrypted, will describe the config options for the Origin and the multiaddresses of the Listener it can be reached through. The Listener is responsible for forwarding the ports of Origins for Gateways to access. The Listener is not able to contact the outside world so it can only be contacted directly by it's multiaddresses.
The Gateway consists of an internal IPFS node and a Webserver The internal IPFS node is responsible for contacting the Listener and for caching files, this includes caching Manifests as well as files that the Origin wants to be cached outside of itself. The Webserver is responsible for providing an HTTP website which the user can interact with, this is where the user can enter the KID (Key Identifier) of the Manifest for the internal IPFS node to resolve in order to contact the Origin.
You can get started today by following the getting started tutorial found here, and by visiting our GitHub!
Read more about who develops and maintains the project on our team page.