From c14de67f21ddff33b1fd899d7d867ea2be4ba422 Mon Sep 17 00:00:00 2001 From: singchia Date: Wed, 5 Jun 2024 11:50:18 +0800 Subject: [PATCH 1/2] optimize: add users in readme --- README.md | 6 ++++-- README_cn.md | 8 ++++++-- docs/users/Moresec-LOGO.png | Bin 0 -> 19857 bytes docs/users/ZTA-LOGO.png | Bin 0 -> 10912 bytes 4 files changed, 10 insertions(+), 4 deletions(-) create mode 100644 docs/users/Moresec-LOGO.png create mode 100644 docs/users/ZTA-LOGO.png diff --git a/README.md b/README.md index bf4b35e..adb40be 100644 --- a/README.md +++ b/README.md @@ -327,8 +327,10 @@ If you want to contribute new features or help solve project problems, please fe * Submit one feature at a time * Include unit tests with the code you submit -## License +## Who is using + + -© Austin Zhai, 2022-2025 +## License Released under the [Apache License 2.0](https://github.com/singchia/go-xtables/blob/main/LICENSE) diff --git a/README_cn.md b/README_cn.md index 02a5fbd..5652484 100644 --- a/README_cn.md +++ b/README_cn.md @@ -319,7 +319,7 @@ ipt.Chain(iptables.ChainTypeOUTPUT).Policy(iptables.TargetTypeAccept) * Arch Linux ## 参与开发 - 当前go-xtables处于能力验证阶段(POC),如果你发现任何Bug,请随意提出Issue,项目Maintainers会及时响应相关问题。 + 当前go-xtables处于生产就绪阶段,如果你发现任何Bug,请随意提出Issue,项目Maintainers会及时响应相关问题。 如果你希望能够提交Feature,更快速解决项目问题,满足以下简单条件下欢迎提交PR: @@ -330,8 +330,12 @@ ipt.Chain(iptables.ChainTypeOUTPUT).Policy(iptables.TargetTypeAccept) 经过Code review没问题,就会合入代码。 +## 谁在使用 + + + + ## 许可证 -© Austin Zhai, 2022-2025 Released under the [Apache License 2.0](https://github.com/singchia/go-xtables/blob/main/LICENSE) \ No newline at end of file diff --git a/docs/users/Moresec-LOGO.png b/docs/users/Moresec-LOGO.png new file mode 100644 index 0000000000000000000000000000000000000000..38cf88657d77333ff7a2578346a8b364c9c5a926 GIT binary patch literal 19857 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 RhyQhlD#@wKR!W-%{tu}oacTen literal 0 HcmV?d00001 From 42d4440a647afe9205d9ad4c1cf895310da6dab4 Mon Sep 17 00:00:00 2001 From: singchia Date: Wed, 5 Jun 2024 12:32:42 +0800 Subject: [PATCH 2/2] optimize: add users in readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index adb40be..88ef810 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ English | [简体中文](./README_cn.md) ### Capabilities -Go-xtables is a wrapper for the iptables, ebtables, and arptables utils. It provides full features, extensions and abstractions from Netfilter, making it very convenient to use. +Go-xtables(production-ready) is a wrapper for the iptables, ebtables, and arptables utils. It provides full features, extensions and abstractions from Netfilter, making it very convenient to use. Check out the [iptables godoc](https://pkg.go.dev/github.com/singchia/go-xtables/iptables) and [ebtables godoc](https://pkg.go.dev/github.com/singchia/go-xtables/ebtables) to learn about the 70+ ```match``` capabilities, 50+ ```target``` capabilities, and 10+ ```option``` capabilities.