Find a file
dependabot[bot] 6a8de902ff
build(deps): bump tokio from 1.27.0 to 1.28.0 (#24)
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.27.0 to 1.28.0.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.27.0...tokio-1.28.0)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-26 12:58:06 +08:00
.github add dependabot.yml 2023-04-11 17:28:16 +08:00
demo use workspace level dependencies 2023-04-04 17:47:07 +08:00
doc update doc 2023-04-13 11:10:15 +08:00
g3bench g3bench: rename functions 2023-04-26 10:41:58 +08:00
g3fcgen g3fcgen version 0.4.1 2023-04-11 10:50:20 +08:00
g3proxy g3proxy: fix the build of icap OPTIONS request 2023-04-26 10:47:25 +08:00
g3tiles set require flag on subcommands 2023-04-18 16:37:28 +08:00
lib g3proxy: fix parse of ICAP OPTIONS response 2023-04-26 11:37:33 +08:00
scripts build sphinx doc before packaging 2023-04-11 11:54:20 +08:00
.gitignore initial commit 2023-03-09 17:55:45 +08:00
Cargo.lock build(deps): bump tokio from 1.27.0 to 1.28.0 (#24) 2023-04-26 12:58:06 +08:00
Cargo.toml build(deps): bump tokio from 1.27.0 to 1.28.0 (#24) 2023-04-26 12:58:06 +08:00
CHANGELOG.md drop metadeps patch 2023-04-04 11:16:07 +08:00
CODE_OF_CONDUCT.md initial commit 2023-03-09 17:55:45 +08:00
CONTRIBUTING.md update doc 2023-04-11 14:58:17 +08:00
G3-FEISHU-USER-GROUP.png rename user group image 2023-04-12 11:32:57 +08:00
LICENSE update license info 2023-04-07 11:28:57 +08:00
NOTICE update license info 2023-04-07 11:28:57 +08:00
README.md update doc 2023-04-13 11:10:15 +08:00
README.zh_CN.md update doc 2023-04-13 11:10:15 +08:00

minimum rustc: 1.66 License: Apache 2.0

G3 Project

中文版 README

About

This is the project we used to build enterprise-oriented generic proxy solutions, including but not limited to proxy / reverse proxy / load balancer / nat traversal.

Components

G3 Project is make up of many components.

The project level docs resides in the doc subdirectory, and you should see the links below for the important ones. Each component will have its own doc in its doc subdirectory.

g3proxy

A generic forward proxy solution, but you can also use it as tcp streaming / transparent proxy / reverse proxy as we have basic support built in.

See g3proxy for detailed introduction.

g3tiles

A work in progress reverse proxy solution.

g3bench

A benchmark tool for the test of g3proxy.

g3fcgen

Fake certificate generator for g3proxy.

Target Platform

Only Linux is supported currently. But we are open to PRs to add support to other platforms.

Dev-env Setup Guide

Follow dev-setup.

Standards

Follow standards.

Release and Packaging

We will set tags for each release of each component, in the form <name>-v<version>. You can use these tags to generate source tarballs. And we have added deb and rpm package files for each component that is ready for distribution.

If you want to do a release build:

  1. generate a release tarball

    ./scripts/release/build_tarball.sh <name>-v<version>
    

    All vendor sources will be added to the source tarball, so you can save the source tarball and build it offline at anywhere that have the compiler and dependencies installed.

  2. build the package

    For deb package:

    tar xf <name>-<version>.tar.xz
    cd <name>-<version>
    ./build_deb_from_tar.sh
    

    For rpm package:

    tar xvf <name>-<version>.tar.xz ./<name>-<version>/<name>.spec
    cp <name>-<version>.tar.xz ~/rpmbuild/SOURCES/
    rpmbuild -ba ./<name>-<version>/<name>.spec
    

If you want to build a package directly from the git repo:

  • For deb package:

    ./build_deb_from_git.sh <name>
    
  • For rpm package:

    ./build_rpm_from_git.sh <name>
    

Contribution

Please check Contributing for more details.

Code of Conduct

Please check Code of Conduct for more details.

Security

If you discover a potential security issue in this project, or think you may have discovered a security issue, we ask that you notify Bytedance Security via our security center or vulnerability reporting email.

Please do not create a public GitHub issue.

License

This project is licensed under the Apache-2.0 License.