Commit graph

1524 commits

Author SHA1 Message Date
David Fifield
dbad475254 Finish incomplete comment for newEncapsulationPacketConn. 2024-12-12 06:40:57 +00:00
Renovate Bot
a0731443ff
chore(deps): update module golang.org/x/net to v0.32.0 2024-12-10 15:33:15 +00:00
Renovate Bot
ef0d391243
chore(deps): update module gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/goptlib to v1.6.0 2024-12-10 14:11:58 +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
WofWca
f6767061e4
refactor: separate some Negotiate logic
As per https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/merge_requests/392#note_3096760
in preparation for further changes to `Negotiate`.
2024-12-05 10:27:36 -05:00
Cecylia Bocovich
75e73ce397
Fixup new STUN servers to include protocol 2024-12-04 12:02:18 -05:00
Cecylia Bocovich
cc644134ad
Added new RFC 5780 compatible STUN servers 2024-12-03 15:36:12 -05:00
Cecylia Bocovich
1607f9ce85
Remove nonfunctional STUN servers
Remove STUN servers that are offline, appear to be misconfigured, or do
not support NAT discovery
2024-12-03 15:21:07 -05:00
Cecylia Bocovich
6ecd5bf6d7
Remove log when offer is nil
After !414, we started returning a nil offer from pollOffer if the proxy
was not matched with a client. It's not longer an indication of failure,
so we should remove the "bad offer from broker" log message.
2024-12-03 15:05:44 -05:00
Cecylia Bocovich
5b479fdb13
Log EventOnCurrentNATTypeDetermined for proxy 2024-12-03 15:05:44 -05:00
Renovate Bot
dfbeee00de
chore(deps): update module github.com/aws/aws-sdk-go-v2 to v1.32.6 2024-12-03 13:25:04 +00:00
Renovate Bot
64995f391b
chore(deps): update golang docker tag to v1.23 2024-12-03 13:02:35 +00:00
WofWca
5e7b35bf12
refactor: use named returns for some funcs
This should make the functions easier to use,
harder to confuse the return values with the same type.
2024-12-03 12:51:42 +00:00
meskio
e6555e4a1e
Merge remote-tracking branch 'gitlab/mr/444' 2024-12-02 15:14:01 +01:00
Renovate Bot
295748f3ff chore(deps): update module github.com/pion/webrtc/v4 to v4.0.5 2024-11-29 14:24:51 +00:00
WofWca
ae5bd52821
improvement: use SetIPFilter for local addrs
Closes https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40271.
Supersedes https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/merge_requests/417.

This simplifies the code and (probably) removes the need for
`StripLocalAddresses`, although makes us more dependent on Pion.

Signed-off-by: Cecylia Bocovich <cohosh@torproject.org>
2024-11-28 10:56:40 -05:00
Cecylia Bocovich
43799819a1
Suppress logs of proxy events by default 2024-11-28 10:42:54 -05:00
Shelikhoo
d069a0a1b9
Add Container Image Mirroring from Tor Gitlab to Docker Hub 2024-11-27 14:43:48 +00:00
Renovate Bot
f940d7d6ef
chore(deps): update module github.com/pion/ice/v4 to v4.0.3
Signed-off-by: Cecylia Bocovich <cohosh@torproject.org>
2024-11-26 14:01:25 -05:00
meskio
ccb351e817
Merge remote-tracking branches 'gitlab/mr/435' and 'gitlab/mr/439' 2024-11-25 15:51:47 +01:00
Renovate Bot
6e1eb39e79 chore(deps): update module github.com/pion/webrtc/v4 to v4.0.2 2024-11-21 15:15:07 +00:00
WofWca
c5d680342b
refactor: separate function for connectToRelay
This should make the code easier to glance over,
to understand that relay connection is performed from inside
the datachannel handler.
2024-11-21 14:55:28 +00:00
WofWca
f65f1d850f improvement: use IsLinkLocalUnicast in IsLocal
Looking at the code, this commit appears to change behavior,
because `IsLocal` will now return `true` for IPv6 link-local unicast
addresses.
2024-11-21 17:31:56 +04:00
WofWca
387096b2a1 refactor: rewrite IsLocal with ip.IsPrivate()
The referenced MR has been implemented.
The extra checks have been added in 8467c01e9e.

