running-at

Get local and network ip address

Usage no npm install needed!

<script type="module">
  import runningAt from 'https://cdn.skypack.dev/running-at';
</script>

README

running-at

Test Coverage Status GitHub David npm

Get/Print local and network IP address

preview

👋 Introduction

running-at returns (or directly prints) your current local and network ip address. This is useful if you want to know the address your server is running at.

🚀 Get started

Install running-at via npm:

npm install running-at

📚 Usage

const runningAt = require('running-at')

runningAt()

Will return:

{
    ip: "192.168.2.115",
    local: "http://localhost:3000/",
    network: "http://192.168.2.115:3000/"
}

Or run it like this:

const runningAt = require('running-at')

runningAt.print()

to directly print the URLs to the console:

Running at:
- Local:   http://localhost:3000/
- Network: http://192.168.2.115:3000/

⚙️ Options

You can change the behaviour of running-at by passing an options object to runningAt() or runningAt.print():

const options = {
    port: 8080, // default: '3000'
    protocol: 'https', // default: 'http'
    host: '127.0.0.1', // default: 'localhost'
    pathname: '/app', // default: '/'
    family: 'IPv6', // default: 'IPv4'
    interface: 'wlan0', // default: 'prefered interface'
    getNetwork: false, // default: true,
    indentation: true // default: false
}

runningAt()

// or runningAt.print()

If you only want to specify the port, you can directly pass it as a parameter:

runningAt.print(8080) // Will use 8080 as port

use process.env.PORT for your server and then just pass it in here

🛠️ Example

Use running-at in an Express app:

const runningAt = require('running-at')
const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.listen(port, () => {
  runningAt.print(port)
})

After the app has started, it will print:

Running at:
- Local:   http://localhost:3000/
- Network: http://192.168.2.115:3000/

💻 Development

Issues and PRs are very welcome!

Run yarn lint or npm run lint to lint the project and run yarn test or npm run test to run all unit tests.

❔ About

This library was developed by me (@betahuhn) in my free time. If you want to support me:

Donate via PayPal

Credits

The library was inspired by how the vue cli prints the local and network address when you run vue-cli-service serve.

License

Copyright 2020 Maximilian Schiller

This project is licensed under the MIT License - see the LICENSE file for details.