Join our Discord Support Server
Holesail Server enables you to reverse proxy any local server peer-to-peer (P2P) using HyperDHT, no signalling server required.
Note: V2 has breaking changes, V2 is not compatible with V1 and will break infuture.
Install the Holesail Server module via npm:
npm install holesail-serverRequire the module in your project:
const HolesailServer = require('holesail-server')Create a new instance of the HolesailServer class:
const server = new HolesailServer()Start the server using the start method and retrieve its public key:
await server.start({ port: 5000, host: '127.0.0.1' }, () => {
console.log('Server started')
console.log(server.key)
setTimeout(() => {
server.destroy()
console.log('Server destroyed')
}, 6000)
})Optionally, you can set a seed to ensure the server generates the same connection key every time:
await server.start(
{
port: 5000,
host: '127.0.0.1',
seed: '4917816487c1822049939ff1abbf515663275105d01361bbc84fe2000e594539'
},
() => {
console.log('Server started')
console.log(server.key)
setTimeout(async () => {
await server.destroy()
console.log('Server destroyed')
}, 6000)
}
)
// Note: seed must be a 64-character long string.Use the destroy method to stop the server and clean up resources:
await server.destroy()Starts the server
-
options(object):port(number, required): The port to listen on.host(string, required): The local address to bind to. Use"0.0.0.0"to listen on all interfaces.seed(string, optional): A 64-character string used to generate a consistent connection key.secure(boolean, optional, recommended): Prevents leaking access capability to HyperDHT by listening on a different seed than the one needed to connect.udp(boolean, optional): Enables UDP instead of TCP connections.
-
callback(function): A function that is called when the server successfully starts.
Retrieves the server's connection key. Use this key to connect to the server from a client.
Pause the server.
Resume the server.
Returns an object containing server information.
Stops the server and cleans up resources.
Put a mutable record on DHT. Max size 1 KB
Holesail Server is released under the GPL-v3 License.
For more details, see the LICENSE file.
Join our Discord Support Server for help, discussions, and updates.