mirror of
https://github.com/bytedance/g3.git
synced 2026-05-08 10:00:00 +00:00
| .. | ||
| 0000_all_resolver | ||
| 0001_base_http_proxy | ||
| 0002_base_socks_proxy | ||
| 0003_base_tcp_stream | ||
| 0004_base_http_gateway | ||
| 0005_transparent_proxy | ||
| 0006_chain_http_proxy | ||
| 0007_chain_socks_proxy | ||
| 0008_base_user_auth | ||
| 0009_anonymous_user | ||
| 0010_escaper_direct_float | ||
| 0011_escaper_proxy_float | ||
| .gitignore | ||
| dnsmasq.conf | ||
| docker_run.sh | ||
| dynamic_users.json | ||
| g3proxy.yaml | ||
| mkcert.sh | ||
| nginx.conf | ||
| README.md | ||
| testcases.sh | ||
Setup for g3proxy coverage tests
Install Required Tools
We use the following tools in the coverage scripts:
docker
We use docker containers to run various target services, i.e. httpbin.
Install on Debian:
apt install docker.io
dnsmasq
We use dnsmasq to add local dns records, and also use it as the target dns server.
You have 2 choices to run dnsmasq:
-
NetworkManager Plugin
If you have enabled dnsmasq plugin in NetworkManager, then there is nothing to do. The conf directory will be /etc/NetworkManager/dnsmasq.d/.
-
Standalone dnsmasq Service
If not, you have to install dnsmasq as a standalone service. The conf directory will be /etc/dnsmasq.d/.
Install on Debian:
apt install dnsmasq
Setup local DNS
Save the following conf file to dnsmasq.d/g3proxy-ci.conf:
address=/httpbin.local/127.0.0.1
address=/g3proxy.local/127.0.0.1
Then restart NetworkManager or dnsmasq which should respawn the real dnsmasq process.
Run the Docker Containers
httpbin
docker run -p 127.0.0.1:80:80 -d --name httpbin kennethreitz/httpbin
vsftpd
mkdir /tmp/vsftpd
docker run -d -v /tmp/vsftpd:/home/vsftpd \
-p 127.0.0.1:20:20 \
-p 127.0.0.1:21:21 \
-p 127.0.0.1:47400-47470:47400-47470 \
-e FTP_USER=ftpuser \
-e FTP_PASS=ftppass \
-e PASV_ADDRESS=127.0.0.1 \
--name ftp \
-d bogem/ftp