Arlo Breault
526e42a443
Fix ref to undefined global in the badge
...
Introduced in ead579a
, `config` is only a global in the webextension.
2019-07-03 15:40:05 +02:00
Arlo Breault
7090316e5c
getClientOffer can return after snowflake is disabled
2019-07-02 10:03:44 -04:00
Arlo Breault
51bc1cf3ed
Include a local copy of the arrow icon
...
From https://design.firefox.com/icons/icons/desktop/arrowhead-right-12.svg
2019-07-02 10:03:44 -04:00
Arlo Breault
b1116a1c35
Stop resetting after every pair closes
2019-07-02 10:03:44 -04:00
Cecylia Bocovich
58d07788c7
Fix whitespace to match conventions
2019-07-02 10:01:34 -04:00
Cecylia Bocovich
f890739a38
Updated popup icon to be purple when it's enabled
2019-07-02 10:01:34 -04:00
Cecylia Bocovich
651dca464f
Remove unecessary logging
2019-07-02 10:01:34 -04:00
Cecylia Bocovich
6f01a6bfc4
Removed unecessary permissions from manifest
2019-07-02 10:01:34 -04:00
Cecylia Bocovich
788f2a595f
Fixed linting errors/warnings and tests
...
The test failure was due to pollBorker waiting the full 5 seconds before
polling for the first time.
The lint errors were some trailing whitespace and unecessary fat arrows
2019-07-02 10:01:34 -04:00
Cecylia Bocovich
799a13d385
Add toggle functionality to web extension
2019-07-02 10:01:34 -04:00
Cecylia Bocovich
ead579a6e9
Refactored poll loop
...
This enables breaking the loop from the outside and cleans up the
countdown
2019-07-02 10:01:34 -04:00
Antonela D
eeae741262
Update to popup UI and addition of toggle
2019-07-02 10:01:34 -04:00
Arlo Breault
fdc10fd08a
Bump the webextension to 0.0.1
2019-06-26 18:52:46 -04:00
Arlo Breault
055d5f1824
Appease validation warning about "Unsafe assignment to innerHTML"
...
This doesn't apply to the webextension but hasn't been factored out in
the build step yet.
2019-06-26 18:30:24 -04:00
Arlo Breault
ff6f91f3da
Make the doorhanger narrower in FF
2019-06-24 16:07:03 -04:00
Arlo Breault
a70f5b9181
Use system font stack in the webextension
2019-06-24 13:25:51 -04:00
David Fifield
77aac03b7e
Documentation links for loading an unpacked extension.
2019-06-21 15:02:24 -06:00
Arlo Breault
85625e19f9
Count the number of clients the webext has served
2019-06-19 17:50:05 -04:00
Arlo Breault
91255463c6
Start on popup
2019-06-06 12:17:11 -04:00
Arlo Breault
762a52aee6
Prefer a background script to a page in the webext
...
Now that the page is no longer necessary.
2019-05-16 12:07:06 -04:00
Arlo Breault
dad53932a2
Fix some linting warnings for "Line exceeds maximum allowed length."
2019-05-16 12:07:06 -04:00
Arlo Breault
5384ef9d16
Fix some linting warnings for "Unnecessary fat arrow."
2019-05-16 12:07:06 -04:00
Arlo Breault
4d40f17487
Separate build per use
2019-05-16 12:07:06 -04:00
Arlo Breault
2d8a1690ba
Initialize snowflake instance with a config
2019-05-16 12:07:06 -04:00
Arlo Breault
edbbea1d03
Move querystring access to init
2019-05-16 12:07:06 -04:00
Arlo Breault
3839c2e0b1
Initialize arrays when constructing
...
Otherwise, this is set on the prototype and shared across instances :/
Note the change to the test that highlights this bug. A proxy pair was
already created when an earlier test called `beginWebRTC()` but a new
Snowflake instance should start with an empty array.
2019-05-16 12:07:06 -04:00
Arlo Breault
9df66b15b1
Make MODE a class constant
2019-05-16 12:07:06 -04:00
Arlo Breault
e7f3ade068
Add a WebExtUI the makes use of the new assests
...
The browser icon shows the on/off state.
2019-05-08 11:23:49 -04:00
Arlo Breault
2b1852c1a5
Make badge and debug extend ui
...
Permits further ui extension
2019-05-08 11:23:49 -04:00
Arlo Breault
5b18729e77
Add new assets
...
From https://trac.torproject.org/projects/tor/ticket/23888#comment:5
2019-05-08 11:23:49 -04:00
Arlo Breault
49dedf3a2f
Start a webextension
2019-05-08 11:23:49 -04:00
Arlo Breault
5aca6028f9
Stop logging debug message while counting down
2019-05-08 11:23:49 -04:00
Arlo Breault
898ba57070
Make a few object literals classes
2019-05-08 11:23:49 -04:00
Arlo Breault
7ce3c83a31
Use some class vars in broker to eliminate globals
2019-05-08 11:23:49 -04:00
Arlo Breault
bd5887a876
Make a WS class to eliminate globals
2019-05-08 11:23:49 -04:00
Arlo Breault
f3254e3402
Remove Modernizr dependency
...
And inline its only use site.
2019-05-08 11:23:49 -04:00
Arlo Breault
25dac378ee
Move init into its own file
2019-05-08 11:23:49 -04:00
Arlo Breault
622005c79e
Remove copy/paste signalling
2019-05-08 11:21:56 -04:00
David Fifield
bf82ef5192
Bump last updated date.
2019-01-22 11:26:45 -07:00
David Fifield
627f37e004
Move the Yes/No buttons into index.html; redirect options.html to it.
2018-12-20 20:50:39 -07:00
David Fifield
9e2a85d753
Bump last updated date.
2018-12-20 20:48:50 -07:00
David Fifield
27b74b1666
Use a relative URL for the embed in the sample page.
...
To facilitate local testing.
2018-12-20 20:48:22 -07:00
David Fifield
82b696709d
Escape quoted HTML markup within textarea.
2018-12-20 20:14:47 -07:00
David Fifield
5667aa8ebb
Fix HTML tag typo.
2018-12-20 18:29:51 -07:00
David Fifield
01bdcd6b28
Bump last updated date.
2018-12-19 21:34:06 -07:00
David Fifield
ab34f8e889
Use chunk.byteLength as appropriate for ArrayBuffers.
...
Without this, running with non-dummy rate limiter (e.g. ?ratelimit=1000)
would try to add undefined to a number resulting in NaN.
2018-12-19 21:30:39 -07:00
David Fifield
297ae7b1b8
Test ProxyPair with ArrayBuffers, not strings.
2018-12-19 21:30:39 -07:00
David Fifield
7c519b2975
Log WebSocket→WebRTC messages in debug mode.
...
Same as the other direction.
2018-12-19 21:30:39 -07:00
David Fifield
f06104d182
Only console.log the number of bytes, not the literal message.
...
It doesn't really help to have a bunch TLS application records
interpreted as a string written to the console.
2018-12-19 21:30:39 -07:00
David Fifield
aa668bdc92
Set binaryType="arraybuffer" for RTCDataChannel, just as with WebSocket.
...
The binaryType can be "arraybuffer" or "blob", and "blob" is the
default. The code is only aware of "arraybuffer": I discovered a problem
while running snowflake.html in debug mode; this code fails:
if DEBUG
# Go sends only raw bytes...
if '[object ArrayBuffer]' == recv.toString()
bytes = new Uint8Array recv
line = String.fromCharCode.apply(null, bytes)
line = line.trim()
log 'WebRTC --> websocket data: ' + line
with the error:
TypeError: line.trim is not a function[Learn More] snowflake.js:497:16
because recv is of type Blob, not ArrayBuffer.
Despite the unexpected type, the code seemed to work as expected when
not in debug mode. Though the two types provide different interfaces,
they are both valid to pass on to WebSocket.send. The only other thing
we did with it was try to read the .length member for rate-limiting
purposes:
@rateLimit.update chunk.length
but .length is incorrect for either type: Blob uses .size and
ArrayBuffer uses .byteLength. It worked anyway, because
DummyRateLimit.update doesn't actually look at its argument.
We were already setting binaryType="arraybuffer" for WebSocket
connections.
2018-12-19 21:30:39 -07:00