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
David Fifield
c1ac2aa577
Update comment not to refer to a Stream transport.
...
Stream is not part of this branch.
2025-01-21 20:55:26 +04:00
Shelikhoo
de9fede4ac
update comment for newSession in client
2025-01-21 20:55:26 +04:00
Shelikhoo
c322e8b7f5
always let WebRTCDialer constructor decide the clientID
2025-01-21 20:55:26 +04:00
Shelikhoo
c7b163de57
Remove clientID from unused branch
2025-01-21 20:55:26 +04:00
Shelikhoo
37f2f42ea0
revert change on SetStreamMode
2025-01-21 20:55:26 +04:00
Shelikhoo
69045b5fbb
update comment on conn.SetStreamMode
2025-01-21 20:55:26 +04:00
Shelikhoo
3a2b2fc969
add confirmation to ReadWriteCloser should preserve message boundary
2025-01-21 20:55:26 +04:00
Shelikhoo
f10dc3d619
use a constructor for PacketConnWrapper
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
c0acdd7d2a
fix pass client id to webrtc dialer
2025-01-21 20:55:25 +04:00
Shelikhoo
bf165264b1
add client side support for extra data based client id
2025-01-21 20:55:25 +04:00
Shelikhoo
ad5edd3f01
add kcp setting adjustment SNOWFLAKE_TEST_KCP_FAST3MODE
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
1895bb9d2c
Comment typo.
2025-01-13 08:49:15 +00:00
WofWca
94b6647d33
feat(client): try restricted proxy if NAT unknown
...
Just once, to offload unrestricted proxies.
This is useful when our STUN servers are blocked or don't support
the NAT discovery feature, or if they're just slow.
Closes https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40178 .
Partially addresses https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40376
Signed-off-by: Cecylia Bocovich <cohosh@torproject.org>
2024-12-05 10:34:08 -05:00
Shelikhoo
239357509f
update snowflake to use pion webrtc v4
2024-11-13 14:58:53 +00:00
Renovate Bot
290be512e3
chore(deps): update module github.com/pion/webrtc/v3 to v4
2024-11-11 18:45:36 +00:00
Cecylia Bocovich
0d8bd159ec
Have SnowflakeConn.Close() return errors
...
Return an error if the connection was already closed. On the first
close, return an error if any of the calls inside Close() returned an
error in this order:
- smux.Stream.Close()
- pconn.Close()
- smux.Session.Close()
2024-10-29 14:58:01 -04:00
Michael Pu
9fe2ca58a0
Switch to sqscreds param for passing in SQS credentials
2024-03-09 13:35:16 -05:00
Michael Pu
8fb17de152
Implement SQS rendezvous in client and broker
...
This features adds an additional rendezvous method to send client offers
and receive proxy answers through the use of Amazon SQS queues.
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/26151
2024-01-22 13:06:42 -05: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
Shelikhoo
5df7a06eee
Add outbound proxy configuration propagation
2023-10-24 17:47:25 +01:00
Cecylia Bocovich
9fdfb3d1b5
Randomly select front domain from comma-separated list
...
This commmit changes the command-line and Bridge line arguments to take
a comma-separated list of front domains. The change is backwards
compatible with old Bridge and ClientTransportPlugin lines. At
rendezvous time, a front domain will be randomly chosen from the list.
2023-10-05 17:51:56 -04:00
meskio
82cc0f38f7
Move the development to gitlab
...
Related: tpo/anti-censorship/team#86
2023-05-31 10:01:47 +02:00
itchyonion
990fcb4127
Filter out non stun: server addresses in ParseIceServers
2023-01-30 09:10:15 -08:00
itchyonion
a6a18c1a9b
Parse ICE servers with pion/ice library function
2023-01-30 09:10:15 -08:00
trinity-1686a
5ef5142bb0
format using go-1.19
2022-10-09 21:15:50 +02:00
itchyonion
e4c01f0595
Wrap client NAT log
2022-05-31 08:52:23 -07:00
Arlo Breault
b563141c6a
Forward bridge fingerprint
...
gitlab 28651
2022-03-21 15:06:05 -04:00
Arlo Breault
bd636a1374
Introduce an unexported newBrokerChannelFromConfig
...
A follow-up wants to pass in a new property from the ClientConfig but it
would be an API breaking change to NewBrokerChannel.
However, it's unclear why NewBrokerChannel is exported at all. No other
package in the repo depends on it and the known users of the library
probably wouldn't be construct them.
While this patch was being reviewed, a new constructor was added,
NewBrokerChannelWithUTLSSettings, with effectively the same issue.
Both of those exported ones are deleted here.
2022-03-16 16:33:24 -04:00
Shelikhoo
8d5998b744
Harmonize identifiers to uTLS
2022-03-16 09:13:29 +00:00
Shelikhoo
1573502e93
Use uTLS aware broker channel constructor
2022-03-16 09:13:29 +00:00
Shelikhoo
ccfdcab8fe
Add uTLS remove SNI to snowflake client
2022-03-16 09:13:29 +00:00
Shelikhoo
9af0ad119b
Add utls imitate setting to snowflake client
2022-03-16 09:13:29 +00:00
Shelikhoo
6cb82618a0
Refactor WebRTC Peer,Dialer's name to be readable
...
See also:
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/merge_requests/67#note_2771666
2022-01-25 12:49:59 +00:00
Shelikhoo
657aaa6ba8
Refactor event logger setting into function call
...
See also:
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/merge_requests/67#note_2770482
2022-01-25 12:49:59 +00:00
Shelikhoo
7536dd6fb7
Add Propagate EventLogger Setting
2022-01-25 12:49:59 +00:00
Shelikhoo
cd6d837d85
Add snowflake event handler to client config
2022-01-25 12:49:57 +00:00
Cecylia Bocovich
ead5a960d7
Bump snowflake library imports and go.mod to v2
2021-11-11 10:14:49 -05:00
Cecylia Bocovich
5927c2bdf9
Default to a maximum value of 1 Snowflake peer
2021-10-04 10:17:37 -04:00
Cecylia Bocovich
6c6a2e44ab
Change package name and add a package comment
2021-10-04 10:17:37 -04:00
Cecylia Bocovich
638ec6c222
Update Snowflake client library documentation
...
Follow best practices for documenting the exported pieces of the
Snowflake client library.
2021-10-04 10:17:37 -04:00
Cecylia Bocovich
99887cd05d
Add package functions to define and set the rendezvous method
...
Add exported functions to the snowflake client library to allow calling
programs to define and set their own custom broker rendezvous methods.
2021-10-04 10:17:37 -04:00
Cecylia Bocovich
624750d5a8
Stop exporting code that should be internal
2021-10-04 10:17:37 -04:00
Cecylia Bocovich
4acc08cc60
Use a config struct for snowflake client options
2021-08-19 21:20:34 -04:00
Cecylia Bocovich
e6715cb4ee
Increase smux and QueuePacketConn buffer sizes
...
This should increase the maximum amount of inflight data and hopefully
the performance of Snowflake, especially for clients geographically
distant from proxies and the server.
2021-08-10 15:38:11 -04:00