9seconds
83a31e0458
Merge remote-tracking branch 'origin/stable' into v2
2026-04-07 18:10:41 +02:00
9seconds
95db895136
Merge remote-tracking branch 'origin/master' into stable
2026-04-07 18:10:26 +02:00
9seconds
fb94d4a78b
Update dependencies
2026-04-07 18:09:39 +02:00
9seconds
437dacfaab
Refactor socksopts per functionality, not per build flag
2026-04-07 15:42:22 +02:00
9seconds
0de8b28de8
Add TCP_NOTSENT_LOWAT setting
2026-04-07 15:39:26 +02:00
9seconds
b58ac669d5
Add TCP_USER_TIMEOUT support
2026-04-07 15:35:47 +02:00
9seconds
88f33debab
Use TCP BBR in a best-effort mode
...
This small commits conditionally sets TCP BBR as a preferrable algorithm
for TCP congestion control
2026-04-07 14:54:56 +02:00
9seconds
102f8a6cce
Propagate keep alive settings from the config
2026-04-07 13:41:44 +02:00
9seconds
5bf218f9ab
Do not use default TLS cipher
...
As per RFC, if TLS server cannot pickup a suitable cipher from a client
list, it has to send handshake_failure alert. For us it means that we
have to route a request to a fronting domain, because we want to have it
exactly like a real webserver does. So, if it misbehaves, so do we.
2026-04-07 12:08:14 +02:00
9seconds
39ab5570a8
Small refactoring
2026-04-07 08:29:05 +02:00
9seconds
eb564936c7
Add separate handshake timeout
...
This PR adds a new setting to the config: `network.timeout`. This setting
defines a time period during which all handshake procedures and
ceremonies must be completed. If not - connection is aborted. This
should help in situations when connection is established but client
cannot continue for some reason (for example, RST sent by some middle box).
2026-04-07 08:01:51 +02:00
9seconds
1a81efcb6e
Merge remote-tracking branch 'origin/stable' into v2
2026-04-01 17:17:22 +02:00
9seconds
2544c521ed
Merge remote-tracking branch 'origin/master' into stable
2026-04-01 17:16:55 +02:00
9seconds
3a68ea5f2d
Update goreleaser
2026-04-01 17:05:30 +02:00
9seconds
f4f969e702
Refactor TLS fragmenting
2026-04-01 14:01:24 +02:00
9seconds
a3663fe8b5
Increase timeout for CI artifacts build
2026-03-31 22:13:42 +02:00
9seconds
2aa3321bd4
Add more forks
2026-03-31 19:03:48 +02:00
9seconds
b6427ee321
More idiomatic Golang
2026-03-31 15:07:01 +02:00
9seconds
1fcec38aea
Change IP address set priority
...
For a couple of releases we use collected IPs as a prioritized source
for connecting to Telegram. But apparently, they work way worse than it
should, and having connectivity to core ip ALWAYS gives better results.
Thus, this PR flips priorities, so users could have auto-update enabled
as a source of secondary addresses, not primary ones
2026-03-31 11:05:49 +02:00
9seconds
db2e6031a3
Merge remote-tracking branch 'origin/stable' into v2
2026-03-30 13:09:05 +02:00
9seconds
4b8da719ae
Merge remote-tracking branch 'origin/master' into stable
2026-03-30 13:08:51 +02:00
9seconds
a2de52f071
Update PGO
2026-03-30 13:08:32 +02:00
9seconds
8b3c622ea6
Merge remote-tracking branch 'origin/stable' into v2
2026-03-29 23:33:24 +02:00
9seconds
9d43c2d759
Merge remote-tracking branch 'origin/master' into stable
2026-03-29 23:33:06 +02:00
9seconds
0840c7e3e5
Update PGO
2026-03-29 23:31:41 +02:00
9seconds
de48e177b1
Update depndencies
2026-03-29 23:16:06 +02:00
9seconds
018bd2fdc1
Run release build
2026-03-29 22:54:08 +02:00
9seconds
d3a090d6b4
Decrease a relay buffer size for MIPS devices
2026-03-29 21:42:26 +02:00
9seconds
0c030646f9
Remove clock goroutine
...
This is a followup for https://github.com/9seconds/mtg/issues/412 it
makes sense to manage timers inplace instead of creating for new
goroutines: saves memory
2026-03-29 15:39:33 +02:00
9seconds
60c57c2306
Update stale codeql configuration
2026-03-25 10:17:30 +01:00
9seconds
a8e4acb6f8
Update PGO
2026-03-24 21:04:30 +01:00
9seconds
b47e13556e
Fix build with profiling
2026-03-24 20:46:41 +01:00
9seconds
de81ed565d
Add mention of fork
2026-03-24 15:28:33 +01:00
9seconds
006fba1046
Merge remote-tracking branch 'origin/stable' into v2
2026-03-24 09:59:03 +01:00
9seconds
7b333ed833
Merge remote-tracking branch 'origin/master' into stable
2026-03-24 09:58:48 +01:00
9seconds
5adfee5dd4
Remove wrong binary
2026-03-24 09:58:13 +01:00
9seconds
de89de2ad6
Merge remote-tracking branch 'origin/master' into stable
2026-03-24 09:57:43 +01:00
9seconds
b0d37de0ec
Update linter
2026-03-24 09:57:20 +01:00
9seconds
0cb25ba7ff
Update go dependencies
2026-03-24 09:55:53 +01:00
9seconds
614acd7303
Mention doctor in README
2026-03-24 09:55:30 +01:00
9seconds
cfb5fe66be
Allow using directory bind mounts for a docker container
...
This helps with a situation when some applications do not allow mounting
individual files, but whole directories. In that case users could mount
`/config` directory with a single file, `config.toml`: `-v
/path/to/dir:/config`. Also, there is a backward compatibility to using
a single `/config.toml`
2026-03-24 08:48:42 +01:00
9seconds
f0ae4ce290
Validate domain fronting availability
2026-03-23 19:22:21 +01:00
9seconds
b6b900e430
Refactoring
2026-03-23 19:12:14 +01:00
9seconds
8154f65e0e
Add validation of telegram connectivity
2026-03-23 18:34:38 +01:00
9seconds
a60523fed0
Add verification of time skewness
2026-03-23 15:28:48 +01:00
9seconds
63b147c287
Add doctor command for deprecated config values
2026-03-23 14:45:10 +01:00
9seconds
7fec30908a
Merge remote-tracking branch 'origin/stable' into v2
2026-03-20 11:29:39 +01:00
9seconds
2eb0828f72
Merge remote-tracking branch 'origin/master' into stable
2026-03-20 11:29:24 +01:00
9seconds
d5a118f125
Remove explicit pgo
2026-03-20 11:15:01 +01:00
9seconds
d79a8f8406
Fix failed builds
2026-03-20 11:14:25 +01:00
9seconds
97932758d1
Add mips support
2026-03-20 11:14:25 +01:00
9seconds
1f7d1c0eea
Add windows builds
2026-03-20 11:14:25 +01:00
9seconds
8c73dde928
Add build for AMD64v3
2026-03-20 11:14:25 +01:00
9seconds
ded3fe26b9
Build for ARMv9
2026-03-20 11:14:25 +01:00
9seconds
049bee3d84
Document a necessety of increasing limits for systemd unit
...
It seems that default DynamicUser limits are very low. We have to
increase them anyway.
2026-03-20 11:13:03 +01:00
9seconds
4fbabfda2a
Add PGO
2026-03-20 10:54:30 +01:00
9seconds
fc72de9e39
Merge remote-tracking branch 'origin/stable' into v2
2026-03-19 18:52:35 +01:00
9seconds
cb627f2a66
Merge remote-tracking branch 'origin/master' into stable
2026-03-19 18:52:11 +01:00
9seconds
4a8d099aca
Remove unused buffer
2026-03-19 17:39:57 +01:00
9seconds
feb57004e1
Fix reslicing
2026-03-19 17:39:48 +01:00
9seconds
cb436efd87
Avoid double buffering in TLS hot path
2026-03-19 17:37:51 +01:00
9seconds
724904f50d
Wait in doppel.Conn if there is anything to write
2026-03-19 15:42:00 +01:00
9seconds
a23ae05f3b
Remove SyncWrite
2026-03-19 13:47:08 +01:00
9seconds
913a38d13a
Show real IP of the telegram endpoint in event stream
2026-03-18 22:05:34 +01:00
9seconds
dc81f7981c
Merge remote-tracking branch 'origin/stable' into v2
2026-03-16 23:56:10 +01:00
9seconds
9d5fd989e5
Merge remote-tracking branch 'origin/master' into stable
2026-03-16 23:55:56 +01:00
9seconds
eb7720b11e
Fix flaky test
2026-03-16 23:44:06 +01:00
9seconds
d0502e7083
Merge remote-tracking branch 'origin/stable' into v2
2026-03-15 22:04:35 +01:00
9seconds
30aa9d3a44
Merge remote-tracking branch 'origin/master' into stable
2026-03-15 22:04:09 +01:00
9seconds
d98d5be3a7
Update go dependencies
2026-03-15 22:01:04 +01:00
9seconds
94ac9d6ffa
Update tooling
2026-03-15 22:00:08 +01:00
9seconds
c036558df4
Update docs
2026-03-15 21:58:04 +01:00
9seconds
57529904e3
Add document about best practices
2026-03-15 21:50:43 +01:00
9seconds
bb90bcc127
Decrease relay buffer size
...
Even if it makes sense to have a huge buffers, we do artificial delays
now. In that case we could achieve the same results with a lower buffer.
If not, then we won't send a packet bigger that this value
2026-03-14 14:06:48 +01:00
9seconds
879ebd132d
Formatting of the README
2026-03-14 09:44:07 +01:00
9seconds
e675baa860
Add docs about doppelganger
2026-03-14 09:42:28 +01:00
9seconds
7adfc0352e
Have a noise of variable size
2026-03-13 17:08:44 +01:00
9seconds
b35c212d65
Have a noise of variable size
2026-03-13 16:39:16 +01:00
9seconds
45b0964afd
Fix android ping
2026-03-13 16:20:18 +01:00
9seconds
4138cc6494
Use SyncWrite call to send a packet to proxy
2026-03-13 14:44:56 +01:00
9seconds
33c0fa9bf7
Add SyncWrite method to doppel.Conn
2026-03-13 11:30:52 +01:00
9seconds
21d7522356
Make DRS optional
2026-03-13 11:04:01 +01:00
9seconds
ea71fe81b2
Update stats defaults
2026-03-13 08:59:59 +01:00
9seconds
8df1629882
Access command should use native dialer instead of network one
2026-03-13 08:42:15 +01:00
9seconds
ad945c77a9
Enable caching for govulncheck
2026-03-12 23:01:26 +01:00
9seconds
4dca1d2b07
Add cache mount for apk downloads
2026-03-12 22:46:19 +01:00
9seconds
287a794772
Always run tests with race detector
2026-03-12 22:22:09 +01:00
9seconds
d4822989ec
Add count number to covtest
2026-03-12 22:22:00 +01:00
9seconds
3db1be0687
Use cache to speed up jobs
2026-03-12 22:13:17 +01:00
9seconds
991346621c
Speedup docker builds by using cache
2026-03-12 22:13:00 +01:00
9seconds
cc63e762e3
Use native dialer for scout
2026-03-12 21:47:03 +01:00
9seconds
a85348d6be
Use curl as user agent
2026-03-12 21:43:04 +01:00
9seconds
62cba24071
Use native dialer to communicate with fronting domain
2026-03-12 20:51:02 +01:00
9seconds
94e4179fb7
Add NativeDialer method to mtglib.Network
2026-03-12 19:25:53 +01:00
9seconds
ffd3ab03cc
Formatting with gofumpt
2026-03-12 19:13:33 +01:00
9seconds
00403e3a94
Remove old faketls package
2026-03-12 19:11:39 +01:00
9seconds
0bfc1ef2d4
Fix double TLS wrapping for noise
2026-03-12 19:07:11 +01:00
9seconds
7aa01dcebe
Limit min number of collected stats
2026-03-12 19:07:11 +01:00
9seconds
1c0e847247
Set statistics measured from real life
2026-03-12 19:07:11 +01:00
9seconds
83ff4ee266
Align scout defaults with config defaults
2026-03-12 19:07:11 +01:00