9seconds
ca5800cf60
Simplify tcp relay time randomization
4 anni fa
9seconds
456ed5b051
Change algorithm of TCP relaying
4 anni fa
9seconds
1050ca0b97
Fix lint issues
4 anni fa
9seconds
c85c88efd6
Add simple-run command
4 anni fa
9seconds
3fd5e9eb19
Rework cli
4 anni fa
9seconds
e1864377c2
Update golangci-lint to 1.40.1
5 anni fa
9seconds
16f9ec690b
Fix race condition in closing a relay
This commit fixes a situration when relay can be reset before all
waiting goroutines are finished. For example, we terminate processing
based on some event: socket error etc. So, error happens and context is
cancelled. After that a main relay goroutine starts to wait. Meanwhile a
second goroutine reaches deferred function and set wg to done. It means
that main goroutine can continue.
In this case this is really possible that we can start resetting before
transmit goroutine really exits.
A correct solution is to always do wg.Done() as a first deferred thing
on entering to a function. In that case we do not need reordering and so
on.
5 anni fa
9seconds
fe3b0f3ca5
Add a real integration test
5 anni fa
9seconds
115510985a
Add option to use telegram test dcs
5 anni fa
9seconds
585ebfeb50
Update golanci-lint
5 anni fa
9seconds
43f5d2131e
Add test for client hello validation
5 anni fa
9seconds
e2073f0585
Remove timeattack module
5 anni fa
9seconds
0652f322fa
Add docstrings to a logger
5 anni fa
9seconds
d3aa0f2de5
Add mtglib-level documentation
5 anni fa
9seconds
40c6cf294a
Add documentation for the objects of mtglib
5 anni fa
9seconds
4c38ea2b11
Refactor some configuration to proxy_opts
5 anni fa
9seconds
e6d444546f
Add documentation for a secret
5 anni fa
9seconds
611583ba88
Add doc strings to mtglib events
5 anni fa
9seconds
463af648ce
Rework events
5 anni fa
9seconds
54a7c6a2a5
Small subtle optimizations of faketls
5 anni fa
9seconds
a3bae795c4
Add documentation for timeattack
5 anni fa
9seconds
372c703ad6
Add documentation for network
5 anni fa
9seconds
0dd890a09d
Add documentation for logger
5 anni fa
9seconds
0274b3436a
Add documentation for ipblocklist
5 anni fa
9seconds
04b88cc864
Add documentation for event stream
5 anni fa
9seconds
3661fe108d
Add documentation for antireplay package
5 anni fa
9seconds
24fdec6694
Move testlib to internal
5 anni fa
9seconds
2cdff017e2
Add base tests for proxy
5 anni fa
9seconds
766800700a
Add test for connrewind
5 anni fa
9seconds
7e7823118e
Add test conntraffic
5 anni fa
9seconds
784a5818c8
Cover last case in secret
5 anni fa
9seconds
75b95995a9
Add tests for stream context
5 anni fa
9seconds
5941f0674a
Enforce code coverage of secret
5 anni fa
9seconds
38ff62fddc
Add tests for faketls conn
5 anni fa
9seconds
26070d5b3e
More correct calculation of dc for obfuscated2 frame
5 anni fa
9seconds
03d98ee256
Add relay test for timeout
5 anni fa
9seconds
dc28677086
Fix lint
5 anni fa
9seconds
54f4b397b6
Add tests for relay conn
5 anni fa
9seconds
96bcb6cd8e
Add tests for welcome packet
5 anni fa
9seconds
491b674e70
Add tests for client hello
5 anni fa
9seconds
64754d1039
Add tests for faketls record
5 anni fa
9seconds
23c42def4f
Add test for faketls type and version
5 anni fa
9seconds
10b78322a3
Implement caching dns resolver
5 anni fa
9seconds
841a4d2227
Get rid of unrequired buffering for tls records
5 anni fa
9seconds
3cacd74e12
Correctly reset relay state
5 anni fa
9seconds
71d4c6c42f
Set worker pool to non-blocking mode
5 anni fa
9seconds
75b05b9b14
Add public method DomainFrontingAddress
5 anni fa
9seconds
daa8b9c798
Add EventReplayAttack
5 anni fa
9seconds
bef14bd009
Add support of EventDomainFronting event
5 anni fa
9seconds
4c3f42e264
Simplify relay
5 anni fa