wenchy / bifrost Goto Github PK
View Code? Open in Web Editor NEWA powerful WebSocket tunnel to transfer HTTP over WebSocket.
License: MIT License
A powerful WebSocket tunnel to transfer HTTP over WebSocket.
License: MIT License
goroutine 79456 [running]:
runtime.throw(0x7ba30a, 0x21)
/usr/local/go/src/runtime/panic.go:1117 +0x72 fp=0xc000213b40 sp=0xc000213b10 pc=0x437c12
runtime.mapaccess2_fast32(0x751280, 0xc00048a930, 0x4fb2, 0xe, 0xc000213db8)
/usr/local/go/src/runtime/map_fast32.go:61 +0x1ac fp=0xc000213b68 sp=0xc000213b40 pc=0x4130cc
github.com/Wenchy/bifrost/cmd/bifrost/ws.(*hub).handleIngress(0xc00010b200, 0xc000208f00, 0xc008ae2000, 0x20f, 0x400, 0x0, 0x0)
/data/home/user00/GitHub/bifrost/cmd/bifrost/ws/hub.go:254 +0x345 fp=0xc000213fa8 sp=0xc000213b68 pc=0x70e985
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1371 +0x1 fp=0xc000213fb0 sp=0xc000213fa8 pc=0x46ce81
created by github.com/Wenchy/bifrost/cmd/bifrost/ws.(*hub).dispatchIngress
/data/home/user00/GitHub/bifrost/cmd/bifrost/ws/hub.go:85 +0x9c
goroutine 1 [IO wait]:
internal/poll.runtime_pollWait(0x7f9001bf0f10, 0x72, 0x0)
/usr/local/go/src/runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc000022318, 0x72, 0x0, 0x0, 0x7afc91)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Accept(0xc000022300, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:401 +0x212
net.(*netFD).accept(0xc000022300, 0xf92e5682e51a099b, 0x0, 0x0)
/usr/local/go/src/net/fd_unix.go:172 +0x45
net.(*TCPListener).accept(0xc00000e1e0, 0x608a62a3, 0xc000527d50, 0x4b89a6)
/usr/local/go/src/net/tcpsock_posix.go:139 +0x32
net.(*TCPListener).Accept(0xc00000e1e0, 0xc000527da0, 0x18, 0xc000000300, 0x65875b)
/usr/local/go/src/net/tcpsock.go:261 +0x65
net/http.(*Server).Serve(0xc000190000, 0x81fa80, 0xc00000e1e0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:2981 +0x285
net/http.(*Server).ListenAndServe(0xc000190000, 0xc000190000, 0x3)
/usr/local/go/src/net/http/server.go:2910 +0xba
net/http.ListenAndServe(...)
/usr/local/go/src/net/http/server.go:3164
main.main()
/data/home/user00/GitHub/bifrost/cmd/bifrost/main.go:39 +0x265
goroutine 6 [chan receive, 38636 minutes]:
gopkg.in/natefinch/lumberjack%2ev2.(*Logger).millRun(0xc00007c600)
/data/home/user00/go/pkg/mod/gopkg.in/natefinch/[email protected]/lumberjack.go:379 +0x5d
created by gopkg.in/natefinch/lumberjack%2ev2.(*Logger).mill.func1
/data/home/user00/go/pkg/mod/gopkg.in/natefinch/[email protected]/lumberjack.go:390 +0x75
goroutine 7 [chan receive]:
github.com/Wenchy/bifrost/cmd/bifrost/ws.(*hub).Run(0xc00010b200)
/data/home/user00/GitHub/bifrost/cmd/bifrost/ws/hub.go:52 +0x132
created by main.main
/data/home/user00/GitHub/bifrost/cmd/bifrost/main.go:27 +0x17a
goroutine 18 [chan receive]:
github.com/Wenchy/bifrost/cmd/bifrost/ws.(*hub).dispatchIngress(0xc00010b200)
/data/home/user00/GitHub/bifrost/cmd/bifrost/ws/hub.go:84 +0xb4
created by github.com/Wenchy/bifrost/cmd/bifrost/ws.(*hub).Run
/data/home/user00/GitHub/bifrost/cmd/bifrost/ws/hub.go:44 +0x65
goroutine 4994 [runnable]:
github.com/Wenchy/bifrost/cmd/bifrost/ws.(*Client).writePump(0xc000208f00)
/data/home/user00/GitHub/bifrost/cmd/bifrost/ws/client.go:192 +0x11e
created by github.com/Wenchy/bifrost/cmd/bifrost/ws.(*Client).Run
/data/home/user00/GitHub/bifrost/cmd/bifrost/ws/client.go:104 +0x3f
goroutine 85503 [IO wait]:
internal/poll.runtime_pollWait(0x7f900011a4f0, 0x72, 0xffffffffffffffff)
/usr/local/go/src/runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc00d573a98, 0x72, 0x0, 0x1, 0xffffffffffffffff)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc00d573a80, 0xc00d6fdc31, 0x1, 0x1, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:166 +0x1d5
net.(*netFD).Read(0xc00d573a80, 0xc00d6fdc31, 0x1, 0x1, 0xc000762000, 0x0, 0xc00d50c898)
/usr/local/go/src/net/fd_posix.go:55 +0x4f
net.(*conn).Read(0xc00a642690, 0xc00d6fdc31, 0x1, 0x1, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:183 +0x91
net/http.(*connReader).backgroundRead(0xc00d6fdc20)
/usr/local/go/src/net/http/server.go:692 +0x58
created by net/http.(*connReader).startBackgroundRead
/usr/local/go/src/net/http/server.go:688 +0xd5
goroutine 4995 [IO wait]:
internal/poll.runtime_pollWait(0x7f9001bf0e28, 0x72, 0xffffffffffffffff)
/usr/local/go/src/runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc0000d0898, 0x72, 0x400, 0x400, 0xffffffffffffffff)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc0000d0880, 0xc000282800, 0x400, 0x400, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:166 +0x1d5
net.(*netFD).Read(0xc0000d0880, 0xc000282800, 0x400, 0x400, 0x400, 0x7f8ff00f6200, 0x7f8ff029efff)
/usr/local/go/src/net/fd_posix.go:55 +0x4f
net.(*conn).Read(0xc00048e050, 0xc000282800, 0x400, 0x400, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:183 +0x91
bufio.(*Reader).fill(0xc00009b800)
/usr/local/go/src/bufio/bufio.go:101 +0x108
bufio.(*Reader).Peek(0xc00009b800, 0x2, 0xa194e8, 0xa194e8, 0x7f8ff05feae0, 0x0, 0x8)
/usr/local/go/src/bufio/bufio.go:139 +0x4f
github.com/gorilla/websocket.(*Conn).read(0xc0002bb600, 0x2, 0x7f902b8f6498, 0xc000210d90, 0x6fe945, 0x75efc0, 0x0)
/data/home/user00/go/pkg/mod/github.com/gorilla/[email protected]/conn.go:370 +0x46
github.com/gorilla/websocket.(*Conn).advanceFrame(0xc0002bb600, 0x0, 0x0, 0x0)
/data/home/user00/go/pkg/mod/github.com/gorilla/[email protected]/conn.go:798 +0x5c
github.com/gorilla/websocket.(*Conn).NextReader(0xc0002bb600, 0xc000210eff, 0x407000, 0xc00007c480, 0xc000210f98, 0x1)
/data/home/user00/go/pkg/mod/github.com/gorilla/[email protected]/conn.go:980 +0x8f
github.com/gorilla/websocket.(*Conn).ReadMessage(0xc0002bb600, 0xc000210fff, 0x7b20e0, 0xe, 0x0, 0x0, 0x0)
/data/home/user00/go/pkg/mod/github.com/gorilla/[email protected]/conn.go:1064 +0x2f
github.com/Wenchy/bifrost/cmd/bifrost/ws.(*Client).readPump(0xc000208f00)
/data/home/user00/GitHub/bifrost/cmd/bifrost/ws/client.go:165 +0x1a5
created by github.com/Wenchy/bifrost/cmd/bifrost/ws.(*Client).Run
/data/home/user00/GitHub/bifrost/cmd/bifrost/ws/client.go:105 +0x65
goroutine 85500 [chan receive]:
github.com/Wenchy/bifrost/cmd/bifrost/ws.Forward(0xc00e5c83f0, 0x13, 0x81fc60, 0xc00d6bbdc0, 0xc006e0a800, 0xc00d573a00, 0x0)
/data/home/user00/GitHub/bifrost/cmd/bifrost/ws/hub.go:362 +0x80f
main.handleRequestAndRedirect(0x81fc60, 0xc00d6bbdc0, 0xc006e0a800)
/data/home/user00/GitHub/bifrost/cmd/bifrost/main.go:75 +0x145
net/http.HandlerFunc.ServeHTTP(0x7cadc0, 0x81fc60, 0xc00d6bbdc0, 0xc006e0a800)
/usr/local/go/src/net/http/server.go:2069 +0x44
net/http.(*ServeMux).ServeHTTP(0x9e6ea0, 0x81fc60, 0xc00d6bbdc0, 0xc006e0a800)
/usr/local/go/src/net/http/server.go:2448 +0x1ad
net/http.serverHandler.ServeHTTP(0xc000190000, 0x81fc60, 0xc00d6bbdc0, 0xc006e0a800)
/usr/local/go/src/net/http/server.go:2887 +0xa3
net/http.(*conn).serve(0xc00d6c41e0, 0x820400, 0xc00d6a7840)
/usr/local/go/src/net/http/server.go:1952 +0x8cd
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:3013 +0x39b
goroutine 85502 [runnable]:
sync.(*RWMutex).Unlock(0xc000208f00)
/usr/local/go/src/sync/rwmutex.go:131 +0xd9
github.com/Wenchy/bifrost/cmd/bifrost/ws.(*Client).send(0xc000208f00, 0xc0035e0b40, 0x1b6, 0x220)
/data/home/user00/GitHub/bifrost/cmd/bifrost/ws/client.go:240 +0x17f
github.com/Wenchy/bifrost/cmd/bifrost/ws.(*Client).SendPacket(0xc000208f00, 0xc00d5e5a20, 0xc00d56d0e0, 0x17, 0xc00d5e59f0)
/data/home/user00/GitHub/bifrost/cmd/bifrost/ws/client.go:142 +0xf1
github.com/Wenchy/bifrost/cmd/bifrost/ws.Forward(0xc00e5c8468, 0x13, 0x81fc60, 0xc00d6bbea0, 0xc006e0a900, 0xc00d573a80, 0x0)
/data/home/user00/GitHub/bifrost/cmd/bifrost/ws/hub.go:354 +0x718
main.handleRequestAndRedirect(0x81fc60, 0xc00d6bbea0, 0xc006e0a900)
/data/home/user00/GitHub/bifrost/cmd/bifrost/main.go:75 +0x145
net/http.HandlerFunc.ServeHTTP(0x7cadc0, 0x81fc60, 0xc00d6bbea0, 0xc006e0a900)
/usr/local/go/src/net/http/server.go:2069 +0x44
net/http.(*ServeMux).ServeHTTP(0x9e6ea0, 0x81fc60, 0xc00d6bbea0, 0xc006e0a900)
/usr/local/go/src/net/http/server.go:2448 +0x1ad
net/http.serverHandler.ServeHTTP(0xc000190000, 0x81fc60, 0xc00d6bbea0, 0xc006e0a900)
/usr/local/go/src/net/http/server.go:2887 +0xa3
net/http.(*conn).serve(0xc00d6c4280, 0x820400, 0xc00d6a7a00)
/usr/local/go/src/net/http/server.go:1952 +0x8cd
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:3013 +0x39b
goroutine 85501 [IO wait]:
internal/poll.runtime_pollWait(0x7f8ff06416d8, 0x72, 0xffffffffffffffff)
/usr/local/go/src/runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc00d573a18, 0x72, 0x0, 0x1, 0xffffffffffffffff)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc00d573a00, 0xc00d6fd7b1, 0x1, 0x1, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:166 +0x1d5
net.(*netFD).Read(0xc00d573a00, 0xc00d6fd7b1, 0x1, 0x1, 0xc00946a660, 0x0, 0xc00d6a74d8)
/usr/local/go/src/net/fd_posix.go:55 +0x4f
net.(*conn).Read(0xc00a642648, 0xc00d6fd7b1, 0x1, 0x1, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:183 +0x91
net/http.(*connReader).backgroundRead(0xc00d6fd7a0)
/usr/local/go/src/net/http/server.go:692 +0x58
created by net/http.(*connReader).startBackgroundRead
/usr/local/go/src/net/http/server.go:688 +0xd5
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.