| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 | 
							- /**
 
-  * Copyright (c) 2015-present, Facebook, Inc.
 
-  *
 
-  * This source code is licensed under the MIT license found in the
 
-  * LICENSE file at
 
-  * https://github.com/facebookincubator/create-react-app/blob/master/LICENSE
 
-  */
 
- const url = require('url')
 
- const chalk = require('chalk')
 
- const address = require('address')
 
- const defaultGateway = require('default-gateway')
 
- module.exports = function prepareUrls (protocol, host, port, pathname = '/') {
 
-   const formatUrl = hostname =>
 
-     url.format({
 
-       protocol,
 
-       hostname,
 
-       port,
 
-       pathname
 
-     })
 
-   const prettyPrintUrl = hostname =>
 
-     url.format({
 
-       protocol,
 
-       hostname,
 
-       port: chalk.bold(port),
 
-       pathname
 
-     })
 
-   const isUnspecifiedHost = host === '0.0.0.0' || host === '::'
 
-   let prettyHost, lanUrlForConfig
 
-   let lanUrlForTerminal = chalk.gray('unavailable')
 
-   if (isUnspecifiedHost) {
 
-     prettyHost = 'localhost'
 
-     try {
 
-       // This can only return an IPv4 address
 
-       const result = defaultGateway.v4.sync()
 
-       lanUrlForConfig = address.ip(result && result.interface)
 
-       if (lanUrlForConfig) {
 
-         // Check if the address is a private ip
 
-         // https://en.wikipedia.org/wiki/Private_network#Private_IPv4_address_spaces
 
-         if (
 
-           /^10[.]|^172[.](1[6-9]|2[0-9]|3[0-1])[.]|^192[.]168[.]/.test(
 
-             lanUrlForConfig
 
-           )
 
-         ) {
 
-           // Address is private, format it for later use
 
-           lanUrlForTerminal = prettyPrintUrl(lanUrlForConfig)
 
-         } else {
 
-           // Address is not private, so we will discard it
 
-           lanUrlForConfig = undefined
 
-         }
 
-       }
 
-     } catch (_e) {
 
-       // ignored
 
-     }
 
-   } else {
 
-     prettyHost = host
 
-     lanUrlForConfig = host
 
-     lanUrlForTerminal = prettyPrintUrl(lanUrlForConfig)
 
-   }
 
-   const localUrlForTerminal = prettyPrintUrl(prettyHost)
 
-   const localUrlForBrowser = formatUrl(prettyHost)
 
-   return {
 
-     lanUrlForConfig,
 
-     lanUrlForTerminal,
 
-     localUrlForTerminal,
 
-     localUrlForBrowser
 
-   }
 
- }
 
 
  |