Skip to content

Instantly share code, notes, and snippets.

@elsewares
Created May 18, 2013 22:10
Show Gist options
  • Save elsewares/5605935 to your computer and use it in GitHub Desktop.
Save elsewares/5605935 to your computer and use it in GitHub Desktop.
Patch for TraceGL to set custom hostnames.
--- tracegl_orig.js 2013-05-13 10:46:07.000000000 +0100
+++ tracegl.js 2013-05-13 17:13:36.000000000 +0100
@@ -191,7 +191,9 @@
function processArgs(arg){
var sender // send messages to ui or zip
var uiport = 2000
+ var uihost = '0.0.0.0'
var tgtport = 2080
+ var tgthost = '0.0.0.0'
var fspec = {_no:[], _do:[]}
function usage(err){
@@ -208,7 +210,9 @@
out(' ~c~-nolib ~w~Short for -no/jquery.* -no:require.js -no/node\\\\_modules \n')
out(' ~c~-noup ~w~Don\'t update traceGL automatically\n')
out(' ~c~-ui:port ~w~Set trace UI port. default: 2000\n')
+ out(' ~c~-uh:host ~w~Set trace UI host. default: localhost\n')
out(' ~c~-tgt:port ~w~Set browser JS port. default: 2080\n')
+ out(' ~c~-tgh:host ~w~Set browser JS host. default: locahost\n')
out('~w~node tracegl.js ~r~[commmand]\n')
out(' ~r~-settings ~w~write a .tracegl settings template in the current dir\n')
out(' ~r~-update ~w~do an explicit update of traceGL (normally in background)\n')
@@ -230,9 +234,15 @@
} else if(a.indexOf('-ui') == 0){
if(d==-1) return usage("No port specified")
uiport = parseInt(b)
+ } else if(a.indexOf('-uh') == 0) {
+ if (d==-1) return usage("No host specified")
+ uihost = b
} else if(a.indexOf('-tgt') == 0){
if(d==-1) return usage("No port specified")
tgtport = parseInt(b)
+ } else if(a.indexOf('-tgh') == 0) {
+ if(d==-1) return usage("No host specified")
+ tgthost = b
} else if(a.indexOf('-no') == 0){
if(a == '-noup'){
noup = true
@@ -256,15 +266,15 @@
return update()
}else return usage("Invalid argument "+a)
} else {
- if(!sender) sender = uiSender(uiport)
+ if(!sender) sender = uiSender(uiport, uihost)
var f = makeFilter(fspec)
// always run update in the background
if(!noup) update()
// execute the right mode
if(a.match(/\.gz$/i)) return gzPlaybackMode(f, a, sender)
if(a.match(/\.js$/i)) return nodeJSMode(f, a, arg.slice(i+1), sender)
- if(a.match(/^https?/)) return proxyMode(f, tgtport, a, sender)
- return browserJSMode(f, tgtport, path.resolve(process.cwd(), a), sender)
+ if(a.match(/^https?/)) return proxyMode(f, tgtport, tgthost, a, sender)
+ return browserJSMode(f, tgtport, tgthost, path.resolve(process.cwd(), a), sender)
break
}
@@ -368,7 +378,7 @@
}
// send data to UI
- function uiSender(port){
+ function uiSender(port, host){
ui = ioServer()
ui.main = "./trace/trace_client"
ui.pass = fn.sha1hex("p4ssw0rd")
@@ -377,8 +387,8 @@
else
ui.packaged = 1
ui.favicon = "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"
- ui.listen(port, "0.0.0.0")
- out("~~[trace.GL]~w~ WebGL trace UI: http://localhost:2000\n")
+ ui.listen(port, host)
+ out("~~[trace.GL]~w~ WebGL trace UI: http://" + host + ":" + port + "\n")
var dict = []
var queue = []
@@ -495,14 +505,14 @@
}
// app server
- function browserJSMode(filter, port, root, sender){
+ function browserJSMode(filter, port, host, root, sender){
// start the target server
var tgt = ioServer()
tgt.root = root
- tgt.listen(port, "0.0.0.0")
+ tgt.listen(port, host)
//appHttp.watcher = define.watcher()
- out("~~[trace.GL]~w~ Serving browser JS: http://localhost:2080\n")
+ out("~~[trace.GL]~w~ Serving browser JS: http://" + host + ":" + port + "\n")
// incoming message, forward to sender
tgt.data = function(m, c){
@@ -580,14 +590,14 @@
})
}
- function proxyMode(filter, port, proxy, sender){
+ function proxyMode(filter, port, host, proxy, sender){
// start the target server
var tgt = ioServer()
tgt.root = root
tgt.proxy = url.parse(proxy)
- tgt.listen(port, "0.0.0.0")
+ tgt.listen(port, host)
//appHttp.watcher = define.watcher()
- out("~~[trace.GL]~w~ Proxying browser JS: http://localhost:2080\n")
+ out("~~[trace.GL]~w~ Proxying browser JS: http://" + host + ":" + port + "\n")
// incoming message, forward to sender
tgt.data = function(m, c){
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment