SYMBOL INDEX (551 symbols across 51 files) FILE: cache/lru.go type LRUCache (line 22) | type LRUCache struct method Get (line 62) | func (lru *LRUCache) Get(key string) (v Value, ok bool) { method Set (line 74) | func (lru *LRUCache) Set(key string, value Value) { method SetIfAbsent (line 85) | func (lru *LRUCache) SetIfAbsent(key string, value Value) { method Delete (line 96) | func (lru *LRUCache) Delete(key string) bool { method Clear (line 111) | func (lru *LRUCache) Clear() { method SetCapacity (line 120) | func (lru *LRUCache) SetCapacity(capacity uint64) { method Stats (line 128) | func (lru *LRUCache) Stats() (length, size, capacity uint64, oldest ti... method StatsJSON (line 137) | func (lru *LRUCache) StatsJSON() string { method Keys (line 145) | func (lru *LRUCache) Keys() []string { method Items (line 156) | func (lru *LRUCache) Items() []Item { method SaveItems (line 168) | func (lru *LRUCache) SaveItems(w io.Writer) error { method SaveItemsToFile (line 174) | func (lru *LRUCache) SaveItemsToFile(path string) error { method LoadItems (line 183) | func (lru *LRUCache) LoadItems(r io.Reader) error { method LoadItemsFromFile (line 204) | func (lru *LRUCache) LoadItemsFromFile(path string) error { method updateInplace (line 213) | func (lru *LRUCache) updateInplace(element *list.Element, value Value) { method moveToFront (line 223) | func (lru *LRUCache) moveToFront(element *list.Element) { method addNew (line 228) | func (lru *LRUCache) addNew(key string, value Value) { method checkCapacity (line 236) | func (lru *LRUCache) checkCapacity() { type Value (line 38) | type Value interface type Item (line 42) | type Item struct type entry (line 47) | type entry struct function NewLRUCache (line 54) | func NewLRUCache(capacity uint64) *LRUCache { FILE: client/assets/assets_release.go function bindataRead (line 15) | func bindataRead(data, name string) ([]byte, error) { type asset (line 35) | type asset struct type bindataFileInfo (line 40) | type bindataFileInfo struct method Name (line 47) | func (fi bindataFileInfo) Name() string { method Size (line 50) | func (fi bindataFileInfo) Size() int64 { method Mode (line 53) | func (fi bindataFileInfo) Mode() os.FileMode { method ModTime (line 56) | func (fi bindataFileInfo) ModTime() time.Time { method IsDir (line 59) | func (fi bindataFileInfo) IsDir() bool { method Sys (line 62) | func (fi bindataFileInfo) Sys() interface{} { function assetsClientPageHtmlBytes (line 68) | func assetsClientPageHtmlBytes() ([]byte, error) { function assetsClientPageHtml (line 75) | func assetsClientPageHtml() (*asset, error) { function assetsClientStaticCssBootstrapMinCssBytes (line 88) | func assetsClientStaticCssBootstrapMinCssBytes() ([]byte, error) { function assetsClientStaticCssBootstrapMinCss (line 95) | func assetsClientStaticCssBootstrapMinCss() (*asset, error) { function assetsClientStaticCssHighlightMinCssBytes (line 108) | func assetsClientStaticCssHighlightMinCssBytes() ([]byte, error) { function assetsClientStaticCssHighlightMinCss (line 115) | func assetsClientStaticCssHighlightMinCss() (*asset, error) { function assetsClientStaticImgGlyphiconsHalflingsPngBytes (line 128) | func assetsClientStaticImgGlyphiconsHalflingsPngBytes() ([]byte, error) { function assetsClientStaticImgGlyphiconsHalflingsPng (line 135) | func assetsClientStaticImgGlyphiconsHalflingsPng() (*asset, error) { function assetsClientStaticJsAngularSanitizeMinJsBytes (line 148) | func assetsClientStaticJsAngularSanitizeMinJsBytes() ([]byte, error) { function assetsClientStaticJsAngularSanitizeMinJs (line 155) | func assetsClientStaticJsAngularSanitizeMinJs() (*asset, error) { function assetsClientStaticJsAngularJsBytes (line 168) | func assetsClientStaticJsAngularJsBytes() ([]byte, error) { function assetsClientStaticJsAngularJs (line 175) | func assetsClientStaticJsAngularJs() (*asset, error) { function assetsClientStaticJsBase64JsBytes (line 188) | func assetsClientStaticJsBase64JsBytes() ([]byte, error) { function assetsClientStaticJsBase64Js (line 195) | func assetsClientStaticJsBase64Js() (*asset, error) { function assetsClientStaticJsHighlightMinJsBytes (line 208) | func assetsClientStaticJsHighlightMinJsBytes() ([]byte, error) { function assetsClientStaticJsHighlightMinJs (line 215) | func assetsClientStaticJsHighlightMinJs() (*asset, error) { function assetsClientStaticJsJquery191MinJsBytes (line 228) | func assetsClientStaticJsJquery191MinJsBytes() ([]byte, error) { function assetsClientStaticJsJquery191MinJs (line 235) | func assetsClientStaticJsJquery191MinJs() (*asset, error) { function assetsClientStaticJsJqueryTimeagoJsBytes (line 248) | func assetsClientStaticJsJqueryTimeagoJsBytes() ([]byte, error) { function assetsClientStaticJsJqueryTimeagoJs (line 255) | func assetsClientStaticJsJqueryTimeagoJs() (*asset, error) { function assetsClientStaticJsNgrokJsBytes (line 268) | func assetsClientStaticJsNgrokJsBytes() ([]byte, error) { function assetsClientStaticJsNgrokJs (line 275) | func assetsClientStaticJsNgrokJs() (*asset, error) { function assetsClientStaticJsVkbeautifyJsBytes (line 288) | func assetsClientStaticJsVkbeautifyJsBytes() ([]byte, error) { function assetsClientStaticJsVkbeautifyJs (line 295) | func assetsClientStaticJsVkbeautifyJs() (*asset, error) { function assetsClientTlsNgrokrootCrtBytes (line 308) | func assetsClientTlsNgrokrootCrtBytes() ([]byte, error) { function assetsClientTlsNgrokrootCrt (line 315) | func assetsClientTlsNgrokrootCrt() (*asset, error) { function assetsClientTlsSnakeoilcaCrtBytes (line 328) | func assetsClientTlsSnakeoilcaCrtBytes() ([]byte, error) { function assetsClientTlsSnakeoilcaCrt (line 335) | func assetsClientTlsSnakeoilcaCrt() (*asset, error) { function Asset (line 349) | func Asset(name string) ([]byte, error) { function MustAsset (line 363) | func MustAsset(name string) []byte { function AssetInfo (line 375) | func AssetInfo(name string) (os.FileInfo, error) { function AssetNames (line 388) | func AssetNames() []string { function AssetDir (line 427) | func AssetDir(name string) ([]string, error) { type bintree (line 449) | type bintree struct function RestoreAsset (line 486) | func RestoreAsset(dir, name string) error { function RestoreAssets (line 511) | func RestoreAssets(dir, name string) error { function _filePath (line 527) | func _filePath(dir, name string) string { FILE: client/cli.go constant usage1 (line 10) | usage1 string = `Usage: %s [OPTIONS] <本地端口或地址> constant usage2 (line 14) | usage2 string = ` type Options (line 37) | type Options struct function ParseArgs (line 50) | func ParseArgs() (opts *Options, err error) { FILE: client/config.go type Province (line 20) | type Province struct type Configuration (line 39) | type Configuration struct type TunnelConfiguration (line 50) | type TunnelConfiguration struct function LoadConfiguration (line 59) | func LoadConfiguration(opts *Options) (config *Configuration, err error) { function defaultPath (line 234) | func defaultPath() string { function normalizeAddress (line 249) | func normalizeAddress(addr string, propName string) (string, error) { function validateProtocol (line 267) | func validateProtocol(proto, propName string) (err error) { function SaveAuthToken (line 277) | func SaveAuthToken(configPath, authtoken string) (err error) { FILE: client/controller.go type command (line 14) | type command interface type cmdQuit (line 16) | type cmdQuit struct type cmdPlayRequest (line 21) | type cmdPlayRequest struct type Controller (line 30) | type Controller struct method State (line 66) | func (ctl *Controller) State() mvc.State { method Update (line 70) | func (ctl *Controller) Update(state mvc.State) { method Updates (line 74) | func (ctl *Controller) Updates() *util.Broadcast { method Shutdown (line 78) | func (ctl *Controller) Shutdown(message string) { method PlayRequest (line 82) | func (ctl *Controller) PlayRequest(tunnel mvc.Tunnel, payload []byte) { method Go (line 86) | func (ctl *Controller) Go(fn func()) { method doShutdown (line 101) | func (ctl *Controller) doShutdown() { method AddView (line 125) | func (ctl *Controller) AddView(v mvc.View) { method GetWebInspectAddr (line 129) | func (ctl *Controller) GetWebInspectAddr() string { method SetupModel (line 133) | func (ctl *Controller) SetupModel(config *Configuration) *ClientModel { method GetModel (line 139) | func (ctl *Controller) GetModel() *ClientModel { method Run (line 143) | func (ctl *Controller) Run(config *Configuration) { function NewController (line 54) | func NewController() *Controller { FILE: client/main.go function init (line 14) | func init() { function Main (line 26) | func Main() { FILE: client/metrics.go constant sampleSize (line 8) | sampleSize int = 1028 constant sampleAlpha (line 9) | sampleAlpha float64 = 0.015 type ClientMetrics (line 12) | type ClientMetrics struct function NewClientMetrics (line 24) | func NewClientMetrics() *ClientMetrics { FILE: client/model.go constant defaultServerAddr (line 23) | defaultServerAddr = "free.cngrok.com:443" constant pingInterval (line 24) | pingInterval = 20 * time.Second constant maxPongLatency (line 25) | maxPongLatency = 15 * time.Second constant updateCheckInterval (line 26) | updateCheckInterval = 6 * time.Hour constant BadGateway (line 27) | BadGateway = ` type ClientModel (line 35) | type ClientModel struct method GetProtocols (line 121) | func (c ClientModel) GetProtocols() []proto.Protocol { return c.protoc... method GetClientVersion (line 122) | func (c ClientModel) GetClientVersion() string { return version.... method GetServerVersion (line 123) | func (c ClientModel) GetServerVersion() string { return c.server... method GetTunnels (line 124) | func (c ClientModel) GetTunnels() []mvc.Tunnel { method GetConnStatus (line 131) | func (c ClientModel) GetConnStatus() mvc.ConnStatus { return c.con... method GetUpdateStatus (line 132) | func (c ClientModel) GetUpdateStatus() mvc.UpdateStatus { return c.upd... method GetConnectionMetrics (line 134) | func (c ClientModel) GetConnectionMetrics() (metrics.Meter, metrics.Ti... method GetBytesInMetrics (line 138) | func (c ClientModel) GetBytesInMetrics() (metrics.Counter, metrics.His... method GetBytesOutMetrics (line 142) | func (c ClientModel) GetBytesOutMetrics() (metrics.Counter, metrics.Hi... method SetUpdateStatus (line 145) | func (c ClientModel) SetUpdateStatus(updateStatus mvc.UpdateStatus) { method PlayRequest (line 151) | func (c *ClientModel) PlayRequest(tunnel mvc.Tunnel, payload []byte) { method Shutdown (line 165) | func (c *ClientModel) Shutdown() { method update (line 168) | func (c *ClientModel) update() { method Run (line 172) | func (c *ClientModel) Run() { method control (line 197) | func (c *ClientModel) control() { method proxy (line 328) | func (c *ClientModel) proxy() { method heartbeat (line 400) | func (c *ClientModel) heartbeat(lastPongAddr *int64, conn conn.Conn) { function newClientModel (line 55) | func newClientModel(config *Configuration, ctl mvc.Controller) *ClientMo... FILE: client/mvc/controller.go type Controller (line 7) | type Controller interface FILE: client/mvc/model.go type Model (line 3) | type Model interface FILE: client/mvc/state.go type UpdateStatus (line 8) | type UpdateStatus constant UpdateNone (line 11) | UpdateNone = -1 * iota constant UpdateInstalling (line 12) | UpdateInstalling constant UpdateReady (line 13) | UpdateReady constant UpdateAvailable (line 14) | UpdateAvailable type ConnStatus (line 17) | type ConnStatus constant ConnConnecting (line 20) | ConnConnecting = iota constant ConnReconnecting (line 21) | ConnReconnecting constant ConnOnline (line 22) | ConnOnline type Tunnel (line 25) | type Tunnel struct type ConnectionContext (line 31) | type ConnectionContext struct type State (line 36) | type State interface FILE: client/mvc/view.go type View (line 3) | type View interface FILE: client/release.go function serverName (line 10) | func serverName(addr string) string { FILE: client/tls.go function LoadTLSConfig (line 12) | func LoadTLSConfig(rootCertPaths []string) (*tls.Config, error) { FILE: client/update.go function autoUpdate (line 10) | func autoUpdate(state mvc.State, token string) { FILE: client/views/term/area.go constant fgColor (line 10) | fgColor = termbox.ColorWhite constant bgColor (line 11) | bgColor = termbox.ColorDefault type area (line 14) | type area struct method Clear (line 29) | func (a *area) Clear() { method APrintf (line 37) | func (a *area) APrintf(fg termbox.Attribute, x, y int, arg0 string, ar... method Printf (line 44) | func (a *area) Printf(x, y int, arg0 string, args ...interface{}) { function NewArea (line 25) | func NewArea(x, y, w, h int) *area { FILE: client/views/term/http.go constant size (line 13) | size = 10 constant pathMaxLength (line 14) | pathMaxLength = 25 type HttpView (line 17) | type HttpView struct method Run (line 53) | func (v *HttpView) Run() { method Render (line 68) | func (v *HttpView) Render() { method Shutdown (line 83) | func (v *HttpView) Shutdown() { function colorFor (line 27) | func colorFor(status string) termbox.Attribute { function newTermHttpView (line 40) | func newTermHttpView(ctl mvc.Controller, termView *TermView, proto *prot... function truncatePath (line 87) | func truncatePath(path string) string { FILE: client/views/term/view.go type TermView (line 13) | type TermView struct method draw (line 58) | func (v *TermView) draw() { method run (line 121) | func (v *TermView) run() { method Shutdown (line 147) | func (v *TermView) Shutdown() { method Flush (line 152) | func (v *TermView) Flush() { method NewHttpView (line 156) | func (v *TermView) NewHttpView(p *proto.Http) *HttpView { method input (line 160) | func (v *TermView) input() { function NewTermView (line 24) | func NewTermView(ctl mvc.Controller) *TermView { function connStatusRepr (line 46) | func connStatusRepr(status mvc.ConnStatus) (string, termbox.Attribute) { FILE: client/views/web/http.go type SerializedTxn (line 21) | type SerializedTxn struct type SerializedBody (line 31) | type SerializedBody struct type SerializedRequest (line 41) | type SerializedRequest struct type SerializedResponse (line 50) | type SerializedResponse struct type WebHttpView (line 58) | type WebHttpView struct method updateHttp (line 145) | func (whv *WebHttpView) updateHttp() { method register (line 211) | func (whv *WebHttpView) register() { method Shutdown (line 268) | func (whv *WebHttpView) Shutdown() { type SerializedUiState (line 69) | type SerializedUiState struct type SerializedPayload (line 73) | type SerializedPayload struct function newWebHttpView (line 78) | func newWebHttpView(ctl mvc.Controller, wv *WebView, proto *proto.Http) ... type XMLDoc (line 92) | type XMLDoc struct function makeBody (line 96) | func makeBody(h http.Header, body []byte) SerializedBody { FILE: client/views/web/view.go type WebView (line 15) | type WebView struct method NewHttpView (line 73) | func (wv *WebView) NewHttpView(proto *proto.Http) *WebHttpView { method Shutdown (line 77) | func (wv *WebView) Shutdown() { function NewWebView (line 24) | func NewWebView(ctl mvc.Controller, addr string) *WebView { FILE: conn/conn.go type Conn (line 18) | type Conn interface type loggedConn (line 26) | type loggedConn struct method StartTLS (line 164) | func (c *loggedConn) StartTLS(tlsCfg *tls.Config) { method Close (line 168) | func (c *loggedConn) Close() (err error) { method Id (line 175) | func (c *loggedConn) Id() string { method SetType (line 179) | func (c *loggedConn) SetType(typ string) { method CloseRead (line 187) | func (c *loggedConn) CloseRead() error { type Listener (line 34) | type Listener struct function wrapConn (line 39) | func wrapConn(conn net.Conn, typ string) *loggedConn { function Listen (line 55) | func Listen(addr, typ string, tlsCfg *tls.Config) (l *Listener, err erro... function Wrap (line 86) | func Wrap(conn net.Conn, typ string) *loggedConn { function Dial (line 90) | func Dial(addr, typ string, tlsCfg *tls.Config) (conn *loggedConn, err e... function DialHttpProxy (line 106) | func DialHttpProxy(proxyUrl, addr, typ string, tlsCfg *tls.Config) (conn... function Join (line 195) | func Join(c Conn, c2 Conn) (int64, int64) { FILE: conn/tee.go type Tee (line 24) | type Tee struct method ReadBuffer (line 53) | func (c *Tee) ReadBuffer() *bufio.Reader { method WriteBuffer (line 57) | func (c *Tee) WriteBuffer() *bufio.Reader { method Read (line 61) | func (c *Tee) Read(b []byte) (n int, err error) { method ReadFrom (line 69) | func (c *Tee) ReadFrom(r io.Reader) (n int64, err error) { method Write (line 77) | func (c *Tee) Write(b []byte) (n int, err error) { function NewTee (line 38) | func NewTee(conn Conn) *Tee { FILE: log/logger.go function LogTo (line 10) | func LogTo(target string, level_name string) { type Logger (line 50) | type Logger interface type PrefixLogger (line 59) | type PrefixLogger struct method pfx (line 74) | func (pl *PrefixLogger) pfx(fmtstr string) interface{} { method Debug (line 78) | func (pl *PrefixLogger) Debug(arg0 string, args ...interface{}) { method Info (line 82) | func (pl *PrefixLogger) Info(arg0 string, args ...interface{}) { method Warn (line 86) | func (pl *PrefixLogger) Warn(arg0 string, args ...interface{}) error { method Error (line 90) | func (pl *PrefixLogger) Error(arg0 string, args ...interface{}) error { method AddLogPrefix (line 94) | func (pl *PrefixLogger) AddLogPrefix(prefix string) { method ClearLogPrefixes (line 102) | func (pl *PrefixLogger) ClearLogPrefixes() { function NewPrefixLogger (line 64) | func NewPrefixLogger(prefixes ...string) Logger { function Debug (line 107) | func Debug(arg0 string, args ...interface{}) { function Info (line 111) | func Info(arg0 string, args ...interface{}) { function Warn (line 115) | func Warn(arg0 string, args ...interface{}) error { function Error (line 119) | func Error(arg0 string, args ...interface{}) error { FILE: main/ngrok/ngrok.go function main (line 7) | func main() { FILE: main/ngrok/static/js/angular.js function lc (line 6) | function lc(){var b=M.angular;M.angular=mc;return b} function Xa (line 6) | function Xa(b){return!b||typeof b.length!=="number"?!1:typeof b.hasOwnPr... function n (line 6) | function n(b,a,c){var d;if(b)if(H(b))for(d in b)d!="prototype"&&d!="leng... function qb (line 7) | function qb(b){var a=[],c;for(c in b)b.hasOwnProperty(c)&&a.push(c);retu... function nc (line 7) | function nc(b,a,c){for(var d=qb(b),e=0;e=0&&b.splice(c,1);return a} function V (line 10) | function V(b,a){if(sa(b)||b&&b.$evalAsync&&b.$watch)throw Error("Can't c... function pc (line 11) | function pc(b,a){var a=a||{},c;for(c in b)b.hasOwnProperty(c)&&c.substr(... function ia (line 11) | function ia(b,a){if(b===a)return!0;if(b===null||a===null)return!1;if(b!=... function $a (line 12) | function $a(b,a){var c=arguments.length>2?ka.call(arguments,2):[];return... function qc (line 12) | function qc(b,a){var c=a;/^\$+/.test(b)?c=p:sa(a)?c="$WINDOW":a&&T===a?c... function ha (line 13) | function ha(b,a){return JSON.stringify(b,qc,a?" ":null)} function ub (line 13) | function ub(b){return E(b)?JSON.parse(b):b} function ua (line 13) | function ua(b){b&&b.length!==0?(b=I(""+b),b=!(b=="f"||b=="0"||b=="false"... function va (line 13) | function va(b){b=w(b).clone();try{b.html("")}catch(a){}var c=w("
").... function vb (line 13) | function vb(b){var a={},c,d;n((b|| function wb (line 14) | function wb(b){var a=[];n(b,function(b,d){a.push(wa(d,!0)+(b===!0?"":"="... function ab (line 14) | function ab(b){return wa(b,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=")... function wa (line 14) | function wa(b,a){return encodeURIComponent(b).replace(/%40/gi,"@").repla... function rc (line 14) | function rc(b, function xb (line 16) | function xb(b,a){var c=function(){b=w(b);a=a||[];a.unshift(["$provide",f... function bb (line 16) | function bb(b,a){a=a||"_";return b.replace(sc, function cb (line 17) | function cb(b,a,c){if(!b)throw Error("Argument '"+(a||"?")+"' is "+(c||"... function xa (line 17) | function xa(b,a,c){c&&F(b)&&(b=b[b.length-1]);cb(H(b),a,"not a function,... function tc (line 17) | function tc(b){function a(a,b,e){return a[b]||(a[b]=e())}return a(a(b,"a... function Ia (line 19) | function Ia(b){return b.replace(uc,function(a,b,d,e){return e?d.toUpperC... function db (line 19) | function db(b,a){function c(){var e;for(var b=[this],c=a,i,f,h,j,m,k;b.l... function R (line 20) | function R(b){if(b instanceof R)return b;if(!(this instanceof R)){if(E(b... function fb (line 20) | function fb(b){return b.cloneNode(!0)} function ya (line 20) | function ya(b){zb(b);for(var a=0,b=b.childNodes||[];a1;d++){var e=a.sh... function ib (line 75) | function ib(b,a,c){if(!a)return b;for(var a=a.split("."),d,e=b,g=a.lengt... function Vb (line 76) | function Vb(b,a,c,d,e){return function(g,i){var f=i&&i.hasOwnProperty(b)... function Tb (line 77) | function Tb(b,a){if(mb.hasOwnProperty(b))return mb[b];var c=b.split(".")... function Sc (line 78) | function Sc(){var b={};this.$get=["$filter","$sniffer",function(a,c){ret... function Tc (line 78) | function Tc(){this.$get= function Uc (line 79) | function Uc(b,a){function c(a){return a}function d(a){return i(a)}var e=... function Vc (line 82) | function Vc(){var b={};this.when=function(a,c){b[a]=t({reloadOnSearch:!0... function Wc (line 86) | function Wc(){this.$get=S({})} function Xc (line 86) | function Xc(){var b=10;this.digestTtl=function(a){arguments.length&&(b=a... function Yc (line 94) | function Yc(){this.$get=["$window","$document",function(b,a){var c= function Zc (line 96) | function Zc(){this.$get=S(M)} function Wb (line 96) | function Wb(b){var a={},c,d,e;if(!b)return a;n(b.split("\n"),function(b)... function $c (line 96) | function $c(b,a){var c=ad.exec(b);if(c==null)return!0;var d={protocol:c[... function Xb (line 97) | function Xb(b){var a=L(b)?b:p;return function(c){a||(a=Wb(b));return c?a... function Yb (line 97) | function Yb(b,a,c){if(H(c))return c(b,a);n(c,function(c){b=c(b,a)});retu... function bd (line 97) | function bd(){var b=/^\s*(\[|\{[^\{])/,a=/[\}\]]\s*$/,c=/^\)\]\}',?\n/,d... function cd (line 103) | function cd(){this.$get=["$browser","$window","$document",function(b,a,c... function dd (line 104) | function dd(b,a,c,d,e,g){function i(a,b){var c=e.createElement("script")... function fd (line 106) | function fd(){this.$get=function(){return{id:"en-us",NUMBER_FORMATS:{DEC... function gd (line 108) | function gd(){this.$get=["$rootScope","$browser","$q","$exceptionHandler... function Zb (line 109) | function Zb(b){function a(a,e){return b.factory(a+c,e)}var c="Filter";th... function hd (line 109) | function hd(){return function(b,a,c){if(!F(b))return b;var d=[];d.check=... function $b (line 111) | function $b(b){var a=b.NUMBER_FORMATS;return function(b, function bc (line 112) | function bc(b){var a=b.NUMBER_FORMATS;return function(b,d){return dc(b,a... function dc (line 112) | function dc(b,a,c,d,e){if(isNaN(b)||!isFinite(b))return"";var g=b<0,b=Ma... function nb (line 113) | function nb(b,a,c){var d="";b<0&&(d="-",b=-b);for(b=""+b;b.length0||e>-... function Qa (line 114) | function Qa(b,a){return function(c,d){var e=c["get"+b](),g=oa(a?"SHORT"+... function ac (line 114) | function ac(b){function a(a){var b;if(b=a.match(c)){var a=new Date(0),g=... function id (line 116) | function id(){return function(b){return ha(b,!0)}} function jd (line 116) | function jd(){return function(b,a){if(!F(b)&&!E(b))return b;a=N(a);if(E(... function cc (line 116) | function cc(b){return function(a,c,d){function e(a,b){return ua(b)?funct... function aa (line 117) | function aa(b){H(b)&&(b={link:b});b.restrict=b.restrict|| function fc (line 118) | function fc(b,a){function c(a,c){c=c?"-"+bb(c,"-"):"";b.removeClass((a?R... function X (line 120) | function X(b){return C(b)||b===""||b===null||b!==b} function Va (line 120) | function Va(b,a,c,d,e,g){var i=function(){var e=a.val();if(ua(c.ngTrim||... function ob (line 122) | function ob(b,a){b="ngClass"+b;return aa(function(c,d,e){function g(b){i... function a (line 125) | function a(){c||(c=!0,b())} function j (line 134) | function j(j,k,o){return function(m,r,p){function x(a){var c=0,a=E(a)?a.... function m (line 136) | function m(a,c,d){d?d.after(a):c.append(a)} function i (line 149) | function i(a,c){c=c?"-"+bb(c,"-"):""; function k (line 165) | function k(){var f=d.current&&d.current.locals,k=f&&f.$template;if(k){o.... function j (line 168) | function j(a,c,d,e){d.$render=function(){var a=d.$viewValue;e.hasOption(... function m (line 168) | function m(a,c,d){var e;d.$render=function(){var a=new za(d.$viewValue);... function k (line 169) | function k(e,f,g){function i(){var a={"":[]},c=[""],d,h,q,v,s;q=g.$model... FILE: main/ngrok/static/js/base64.js function StringBuffer (line 25) | function StringBuffer() function Utf8EncodeEnumerator (line 122) | function Utf8EncodeEnumerator(input) function Base64DecodeEnumerator (line 178) | function Base64DecodeEnumerator(input) FILE: main/ngrok/static/js/jquery.timeago.js function substitute (line 82) | function substitute(stringOrFunction, number) { function refresh (line 156) | function refresh() { function prepareData (line 168) | function prepareData(element) { function inWords (line 182) | function inWords(date) { function distance (line 186) | function distance(date) { FILE: main/ngrok/static/js/ngrok.js function textNodes (line 272) | function textNodes(node) { FILE: main/ngrok/static/js/vkbeautify.js function createShiftArr (line 50) | function createShiftArr(step) { function vkbeautify (line 80) | function vkbeautify(){ function isSubquery (line 201) | function isSubquery(str, parenthesisLevel) { function split_sql (line 205) | function split_sql(str, tab) { FILE: main/ngrokd/ngrokd.go function main (line 7) | func main() { FILE: msg/conn.go function readMsgShared (line 10) | func readMsgShared(c conn.Conn) (buffer []byte, err error) { function ReadMsg (line 36) | func ReadMsg(c conn.Conn) (msg Message, err error) { function ReadMsgInto (line 45) | func ReadMsgInto(c conn.Conn, msg Message) (err error) { function WriteMsg (line 53) | func WriteMsg(c conn.Conn, msg interface{}) (err error) { FILE: msg/msg.go function init (line 10) | func init() { type Message (line 25) | type Message interface type Envelope (line 27) | type Envelope struct type Auth (line 34) | type Auth struct type AuthResp (line 54) | type AuthResp struct type ReqTunnel (line 65) | type ReqTunnel struct type NewTunnel (line 85) | type NewTunnel struct type ReqProxy (line 95) | type ReqProxy struct type RegProxy (line 100) | type RegProxy struct type StartProxy (line 106) | type StartProxy struct type Ping (line 114) | type Ping struct type Pong (line 119) | type Pong struct FILE: msg/pack.go function unpack (line 10) | func unpack(buffer []byte, msgIn Message) (msg Message, err error) { function UnpackInto (line 34) | func UnpackInto(buffer []byte, msg Message) (err error) { function Unpack (line 39) | func Unpack(buffer []byte) (msg Message, err error) { function Pack (line 43) | func Pack(payload interface{}) ([]byte, error) { FILE: proto/http.go type HttpRequest (line 21) | type HttpRequest struct type HttpResponse (line 26) | type HttpResponse struct type HttpTxn (line 31) | type HttpTxn struct type Http (line 40) | type Http struct method GetName (line 62) | func (h *Http) GetName() string { return "http" } method WrapConn (line 64) | func (h *Http) WrapConn(c conn.Conn, ctx interface{}) conn.Conn { method readRequests (line 72) | func (h *Http) readRequests(tee *conn.Tee, lastTxn chan *HttpTxn, conn... method readResponses (line 109) | func (h *Http) readResponses(tee *conn.Tee, lastTxn chan *HttpTxn) { function NewHttp (line 47) | func NewHttp() *Http { function extractBody (line 56) | func extractBody(r io.Reader) ([]byte, io.ReadCloser, error) { function drainBody (line 172) | func drainBody(b io.ReadCloser) (r1, r2 io.ReadCloser, err error) { type dumpConn (line 184) | type dumpConn struct method Close (line 189) | func (c *dumpConn) Close() error { return nil } method LocalAddr (line 190) | func (c *dumpConn) LocalAddr() net.Addr { return nil } method RemoteAddr (line 191) | func (c *dumpConn) RemoteAddr() net.Addr { return nil } method SetDeadline (line 192) | func (c *dumpConn) SetDeadline(t time.Time) error { return nil } method SetReadDeadline (line 193) | func (c *dumpConn) SetReadDeadline(t time.Time) error { return nil } method SetWriteDeadline (line 194) | func (c *dumpConn) SetWriteDeadline(t time.Time) error { return nil } type neverEnding (line 196) | type neverEnding method Read (line 198) | func (b neverEnding) Read(p []byte) (n int, err error) { function DumpRequestOut (line 208) | func DumpRequestOut(req *http.Request, body bool) ([]byte, error) { type delegateReader (line 286) | type delegateReader struct method Read (line 291) | func (r *delegateReader) Read(p []byte) (int, error) { function valueOrDefault (line 299) | func valueOrDefault(value, def string) string { FILE: proto/interface.go type Protocol (line 7) | type Protocol interface FILE: proto/tcp.go type Tcp (line 7) | type Tcp struct method GetName (line 13) | func (h *Tcp) GetName() string { return "tcp" } method WrapConn (line 15) | func (h *Tcp) WrapConn(c conn.Conn, ctx interface{}) conn.Conn { function NewTcp (line 9) | func NewTcp() *Tcp { FILE: server/assets/assets_release.go function bindataRead (line 15) | func bindataRead(data, name string) ([]byte, error) { type asset (line 35) | type asset struct type bindataFileInfo (line 40) | type bindataFileInfo struct method Name (line 47) | func (fi bindataFileInfo) Name() string { method Size (line 50) | func (fi bindataFileInfo) Size() int64 { method Mode (line 53) | func (fi bindataFileInfo) Mode() os.FileMode { method ModTime (line 56) | func (fi bindataFileInfo) ModTime() time.Time { method IsDir (line 59) | func (fi bindataFileInfo) IsDir() bool { method Sys (line 62) | func (fi bindataFileInfo) Sys() interface{} { function assetsServerTlsSnakeoilCrtBytes (line 68) | func assetsServerTlsSnakeoilCrtBytes() ([]byte, error) { function assetsServerTlsSnakeoilCrt (line 75) | func assetsServerTlsSnakeoilCrt() (*asset, error) { function assetsServerTlsSnakeoilKeyBytes (line 88) | func assetsServerTlsSnakeoilKeyBytes() ([]byte, error) { function assetsServerTlsSnakeoilKey (line 95) | func assetsServerTlsSnakeoilKey() (*asset, error) { function Asset (line 109) | func Asset(name string) ([]byte, error) { function MustAsset (line 123) | func MustAsset(name string) []byte { function AssetInfo (line 135) | func AssetInfo(name string) (os.FileInfo, error) { function AssetNames (line 148) | func AssetNames() []string { function AssetDir (line 175) | func AssetDir(name string) ([]string, error) { type bintree (line 197) | type bintree struct function RestoreAsset (line 214) | func RestoreAsset(dir, name string) error { function RestoreAssets (line 239) | func RestoreAssets(dir, name string) error { function _filePath (line 255) | func _filePath(dir, name string) string { FILE: server/cli.go type Options (line 7) | type Options struct function parseArgs (line 18) | func parseArgs() *Options { FILE: server/control.go constant pingTimeoutInterval (line 16) | pingTimeoutInterval = 30 * time.Second constant connReapInterval (line 17) | connReapInterval = 10 * time.Second constant controlWriteTimeout (line 18) | controlWriteTimeout = 10 * time.Second constant proxyStaleDuration (line 19) | proxyStaleDuration = 60 * time.Second constant proxyMaxPoolSize (line 20) | proxyMaxPoolSize = 10 type Control (line 23) | type Control struct method registerTunnel (line 129) | func (c *Control) registerTunnel(rawTunnelReq *msg.ReqTunnel) { method manager (line 160) | func (c *Control) manager() { method writer (line 204) | func (c *Control) writer() { method reader (line 226) | func (c *Control) reader() { method stopper (line 255) | func (c *Control) stopper() { method RegisterProxy (line 294) | func (c *Control) RegisterProxy(conn conn.Conn) { method GetProxy (line 312) | func (c *Control) GetProxy() (proxyConn conn.Conn, err error) { method Replaced (line 348) | func (c *Control) Replaced(replacement *Control) { function NewControl (line 63) | func NewControl(ctlConn conn.Conn, authMsg *msg.Auth) { FILE: server/http.go constant NotAuthorized (line 15) | NotAuthorized = `HTTP/1.0 401 Not Authorized constant NotFound (line 22) | NotFound = `HTTP/1.0 404 Not Found constant BadRequest (line 28) | BadRequest = `HTTP/1.0 400 Bad Request function startHttpListener (line 36) | func startHttpListener(addr string, tlsCfg *tls.Config) (listener *conn.... function httpHandler (line 59) | func httpHandler(c conn.Conn, proto string) { FILE: server/main.go constant registryCacheSize (line 16) | registryCacheSize uint64 = 1024 * 1024 constant connReadTimeout (line 17) | connReadTimeout time.Duration = 10 * time.Second function NewProxy (line 30) | func NewProxy(pxyConn conn.Conn, regPxy *msg.RegProxy) { function tunnelListener (line 58) | func tunnelListener(addr string, tlsConfig *tls.Config) { function Main (line 102) | func Main() { FILE: server/metrics.go function init (line 18) | func init() { type Metrics (line 28) | type Metrics interface type LocalMetrics (line 36) | type LocalMetrics struct method OpenTunnel (line 94) | func (m *LocalMetrics) OpenTunnel(t *Tunnel) { method CloseTunnel (line 116) | func (m *LocalMetrics) CloseTunnel(t *Tunnel) { method OpenConnection (line 119) | func (m *LocalMetrics) OpenConnection(t *Tunnel, c conn.Conn) { method CloseConnection (line 123) | func (m *LocalMetrics) CloseConnection(t *Tunnel, c conn.Conn, start t... method Report (line 128) | func (m *LocalMetrics) Report() { function NewLocalMetrics (line 62) | func NewLocalMetrics(reportInterval time.Duration) *LocalMetrics { type KeenIoMetric (line 157) | type KeenIoMetric struct type KeenIoMetrics (line 162) | type KeenIoMetrics struct method AuthedRequest (line 221) | func (k *KeenIoMetrics) AuthedRequest(method, path string, body *bytes... method OpenConnection (line 252) | func (k *KeenIoMetrics) OpenConnection(t *Tunnel, c conn.Conn) { method CloseConnection (line 255) | func (k *KeenIoMetrics) CloseConnection(t *Tunnel, c conn.Conn, start ... method OpenTunnel (line 292) | func (k *KeenIoMetrics) OpenTunnel(t *Tunnel) { method CloseTunnel (line 299) | func (k *KeenIoMetrics) CloseTunnel(t *Tunnel) { function NewKeenIoMetrics (line 170) | func NewKeenIoMetrics(batchInterval time.Duration) *KeenIoMetrics { type KeenStruct (line 295) | type KeenStruct struct FILE: server/registry.go constant cacheSaveInterval (line 14) | cacheSaveInterval time.Duration = 10 * time.Minute type cacheUrl (line 17) | type cacheUrl method Size (line 19) | func (url cacheUrl) Size() int { type TunnelRegistry (line 24) | type TunnelRegistry struct method SaveCacheThread (line 61) | func (r *TunnelRegistry) SaveCacheThread(path string, interval time.Du... method Register (line 80) | func (r *TunnelRegistry) Register(url string, t *Tunnel) error { method cacheKeys (line 93) | func (r *TunnelRegistry) cacheKeys(t *Tunnel) (ip string, id string) { method GetCachedRegistration (line 102) | func (r *TunnelRegistry) GetCachedRegistration(t *Tunnel) (url string) { method RegisterAndCache (line 117) | func (r *TunnelRegistry) RegisterAndCache(url string, t *Tunnel) (err ... method RegisterRepeat (line 131) | func (r *TunnelRegistry) RegisterRepeat(urlFn func() string, t *Tunnel... method Del (line 151) | func (r *TunnelRegistry) Del(url string) { method Get (line 157) | func (r *TunnelRegistry) Get(url string) *Tunnel { function NewTunnelRegistry (line 31) | func NewTunnelRegistry(cacheSize uint64, cacheFile string) *TunnelRegist... type ControlRegistry (line 164) | type ControlRegistry struct method Get (line 177) | func (r *ControlRegistry) Get(clientId string) *Control { method Add (line 183) | func (r *ControlRegistry) Add(clientId string, ctl *Control) (oldCtl *... method Del (line 197) | func (r *ControlRegistry) Del(clientId string) error { function NewControlRegistry (line 170) | func NewControlRegistry() *ControlRegistry { FILE: server/tls.go function LoadTLSConfig (line 9) | func LoadTLSConfig(crtPath string, keyPath string) (tlsConfig *tls.Confi... FILE: server/tunnel.go type Province (line 28) | type Province struct type Tunnel (line 51) | type Tunnel struct method Shutdown (line 212) | func (t *Tunnel) Shutdown() { method Id (line 234) | func (t *Tunnel) Id() string { method listenTcp (line 239) | func (t *Tunnel) listenTcp(listener *net.TCPListener) { method HandlePublicConnection (line 267) | func (t *Tunnel) HandlePublicConnection(publicConn conn.Conn) { function registerVhost (line 75) | func registerVhost(t *Tunnel, protocol string, servingPort int) (err err... function NewTunnel (line 119) | func NewTunnel(m *msg.ReqTunnel, ctl *Control) (t *Tunnel, err error) { FILE: util/broadcast.go type Broadcast (line 3) | type Broadcast struct method In (line 47) | func (b *Broadcast) In() chan interface{} { method Reg (line 51) | func (b *Broadcast) Reg() chan interface{} { method UnReg (line 57) | func (b *Broadcast) UnReg(listener chan interface{}) { function NewBroadcast (line 10) | func NewBroadcast() *Broadcast { FILE: util/errors.go constant crashMessage (line 8) | crashMessage = `panic: %v function MakePanicTrace (line 17) | func MakePanicTrace(err interface{}) string { function PanicToError (line 25) | func PanicToError(fn func()) (err error) { FILE: util/id.go function RandomSeed (line 10) | func RandomSeed() (seed int64, err error) { function RandId (line 16) | func RandId(idlen int) string { function SecureRandId (line 30) | func SecureRandId(idlen int) (id string, err error) { function SecureRandIdOrPanic (line 47) | func SecureRandIdOrPanic(idlen int) string { FILE: util/ring.go type Ring (line 8) | type Ring struct method Add (line 18) | func (r *Ring) Add(item interface{}) interface{} { method Slice (line 34) | func (r *Ring) Slice() []interface{} { function NewRing (line 14) | func NewRing(capacity int) *Ring { FILE: util/shutdown.go type Shutdown (line 8) | type Shutdown struct method Begin (line 22) | func (s *Shutdown) Begin() { method WaitBegin (line 33) | func (s *Shutdown) WaitBegin() { method Complete (line 37) | func (s *Shutdown) Complete() { method WaitComplete (line 41) | func (s *Shutdown) WaitComplete() { function NewShutdown (line 15) | func NewShutdown() *Shutdown { FILE: version/version.go constant Proto (line 8) | Proto = "2" constant Major (line 9) | Major = "2" constant Minor (line 10) | Minor = "0" function MajorMinor (line 13) | func MajorMinor() string { function Full (line 17) | func Full() string { function Compat (line 21) | func Compat(client string, server string) bool {