{"id":13554534,"url":"https://github.com/rust-lang/socket2","last_synced_at":"2026-01-15T22:20:15.735Z","repository":{"id":37103179,"uuid":"90821930","full_name":"rust-lang/socket2","owner":"rust-lang","description":"Advanced configuration options for sockets.","archived":false,"fork":false,"pushed_at":"2025-05-01T09:03:33.000Z","size":742,"stargazers_count":728,"open_issues_count":36,"forks_count":249,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-05-08T00:05:24.585Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://docs.rs/socket2","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rust-lang.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE-APACHE","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,"zenodo":null}},"created_at":"2017-05-10T04:47:15.000Z","updated_at":"2025-05-03T06:02:18.000Z","dependencies_parsed_at":"2023-12-18T13:40:50.555Z","dependency_job_id":"dade94bd-476b-4daf-9dd0-7b03d41bd2cc","html_url":"https://github.com/rust-lang/socket2","commit_stats":{"total_commits":567,"total_committers":105,"mean_commits":5.4,"dds":"0.46384479717813054","last_synced_commit":"3a938932829ea6ee3025d2d7a86c7b095c76e6c3"},"previous_names":["rust-lang/socket2-rs"],"tags_count":46,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rust-lang%2Fsocket2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rust-lang%2Fsocket2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rust-lang%2Fsocket2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rust-lang%2Fsocket2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rust-lang","download_url":"https://codeload.github.com/rust-lang/socket2/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253166520,"owners_count":21864482,"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":[],"created_at":"2024-08-01T12:02:49.893Z","updated_at":"2026-01-15T22:20:15.728Z","avatar_url":"https://github.com/rust-lang.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"# Socket2\n\nSocket2 is a crate that provides utilities for creating and using sockets.\n\nThe goal of this crate is to create and use a socket using advanced\nconfiguration options (those that are not available in the types in the standard\nlibrary) without using any unsafe code.\n\nThis crate provides as direct as possible access to the system's functionality\nfor sockets, this means little effort to provide cross-platform utilities. It is\nup to the user to know how to use sockets when using this crate. *If you don't\nknow how to create a socket using libc/system calls then this crate is not for\nyou*. Most, if not all, functions directly relate to the equivalent system call\nwith no error handling applied, so no handling errors such as `EINTR`. As a\nresult using this crate can be a little wordy, but it should give you maximal\nflexibility over configuration of sockets.\n\nSee the [API documentation] for more.\n\n[API documentation]: https://docs.rs/socket2\n\n# Branches\n\nCurrently Socket2 supports the following versions:\n * v0.6 developed in the master branch\n * v0.5 developed in the [v0.5.x branch]\n * v0.4 developed in the [v0.4.x branch]\n\n[v0.5.x branch]: https://github.com/rust-lang/socket2/tree/v0.5.x\n[v0.4.x branch]: https://github.com/rust-lang/socket2/tree/v0.4.x\n\n# OS support\n\nSocket2 attempts to support the same OS/architectures as Rust does, see\nhttps://doc.rust-lang.org/nightly/rustc/platform-support.html. However this is\nnot always possible, below is current list of support OSs.\n\n*If your favorite OS is not on the list consider contributing it!*\n\n### Tier 1\n\nThese OSs are tested with each commit in the CI and must always pass the tests.\nAll functions/types/etc., excluding ones behind the `all` feature, must work on\nthese OSs.\n\n* Linux\n* macOS\n* Windows\n\n### Tier 2\n\nThese OSs are currently build in the CI, but not tested. Not all\nfunctions/types/etc. may work on these OSs, even ones **not** behind the `all`\nfeature flag.\n\n* Android\n* FreeBSD\n* Fuchsia\n* iOS\n* illumos\n* NetBSD\n* Redox\n* Solaris\n* OpenHarmony\n\n# Minimum Supported Rust Version (MSRV)\n\nSocket2 uses 1.70.0 as MSRV.\n\n# License\n\nThis project is licensed under either of\n\n * Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or\n   https://www.apache.org/licenses/LICENSE-2.0)\n * MIT license ([LICENSE-MIT](LICENSE-MIT) or\n   https://opensource.org/licenses/MIT)\n\nat your option.\n\n### Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally submitted\nfor inclusion in this project by you, as defined in the Apache-2.0 license,\nshall be dual licensed as above, without any additional terms or conditions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frust-lang%2Fsocket2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frust-lang%2Fsocket2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frust-lang%2Fsocket2/lists"}