This resource is a collaborative effort by the community, and we greatly appreciate all contributors.
We welcome your contributions, but we have some rules to maintain the quality of the packages and resources listed here. Please note that all reviews are not personal feedback, even if you are reviewing your own contribution. We aim to do our best to meet your expectations.
- To add, remove, or modify entries on the list, please submit a pull request.
- This repository is a curated list of high-quality, actively maintained VPN-related packages, tools, and resources.
- We encourage you to contribute links to packages/projects that you have used or are familiar with. This helps ensure the quality of the entries.
To be listed in this repository, project repositories should adhere to the following quality standards:
- Open Source License: The project should have an open-source license. See the list of allowed licenses here.
- Functionality: The project should function as documented and expected.
- Usefulness: The project should be generally useful to the wider community of VPN users.
- Active Maintenance: The project should be actively maintained, with regular commits. For completed projects, issues and pull requests should be responded to within a reasonable time frame.
- Stability: The project should be stable or progressing toward stability.
- Documentation: The project should be thoroughly documented in the English language, including README files, pkg.go.dev doc comments, and so on. All public functions and types should have Go-style documentation headers.
- Test Coverage: If the project is testable, it should have test coverage of at least 80% for non-data-related packages and at least 90% for data-related packages. Tests will be reviewed, and coverage should not be based solely on benchmark results.
- Versioned Releases: The project should have at least one official version-numbered release that allows go.mod files to list the file by version number (e.g., vX.X.X).
Projects listed here should meet the following criteria:
- Active on GitHub (for Open Source)
- Not archived or outdated
To add a package or project to the list, follow these guidelines:
- Open a pull request against the README.md file that adds the repository.
- Each pull request should add only one item to the list.
- Entries should be in alphabetical order within their category.
- Use the package or project name as the link.
- Keep descriptions clear, concise, and non-promotional.
- Descriptions should end with a punctuation mark.
Once your project is accepted, feel free to add one of the following badges to your repository:
To remain listed in this repository, projects must meet the following maintenance expectations:
- Ongoing Development: Projects should have ongoing development with regular code quality maintenance. Official releases should occur at least once a year for active projects.
- Bug Reports: If the project is mature and stable, it should have no bug reports in the Issues list that are older than 6 months.
- Links to Quality Reports: All links to quality reports should point to the most recent official release or ongoing development.
To remove an entry from the list, open a pull request that deletes the project's line and provide a description of why the project no longer meets the quality standards.
To ensure thorough review, we have a team of maintainers. Every pull request must be reviewed by at least one maintainer before merging. You can find the list of maintainers in the MAINTAINERS file.
Please open an issue if you have suggestions for improvements or if you notice any issues with the listed packages or projects. We value your input and aim to make this list a valuable resource for the community.
The official group of maintainers has the final decision on accepting pull requests. Discussions are conducted openly in issues, and decisions are made by consensus.
We welcome contributions from the community. You don't need permission or inclusion in the maintainers list to review a contribution and mark it as LGTM (Looks Good To Me). Please read our Contribution Guidelines carefully before contributing.
Welcome to [Your Repository Name]! Your contributions are highly appreciated!