Commit graph

98 commits

Author SHA1 Message Date
Cecylia Bocovich
6007d5e08e
Refactor creation of webRTCConn in proxy 2022-11-28 17:10:49 -05:00
luciole
2c599f8827
change bandwidth type from int to int64 to prevent overflow 2022-11-21 10:33:21 -05:00
itchyonion
768b80dbdf
Use event logger for proxy starting message and NAT info 2022-11-16 10:08:10 -08:00
luciole
3185487aea update formatTraffic so that bandwidth unit is always KB 2022-11-10 15:12:46 +01:00
KokaKiwi
10c8173120
proxy: Fix ephemeral ports range CLI flag (again) 2022-10-12 19:48:24 +02:00
meskio
56063efbba
Merge remote-tracking branch 'gitlab/mr/102' 2022-10-11 18:47:47 +02:00
trinity-1686a
5ef5142bb0 format using go-1.19 2022-10-09 21:15:50 +02:00
KokaKiwi
47f9392645
proxy: Add ICE ephemeral ports range setting CLI flag 2022-09-30 17:55:08 +02:00
KokaKiwi
5e564f36ff
proxy: Add a SnowflakeProxy.makeWebRTCAPI() method 2022-09-30 17:55:06 +02:00
Tommaso Gragnato
9ce1de4eee Use Pion's Setting Engine to reduce Multicast DNS noise
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40123

The purpose of the patch is to prevent Pion from opening the mDNS port,
thus preventing snowflake from directly leaking .local candidates.

What this doesn't prevent is the resolution of .local candidates
once they are passed on to the system DNS.
2022-09-26 08:52:23 -07:00
Shelikhoo
97dea533da
Update Relay Pattern format to include dollar sign 2022-06-16 14:06:58 +01:00
Shelikhoo
3ebb5a4186
Show relay URL when connecting to relay 2022-06-16 14:06:57 +01:00
Shelikhoo
2ebdc89c42
Add Allowed Relay Hostname Pattern Indication 2022-06-16 14:06:57 +01:00
Shelikhoo
b09a2e09b3
Add Relay URL Check in Snowflake Proxy 2022-06-16 14:06:56 +01:00
Shelikhoo
c961b07459
Add Detailed Error Output for datachannelHandler 2022-06-16 14:06:56 +01:00
Shelikhoo
d5a87c3c02
Guard Proxy Relay URL Acceptance with Pattern Check 2022-06-16 13:57:33 +01:00
Shelikhoo
863a8296e8
Add RelayURL support in proxy 2022-06-16 13:57:33 +01:00
Cecylia Bocovich
6310ca4381
Avoid performing two NAT probe tests at startup
After the initial NAT probe test, a full interval before starting the
recurring NAT retests.
2022-05-27 10:01:19 -04:00
itchyonion
9757784c5a
Wait some time before displaying the proxy usage log 2022-05-25 11:01:01 -04:00
meskio
b73add1550
Make the proxy type configurable for users of the library
Closes: #40104
2022-03-21 19:24:51 +01:00
Arlo Breault
6fd0f1ae5d Rename *PollRequest methods to distinguish client/proxy 2022-03-16 15:43:10 -04:00
Jake Vossen
99eb794a20
Fixed up/downstream metrics 2022-03-02 11:27:33 -05:00
pjsier
df22114fce Fix proxy logging verb tense 2022-02-28 18:38:17 -06:00
Shelikhoo
00e8415d8e
Add verbosity switch to suppress diagnostic output 2022-02-03 13:38:48 +00:00
Shelikhoo
e828b06076
Use log instead of fmt in proxy event logger
See also:
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/merge_requests/72#note_2772839
2022-01-28 14:46:45 +00:00
Shelikhoo
eb229d512b
Fix ProxyEventLogger output 2022-01-25 13:03:19 +00:00
Shelikhoo
88af9da4a2
Fix ProxyEventLogger output 2022-01-25 13:03:19 +00:00
Shelikhoo
1116bc81c8
Add Proxy Event Logger 2022-01-25 13:03:19 +00:00
Shelikhoo
9208364475
Extract traffic formatter 2022-01-25 13:03:19 +00:00
Shelikhoo
f12cfe6a9f
Add proxy event logger state propagate 2022-01-25 13:03:18 +00:00
Shelikhoo
e4305a4d2b
Add EventOnProxyConnectionOver Reporting 2022-01-25 13:03:18 +00:00
Shelikhoo
91379a42f3
Add Raw Data Output for bytesLogger 2022-01-25 13:03:14 +00:00
Shelikhoo
0c62d806a4
Represent NATTypeMeasurementInterval in time.Duration
Adopted the change in according to the recommendation from

https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/merge_requests/62#note_2761566
2021-11-16 19:25:27 +00:00
Shelikhoo
59af9927a5
Refactor state transfer logic to simplify it
Adopted the change in according to the recommendation from

https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/merge_requests/62#note_2760514
2021-11-12 10:49:32 +00:00
Shelikhoo
2547883cf9
Extract function getCurrentNATType()
Adopted the change in according to the recommendation from

https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/merge_requests/62#note_2759900
2021-11-12 10:49:32 +00:00
Shelikhoo
a6a53ff8ce
Add NAT Type test periodic task 2021-11-12 10:49:30 +00:00
Shelikhoo
ac97ce7136
Add NAT Type measurement command line flag
It is important to include unit in flag name to prevent user from making mistake.
2021-11-12 10:48:15 +00:00
Shelikhoo
04bc471a63
Support recurring NAT Type measurement
currentNATType will from now on be guarded by currentNATTypeAccess for any access.

NAT Type update rule is flattened into state transfer lookup table to assist reading.
2021-11-12 10:48:14 +00:00
Cecylia Bocovich
ead5a960d7
Bump snowflake library imports and go.mod to v2 2021-11-11 10:14:49 -05:00
Cecylia Bocovich
0a2598a1e8 Export ability to change the URL of NAT probe 2021-10-28 10:05:01 -04:00
Cecylia Bocovich
3caa83d84d Modify handling of misconfigurations and defaults 2021-10-28 10:05:01 -04:00
Cecylia Bocovich
0e8d41ba4b Update comments for exported items 2021-10-28 10:05:01 -04:00
Cecylia Bocovich
84e8a183e5 Comment package and minor changes exports 2021-10-26 15:49:46 -04:00
Cecylia Bocovich
b2edf948e2 Remove BytesLoggers from exported functions 2021-10-26 14:52:17 -04:00
idk
50e4f4fd61 Turn the proxy code into a library
Allow other go programs to easily import the snowflake proxy library and
start/stop a snowflake proxy.
2021-10-26 14:15:44 -04:00
Arlo Breault
77c41207ef Drop unmaintained coffee-snowflake.html 2016-12-20 08:21:35 -08:00
Arlo Breault
d567e2312f Feature detect with Modernizr
* A start on #34
2016-04-05 10:30:45 -07:00
Serene Han
9c4fc24719 successful bootstrap through browser proxy! (closes #5) 2016-01-12 11:14:28 -08:00