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
Daniel Golle
a8829d49b7
Fix proxy command line help output
2022-09-26 10:37:29 -04:00
Shelikhoo
97dea533da
Update Relay Pattern format to include dollar sign
2022-06-16 14:06:58 +01:00
Shelikhoo
ddf72025d1
Restrict Allowed Relay to Tor Pool by default
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
c49f72eb0c
Update nat-retest-interval type to duration
...
Adopted the change in according to the recommendation from
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/merge_requests/62#note_2761438
2021-11-16 15:58:57 +00:00
Shelikhoo
efdb850d2e
Update nat-retest-interval flag name to reflect the change
...
Adopted the change in according to the recommendation from
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/merge_requests/62#note_2761382
2021-11-16 11:22:44 +00:00
Shelikhoo
9bdb87eaf3
Update nat-retest-seconds format to time.ParseDuration form
...
Adopted the change in according to the recommendation from
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/merge_requests/62#note_2761382
2021-11-16 11:20:27 +00:00
Shelikhoo
1b79962ca8
Rename flag to nat-retest-seconds and retest daily by default
...
Adopted the change in according to the recommendation from
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/merge_requests/62#note_2759816
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/merge_requests/62#note_2760512
2021-11-12 10:49:32 +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
Cecylia Bocovich
54ab79384f
Unify broker/bridge domains to torproject.net
2021-10-14 11:14:22 -04:00
meskio
cbd863d6b1
Fix proxy test
...
The broker is a global object.
2021-09-02 12:49:00 +02:00
meskio
e3d376ca43
Wait pollInterval between proxy offers
...
Closes : #40055
2021-07-21 16:38:29 +02:00
meskio
099f4127ea
Refactor the poll offer to use a ticker
...
Simplify the code to use a ticker. Using a pattern to allow a first run
of the loop before hitting the ticker:
https://github.com/golang/go/issues/17601#issuecomment-311955879
2021-07-21 16:38:27 +02:00
Cecylia Bocovich
c1b0fdd8cf
Cleaned up and reorganized READMEs
2021-07-19 10:16:26 -04:00
meskio
ced539f234
Refactor webRTCConn to its own file
2021-07-07 19:36:24 +02:00
meskio
7a1857c42f
Make the proxy to report the number of clients to the broker
...
So the assignment of proxies is based on the load. The number of clients
is ronded down to 8. Existing proxies that doesn't report the number
of clients will be distributed equaly to new proxies until they get 8
clients, that is okish as the existing proxies do have a maximum
capacity of 10.
Fixes #40048
2021-07-07 19:36:20 +02:00