{"id":13494975,"url":"https://github.com/node-opcua/node-opcua","last_synced_at":"2026-03-07T16:04:35.296Z","repository":{"id":13463884,"uuid":"16153672","full_name":"node-opcua/node-opcua","owner":"node-opcua","description":"Unlocking the Full Potential of OPC UA with Typescript and NodeJS - http://node-opcua.github.io/","archived":false,"fork":false,"pushed_at":"2026-03-03T18:03:15.000Z","size":46936,"stargazers_count":1620,"open_issues_count":26,"forks_count":508,"subscribers_count":82,"default_branch":"master","last_synced_at":"2026-03-06T01:45:47.654Z","etag":null,"topics":["cryptography","cybersecurity","energy","iec-62541","iiot","industrial-automation","industry-4","instrumentation","iot-platform","javascript","m2m","manufacturing","node-opcua","nodejs","opc-ua","opcua","transport","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/node-opcua.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["node-opcua"],"open_collective":"node-opcua"}},"created_at":"2014-01-22T21:48:45.000Z","updated_at":"2026-03-03T18:03:27.000Z","dependencies_parsed_at":"2023-01-14T12:30:18.705Z","dependency_job_id":"fffabc6c-920e-4c1d-8d36-4772f04a5ae0","html_url":"https://github.com/node-opcua/node-opcua","commit_stats":{"total_commits":4361,"total_committers":82,"mean_commits":53.18292682926829,"dds":"0.20981426278376514","last_synced_commit":"093ac7d08062cb27fcbdcdd36c1219d9b311905f"},"previous_names":[],"tags_count":406,"template":false,"template_full_name":null,"purl":"pkg:github/node-opcua/node-opcua","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/node-opcua%2Fnode-opcua","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/node-opcua%2Fnode-opcua/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/node-opcua%2Fnode-opcua/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/node-opcua%2Fnode-opcua/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/node-opcua","download_url":"https://codeload.github.com/node-opcua/node-opcua/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/node-opcua%2Fnode-opcua/sbom","scorecard":{"id":692071,"data":{"date":"2025-08-11","repo":{"name":"github.com/node-opcua/node-opcua","commit":"c4130ffc74fa472eb2b0ce183285ef6ed4a23034"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.3,"checks":[{"name":"Maintained","score":10,"reason":"30 commit(s) and 4 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/workflow.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Code-Review","score":0,"reason":"Found 1/16 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 16 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/workflow.yml:115: update your workflow using https://app.stepsecurity.io/secureworkflow/node-opcua/node-opcua/workflow.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/workflow.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/node-opcua/node-opcua/workflow.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/workflow.yml:120: update your workflow using https://app.stepsecurity.io/secureworkflow/node-opcua/node-opcua/workflow.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/workflow.yml:138: update your workflow using https://app.stepsecurity.io/secureworkflow/node-opcua/node-opcua/workflow.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/workflow.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/node-opcua/node-opcua/workflow.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/workflow.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/node-opcua/node-opcua/workflow.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/workflow.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/node-opcua/node-opcua/workflow.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/workflow.yml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/node-opcua/node-opcua/workflow.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/workflow.yml:62: update your workflow using https://app.stepsecurity.io/secureworkflow/node-opcua/node-opcua/workflow.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/workflow.yml:65: update your workflow using https://app.stepsecurity.io/secureworkflow/node-opcua/node-opcua/workflow.yml/master?enable=pin","Warn: containerImage not pinned by hash: dockertest/Dockerfile:1: pin your Docker image by updating node:20.19.2-bookworm-slim to node:20.19.2-bookworm-slim@sha256:7cd3fbc830c75c92256fe1122002add9a1c025831af8770cd0bf8e45688ef661","Warn: containerImage not pinned by hash: dockertest/DockerfileNode18:1: pin your Docker image by updating node:latest to node:latest@sha256:d2b6b5aedb5b729f68ee1129e0f5a5d4713d93f82448249e82241876d8e8d86e","Warn: containerImage not pinned by hash: packages/node-opcua-local-discovery-server/Dockerfile:1: pin your Docker image by updating node:slim to node:slim@sha256:9b741b28148b0195d62fa456ed84dd6c953c1f17a3761f3e6e6797a754d9edff","Warn: containerImage not pinned by hash: packages/playground/github1422/Dockerfile:1: pin your Docker image by updating mcr.microsoft.com/dotnet/sdk:8.0 to mcr.microsoft.com/dotnet/sdk:8.0@sha256:7fd287cec03e027e39be13fb06ca1347f1338c7a6ab4ad305d94d91852693f70","Warn: npmCommand not pinned by hash: dockertest/Dockerfile:2","Warn: npmCommand not pinned by hash: packages/node-opcua-local-discovery-server/Dockerfile:4","Warn: nugetCommand not pinned by hash: packages/playground/github1422/Dockerfile:5: pin your dependecies by either enabling central package management (https://learn.microsoft.com/nuget/consume-packages/Central-Package-Management) or using a lockfile (https://learn.microsoft.com/nuget/consume-packages/package-references-in-project-files#locking-dependencies)","Warn: npmCommand not pinned by hash: .github/workflows/workflow.yml:70","Warn: npmCommand not pinned by hash: .github/workflows/workflow.yml:125","Warn: npmCommand not pinned by hash: .github/workflows/workflow.yml:127","Info:   0 out of   9 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned","Info:   0 out of   5 npmCommand dependencies pinned","Info:   0 out of   1 nugetCommand dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":8,"reason":"2 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-xffm-g5w8-qvg7","Warn: Project is vulnerable to: GHSA-52f5-9888-hmc6"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-22T02:31:47.171Z","repository_id":13463884,"created_at":"2025-08-22T02:31:47.171Z","updated_at":"2025-08-22T02:31:47.171Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30200756,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T19:07:06.838Z","status":"ssl_error","status_checked_at":"2026-03-06T18:57:34.882Z","response_time":250,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cryptography","cybersecurity","energy","iec-62541","iiot","industrial-automation","industry-4","instrumentation","iot-platform","javascript","m2m","manufacturing","node-opcua","nodejs","opc-ua","opcua","transport","typescript"],"created_at":"2024-07-31T19:01:30.019Z","updated_at":"2026-03-07T16:04:35.270Z","avatar_url":"https://github.com/node-opcua.png","language":"TypeScript","readme":"node-opcua\n==========\n\nnode-opcua is a full OPC UA stack for NodeJS and the Browser written in Typescript.\n\n[![NPM version](https://img.shields.io/npm/v/node-opcua)](https://img.shields.io/npm/v/node-opcua)\n[![Node.js CI](https://github.com/node-opcua/node-opcua/actions/workflows/workflow.yml/badge.svg)](https://github.com/node-opcua/node-opcua/actions/workflows/workflow.yml)\n[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lernajs.io/)\n[![Coverage Status](https://img.shields.io/coverallsCoverage/github/node-opcua/node-opcua)](https://coveralls.io/r/node-opcua/node-opcua)\n[![Gitter chat](https://img.shields.io/gitter/room/node-opcua/node-opcua\n)](https://gitter.im/node-opcua/node-opcua)\n[![The Book](https://img.shields.io/static/v1?label=the%20book\u0026message=NodeOPCUA%20by%20example\u0026color=blueviolet\u0026logo=leanpub)](https://leanpub.com/node-opcuabyexample-edition2024)\n\n[![NPM download - server](https://img.shields.io/npm/dm/node-opcua.svg?logo=npm\u0026label=node-opcua-server)](https://www.npmtrends.com/node-opcua-server)\n[![NPM download - server -total](https://img.shields.io/npm/dt/node-opcua.svg?label=total)](https://www.npmtrends.com/node-opcua-server)\n \n[![NPM download - client](https://img.shields.io/npm/dm/node-opcua-client.svg?logo=npm\u0026label=node-opcua-client)](https://www.npmtrends.com/node-opcua-client)\n[![NPM download - client -total](https://img.shields.io/npm/dt/node-opcua-client.svg?label=total)](https://www.npmtrends.com/node-opcua-client)\n\n\n\u003c!-- [![open collective badge](https://opencollective.com/node-opcua/tiers/sponsor/badge.svg?label=sponsor\u003c!--\u0026color=brightgreen\")](https://opencollective.com/node-opcua#support)\n--\u003e\n[![Financial contributors](https://opencollective.com/node-opcua/tiers/badge.svg)](https://opencollective.com/node-opcua#support) \n\n[![Become a sponsor](https://opencollective.com/node-opcua/tiers/sponsor.svg?avatarHeight=36\u0026width=600\")](https://opencollective.com/node-opcua/contribute/sponsor-23291/checkout?interval=month\u0026amount=500\u0026contributeAs=me)\n\n[Node-opcua](https://node-opcua.github.io/) is the OPC-UA stack running on NodeJS.\n\nWhy NodeJS ?\n\nBecause NodeJs is a great framework for designing high-performing asynchronous applications.\n\n\n## Getting started\n\n### installing node-opcua as a node package\n\n    $ mkdir mytest\n    $ cd mytest\n    $ npm init \n    $ npm install node-opcua --unsafe-perms\n    $ # Create your first app.js file!\n\n\n### installing node-opcua samples as a node package\n\n```shell\n$ mkdir myserver\n$ cd myserver\n$ npm init\n$ npm install node-opcua-samples --unsafe-perms\n$ ./node_modules/.bin/simple_server\n```   \n\nor\n    \n```shell\n$ ./node_modules/.bin/simple_client  -e \"opc.tcp://opcserver.mAutomation.net:4841\" -n=\"ns=1;s=EVR2.system.RTC_SEC\"\n```\nor \n\n```shell\n$ ./node_modules/.bin/simple_client  -e \"opc.tcp://opcuademo.sterfive.com:26543\" \n```\n\n\n## Minimum Nodejs requirement\n\n  * Nodejs version 18 or above\n\n                \n## tutorials and guided examples\n\n\n[![The Book](https://img.shields.io/static/v1?label=the%20book\u0026message=NodeOPCUA%20by%20example\u0026color=blueviolet\u0026logo=leanpub)](https://leanpub.com/node-opcuabyexample-edition2024).  This book provides a large number of practical and ready-to-use and fully documented examples. It's the best starting point to learn about node-opcua.\n\n## Sponsors \u0026 Backers \n\nThe funding of node-opcua entirely relies on its users.  \nWe appreciate that, once you have evaluated the software and you have decided to use it in one of your applications, you consider supporting our effort by either financially contributing to one of our sponsor programs:\n\n  - https://github.com/sponsors/node-opcua\n  - https://opencollective.com/node-opcua\n\nGrants ensure the following:\n\n- 🔨 Long-term maintenance of the project\n- ⚙️ maintain the website and continuous integration platform\n- 🛣  Progress on the road map\n- 🐛 Quick responses to bug reports\n- 🚀 New features \u0026 enhancements\n- ⚖️ representing the node-opcua user community at the OPC Foundation\n \n\n## Sponsors\n\n\u003ca href=\"https://opencollective.com/node-opcua/donate\" target=\"_blank\"\u003e\n  \u003cimg src=\"https://opencollective.com/node-opcua/donate/button@2x.png?color=blue\" width=300 /\u003e\n\u003c/a\u003e\n\n\u003ca href=\"https://opencollective.com/node-opcua/sponsor/0/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/node-opcua/sponsor/0/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/node-opcua/sponsor/1/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/node-opcua/sponsor/1/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/node-opcua/sponsor/2/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/node-opcua/sponsor/2/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/node-opcua/sponsor/3/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/node-opcua/sponsor/3/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/node-opcua/sponsor/4/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/node-opcua/sponsor/4/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/node-opcua/sponsor/5/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/node-opcua/sponsor/5/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/node-opcua/sponsor/6/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/node-opcua/sponsor/6/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/node-opcua/sponsor/7/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/node-opcua/sponsor/7/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/node-opcua/sponsor/8/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/node-opcua/sponsor/8/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/node-opcua/sponsor/9/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/node-opcua/sponsor/9/avatar.svg\"\u003e\u003c/a\u003e\n\n\n## Backers\n\nThank you to all our backers! [Become a backer](https://opencollective.com/node-opcua#backer)\n\n\u003cimg src=\"https://opencollective.com/node-opcua/tiers/badge.svg\"/\u003e\n\n\u003ca href=\"https://opencollective.com/node-opcua#backers\" target=\"_blank\"\u003e\n\u003cimg src=\"https://opencollective.com/node-opcua/tiers/backer.svg?width=890\"/\u003e\n\n\n## Contributors\n\nThis project exists thanks to all the people who contribute. \n\n\u003ca href = \"https://github.com/node-opcua/node-opcua/graphs/contributors\"\u003e\n  \u003cimg src = \"https://contrib.rocks/image?repo=node-opcua/node-opcua\"/\u003e\n\u003c/a\u003e\n\n## Getting professional support\n\nTo get professional support, consider subscribing to the node-opcua membership community:\n\n[![Professional Support](https://img.shields.io/static/v1?style=for-the-badge\u0026label=Professional\u0026message=Support\u0026labelColor=blue\u0026color=green\u0026logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQ5MS41MiA0OTEuNTIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQ5MS41MiA0OTEuNTI7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxnPg0KCQk8cGF0aCBkPSJNNDg3Ljk4OSwzODkuNzU1bC05My4xMDktOTIuOTc2Yy00LjgxMy00LjgwNi0xMi42NDItNC42Sinaptik-AI/pandas-aiNzQtMTcuMjczLDAuMzA3Yy03LjE0OCw3LjY4OS0xNC42NCwxNS41NTQtMjEuNzMsMjIuNjM0ICAgIGMtMC4yNzEsMC4yNy0wLjUwMSwwLjQ5My0wLjc2MywwLjc1NUw0NjcuMyw0MzIuNTA0YzguOTEtMTAuNjE0LDE2LjY1Ny0yMC40MSwyMS43My0yNi45NyAgICBDNDkyLjcyLDQwMC43NjIsNDkyLjI1NywzOTQuMDE5LDQ4Ny45ODksMzg5Ljc1NXoiLz4NCgk8L2c+DQo8L2c+DQo8Zz4NCgk8Zz4NCgkJPHBhdGggZD0iTTMzNC4zLDMzNy42NjFjLTM0LjMwNCwxMS4zNzktNzcuNTYsMC40MTMtMTE0LjU1NC0yOS41NDJjLTQ5LjAyMS0zOS42OTMtNzUuOTcyLTEwMi42NDItNjUuODM4LTE1MC41OTNMMzcuNjM0LDQxLjQxOCAgICBDMTcuNjUzLDU5LjQyNCwwLDc4LjU0NSwwLDkwYzAsMTQxLjc1MSwyNjAuMzQ0LDQxNS44OTYsNDAxLjUwMyw0MDAuOTMxYzExLjI5Ni0xLjE5OCwzMC4xNzYtMTguNjUxLDQ4LjA2Mi0zOC4xNjdMMzM0LjMsMzM3LjY2MSAgICB6Ii8+DQoJPC9nPg0KPC9nPg0KPGc+DQoJPGc+DQoJCTxwYXRoIGQ9Ik0xOTMuODU0LDk2LjA0MUwxMDEuMjEzLDMuNTNjLTQuMjI1LTQuMjItMTAuODgyLTQuNzI0LTE1LjY2NC0xLjE0NWMtNi42NTQsNC45ODMtMTYuNjQ4LDEyLjY1MS0yNy40NTMsMjEuNDk4ICAgIGwxMTEuOTQ1LDExMS43ODVjMC4wNjEtMC4wNiwwLjExMS0wLjExMywwLjE3Mi0wLjE3NGM3LjIzOC03LjIyOCwxNS4zNTUtMTQuODg1LDIzLjI5MS0yMi4xNjcgICAgQzE5OC41MzQsMTA4LjcxMywxOTguNjg0LDEwMC44NjMsMTkzLjg1NCw5Ni4wNDF6Ii8+DQoJPC9nPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPC9zdmc+)](https://support.sterfive.com)\n\nRegistered members have access to an extended set of online documentation. \n\nRegistered members can post and query Sterfive for any question related to NodeOPCUA in a private chat room. \n\nor contact [sterfive](https://www.sterfive.com) for dedicated consulting and more advanced support or for a certified version of node-opcua. (contact@sterfive.com).\n\n\n## Road-map\n\nIf your company would like to participate and influence the development of future versions of node-opcua please contact [sterfive](mailto:contact@sterfive.com).\n\nThose are the items we would like to achieve in the next version of the API.\n  \n  * improved documentation \n  * Compliance testing and certification (CTT) \n  * Pub-sub support \n  * support for redundancy\n  * session-less transactions\n  * WebSocket transport\n  * JTokens and OAuth\n  * reversed connection\n  * more tutorials\n\n## Advanced topics\n\n### installing node-opcua from source\n\n#### running the demo server from source\n\n     $ git clone https://github.com/node-opcua/node-opcua.git\n     $ cd node-opcua\n     $ npm install -g pnpm \n     $ pnpm recursive install\n     $ pnpm build\n     $ node packages/node-opcua-samples/bin/simple_server\n    \n#### running the demo client from source\n\n     $ git clone https://github.com/node-opcua/node-opcua.git\n     $ cd node-opcua\n     $ npm install -g pnpm \n     $ pnpm recursive install\n     $ pnpm build\n     $ node packages/node-opcua-samples/bin/simple_client.js -e \"opc.tcp://opcserver.mAutomation.net:4841\" -n=\"ns=1;s=EVR2.system.RTC_SEC\"\n        \n\n\n### Tutorials\n\n * [create a server](https://github.com/node-opcua/node-opcua/blob/master/documentation/creating_a_server.md)\n * [create a client in typescript](https://github.com/node-opcua/node-opcua/blob/master/documentation/creating_a_client_typescript.md)\n   \n  *  more tutorials are available in the book (https://leanpub.com/node-opcuabyexample-edition2024)\n  *  more advanced examples and training material are available for the NodeOPCUA Subscription members at (https://support.sterfive.com)\n\n### API reference\n * check out the [API documentation](https://node-opcua.github.io/api_doc/index.html)\n\n                     \n## Contributing\n\n    $ git clone git://github.com/node-opcua/node-opcua.git\n    $ cd node-opcua\n    $ npm install -g pnpm \n    $ pnpm install\n    $ pnpm recursive install\n    $ pnpm build\n \n\n[![NPM](https://nodei.co/npm/node-opcua.png?downloads=true\u0026stars=true)](https://nodei.co/npm/node-opcua/)\n\n[![Project Stats](https://www.openhub.net/p/713850/widgets/project_thin_badge.gif)](https://www.openhub.net/p/node-opcua)\n\n\n\n## Supported Features\n\n\n| __**Service**__             |                          |                    |\n|-----------------------------|-----------------------|---------------------------|\n|  Discovery Service Set     |                        |         |\n|                            |FindServers()           |  :white_check_mark:       |\n|                            |GetEndpoints()          |  :white_check_mark:       |\n|                            |RegisterServer()        |  :white_check_mark:       |\n|                            |RegisterServer2()       |  :white_check_mark:       |\n|                            |FindServersOnNetwork()  |  :white_check_mark:       |\n| Secure Channel Service Set |                        |         |\n|                            |OpenSecureChannel()     |  :white_check_mark:       |\n|                            |CloseSecureChannel()    |  :white_check_mark:       |\n| Session Service Set        |                        |         |\n|                            |CreateSession()         |  :white_check_mark:       |\n|                            |CloseSession()          |  :white_check_mark:       |\n|                            |ActivateSession()       |  :white_check_mark:       |\n|                            |Cancel()                |         |\n| View Service Set           |                        |         |\n|                            |Browse()                |  :white_check_mark:       |\n|                            |BrowseNext()            |  :white_check_mark:       |\n|                            |TranslateBrowsePathsToNodeIds() | :white_check_mark:|\n|                            |RegisterNodes()                 | :white_check_mark:|\n|                            |UnregisterNodes()      |:white_check_mark:|\n| Attribute Service Set      |                       ||\n|                            |Read()                 |:white_check_mark:|\n|                            |Write()                |:white_check_mark:|\n|                            |HistoryRead()          |:waxing_crescent_moon:|\n|                            |HistoryUpdate()        |:waxing_crescent_moon:|\n|MonitoredItems Service Set  |                       ||\n|                            |CreateMonitoredItems() |:white_check_mark:|\n|                            |ModifyMonitoredItems() |:white_check_mark:|\n|                            |SetMonitoringMode()    |:white_check_mark:|\n|                            |SetTriggering()        |:new_moon:|\n|                            |DeleteMonitoredItems() |:white_check_mark:|\n|Subscription Service Set    |                       ||\n|                            |CreateSubscription()   |:white_check_mark:|\n|                            |ModifySubscription()   |:white_check_mark:|\n|                            |DeleteSubscriptions()  |:white_check_mark:|\n|                            |Publish()              |:white_check_mark:|\n|                            |Republish()            |:white_check_mark:|\n|                            |TransferSubscriptions()|:white_check_mark:|\n|Node Management Service Set |                       ||\n|                            |AddNodes()             |:new_moon:|\n|                            |AddReferences()        |:new_moon:|\n|                            |DeleteNodes()          |:new_moon:|\n|                            |DeleteReferences()     |:new_moon:|\n|Query Service Set           |                       ||\n|                            |QueryFirst()           |:new_moon:|\n|                            |QueryNext()            |:new_moon:|\n| PubSUB                     | as a commercial module |:white_check_mark:|\n| GDS                        | as a commercial module |:white_check_mark:|\n\n\n|                                        |                          |                    |\n|----------------------------------------|:------------------------:|--------------------|\n| __**Transport Protocol**__             |                          |                    |\n| **Transport**                          | **Status**               | **Comment**        |\n| UA-TCP UA-SC UA Binary                 |  :white_check_mark:      | OPC.TCP - Binary   |          \n| SOAP-HTTP WS-SC UA Binary              |  :new_moon:              | HTTP/HTTPS - Binary|               \n| SOAP-HTTP WS-SC UA XML                 |  :new_moon:              |                    |               \n| SOAP-HTTP WS-SC UA XML-UA Binary       |  :new_moon:              |                    |               \n| __**Security Policies**__              |                          |                    |\n| **Policy**                             | **Status**               | **Comment**        |\n| None                                   | :white_check_mark:       |                    |               \n| Basic128Rsa15                          | :white_check_mark:       | deprecated in 1.04 |               \n| Basic256                               | :white_check_mark:       | deprecated in 1.04 |               \n| Basic256Sha256                         | :white_check_mark:       |                    |               \n| **Authentication**                     | **Status**               | **Comment**        |\n| Anonymous                              |:white_check_mark:        |                    |\n| User Name Password                     |:white_check_mark:        |                    |\n| X509 Certificate                       |:white_check_mark:        |                    |\n| __**client facets**__                  |                          |                    |\n| Base Client Behaviour                  |:white_check_mark:       | |\n| AddressSpace Lookup                    |:white_check_mark:       | |\n| Attribute Read                         |:white_check_mark:       | |\n| DataChange Subscription                |:white_check_mark:       | |\n| DataAccess                             |:white_check_mark:       | |\n| Discovery                              |:white_check_mark:       | |\n| Event Subscription                     |:white_check_mark:       | |\n| Method call                            |:white_check_mark:       | |\n| Historical Access                      |:first_quarter_moon:     | |\n| Advanced Type                          |:white_check_mark:       | |\n| Programming                            |:new_moon:               | |\n| Auditing                               |:first_quarter_moon:               | |\n| Redundancy                             |:new_moon:               |Sponsors wanted |\n| __**server profiles**__                |                         | |\n| Core Server                            | :white_check_mark:      | |\n| Data Access Server                     | :white_check_mark:      | |\n| Embedded Server                        | :white_check_mark:      | |\n| Nano Embedded Device Server            | :white_check_mark:      | |\n| Micro Embedded Device Server           | :white_check_mark:      | |\n| Standard DataChange Subscription Server| :white_check_mark:                         | |\n| Standard Event Subscription Server     | :white_check_mark:                         | |\n| Standard UA Server                     | :white_check_mark:                         | |\n| Redundancy Transparent Server          | :new_moon:              |Sponsors wanted |\n| Redundancy Visible Server              | :new_moon:              |Sponsors wanted |\n| Node Management Server                 | :new_moon:              |Sponsors wanted |\n| Auditing Server                        | :first_quarter_moon:   | |\n| Complex Type Server                    | :white_check_mark:                        |(sponsored) |\n| Session Diagnostics                    |  :white_check_mark:                         | (sponsored)|\n| Subscription Diagnostics               |  :white_check_mark:                         | (sponsored)|\n| Alarms \u0026 Conditions                    |  :white_check_mark:                         | (sponsored)|\n| Pub \u0026 Sub                              |  :new_moon:                         |Sponsors wanted |\n\n\n\n\n## Feedback\n\n  * if you're using node-opcua in one of your project, please feel free to leave a comment and a quick description in the [wiki](https://github.com/node-opcua/node-opcua/wiki)\n  \n  * if you have a particular wish or found a issue, let us known and [create an issue](https://github.com/node-opcua/node-opcua/issues?state=open)\n\n\n## About licensing \n\nThe node-opcua core module is [copyrighted and licencsd under the term of the \"The MIT License\"](./LICENSE). \n\nThis means that :\n\n- node-opcua comes without any warranty of any kind.\n- you can freely re-use in an open-source application or a commercial application \n- you have to include the software copyright notice in all copies or substantial portions of the software.\n\nYou are strongly encouraged to apply to our [NodeOPCUA Membership](https://support.sterfive.com) to get additional benefits and support.\n\n\n## Copyright\n\n\nCopyright (c) 2022-2025 Sterfive SAS - 833264583 RCS ORLEANS - France (https://www.sterfive.com)\nCopyright (c) 2014-2022 Etienne Rossignon\n","funding_links":["https://github.com/sponsors/node-opcua","https://opencollective.com/node-opcua","https://opencollective.com/node-opcua/contribute/sponsor-23291/checkout?interval=month\u0026amount=500\u0026contributeAs=me","https://opencollective.com/node-opcua/donate"],"categories":["TypeScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnode-opcua%2Fnode-opcua","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnode-opcua%2Fnode-opcua","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnode-opcua%2Fnode-opcua/lists"}