
고성능 Rust HTTP/HTTPS 프록시 (능동 방어 포함): 속도 제한, 평판 기반 접근, WAF (봇 방어, 인젝션 방어, 경로 보호), 타르핏, 실시간 TUI 관찰 가능성.
Propox는 Rust로 작성된 고성능, 안전하며 관찰 가능한 HTTP/HTTPS 프록시입니다. 고급 보안 메커니즘을 사용하여 악의적인 클라이언트로부터 적극적으로 방어하면서 높은 처리량의 트래픽을 처리하도록 설계되었습니다.
Propox는 단순히 트래픽을 전달하지 않고 백엔드를 보호합니다:
sqlmap, nikto, curl, python UA 차단.UNION SELECT, OR 1=1, <script> 차단..env, .git, /admin 차단.성능 임계값은 src/proxy.rs에서 설정 가능합니다:
const RATE_LIMIT_ReqPerSec: usize = 100;
const MAX_ERRORS_BEFORE_BAN: usize = 10;
전문적인 터미널 사용자 인터페이스(Ratatui로 구축)를 포함하여 표시:
프로젝트 루트에서 프록시 서버를 실행합니다. 127.0.0.1:8100에서 수신 대기합니다.
# 표준 모드 (보안 및 TUI 포함)
cargo run --release
# 전체 트래픽 로그 보기
cargo run --release -- --full
# 오류 로그만 보기
cargo run --release -- --errors
# 🏎️ 벤치마크 모드 (원시 성능 테스트를 위해 보안 비활성화)
cargo run --release -- --benchmark
# 👻 데몬 모드 (백그라운드)
# - TUI 없음, 자원 사용 최소화.
# - Syslog(/var/log/syslog)에 로깅.
# - Syslog가 없는 경우(일반적으로 WSL/Docker) 'propox.log'로 자동 대체.
cargo run --release -- --daemon
분산 공격을 시뮬레이션할 수 있는 강력한 부하 테스트 도구가 포함되어 있습니다.
cd propox-client
# 표준 부하 테스트 (100k 요청, 400 동시성)
cargo run --release -- nb=100000 cc=400 rq=ok ip=127.0.0.1
# ⚔️ 공격 시뮬레이션 (분할 테스트)
# 터미널 1: "악의적인 행위자" (90% 오류, 50 IP) -> 차단/타르핏됨
cargo run --release -- ip=127.0.0.10 pool=50 ratio=0.9 nb=5000
# 터미널 2: "정상 사용자" (100% 성공) -> 영향을 받지 않아야 함
cargo run --release -- ip=127.0.0.200 pool=1 ratio=0.0 nb=5000
nb=N: 보낼 요청 수 (전체).cc=N: 동시성 수준 (동시 스레드).ip=X.X.X.X: 시작 소스 IP (로컬 바인드를 통해 시뮬레이션).pool=N: IP 풀 크기 (N개의 개별 클라이언트 시뮬레이션).ratio=0.X: 오류 비율 (0.0 = 100% 성공, 1.0 = 100% 오류).rq=ok|nok: 성공 또는 404를 위한 빠른 프리셋.src/main.rs (TUI 및 이벤트 루프) + src/proxy.rs (트래픽 로직).Arc<Stats> 구조체.mpsc 채널을 통해 로그를 수신하여 프록시 데이터 플레인을 차단하지 않음.handle_client 시작 시 수행. 차단된 경우 요청은 tokio::sleep 타르핏에 들어갑니다.Rust로 ❤️를 담아 제작되었습니다.