With this rewrite the checks are exactly the same as of Go 1.23.3.
2024-11-18 20:49:16 +04: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
8b2e12c96d
Bump version of Snowflake to 2.10.1 2024-11-11 13:15:48 -05:00
Cecylia Bocovich
b06004a365
Bump version of snowflake to 2.10.0 2024-11-07 16:56:55 -05:00
Cecylia Bocovich
aaf8826560
Add proxy event for when client has connected
This enables the usage of callbacks that will be called when a client
has opened a data channel connection to the proxy.
2024-11-06 10:31:33 -05: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
Cecylia Bocovich
a019fdaec9
Perform SnowflakeConn.Close() logic only once
Use synchronization to avoid a panic if SnowflakeConn.Close is called
more than once.
2024-10-29 14:58:01 -04:00
Waldemar Zimpel
028ff82683 Optionally enable local time for logging
Introduces the option `-log-local-time` which switches to local time
for logging instead of using UTC. Also if this option is applied, a message
is being output to the log on startup about the usage of local time
to draw attention, so the user/operator can take care of anonymity in case
the logs are going to be shared.
2024-10-28 16:23:44 +01:00
meskio
0e0ca8721e
Merge remote-tracking branch 'gitlab/mr/423' 2024-10-23 09:11:41 +02:00
Waldemar Zimpel
93f5d1ef7f Log average transfer rate
Adds the average transfer rate for the summary interval to the summary log lines
2024-10-23 03:25:26 +02:00
Neel Chauhan
f4305180b9
Remove the pollInterval loop from SignalingServer.pollOffer in the standalone proxy
Closes #40210.
2024-10-22 14:50:43 -04:00
meskio
a7855d506c
Merge remote-tracking branches 'gitlab/mr/420' and 'gitlab/mr/422' 2024-10-21 12:50:40 +02:00
Renovate Bot
f22f1ceb9f chore(deps): update module github.com/aws/aws-sdk-go-v2/config to v1.28.0 2024-10-17 19:53:19 +00:00
Renovate Bot
ce2fc00fb3 chore(deps): update module github.com/prometheus/client_golang to v1.20.5 2024-10-17 19:53:08 +00:00
Neel Chauhan
8792771cdc
broker and proxy must not reject client offers with no ICE candidates
Fixes #40371. Partially reverts !141.
2024-10-17 15:46:02 -04:00
Neel Chauhan
9ff205dd7f
Probetest/proxy: Set multiple comma-separated default STUN URLs
This adds the BlackBerry STUN server alongside Google's. Closes #40392.
2024-10-17 15:15:02 -04:00
Renovate Bot
1085d048b9
chore(deps): update module github.com/aws/aws-sdk-go-v2/service/sqs to v1.36.2 2024-10-17 14:54:35 -04:00
Renovate Bot
fc79084455
chore(deps): update module golang.org/x/net to v0.30.0 2024-10-17 14:53:30 -04:00
Renovate Bot
33318ea598
chore(deps): update module github.com/pion/webrtc/v3 to v3.3.4 2024-10-17 14:51:40 -04:00
meskio
846ef79c35
Merge remote-tracking branch 'gitlab/mr/412' 2024-10-16 12:13:19 +02:00
Renovate Bot
214ee6b15f chore(deps): update module github.com/aws/aws-sdk-go-v2/config to v1.27.43 2024-10-08 20:37:17 +00:00
meskio
177a6bdf68
Merge remote-tracking branches 'gitlab/mr/405' and 'gitlab/mr/410' 2024-10-08 12:19:03 +02:00
Renovate Bot
1b44ee7626 chore(deps): update module golang.org/x/crypto to v0.28.0 2024-10-07 16:34:40 +00:00
Renovate Bot
4e45515cd3 chore(deps): update module github.com/xtaci/smux to v1.5.31 2024-10-07 16:32:43 +00:00
Renovate Bot
17be3430d9
chore(deps): update module github.com/aws/aws-sdk-go-v2/config to v1.27.41 2024-10-07 16:26:23 +01:00
WofWca
5c7bdcea77
fix(probetest): wrong "restricted" sometimes
Closes https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40387
2024-09-26 18:15:05 +01:00