{"id":13398097,"url":"https://github.com/nanomsg/nanomsg","last_synced_at":"2025-10-06T02:41:42.412Z","repository":{"id":4996132,"uuid":"6154315","full_name":"nanomsg/nanomsg","owner":"nanomsg","description":"nanomsg library","archived":false,"fork":false,"pushed_at":"2025-10-05T16:56:09.000Z","size":8378,"stargazers_count":6180,"open_issues_count":0,"forks_count":1024,"subscribers_count":420,"default_branch":"master","last_synced_at":"2025-10-05T19:07:14.120Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nanomsg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"SUPPORT","governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2012-10-10T08:32:14.000Z","updated_at":"2025-10-05T16:48:04.000Z","dependencies_parsed_at":"2023-01-11T20:12:53.716Z","dependency_job_id":"54b13bdd-ba86-42ed-a514-c00704581b36","html_url":"https://github.com/nanomsg/nanomsg","commit_stats":{"total_commits":1583,"total_committers":111,"mean_commits":14.26126126126126,"dds":0.3588123815540114,"last_synced_commit":"2d01e935e4554580da4e9dbd94964af94e0ded9c"},"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/nanomsg/nanomsg","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanomsg%2Fnanomsg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanomsg%2Fnanomsg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanomsg%2Fnanomsg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanomsg%2Fnanomsg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nanomsg","download_url":"https://codeload.github.com/nanomsg/nanomsg/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nanomsg%2Fnanomsg/sbom","scorecard":{"id":674059,"data":{"date":"2025-08-11","repo":{"name":"github.com/nanomsg/nanomsg","commit":"fc3f684a80151a3319446fc96083a9ff384ee4fe"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.9,"checks":[{"name":"Code-Review","score":6,"reason":"Found 15/22 approved changesets -- score normalized to 6","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":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","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":"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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:16","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:17","Warn: no topLevel permission defined: .github/workflows/codeql.yml:1","Warn: no topLevel permission defined: .github/workflows/darwin.yml:1","Warn: no topLevel permission defined: .github/workflows/linux.yml:1","Warn: no topLevel permission defined: .github/workflows/windows.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":"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/codeql.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/nanomsg/nanomsg/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/nanomsg/nanomsg/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/nanomsg/nanomsg/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/nanomsg/nanomsg/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/darwin.yml:10: update your workflow using https://app.stepsecurity.io/secureworkflow/nanomsg/nanomsg/darwin.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/linux.yml:10: update your workflow using https://app.stepsecurity.io/secureworkflow/nanomsg/nanomsg/linux.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/windows.yml:10: update your workflow using https://app.stepsecurity.io/secureworkflow/nanomsg/nanomsg/windows.yml/master?enable=pin","Info:   0 out of   7 GitHub-owned GitHubAction 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":"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":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: COPYING:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"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":"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":"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":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"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":"SAST","score":7,"reason":"SAST tool detected but not run on all commits","details":["Info: SAST configuration detected: CodeQL","Warn: 0 commits out of 25 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"}}]},"last_synced_at":"2025-08-21T21:00:06.052Z","repository_id":4996132,"created_at":"2025-08-21T21:00:06.052Z","updated_at":"2025-08-21T21:00:06.052Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278551497,"owners_count":26005386,"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","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2024-07-30T19:00:16.815Z","updated_at":"2025-10-06T02:41:42.376Z","avatar_url":"https://github.com/nanomsg.png","language":"C","funding_links":[],"categories":["Inter-process communication","Networking and Internet","C","网络和互联网","others","进程间通信","Networking and Internet ##","\u003ca name=\"C\"\u003e\u003c/a\u003eC","Networking"],"sub_categories":["Advanced books","高级书籍","Physical ###"],"readme":"Welcome to nanomsg\n==================\n\n[![Release](https://img.shields.io/github/release/nanomsg/nanomsg.svg)](https://github.com/nanomsg/nanomsg/releases/latest)\n[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/nanomsg/nanomsg/blob/master/COPYING)\n[![Linux](https://img.shields.io/github/actions/workflow/status/nanomsg/nanomsg/linux.yml?branch=master\u0026logoColor=grey\u0026logo=linux\u0026label=)](https://github.com/nanomsg/nanomsg/actions/workflows/linux.yml)\n[![Windows](https://img.shields.io/github/actions/workflow/status/nanomsg/nanomsg/windows.yml?branch=master\u0026logoColor=grey\u0026logo=windows\u0026label=)](https://github.com/nanomsg/nanomsg/actions/workflows/windows.yml)\n[![Darwin](https://img.shields.io/github/actions/workflow/status/nanomsg/nanomsg/darwin.yml?branch=master\u0026logoColor=grey\u0026logo=apple\u0026label=)](https://github.com/nanomsg/nanomsg/actions/workflows/darwin.yml)\n[![Discord](https://img.shields.io/discord/639573728212156478?label=\u0026logo=discord)](https://discord.com/channels/639573728212156478/639574516812742686)\n\nThe nanomsg library is a simple high-performance implementation of several\n\"scalability protocols\". These scalability protocols are light-weight messaging\nprotocols which can be used to solve a number of very common messaging\npatterns, such as request/reply, publish/subscribe, surveyor/respondent,\nand so forth.  These protocols can run over a variety of transports such\nas TCP, UNIX sockets, and even WebSocket.\n\nFor more information check the [website](http://nanomsg.org).\n\nPrerequisites\n-------------\n\n1. Windows.\n   * Windows Vista or newer (Windows XP and 2003 are *NOT* supported)\n   * Microsoft Visual Studio 2010 (including C++) or newer, or mingw-w64.\n     (Specifically mingw and older Microsoft compilers are *NOT* supported,\n     and we do not test mingw-w64 at all, so YMMV.)\n   * CMake 2.8.12 or newer, available in $PATH as `cmake`\n\n2. POSIX (Linux, MacOS X, UNIX)\n   * ANSI C compiler supporting C89\n   * POSIX pthreads (should be present on all modern POSIX systems)\n   * BSD sockets support for both TCP and UNIX domain sockets\n   * CMake (http://cmake.org) 2.8.12 or newer, available in $PATH as `cmake`\n\n3. Documentation (optional)\n   * asciidoctor (http://asciidoctor.org/) available as `asciidoctor`\n   * If not present, docs are not formatted, but left in readable ASCII\n   * Available on-line at http://nanomsg.org/documentation\n\nQuick Build Instructions\n------------------------\n\nThese steps here are the minimum steps to get a default Debug\nbuild.  Using CMake you can do many other things, including\nsetting additional variables, setting up for static builds, or\ngeneration project or solution files for different development\nenvironments.  Please check the CMake website for all the various\noptions that CMake supports.\n\n## POSIX\n\nThis assumes you have a shell in the project directory, and have\nthe cmake and suitable compilers (and any required supporting tools\nlike linkers or archivers) on your path.\n\n1.  `% mkdir build`\n2.  `% cd build`\n3.  `% cmake ..`\n4.  `% cmake --build .`\n5.  `% ctest .`\n6.  `% sudo cmake --build . --target install`\n7.  `% sudo ldconfig` (if on Linux)\n\n## Windows\n\nThis assumes you are in a command or powershell window and have\nthe appropriate variables setup to support Visual Studio, typically\nby running `vcvarsall.bat` or similar with the appropriate argument(s).\nIt also assumes you are in the project directory.\n\n1.  `md build`\n2.  `cd build`\n3.  `cmake ..`\n4.  `cmake --build . --config Debug`\n5.  `ctest -C Debug .`\n6.  `cmake --build . --config Debug --target install`\n    *NB:* This may have to be done using an Administrator account.\n\nAlternatively, you can build and install nanomsg using [vcpkg](https://github.com/microsoft/vcpkg/) dependency manager:\n\n1.  `git clone https://github.com/Microsoft/vcpkg.git`\n2.  `cd vcpkg`\n3.  `./bootstrap-vcpkg.bat`\n4.  `./vcpkg integrate install`\n5.  `./vcpkg install nanomsg`\n\nThe nanomsg port in vcpkg is kept up to date by microsoft team members and community contributors.\nIf the version is out of date, please [create an issue or pull request](https://github.com/Microsoft/vcpkg) on the vcpkg repository.\n\nStatic Library\n--------------\n\nWe normally build a dynamic library (.so or .DLL) by default.\n\nIf you want a static library (.a or .LIB), configure by passing\n`-DNN_STATIC_LIB=ON` to the first `cmake` command.\n\n### POSIX\n\nPOSIX systems will need to link with the libraries normally used when building\nnetwork applications.  For some systems this might mean -lnsl or -lsocket.\n\n### Windows\n\nYou will also need to define `NN_STATIC_LIB` in your compilation environment\nwhen building programs that use this library.  This is required because of\nthe way Windows changes symbol names depending on whether the symbols should\nbe exported in a DLL or not.\n\nWhen using the .LIB on Windows, you will also need to link with the\nws2_32, mswsock, and advapi32 libraries, as nanomsg depends on them.\n\nSupport\n-------\n\nThis library is considered to be in \"sustaining\" mode, which means that new\nfeature development has ended, and bug fixes are made only when strictly\nnecessary for severe issues.\n\nNew development is now occurring in the [NNG](https://github.com/nanomsg/nng)\nproject, which offers both protocol and API compatibility with this project.\nPlease consider using NNG for new projects.\n\nPlease see the file SUPPORT for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnanomsg%2Fnanomsg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnanomsg%2Fnanomsg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnanomsg%2Fnanomsg/lists"}