{"id":13572831,"url":"https://github.com/gopcua/opcua","last_synced_at":"2026-04-05T17:37:21.105Z","repository":{"id":37502586,"uuid":"142013463","full_name":"gopcua/opcua","owner":"gopcua","description":"Native Go OPC-UA library","archived":false,"fork":false,"pushed_at":"2025-03-16T06:47:44.000Z","size":11054,"stargazers_count":911,"open_issues_count":108,"forks_count":276,"subscribers_count":54,"default_branch":"main","last_synced_at":"2025-03-16T07:21:55.856Z","etag":null,"topics":["golang","ics","opc-ua","protocol","scada"],"latest_commit_sha":null,"homepage":"","language":"Go","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/gopcua.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-07-23T12:48:35.000Z","updated_at":"2025-03-16T06:47:46.000Z","dependencies_parsed_at":"2023-02-12T03:01:33.734Z","dependency_job_id":"34decedf-0534-46ff-ba8b-2e7d17b3dfea","html_url":"https://github.com/gopcua/opcua","commit_stats":{"total_commits":806,"total_committers":50,"mean_commits":16.12,"dds":0.4516129032258065,"last_synced_commit":"1ffb7f9795213606e32c9eadd68506937374a274"},"previous_names":["wmnsk/gopcua"],"tags_count":57,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gopcua%2Fopcua","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gopcua%2Fopcua/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gopcua%2Fopcua/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gopcua%2Fopcua/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gopcua","download_url":"https://codeload.github.com/gopcua/opcua/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247169976,"owners_count":20895387,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["golang","ics","opc-ua","protocol","scada"],"created_at":"2024-08-01T15:00:21.693Z","updated_at":"2025-12-15T13:38:06.834Z","avatar_url":"https://github.com/gopcua.png","language":"Go","funding_links":[],"categories":["Industrial protocols"],"sub_categories":["OPC UA"],"readme":"\u003cp align=\"center\"\u003e\n   \u003cimg width=\"25%\" src=\"https://raw.githubusercontent.com/gopcua/opcua/master/gopher.png\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  Artwork by \u003ca href=\"https://twitter.com/ashleymcnamara\"\u003eAshley McNamara\u003c/a\u003e\u003cbr/\u003e\n  Inspired by \u003ca href=\"http://reneefrench.blogspot.co.uk/\"\u003eRenee French\u003c/a\u003e\u003cbr/\u003e\n  Taken from \u003ca href=\"https://gopherize.me\"\u003ehttps://gopherize.me\u003c/a\u003e by \u003ca href=\"https://twitter.com/matryer\"\u003eMat Ryer\u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eOPC/UA\u003c/h1\u003e\n\nA native Go implementation of the OPC/UA Binary Protocol.\n\nWe support the current and previous major Go release.\nSee below for a list of [Tested Platforms](#tested-platforms) and [Supported Features](#supported-features).\n\n[![GitHub](https://github.com/gopcua/opcua/workflows/gopuca/badge.svg)](https://github.com/gopcua/opcua/actions)\n[![Go Reference](https://pkg.go.dev/badge/github.com/gopcua/opcua.svg)](https://pkg.go.dev/github.com/gopcua/opcua)\n[![License](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/gopcua/opcua/blob/master/LICENSE)\n[![Version](https://img.shields.io/github/tag/gopcua/opcua.svg?color=blue\u0026label=version)](https://github.com/gopcua/opcua/releases)\n\n## v0.5.x BREAKING CHANGES\n\n* `v0.5.0` released on 14 Aug 2023: all `Client` methods must have a context\n* `v0.5.1` released on 22 Aug 2023: the `NewClient` function returns an error\n\nIn `v0.3.0` on 21 Jan 2022 release we added `WithContext` variants for all methods\nto avoid a breaking change. All existing methods without a context had a disclaimer\nthat with `v0.5.0` their signature would change to include the context\nand that the `WithContext` method would be removed. \n\nWe missed to update the `NewClient` function in `v0.5.0` which was fixed\nin `v0.5.1`.\n\nPlease update your code and let us know if there are any issues!\n\nThank you!\n\nYour GOPCUA Team\n\n## Quickstart\n\n```sh\n# install library\ngo get -u github.com/gopcua/opcua\n\n# get current date and time 'ns=0;i=2258'\ngo run examples/datetime/datetime.go -endpoint opc.tcp://localhost:4840\n\n# read the server version\ngo run examples/read/read.go -endpoint opc.tcp://localhost:4840 -node 'ns=0;i=2261'\n\n# get the current date time using different security and authentication modes\ngo run examples/crypto/*.go -endpoint opc.tcp://localhost:4840 -cert path/to/cert.pem -key path/to/key.pem -sec-policy Basic256 -sec-mode SignAndEncrypt\n\n# checkout examples/ for more examples...\n```\n\n## Sponsors\n\nThe `gopcua` project is sponsored by the following organizations by supporting the active committers to the project:\n\n\u003ctable border=\"0\"\u003e\n   \u003ctr valign=\"middle\"\u003e\n      \u003ctd width=\"33%\"\u003e\n        \u003ca href=\"https://northvolt.com/\"\u003e\n          \u003cimg alt=\"Northvolt\" src=\"https://raw.githubusercontent.com/gopcua/opcua/main/logo/northvolt.png\"\u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd width=\"34%\"\u003e\n        \u003ca href=\"https://www.evosoft.com/\"\u003e\n          \u003cimg alt=\"evosoft\" src=\"https://raw.githubusercontent.com/gopcua/opcua/main/logo/evosoft.png\"\u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n      \u003ctd width=\"33%\"\u003e\n        \u003ca href=\"https://www.intelecy.com/\"\u003e\n          \u003cimg alt=\"Intelecy AS\" src=\"https://raw.githubusercontent.com/gopcua/opcua/main/logo/intelecy.png\"\u003e\n        \u003c/a\u003e\n      \u003c/td\u003e\n   \u003c/tr\u003e\n\u003c/table\u003e\n\n### Users\n\nWe would also like to list organizations which use `gopcua` in production:\n\u003ctable border=\"0\"\u003e\n  \u003ctr valign=\"middle\"\u003e\n    \u003ctd width=\"20%\"\u003e\n      \u003ca href=\"https://strateos.com\"\u003e\n        \u003cimg alt=\"strateos\" src=\"logo/strateos.png\"\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd width=\"20%\"\u003e\n      \u003ca href=\"https://www.umh.app\"\u003e\n        \u003cimg alt=\"united manufacturing hub\" src=\"logo/united-manufacturing-hub.jpg\"\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd width=\"20%\"\u003e\n      \u003ca href=\"https://wolframmfg.com\"\u003e\n        \u003cimg alt=\"Wolfram Manufacturing Technologies\" src=\"logo/wolfram-manufacturing.png\"\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd width=\"40%\"\u003e\n        Please open a PR to include your logo here.\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n### Projects using gopcua\n\n`gopcua` is not only utilized in production environments, but it also serves as a critical component in other larger projects. Here are some projects that rely on `gopcua` for their functionality:\n\n- [Telegraf](https://github.com/influxdata/telegraf): This plugin-driven server agent is used for collecting and sending metrics. It leverages `gopcua` to extract data from OPC-UA servers and insert it into InfluxDB. Telegraf supports both polling and subscribing methods for data acquisition.\n- [benthos-umh](https://github.com/united-manufacturing-hub/benthos-umh): This project is built upon the [benthos](https://github.com/benthosdev/benthos) stream-processing framework. It utilizes `gopcua` to extract data from OPC-UA servers and forwards the information to MQTT or Kafka brokers. benthos-umh currently supports polling for data collection.\n\n## Disclaimer\n\nWe are still actively working on this project and the APIs will change.\n\nHowever, you can safely assume that we are aiming to make the APIs as\nstable as possible since the code is in use in several large scale\nproduction environments.\n\nThe [Current State](https://github.com/gopcua/opcua/wiki/Current-State) was moved\nto the [Wiki](https://github.com/gopcua/opcua/wiki).\n\n## Your Help is Appreciated\n\nIf you are looking for ways to contribute you can\n\n * test the high-level client against real OPC/UA servers\n * add functions to the client or tell us which functions you need for `gopcua` to be useful\n * work on the security layer, server and other components\n * and last but not least, file issues, review code and write/update documentation\n\nAlso, if the library is already useful please spread the word as a motivation.\n\n## Tested Platforms\n\n`gopcua` is run in production by several companies and with different equipment.\nThe table below is an incomplete list of where and how `gopcua` is used to provide\nsome guidance on the level of testing.\n\nWe would be happy if you can add your equipment to the list. Just open a PR :)\n\n| Device                                                                                                 | gopcua version | Environment                                                                                          | By                         |\n|--------------------------------------------------------------------------------------------------------|----------------|------------------------------------------------------------------------------------------------------|----------------------------|\n| Siemens S7-1500                                                                                        | v0.1.x..latest | production                                                                                           | Northvolt                  |\n| Beckhoff C6015-0010,C6030-0060 on OPC/UA server 4.3.x                                                  | v0.1.x..latest | production                                                                                           | Northvolt                  |\n| Kepware 6.x                                                                                            | v0.1.x..latest | production                                                                                           | Northvolt                  |\n| Kepware 6.x                                                                                            | v0.1.x, v0.2.x | production                                                                                           | Intelecy                   |\n| Cogent DataHub 9.x                                                                                     | v0.1.x, v0.2.x | production                                                                                           | Intelecy                   |\n| ABB Ability EdgeInsight 1.8.X                                                                          | v0.1.x, v0.2.x | production                                                                                           | Intelecy                   |\n| GE Digital Historian 2022 HDA Server                                                                   | v0.3.x         | production                                                                                           | Intelecy                   |\n| B\u0026R Automation PC 3100                                                                                 | v0.3.x         | production                                                                                           | ACS                        |\n| Siemens S7-1200                                                                                        | v0.3.x         | [CI/CD testing](https://github.com/united-manufacturing-hub/benthos-umh?tab=readme-ov-file#testing)  | [UMH](https://www.umh.app) |\n| WAGO 750-8101                                                                                          | v0.3.x         | [CI/CD testing](https://github.com/united-manufacturing-hub/benthos-umh?tab=readme-ov-file#testing)  | [UMH](https://www.umh.app) |\n| [Microsoft OPC UA simulator v2.9.11](https://github.com/Azure-Samples/iot-edge-opc-plc)                | v0.3.x         | [CI/CD testing](https://github.com/united-manufacturing-hub/benthos-umh?tab=readme-ov-file#testing)  | [UMH](https://www.umh.app) |\n| [Prosys OPC UA Simulation Server v5.4.6-148](https://prosysopc.com/products/opc-ua-simulation-server/) | v0.3.x         | [manual testing](https://github.com/united-manufacturing-hub/benthos-umh?tab=readme-ov-file#testing) | [UMH](https://www.umh.app) |\n| InfluxDB Telegraf plugin                                                                               | v0.3.x         | ?                                                                                                    | Community                  |\n\n## Supported Features\n\nThe current focus is on the OPC UA Binary protocol over TCP. No other protocols are supported at this point.\n\n| Categories     | Features                         | Supported | Notes       |\n|----------------|----------------------------------|-----------|-------------|\n| Encoding       | OPC UA Binary                    | Yes       |             |\n|                | OPC UA JSON                      |           | not planned |\n|                | OPC UA XML                       |           | not planned |\n| Transport      | UA-TCP UA-SC UA Binary           | Yes       |             |\n|                | OPC UA HTTPS                     |           | not planned |\n|                | SOAP-HTTP WS-SC UA Binary        |           | not planned |\n|                | SOAP-HTTP WS-SC UA XML           |           | not planned |\n|                | SOAP-HTTP WS-SC UA XML-UA Binary |           | not planned |\n| Encryption     | None                             | Yes       |             |\n|                | Basic128Rsa15                    | Yes       |             |\n|                | Basic256                         | Yes       |             |\n|                | Basic256Sha256                   | Yes       |             |\n| Authentication | Anonymous                        | Yes       |             |\n|                | User Name Password               | Yes       |             |\n|                | X509 Certificate                 | Yes       |             |\n\n### Services\n\nHere is the current set of supported services. For low-level access use the client `Send` function directly.\n\n| Service Set                 | Service                       | Client | Notes        |\n|-----------------------------|-------------------------------|--------|--------------|\n| Discovery Service Set       | FindServers                   | Yes    |              |\n|                             | FindServersOnNetwork          | Yes    |              |\n|                             | GetEndpoints                  | Yes    |              |\n|                             | RegisterServer                |        |              |\n|                             | RegisterServer2               |        |              |\n| Secure Channel Service Set  | OpenSecureChannel             | Yes    |              |\n|                             | CloseSecureChannel            | Yes    |              |\n| Session Service Set         | CreateSession                 | Yes    |              |\n|                             | CloseSession                  | Yes    |              |\n|                             | ActivateSession               | Yes    |              |\n|                             | Cancel                        |        |              |\n| Node Management Service Set | AddNodes                      |        |              |\n|                             | AddReferences                 |        |              |\n|                             | DeleteNodes                   |        |              |\n|                             | DeleteReferences              |        |              |\n| View Service Set            | Browse                        | Yes    |              |\n|                             | BrowseNext                    | Yes    |              |\n|                             | TranslateBrowsePathsToNodeIds |        |              |\n|                             | RegisterNodes                 | Yes    |              |\n|                             | UnregisterNodes               | Yes    |              |\n| Query Service Set           | QueryFirst                    |        |              |\n|                             | QueryNext                     |        |              |\n| Attribute Service Set       | Read                          | Yes    |              |\n|                             | Write                         | Yes    |              |\n|                             | HistoryRead                   | Yes    |              |\n|                             | HistoryUpdate                 |        |              |\n| Method Service Set          | Call                          | Yes    |              |\n| MonitoredItems Service Set  | CreateMonitoredItems          | Yes    |              |\n|                             | DeleteMonitoredItems          | Yes    |              |\n|                             | ModifyMonitoredItems          | Yes    |              |\n|                             | SetMonitoringMode             | Yes    |              |\n|                             | SetTriggering                 |        |              |\n| Subscription Service Set    | CreateSubscription            | Yes    |              |\n|                             | ModifySubscription            |        |              |\n|                             | SetPublishingMode             |        |              |\n|                             | Publish                       | Yes    |              |\n|                             | Republish                     |        |              |\n|                             | DeleteSubscriptions           | Yes    |              |\n|                             | TransferSubscriptions         |        |              |\n\n## Authors\n\nThe [Gopcua Team](https://github.com/gopcua/opcua/graphs/contributors).\n\nIf you need to get in touch with us directly you may find us on [Keybase.io](https://keybase.io)\nbut try to create an issue first.\n\n## License\n\n[MIT](https://github.com/gopcua/opcua/blob/master/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgopcua%2Fopcua","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgopcua%2Fopcua","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgopcua%2Fopcua/lists"}