mihomo/test
2021-09-08 22:36:54 +08:00
..
config Feature: add VLESS test case [ssh] 2021-09-08 22:36:54 +08:00
clash_test.go Test: release resources correctly 2021-09-05 14:25:55 +08:00
dns_test.go Feature: add protocol test 2021-05-17 20:33:00 +08:00
docker_test.go Test: add direct benchmark 2021-07-18 19:26:51 +08:00
go.mod Feature: add VLESS test case [ssh] 2021-09-08 22:36:54 +08:00
go.sum Feature: add VLESS test case [ssh] 2021-09-08 22:36:54 +08:00
README.md Chore: benchmark explanation 2021-07-22 00:01:11 +08:00
snell_test.go Test: add basic protocol benchmark 2021-07-18 17:23:30 +08:00
ss_test.go Test: use shadowsocks-rust for ss benchmark 2021-09-04 22:31:08 +08:00
trojan_test.go Test: add basic protocol benchmark 2021-07-18 17:23:30 +08:00
util.go Test: fix direct listen fail 2021-09-04 22:44:18 +08:00
util_darwin_test.go Test: add basic protocol benchmark 2021-07-18 17:23:30 +08:00
util_other_test.go Test: fix direct listen fail 2021-09-04 22:44:18 +08:00
vless_test.go Feature: add VLESS test case [ssh] 2021-09-08 22:36:54 +08:00
vmess_test.go Chore: adjust vmess 0rtt code and split xray test 2021-08-22 16:16:45 +08:00

Clash testing suit

Protocol testing suit

  • TCP pingpong test
  • UDP pingpong test
  • TCP large data test
  • UDP large data test

Protocols

  • Shadowsocks
    • Normal
    • ObfsHTTP
    • ObfsTLS
    • ObfsV2rayPlugin
  • Vmess
    • Normal
    • AEAD
    • HTTP
    • HTTP2
    • TLS
    • Websocket
    • Websocket TLS
    • gRPC
  • Trojan
    • Normal
    • gRPC
  • Snell
    • Normal
    • ObfsHTTP
    • ObfsTLS

Features

  • DNS
    • DNS Server
    • FakeIP
    • Host

Command

Prerequisite

  • docker (support Linux and macOS)
$ go test -p 1 -v

benchmark (Linux)

Cannot represent the throughput of the protocol on your machine but you can compare the corresponding throughput of the protocol on clash (change chunkSize to measure the maximum throughput of clash on your machine)

$ go test -benchmem -run=^$ -bench .