gitextract_3rf8zt24/ ├── .github/ │ ├── CONTRIBUTING.md │ ├── PULL_REQUEST_TEMPLATE │ └── workflows/ │ └── static.yml ├── .gitignore ├── .travis.yml ├── LICENSE ├── OPENSOURCELICENSES ├── README.md ├── SECURITY.md ├── brooklink.go ├── cac.go ├── client.go ├── dhcpserver.go ├── dhcpserver_linux.go ├── dhcpserver_notlinux.go ├── dial.go ├── dnsclient.go ├── dnsserver.go ├── docs/ │ ├── CNAME │ ├── index.html │ └── static/ │ ├── fonts.js │ ├── theme.css │ └── vue-composition-api.prod.js ├── dohclient.go ├── dohserver.go ├── echoclient.go ├── echoserver.go ├── error.go ├── exchanger.go ├── go.mod ├── go.sum ├── init.go ├── limits/ │ ├── limits.go │ └── limits_not.go ├── link.go ├── list.go ├── log.go ├── nat.go ├── nonce.go ├── pac.go ├── packetclient.go ├── packetconn.go ├── packetserver.go ├── packetserverconn.go ├── ping/ │ └── ping.json ├── plugins/ │ ├── block/ │ │ ├── block.go │ │ └── readme.md │ ├── dialwithdns/ │ │ ├── dialwithdns.go │ │ └── readme.md │ ├── dialwithip/ │ │ ├── dialwithip.go │ │ └── readme.md │ ├── dialwithnic/ │ │ ├── dialwithnic.go │ │ └── readme.md │ ├── logger/ │ │ ├── logger.go │ │ ├── logger_unix.go │ │ ├── logger_windows.go │ │ └── readme.md │ ├── pprof/ │ │ ├── pprof.go │ │ └── readme.md │ ├── prometheus/ │ │ ├── prometheus.go │ │ └── readme.md │ ├── readme.md │ ├── socks5dial/ │ │ ├── dial.go │ │ └── readme.md │ └── thedns/ │ ├── readme.md │ └── thedns.go ├── programmable/ │ ├── client/ │ │ ├── check_syntax.js │ │ ├── example.tengo │ │ └── readme.md │ ├── dnsserver/ │ │ ├── check_syntax.js │ │ ├── example.tengo │ │ └── readme.md │ ├── gallery.json │ ├── modules/ │ │ ├── _footer.tengo │ │ ├── _header.tengo │ │ ├── allow_app.tengo │ │ ├── blacklist_mode.tengo │ │ ├── block_a.tengo │ │ ├── block_aaaa.tengo │ │ ├── block_ad_domain.tengo │ │ ├── block_app.tengo │ │ ├── block_google_secure_dns.tengo │ │ ├── block_youtube_ad.tengo │ │ ├── brooklinks.tengo │ │ ├── bypass_app.tengo │ │ ├── bypass_apple.tengo │ │ ├── bypass_china_domain_a.tengo │ │ ├── bypass_geo.tengo │ │ ├── chatgpt_advanced_voice.tengo │ │ ├── check_syntax.js │ │ ├── douban.tengo │ │ ├── hosts.tengo │ │ ├── instagram_system_dns.tengo │ │ ├── ios_app_downgrade.tengo │ │ ├── ios_app_downgrade_history.tengo │ │ ├── mitmproxy_client.tengo │ │ ├── packet_capture.tengo │ │ ├── readme.md │ │ ├── redirect_google_cn.tengo │ │ ├── response_sample.tengo │ │ ├── sanguosha.tengo │ │ ├── xbox.tengo │ │ └── xiaohongshu.tengo │ ├── readme.md │ └── server/ │ ├── check_syntax.js │ ├── example.tengo │ └── readme.md ├── protocol/ │ ├── brook-link-protocol.md │ ├── brook-quicserver-protocol.md │ ├── brook-server-protocol.md │ ├── brook-wsserver-protocol.md │ ├── brook-wssserver-protocol.md │ └── user.md ├── quic.go ├── quicclient.go ├── quicserver.go ├── relay.go ├── relayoverbrook.go ├── resolve.go ├── server.go ├── simplepacketclient.go ├── simplepacketserver.go ├── simplepacketserverconn.go ├── simplestreamclient.go ├── simplestreamserver.go ├── socks5.go ├── socks5test.go ├── socks5tohttp.go ├── streamclient.go ├── streamserver.go ├── test_test.go ├── util.go ├── waitreaderr.go ├── websocket.go ├── wsclient.go └── wsserver.go