Shelikhoo
b9cb3c9002
fix broken http tcp like mode *2
2025-02-24 17:12:13 +00:00
Shelikhoo
85017bc292
fix broken http tcp like mode *1
2025-02-24 17:12:10 +00:00
Shelikhoo
6ec0025e93
Add broker and server side rejection based on proxy version
2025-02-19 15:47:36 +00:00
Shelikhoo
1bc310c2e9
remove PacketPaddingContainer abstraction
2025-02-13 14:01:04 +00:00
Shelikhoo
94eddc6391
refactor message boundary constrains: coding style
2025-01-30 13:37:22 +00:00
Shelikhoo
1ba58c864d
refactor message boundary constrains
2025-01-30 13:35:36 +00:00
Shelikhoo
0aa1470e01
add connection padding on server side
2025-01-29 11:46:33 +00:00
Shelikhoo
00da3c95ed
use protocol field encoder
2025-01-21 20:55:26 +04:00
David Fifield
2e4139ea97
Remove turbotunnelMode.
...
Replace it with turboTunnelUDPLikeMode, copying comments etc. to make
the changes easier to see.
2025-01-21 20:55:26 +04:00
David Fifield
490502691d
Remove WebRTCPeer.activeTransportMode.
...
Make "u" mode the assumed default. The WebRTC data channel protocol
contains just the hex clientID.
2025-01-21 20:55:25 +04:00
Shelikhoo
15189aa5ac
fix checking number of arg before accessing it
2025-01-21 20:55:25 +04:00
Shelikhoo
c7ccaa38f9
add server side support for extra data based client id
2025-01-21 20:55:25 +04:00
Shelikhoo
457c4fbf15
Add UDP Like transport mode to snowflake
2025-01-21 20:55:25 +04:00
David Fifield
bb2126b7c6
Use %w, not %v, in fmt.Errorf, so errors can be unwrapped.
...
https://go.dev/blog/go1.13-errors#wrapping-errors-with-w
2024-08-21 17:00:18 -04:00
David Fifield
f25b293fb5
Comment typo.
2024-08-02 03:36:37 +00:00
David Fifield
1bde730b39
Comment typo.
2024-03-22 00:43:58 +00:00
David Fifield
d0529141ac
Cosmetic fixes taken from !219 .
...
shelikhoo/dev-udp-performance-rebased branch
https://gitlab.torproject.org/shelikhoo/snowflake/-/commits/9dce28cfc2093490473432ffecd9abaab7ebdbdb
2024-01-16 18:43:58 +00:00
David Fifield
d99f31d881
Have encapsulation.ReadData return an error when the buffer is short.
...
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/merge_requests/154#note_2919109
Still ignoring the io.ErrShortBuffer at the callers, which retains
current behavior.
2023-11-07 05:51:35 +00:00
David Fifield
001f691b47
Have encapsulation.ReadData read into a provided buffer.
...
Instead of unconditionally allocating its own.
2023-11-07 05:51:35 +00:00
meskio
82cc0f38f7
Move the development to gitlab
...
Related: tpo/anti-censorship/team#86
2023-05-31 10:01:47 +02:00
David Fifield
c097d5f3bc
Use a sync.Pool to reuse packet buffers in QueuePacketConn.
...
This is meant to reduce overall allocations. See past discussion at
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40260#note_2885524 ff.
2023-04-04 20:22:32 -06:00
David Fifield
c6fabb212d
Use multiple parallel KCP state machines in the server.
...
To distribute CPU load.
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40200
2022-12-14 23:02:26 -07:00
David Fifield
8e5af50bdb
Increase clientIDAddrMapCapacity to 98304.
...
Recent increases in usage have exhausted the capacity of the map.
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40173
2022-12-03 13:39:56 -07:00
Cecylia Bocovich
c0b35076c9
Remove support for oneshot mode
...
Due to a bug (#40098 ), legacy oneshot connections have not worked for
awhile. Connections without the turbotunnel token would cause the server
to crash. This fixes that bug by removing support altogether and simply
closes the connection.
2022-02-07 11:39:23 -05:00
Shelikhoo
d2f6ea5417
increase clientIDAddrMapCapacity
...
See also:
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40084
2022-01-18 14:33:34 -05:00
Cecylia Bocovich
ead5a960d7
Bump snowflake library imports and go.mod to v2
2021-11-11 10:14:49 -05:00
Cecylia Bocovich
04ba50a531
Change package name and add a package comment
2021-10-07 11:01:33 -04:00
Cecylia Bocovich
4623c7d3e1
Add documentation where necessary for exported items
2021-10-07 11:01:33 -04:00
Cecylia Bocovich
5339ed2dd7
Stop exporting internal code
2021-10-07 11:01:33 -04:00
Cecylia Bocovich
6634f2bec9
Store net.Addr in clientIDAddrMap
...
This fixes a stats collection bug where we were converting client
addresses between a string and net.Addr using the clientAddr function
multiple times, resulting in an empty string for all addresses.
2021-06-19 11:16:38 -04:00
Cecylia Bocovich
7c9005bed3
Ensure turbotunnel read and write loop terminate
...
Introduce a waitgroup and done channel to ensure that both the read and
write gorouting for turbotunnel connections terminate when the
connection is closed.
2021-05-12 09:32:07 -04:00
Cecylia Bocovich
11f0846264
Implement server as a v2.1 PT Go API
2021-05-12 09:08:41 -04:00