[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [snowflake/master] Move init into its own file
commit 25dac378ee11a9c7a33ef9527d5acc06b89c49e9
Author: Arlo Breault <arlolra@xxxxxxxxx>
Date: Wed May 1 08:59:10 2019 -0400
Move init into its own file
---
proxy/Cakefile | 1 +
proxy/init.coffee | 95 ++++++++++++++++++++++++++++++++++++++++++++++++
proxy/snowflake.coffee | 97 --------------------------------------------------
3 files changed, 96 insertions(+), 97 deletions(-)
diff --git a/proxy/Cakefile b/proxy/Cakefile
index 8032034..d984c1b 100644
--- a/proxy/Cakefile
+++ b/proxy/Cakefile
@@ -5,6 +5,7 @@ fs = require 'fs'
FILES = [
'shims.coffee'
'util.coffee'
+ 'init.coffee'
'proxypair.coffee'
'websocket.coffee'
'broker.coffee'
diff --git a/proxy/init.coffee b/proxy/init.coffee
new file mode 100644
index 0000000..22176e5
--- /dev/null
+++ b/proxy/init.coffee
@@ -0,0 +1,95 @@
+# General snowflake proxy constants.
+# For websocket-specific constants, see websocket.coffee.
+BROKER = 'snowflake-broker.bamsoftware.com'
+RELAY =
+ host: 'snowflake.bamsoftware.com'
+ port: '443'
+ # Original non-wss relay:
+ # host: '192.81.135.242'
+ # port: 9902
+COOKIE_NAME = "snowflake-allow"
+
+silenceNotifications = false
+query = Query.parse(location)
+DEBUG = Params.getBool(query, 'debug', false)
+
+# Bytes per second. Set to undefined to disable limit.
+DEFAULT_RATE_LIMIT = DEFAULT_RATE_LIMIT || undefined
+MIN_RATE_LIMIT = 10 * 1024
+RATE_LIMIT_HISTORY = 5.0
+DEFAULT_BROKER_POLL_INTERVAL = 5.0 * 1000
+
+MAX_NUM_CLIENTS = 1
+CONNECTIONS_PER_CLIENT = 1
+
+# TODO: Different ICE servers.
+config = {
+ iceServers: [
+ { urls: ['stun:stun.l.google.com:19302'] }
+ ]
+}
+
+# Janky state machine
+MODE =
+ INIT: 0
+ WEBRTC_CONNECTING: 1
+ WEBRTC_READY: 2
+
+CONFIRMATION_MESSAGE = 'You\'re currently serving a Tor user via Snowflake.'
+
+snowflake = null
+
+# Log to both console and UI if applicable.
+# Requires that the snowflake and UI objects are hooked up in order to
+# log to console.
+log = (msg) ->
+ console.log 'Snowflake: ' + msg
+ snowflake?.ui?.log msg
+
+dbg = (msg) -> log msg if DEBUG or snowflake.ui?.debug
+
+snowflakeIsDisabled = ->
+ cookies = Parse.cookie document.cookie
+ # Do nothing if snowflake has not been opted in by user.
+ if cookies[COOKIE_NAME] != '1'
+ log 'Not opted-in. Please click the badge to change options.'
+ return true
+ # Also do nothing if running in Tor Browser.
+ if mightBeTBB()
+ log 'Will not run within Tor Browser.'
+ return true
+ return false
+
+
+###
+Entry point.
+###
+init = (isNode) ->
+ # Hook up to the debug UI if available.
+ ui = if isNode then null else new UI()
+ silenceNotifications = Params.getBool(query, 'silent', false)
+ broker = new Broker BROKER
+ snowflake = new Snowflake broker, ui
+
+ log '== snowflake proxy =='
+ if snowflakeIsDisabled()
+ # Do not activate the proxy if any number of conditions are true.
+ log 'Currently not active.'
+ return
+
+ # Otherwise, begin setting up WebRTC and acting as a proxy.
+ dbg 'Contacting Broker at ' + broker.url
+ snowflake.setRelayAddr RELAY
+ snowflake.beginWebRTC()
+
+# Notification of closing tab with active proxy.
+window.onbeforeunload = ->
+ if !silenceNotifications && MODE.WEBRTC_READY == snowflake.state
+ return CONFIRMATION_MESSAGE
+ null
+
+window.onunload = ->
+ pair.close() for pair in snowflake.proxyPairs
+ null
+
+window.onload = init.bind null, false
diff --git a/proxy/snowflake.coffee b/proxy/snowflake.coffee
index a8fc183..0192818 100644
--- a/proxy/snowflake.coffee
+++ b/proxy/snowflake.coffee
@@ -9,48 +9,8 @@ this proxy must always act as the answerer.
TODO: More documentation
###
-# General snowflake proxy constants.
-# For websocket-specific constants, see websocket.coffee.
-BROKER = 'snowflake-broker.bamsoftware.com'
-RELAY =
- host: 'snowflake.bamsoftware.com'
- port: '443'
- # Original non-wss relay:
- # host: '192.81.135.242'
- # port: 9902
-COOKIE_NAME = "snowflake-allow"
-
-silenceNotifications = false
-query = Query.parse(location)
-DEBUG = Params.getBool(query, 'debug', false)
-
-# Bytes per second. Set to undefined to disable limit.
-DEFAULT_RATE_LIMIT = DEFAULT_RATE_LIMIT || undefined
-MIN_RATE_LIMIT = 10 * 1024
-RATE_LIMIT_HISTORY = 5.0
-DEFAULT_BROKER_POLL_INTERVAL = 5.0 * 1000
-
-MAX_NUM_CLIENTS = 1
-CONNECTIONS_PER_CLIENT = 1
-
-# TODO: Different ICE servers.
-config = {
- iceServers: [
- { urls: ['stun:stun.l.google.com:19302'] }
- ]
-}
-
-# Janky state machine
-MODE =
- INIT: 0
- WEBRTC_CONNECTING: 1
- WEBRTC_READY: 2
-
-CONFIRMATION_MESSAGE = 'You\'re currently serving a Tor user via Snowflake.'
-
# Minimum viable snowflake for now - just 1 client.
class Snowflake
-
relayAddr: null
proxyPairs: []
rateLimit: null
@@ -174,60 +134,3 @@ class Snowflake
log 'Snowflake resetting...'
@retries = 0
@beginWebRTC()
-
-snowflake = null
-
-# Log to both console and UI if applicable.
-# Requires that the snowflake and UI objects are hooked up in order to
-# log to console.
-log = (msg) ->
- console.log 'Snowflake: ' + msg
- snowflake?.ui?.log msg
-
-dbg = (msg) -> log msg if DEBUG or snowflake.ui?.debug
-
-snowflakeIsDisabled = ->
- cookies = Parse.cookie document.cookie
- # Do nothing if snowflake has not been opted in by user.
- if cookies[COOKIE_NAME] != '1'
- log 'Not opted-in. Please click the badge to change options.'
- return true
- # Also do nothing if running in Tor Browser.
- if mightBeTBB()
- log 'Will not run within Tor Browser.'
- return true
- return false
-
-
-###
-Entry point.
-###
-init = (isNode) ->
- # Hook up to the debug UI if available.
- ui = if isNode then null else new UI()
- silenceNotifications = Params.getBool(query, 'silent', false)
- broker = new Broker BROKER
- snowflake = new Snowflake broker, ui
-
- log '== snowflake proxy =='
- if snowflakeIsDisabled()
- # Do not activate the proxy if any number of conditions are true.
- log 'Currently not active.'
- return
-
- # Otherwise, begin setting up WebRTC and acting as a proxy.
- dbg 'Contacting Broker at ' + broker.url
- snowflake.setRelayAddr RELAY
- snowflake.beginWebRTC()
-
-# Notification of closing tab with active proxy.
-window.onbeforeunload = ->
- if !silenceNotifications && MODE.WEBRTC_READY == snowflake.state
- return CONFIRMATION_MESSAGE
- null
-
-window.onunload = ->
- pair.close() for pair in snowflake.proxyPairs
- null
-
-window.onload = init.bind null, false
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits