mirror of
https://github.com/arthur-pbty/portfolio2023.git
synced 2026-06-27 06:27:58 +02:00
modified
This commit is contained in:
-23
@@ -1,23 +0,0 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (https://github.com/onlxltd/bonjour-service) (c) 2021 ON LX Limited
|
||||
|
||||
Portions Copyright (Bonjour - https://github.com/watson/bonjour) (c) 2015-2016 Thomas Watson Steen
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
-195
@@ -1,195 +0,0 @@
|
||||
# bonjour-service
|
||||
|
||||
     [](https://deepscan.io/dashboard#view=project&tid=13435&pid=16430&bid=352351)
|
||||
|
||||
A Bonjour/Zeroconf protocol implementation in TypeScript. Publish
|
||||
services on the local network or discover existing services using
|
||||
multicast DNS.
|
||||
|
||||
This is a rewrite of the project Bonjour (https://github.com/watson/bonjour) into modern TypeScript.
|
||||
|
||||
|
||||
|
||||
## Installation
|
||||
Add to your project dependencies using Yarn or NPM.
|
||||
|
||||
#### Install with Yarn
|
||||
```
|
||||
yarn add bonjour-service
|
||||
```
|
||||
#### Install with NPM
|
||||
```
|
||||
npm install bonjour-service
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
import Bonjour from 'bonjour-service'
|
||||
|
||||
const instance = new Bonjour()
|
||||
|
||||
// advertise an HTTP server on port 3000
|
||||
instance.publish({ name: 'My Web Server', type: 'http', port: 3000 })
|
||||
|
||||
// browse for all http services
|
||||
instance.find({ type: 'http' }, function (service) {
|
||||
console.log('Found an HTTP server:', service)
|
||||
})
|
||||
```
|
||||
|
||||
## API
|
||||
|
||||
### Initializing
|
||||
|
||||
```js
|
||||
var instance = new Bonjour({ options }, errorCallback)
|
||||
```
|
||||
|
||||
The `options` are optional and will be used when initializing the
|
||||
underlying multicast-dns server. For details see [the multicast-dns
|
||||
documentation](https://github.com/mafintosh/multicast-dns#mdns--multicastdnsoptions).
|
||||
|
||||
`errorCallback` is an optional callback used to gracefully handle errors that would otherwise
|
||||
crash the process. While not being strictly required, providing this is highly recommended
|
||||
|
||||
### Publishing
|
||||
|
||||
#### `var service = bonjour.publish(options)`
|
||||
|
||||
Publishes a new service.
|
||||
|
||||
Options are:
|
||||
|
||||
- `name` (string)
|
||||
- `host` (string, optional) - defaults to local hostname
|
||||
- `port` (number)
|
||||
- `type` (string)
|
||||
- `subtypes` (array of strings, optional)
|
||||
- `protocol` (string, optional) - `udp` or `tcp` (default)
|
||||
- `txt` (object, optional) - a key/value object to broadcast as the TXT
|
||||
record
|
||||
|
||||
IANA maintains a [list of official service types and port
|
||||
numbers](http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml).
|
||||
|
||||
#### `bonjour.unpublishAll([callback])`
|
||||
|
||||
Unpublish all services. The optional `callback` will be called when the
|
||||
services have been unpublished.
|
||||
|
||||
#### `bonjour.destroy()`
|
||||
|
||||
Destroy the mdns instance. Closes the udp socket.
|
||||
|
||||
### Browser
|
||||
|
||||
#### `var browser = bonjour.find(options[, onup])`
|
||||
|
||||
Listen for services advertised on the network. An optional callback can
|
||||
be provided as the 2nd argument and will be added as an event listener
|
||||
for the `up` event.
|
||||
|
||||
Options (all optional):
|
||||
|
||||
- `type` (string)
|
||||
- `subtypes` (array of strings)
|
||||
- `protocol` (string) - defaults to `tcp`
|
||||
- `txt` (object) - passed into [dns-txt
|
||||
module](https://github.com/watson/dns-txt) contructor. Set to `{
|
||||
binary: true }` if you want to keep the TXT records in binary
|
||||
|
||||
#### `var browser = bonjour.findOne(options[, callback])`
|
||||
|
||||
Listen for and call the `callback` with the first instance of a service
|
||||
matching the `options`. If no `callback` is given, it's expected that
|
||||
you listen for the `up` event. The returned `browser` will automatically
|
||||
stop it self after the first matching service.
|
||||
|
||||
Options are the same as given in the `browser.find` function.
|
||||
|
||||
#### `Event: up`
|
||||
|
||||
Emitted every time a new service is found that matches the browser.
|
||||
|
||||
#### `Event: down`
|
||||
|
||||
Emitted every time an existing service emmits a goodbye message.
|
||||
|
||||
#### `browser.services()`
|
||||
|
||||
An array of services known by the browser to be online.
|
||||
|
||||
#### `browser.start()`
|
||||
|
||||
Start looking for matching services.
|
||||
|
||||
#### `browser.stop()`
|
||||
|
||||
Stop looking for matching services.
|
||||
|
||||
#### `browser.update()`
|
||||
|
||||
Broadcast the query again.
|
||||
|
||||
### Service
|
||||
|
||||
#### `Event: up`
|
||||
|
||||
Emitted when the service is up.
|
||||
|
||||
#### `Event: error`
|
||||
|
||||
Emitted if an error occurrs while publishing the service.
|
||||
|
||||
#### `service.stop([callback])`
|
||||
|
||||
Unpublish the service. The optional `callback` will be called when the
|
||||
service have been unpublished.
|
||||
|
||||
#### `service.start()`
|
||||
|
||||
Publish the service.
|
||||
|
||||
#### `service.name`
|
||||
|
||||
The name of the service, e.g. `Apple TV`.
|
||||
|
||||
#### `service.type`
|
||||
|
||||
The type of the service, e.g. `http`.
|
||||
|
||||
#### `service.subtypes`
|
||||
|
||||
An array of subtypes. Note that this property might be `null`.
|
||||
|
||||
#### `service.protocol`
|
||||
|
||||
The protocol used by the service, e.g. `tcp`.
|
||||
|
||||
#### `service.host`
|
||||
|
||||
The hostname or ip address where the service resides.
|
||||
|
||||
#### `service.port`
|
||||
|
||||
The port on which the service listens, e.g. `5000`.
|
||||
|
||||
#### `service.fqdn`
|
||||
|
||||
The fully qualified domain name of the service. E.g. if given the name
|
||||
`Foo Bar`, the type `http` and the protocol `tcp`, the `service.fqdn`
|
||||
property will be `Foo Bar._http._tcp.local`.
|
||||
|
||||
#### `service.txt`
|
||||
|
||||
The TXT record advertised by the service (a key/value object). Note that
|
||||
this property might be `null`.
|
||||
|
||||
#### `service.published`
|
||||
|
||||
A boolean indicating if the service is currently published.
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
-53
@@ -1,53 +0,0 @@
|
||||
{
|
||||
"name": "bonjour-service",
|
||||
"version": "1.1.1",
|
||||
"description": "A Bonjour/Zeroconf implementation in TypeScript",
|
||||
"main": "./dist/index.js",
|
||||
"types": "./dist/index.d.ts",
|
||||
"dependencies": {
|
||||
"array-flatten": "^2.1.2",
|
||||
"dns-equal": "^1.0.0",
|
||||
"fast-deep-equal": "^3.1.3",
|
||||
"multicast-dns": "^7.2.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^16.18.11",
|
||||
"@typescript-eslint/eslint-plugin": "^5.22.0",
|
||||
"@typescript-eslint/parser": "^5.22.0",
|
||||
"after-all": "^2.0.2",
|
||||
"eslint": "^8.15.0",
|
||||
"standard": "^17.0.0",
|
||||
"tape": "^5.2.2",
|
||||
"ts-node-dev": "^2.0.0",
|
||||
"typescript": "^4.4.4"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "standard --fix && tape test/*.js",
|
||||
"build": "tsc --removeComments true",
|
||||
"dev": "ts-node-dev --respawn --transpile-only ./src/index.ts",
|
||||
"example:simple": "node examples/simple"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/onlxltd/bonjour-service.git"
|
||||
},
|
||||
"keywords": [
|
||||
"bonjour",
|
||||
"zeroconf",
|
||||
"zero",
|
||||
"configuration",
|
||||
"mdns",
|
||||
"dns",
|
||||
"service",
|
||||
"discovery",
|
||||
"multicast",
|
||||
"broadcast",
|
||||
"dns-sd"
|
||||
],
|
||||
"author": "ON LX Lited <team@onlx.ltd> (https://labs.onlx.ltd)",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/onlxltd/bonjour-service/issues"
|
||||
},
|
||||
"homepage": "https://github.com/onlxltd/bonjour-service"
|
||||
}
|
||||
Reference in New Issue
Block a user