Commit graph

624 commits

Author SHA1 Message Date
David Fifield
e408988387 Increase proxy poll interval to 300 s.
https://bugs.torproject.org/32129
2019-10-28 10:51:49 -04:00
Cecylia Bocovich
11bd32f62e Remove now unecessary timeoutConn 2019-10-25 17:12:45 -04:00
Cecylia Bocovich
76087a6a77 Don't log error messages from SetDeadline
We haven't implemented SetDeadline for webRTCConn and the error messages
are misleading to proxy-go operators.
2019-10-25 15:34:41 -04:00
Cecylia Bocovich
da8b98d090 Include language name with along with code
Use npm cldr package to get the language name that corresponds to the
country code for the language switcher
2019-10-16 12:32:45 -04:00
Cecylia Bocovich
93d3564109 A few minor fixes to website
- cut down on size of bootstrap.css file
- remove unecessary styles
- fixed typo in javascript comment
2019-10-16 12:32:45 -04:00
Cecylia Bocovich
ab96817381 Added a language switcher for snowflake.tp.o
Also modified the styling of the page to match the main tp.o page a bit
more
2019-10-16 12:32:45 -04:00
Cecylia Bocovich
f6517f60ce Hook up localized messages.json to website
Right now we use the navigator language to determine localization and
replace the website contents with translated strings.
2019-10-16 12:32:45 -04:00
Cecylia Bocovich
9140c7648c Switched to absolute paths for resources
This will make it easier to have translated copies of the site in
subdirectories
2019-10-16 12:32:45 -04:00
Cecylia Bocovich
7fe4e2910c Translate snowflake@tp.o website
Switched to using messages.json for translation strings for
snowflake@tp.o
2019-10-16 12:32:45 -04:00
Cecylia Bocovich
d064e54db9 bump version to 0.0.12 2019-10-16 10:30:20 -04:00
Cecylia Bocovich
b9138d0c7e Make sure we close peer connections in proxy
Not closing peer connections was causing UDP sockets to remain open
indefinitely (as reported in ticket #31285).
2019-10-16 10:26:51 -04:00
Cecylia Bocovich
f74da6e0fc Update try catch blocks to revert changes on error
A failure to set the git tag returns and undoes the changes done
previously
2019-10-16 10:23:54 -04:00
Cecylia Bocovich
6e6e52fd8c Added packaging script for webextension
Added a new script to package the webextension. This will automatically
build and zip the source code and the webextension for upload. It take a
version as an argument and then checks the version in the manifest, and
locally commits a version bump.
2019-10-16 10:23:54 -04:00
David Fifield
b4f4b29a03 Stop counting handlers before terminating.
The requirement to do so is obsolete and has already been removed from
other pluggable transports.

https://bugs.torproject.org/32046
2019-10-11 16:50:25 -06:00
Arlo Breault
d8d3170af8 Regenerate the ico files to reduce size
With,
convert -background transparent toolbar-off.svg -define icon:auto-resize=32 toolbar-off.ico
2019-10-11 13:18:51 -04:00
Arlo Breault
faf02d86a1 Update favicon with badge state on embed.html
.ico files were created with,
convert -density 256x256 -background transparent toolbar-on.svg -define icon:auto-resize -colors 256 toolbar-on.ico

Trac: 31537
2019-10-11 13:18:51 -04:00
David Fifield
5732f1a630 Add --chown=:snowflake to rsync commands.
Thanks cohosh for helping debug this. Uploaded files need correct group
ownership.
2019-10-11 10:37:06 -06:00
Cecylia Bocovich
61d8eb5ef0 bump version to 0.0.11 2019-10-11 10:40:56 -04:00
Shane Howearth
01156e58eb Remove unnecessary initialisation of last
last was initialised twice (creating a shadow), the second time inside
a case statement. The second initialisation is removed, keeping the use
of last aligned to the isame style as its use other parts of the case
statement.
2019-10-08 10:25:44 -04:00
Shane Howearth
8bbdb3b51a Bring code into line with Golangci-lint linters
- Error strings are no longer capitalized nor end with punctuation
- Alias import
- Remove extraneous initilisation code (No need to provide zero value
	for variables, because the compiler does that anyway)
2019-10-08 10:25:44 -04:00
Shane Howearth
b26c7a7a73 Handle generated errors in client 2019-10-08 10:25:44 -04:00
Shane Howearth
78a37844b2 Handle generated errors in proxy-go 2019-10-08 10:25:36 -04:00
Shane Howearth
3cfceb3755 Handle generated errors in broker 2019-10-08 10:13:29 -04:00
Shane Howearth
ed3d42e1ec Handle generated errors in server 2019-10-08 10:12:36 -04:00
Shane Howearth
3ec9dd19fa Handle generated errors in server-webrtc 2019-10-08 10:12:36 -04:00
Cecylia Bocovich
82e5753bcc Reverted logging changes that require Go 1.13 2019-10-08 09:58:12 -04:00
Cecylia Bocovich
18d793798c Updated snowflake client dependencies in README 2019-10-08 09:52:45 -04:00
Cecylia Bocovich
2bf4be71b6 Bumped Go version to access log.Writer 2019-10-08 09:27:52 -04:00
Cecylia Bocovich
2b04357550 Connect pion library logger with snowflake log
We need to set up the pion/webrtc logger to write output to the
snowflake log, otherwise the warnings we are getting from the pion
library are being lost.

Note: this requires go version 1.13 and later in order to use the
`log.Writer()` function.
2019-10-08 09:27:52 -04:00
Cecylia Bocovich
97bab94e67 Make sure command line ice servers are used
This commit fixes a small error introduced in a previous commit. Servers
given by command line options weren't being added to the configuration
because we were checking for `iceServers` to be nil instead of not nil.
2019-10-08 09:27:52 -04:00
Cecylia Bocovich
6cf53c4ef0 Update .travis.yml for new webrtc library 2019-10-08 09:27:52 -04:00
Cecylia Bocovich
b5c50b69d0 Ported snowflake client to work with pion/webrtc
Modified the snowflake client to use pion/webrtc as the webrtc library.
This involved a few small changes to match function signatures as well
as several larger ones:
- OnNegotiationNeeded is no longer supported, so CreateOffer and
SetLocalDescription have been moved to a go routine called after the
other peer connection callbacks are set
- We need our own deserialize/serialize functions
- We need to use a SettingEngine in order to access the
OnICEGatheringStateChange callback
2019-10-08 09:27:52 -04:00
Cecylia Bocovich
0428797ea0 Modified proxy-go to use pion/webrtc
The API is very similar, differences were mostly due to:
- closing peer connections and datachannels (no destroy/delete methods)
- different way to set datachannel/peer connection callbacks
- differences in whether functions take pointers or values
- no serialize/deserialize functions in the API
2019-10-08 09:27:52 -04:00
Cecylia Bocovich
9e22af90c1 Updated webextension translations 2019-10-04 13:52:07 -04:00
David Fifield
be7b531586 Remove obsolete status tracking section from README.
Noted by a blog commenter at
https://blog.torproject.org/comment/284258#comment-284258

In case the above link breaks, it's a comment attached to this post:
https://blog.torproject.org/new-release-tor-browser-90a7
2019-10-02 17:48:34 -06:00
Arlo Breault
36eb07a6fc Use a static label for the button
Trac: 31685
2019-10-01 14:27:19 -04:00
Arlo Breault
a5071ec1d6 Add a favicon
Trac: 31537
2019-09-30 19:18:52 -04:00
Arlo Breault
8d81270a9f Add bridge probe to badge 2019-09-30 18:42:57 -04:00
Arlo Breault
d4aa9ad2b3 Reorder enable checks
First check that it is enabled before doing feature testing.

This will be useful in the badge so that probing only happens if it is
enabled.
2019-09-30 18:42:57 -04:00
Arlo Breault
aa107862c5 Move probe to WS class for reuse in the badge 2019-09-30 18:42:57 -04:00
Arlo Breault
685c3bd262 Disable the webext if the bridge is unreachable 2019-09-30 18:42:57 -04:00
Arlo Breault
19bc6d8858 Move missingFeature to initToggle in webext 2019-09-30 18:42:57 -04:00
Cecylia Bocovich
3c28380bc6 Add locks to safelog
The safelog Write function can be called from multiple go routines, and
it was not thread safe. These locks in particular allow us to pass the
logscrubber's output io.Writer to other libraries, such as pion.
2019-09-30 16:43:51 -04:00
Cecylia Bocovich
f3be34a459 Removed extraneous log messages
Many of our log messages were being used to generate metrics, but are
now being aggregated and logged to a separate metrics log file and so we
don't need them in the regular logs anymore.

This addresses the goal of ticket #30830, to remove unecessary messages
and keep broker logs for debugging purposes.
2019-09-19 16:48:14 -04:00
Cecylia Bocovich
b29b49fc1c Added a folder for documentation
Added a folder to hold snowflake specifications. This folder starts with
a file containing a partial broker spec that focuses on the metrics
reporting spec for CollecTor at the moment.
2019-09-16 14:29:16 -04:00
Arlo Breault
1b14810d34 Enforce consistent indentation in js 2019-08-27 18:19:51 -04:00
Cecylia Bocovich
00eb4aadf5 Modified broker /debug page to display counts only
The broker /debug page was displaying proxy IDs and roundtrip times. As
serna pointed out in bug #31460, the proxy IDs can be used to launch a
denial of service attack. As the metrics team pointed out on #21315, the
round trip time average can be potentially sensitive.

This change displays only proxy counts and uses ID lengths to
distinguish between standalone proxy-go instances and browser-based
snowflake proxies.
2019-08-27 10:01:00 -04:00
emma peel
ea442141db remove exclamation mark. ref https://grammar.yourdictionary.com/punctuation/when/when-to-use-exclamation-marks.html 2019-08-26 15:19:20 -04:00
Arlo Breault
131cf4f8ea Add branch to .gitmodule + bump to bbf11bb
This allows you to run `git submodule update --remote` to bump to the
latest commit on that branch.
2019-08-26 15:14:17 -04:00
Arlo Breault
9faf8293e6 Bump proxy/translation to HEAD of snowflakeaddon-messages.json_completed 2019-08-26 15:14:17 -04:00