Commit graph

1392 commits

Author SHA1 Message Date
Renovate Bot
590735c838 chore(deps): update module github.com/aws/aws-sdk-go-v2 to v1.33.0 2025-01-16 21:16:35 +00:00
Cecylia Bocovich
eedac71a3a
Add self-signed ISRG Root X1 to cert pool
Replace the expired DST Root CA X3 signed ISRG Root X1 cert with the
self-signed cert.

Closes https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40440
2025-01-15 10:56:17 -05:00
meskio
fad8ddb840
Merge remote-tracking branches 'gitlab/mr/473' and 'gitlab/mr/474' 2025-01-14 10:29:10 +01:00
Renovate Bot
3ac3c177c2 chore(deps): update module golang.org/x/net to v0.34.0 2025-01-13 09:10:43 +00:00
Renovate Bot
2556b3cc7b chore(deps): update module github.com/aws/aws-sdk-go-v2 to v1.32.8 2025-01-13 09:10:15 +00:00
David Fifield
1895bb9d2c Comment typo. 2025-01-13 08:49:15 +00:00
Renovate Bot
e4c95fc242
chore(deps): update module golang.org/x/net to v0.33.0 [security]
Signed-off-by: Cecylia Bocovich <cohosh@torproject.org>
2025-01-07 15:54:08 -05:00
meskio
cdbfc9612f
Merge remote-tracking branches 'gitlab/mr/464', 'gitlab/mr/467' and 'gitlab/mr/471' 2025-01-07 13:08:21 +01:00
WofWca
e038b68d79 refactor(proxy): simplify tokens.ret() on error 2025-01-04 19:31:44 +04:00
Renovate Bot
847c7c45a8 chore(deps): update module golang.org/x/crypto to v0.31.0 [security] 2024-12-23 16:38:11 +00:00
Renovate Bot
1d3772bb80 chore(deps): update module github.com/aws/aws-sdk-go-v2 to v1.32.7 2024-12-19 20:14:48 +00:00
Shelikhoo
e7a7f41c5b
seperate docker hub mirroring to a seperate stage 2024-12-16 13:28:30 +00:00
meskio
63549af07e
Merge remote-tracking branches 'gitlab/mr/459' and 'gitlab/mr/461' 2024-12-16 10:49:17 +01:00
Renovate Bot
0e793d6cb9 chore(deps): update module github.com/pion/webrtc/v4 to v4.0.6 2024-12-16 06:50:07 +00:00
WofWca
85a93c5303 docs: clarify -ports-range is for port forwarding 2024-12-13 17:06:13 +04:00
WofWca
92521b6679 improvement: warn if ports-range is too narrow
...and improve the docstring for the parameter.
2024-12-13 17:06:11 +04:00
WofWca
cb32d008ca docs: improve ephemeral-ports-range description
Clarify that the default range is wide.
2024-12-13 16:09:22 +04:00
Shelikhoo
6e7c177157
copy container tag to generate stable with crane to avoid flattening image 2024-12-12 13:33:52 +00:00
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