From 5d62ce3d22e26b49ad1876858ae1cb30786316df Mon Sep 17 00:00:00 2001 From: Kevin Yu Date: Wed, 12 Apr 2023 13:37:31 +0800 Subject: [PATCH] doc: add badges and contribution guide (#54) * Delete docker.yml * chore: add badges to README * doc: add license section * doc: add contribution guide * doc: fix headers * doc: set alignment to left * doc: add documentation link * fix: fix typos * fix: add back deleted file * fix: fix typos Co-authored-by: kunish <17328586+kunish@users.noreply.github.com> * doc: add ci * doc(license): reset default branch to main --------- Co-authored-by: kunish <17328586+kunish@users.noreply.github.com> --- README.md | 18 +++++++++ docs/commit-msg-guide.md | 81 ++++++++++++++++++++++++++++++++++++++++ docs/contribute.md | 39 +++++++++++++++++++ 3 files changed, 138 insertions(+) create mode 100644 docs/commit-msg-guide.md create mode 100644 docs/contribute.md diff --git a/README.md b/README.md index d59daf6..6450665 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,14 @@ +

+ License + + version + + lastcommit +

+ **_dae_**, means goose, is a high-performance transparent proxy solution. In order to improve the traffic split performance as much as possible, dae runs the transparent proxy and traffic split suite in the linux kernel by eBPF. Therefore, dae has the opportunity to make the direct traffic bypass the forwarding by proxy application and achieve true direct traffic through. Under such a magic trick, there is almost no performance loss and additional resource consumption for direct traffic. @@ -22,6 +30,8 @@ As a successor of [v2rayA](https://github.com/v2rayA/v2rayA), dae abandoned v2ra Please refer to [Quick Start Guide](./docs/getting-started) to start using `dae` right away! +Documentation: https://dae.v2raya.org + ## Notes 1. If you setup dae and also a shadowsocks server (or any UDP servers) on the same machine in public network, such as a VPS, don't forget to add `l4proto(udp) && sport(your server ports) -> must_direct` rule for your UDP server port. Because states of UDP are hard to maintain, all outgoing UDP packets will potentially be proxied (depends on your routing), including traffic to your client. This behaviour is not what we want to see. `must_direct` makes all traffic from this port including DNS traffic direct. @@ -40,6 +50,14 @@ See [How it works](docs/how_it_works_zh.md). - [ ] Add quick-start guide - [ ] ... +## Contributors + +Special thanks goes to all [contributors](https://github.com/daeuniverse/dae/graphs/contributors). If you would like to contribute, please see the [instructions](./docs/contribute.md). Also, it is recommended following the [commit-msg-guide](./docs/commit-msg-guide.md). + +## License + +[AGPL-3.0 (C) daeuniverse](https://github.com/daeuniverse/dae/blob/main/LICENSE) + ## Stargazers over time [![Stargazers over time](https://starchart.cc/daeuniverse/dae.svg)](https://starchart.cc/daeuniverse/dae) diff --git a/docs/commit-msg-guide.md b/docs/commit-msg-guide.md new file mode 100644 index 0000000..c75be3e --- /dev/null +++ b/docs/commit-msg-guide.md @@ -0,0 +1,81 @@ +# Semantic Commit Messages + +## The reasons for these conventions: + +- automatic generating of the changelog +- simple navigation through git history (e.g. ignoring the style changes) + +See how a minor change to your commit message style can make you a better developer. + +## Format + +``` +`(): ` + +`` is optional +``` + +## Example + +``` +feat: add hat wobble +^--^ ^------------^ +| | +| +-> Summary in present tense. +| ++-------> Type: chore, docs, feat, fix, refactor, style, or test. +``` + +Example `` values: + +- `feat`: (new feature for the user, not a new feature for build script) +- `fix`: (bug fix for the user, not a fix to a build script) +- `docs`: (changes to the documentation) +- `style`: (formatting, missing semi colons, etc; no production code change) +- `refactor`: (refactoring production code, eg. renaming a variable) +- `test`: (adding missing tests, refactoring tests; no production code change) +- `chore`: (updating grunt tasks etc; no production code change, e.g. dependencies upgrade) +- `perf`: (perfomance improvement change, e.g. better concurrency performance) +- `ci`: (updating CI configuration files and scripts e.g. .github/workflows/*.yml ) + +Example `` values: + +- `init` +- `runner` +- `watcher` +- `config` +- `web-server` +- `proxy` + +The `` can be empty (e.g. if the change is a global or difficult to assign to a single component), in which case the parentheses are omitted. In smaller projects such as Karma plugins, the `` is empty. + +## Message Subject (First Line) + +The first line cannot be longer than `72` characters and should be followed by a blank line. The type and scope should always be lowercase as shown below + +## Message Body + +use as in the ``, use the imperative, present tense: "change" not "changed" nor "changes". Message body should include motivation for the change and contrasts with previous behavior. + +## Message footer + +##### Referencing issues + +Closed issues should be listed on a separate line in the footer prefixed with "Closes" keyword as the following: + +``` +Closes #234 +``` + +or in the case of multiple issues: + +``` +Closes #123, #245, #992 +``` + +## References + +- https://www.conventionalcommits.org/ +- https://seesparkbox.com/foundry/semantic_commit_messages +- http://karma-runner.github.io/1.0/dev/git-commit-msg.html +- https://wadehuanglearning.blogspot.com/2019/05/commit-commit-commit-why-what-commit.html diff --git a/docs/contribute.md b/docs/contribute.md new file mode 100644 index 0000000..3e32c23 --- /dev/null +++ b/docs/contribute.md @@ -0,0 +1,39 @@ +# Contribute + +If you want to contribute to a project and make it better, your help is very welcome. Contributing is also a great way to learn more about social coding on Github, new technologies and and their ecosystems and how to make constructive, helpful bug reports, feature requests and the noblest of all contributions: a good, clean pull request. + +### Bug Reports and Feature Requests + +If you have found a `bug` or have a `feature request`, please use the search first in case a similar issue already exists. If not, please create an [issue](https://github.com/daeuniverse/dae/issues/new) in this repository + +### Code + +If you would like to fix a bug or implement a feature, please `fork` the repository and `create a Pull Request`. + +Before you start any Pull Request, `it is recommended that you create an issue` to discuss first if you have any doubts about requirement or implementation. That way you can be sure that the maintainer(s) agree on what to change and how, and you can hopefully get a quick merge afterwards. + +`Pull Requests` can only be merged once all status checks are green. + +### How to make a clean pull request + +- Create a `personal fork` of the project on Github. +- Clone the fork on your local machine. Your remote repo on Github is called `origin`. +- Add the original repository as a remote called `upstream`. +- If you created your fork a while ago be sure to pull upstream changes into your local repository. +- Create a new branch to work on! Branch from `develop` if it exists, else from `master`. +- Implement/fix your feature, comment your code. +- Follow the code style of the project, including indentation. +- If the project has tests run them! +- Write or adapt tests as needed. +- Add or change the documentation as needed. +- Squash your commits into a single commit with git's [interactive rebase](https://help.github.com/articles/interactive-rebase). Create a new branch if necessary. +- Push your branch to your fork on Github, the remote `origin`. +- From your fork open a pull request in the correct branch. Target the project's `develop` branch if there is one, else go for `master`! +- Once the pull request is approved and merged you can pull the changes from `upstream` to your local repo and delete + your extra branch(es). + +And last but not least: Always write your commit messages in the present tense. Your commit message should describe what the commit, when applied, does to the code – not what you did to the code. + +### Re-requesting a review + +Please do not ping your reviewer(s) by mentioning them in a new comment. Instead, use the re-request review functionality. Read more about this in the [ GitHub docs, Re-requesting a review ](https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/incorporating-feedback-in-your-pull-request#re-requesting-a-review).