cmdrvasquess / gamcro Goto Github PK
View Code? Open in Web Editor NEWSend game macros via HTTPS from remote machine
License: GNU General Public License v3.0
Send game macros via HTTPS from remote machine
License: GNU General Public License v3.0
Unfortunately, the linux version of gamcrow crashes during start.
System:
Debian Linux 10.8 on i5-8500 w/ 32GB
Errorlog:
fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x7fc4b3ef3738]
runtime stack:
runtime.throw(0xa95f89, 0x2a)
runtime/panic.go:1117 +0x72
runtime.sigpanic()
runtime/signal_unix.go:718 +0x2e5
goroutine 66 [syscall, locked to thread]:
runtime.cgocall(0x96b1c0, 0xc000371670, 0x0)
runtime/cgocall.go:154 +0x5b fp=0xc000371640 sp=0xc000371608 pc=0x430f9b
github.com/go-gl/gl/v3.2-core/gl._Cfunc_glowDrawArrays(0x7fc4b5f79780, 0x5, 0x4)
_cgo_gotypes.go:6454 +0x45 fp=0xc000371670 sp=0xc000371640 pc=0x802ba5
github.com/go-gl/gl/v3.2-core/gl.DrawArrays(...)
github.com/go-gl/[email protected]/v3.2-core/gl/package.go:9557
fyne.io/fyne/v2/internal/painter/gl.(*glPainter).glDrawTexture(0xc000034ea0, 0x3f80000000000001)
fyne.io/fyne/[email protected]/internal/painter/gl/gl_core.go:248 +0xed fp=0xc000371698 sp=0xc000371670 pc=0x82656d
fyne.io/fyne/v2/internal/painter/gl.(*glPainter).drawTextureWithDetails(0xc000034ea0, 0xc016d8, 0xc000168b60, 0xc000371750, 0x4234000041400000, 0x41a8000042f80000, 0x43eb0000438a8000, 0x0, 0x3f800000)
fyne.io/fyne/[email protected]/internal/painter/gl/draw.go:29 +0x15f fp=0xc0003716f8 sp=0xc000371698 pc=0x822b9f
fyne.io/fyne/v2/internal/painter/gl.(*glPainter).drawText(0xc000034ea0, 0xc000168b60, 0x4234000041400000, 0x43eb0000438a8000)
fyne.io/fyne/[email protected]/internal/painter/gl/draw.go:78 +0x20a fp=0xc000371770 sp=0xc0003716f8 pc=0x8235aa
fyne.io/fyne/v2/internal/painter/gl.(*glPainter).drawObject(0xc000034ea0, 0xc016d8, 0xc000168b60, 0x4234000041400000, 0x43eb0000438a8000)
fyne.io/fyne/[email protected]/internal/painter/gl/draw.go:97 +0x3da fp=0xc0003717c0 sp=0xc000371770 pc=0x823a7a
fyne.io/fyne/v2/internal/painter/gl.(*glPainter).Paint(0xc000034ea0, 0xc016d8, 0xc000168b60, 0x4234000041400000, 0x43eb0000438a8000)
fyne.io/fyne/[email protected]/internal/painter/gl/painter.go:70 +0x98 fp=0xc0003717f8 sp=0xc0003717c0 pc=0x826a18
fyne.io/fyne/v2/internal/driver/glfw.(*glCanvas).paint.func1(0xc00047e180, 0x4234000041400000)
fyne.io/fyne/[email protected]/internal/driver/glfw/canvas.go:439 +0xe3 fp=0xc000371860 sp=0xc0003717f8 pc=0x86e663
fyne.io/fyne/v2/internal/driver/glfw.(*glCanvas).walkTree.func1(0xc016d8, 0xc000168b60, 0x4234000041400000, 0x0, 0x4f0000004f000000, 0x439100)
fyne.io/fyne/[email protected]/internal/driver/glfw/canvas.go:535 +0x142 fp=0xc0003718b0 sp=0xc000371860 pc=0x86ea42
fyne.io/fyne/v2/internal/driver.walkObjectTree(0xc016d8, 0xc000168b60, 0x4214000040800000, 0xc01e58, 0xc000312870, 0x4214000040800000, 0x0, 0x4f0000004f000000, 0xc000371d28, 0xc000371d00, ...)
fyne.io/fyne/[email protected]/internal/driver/util.go:169 +0x482 fp=0xc000371968 sp=0xc0003718b0 pc=0x728f02
fyne.io/fyne/v2/internal/driver.walkObjectTree.func1(...)
fyne.io/fyne/[email protected]/internal/driver/util.go:176
fyne.io/fyne/v2/internal/driver.walkObjectTree(0xc01e58, 0xc000312870, 0x4214000040800000, 0xc013d8, 0xc0005fc980, 0x4214000040800000, 0x0, 0x4f0000004f000000, 0xc000371d28, 0xc000371d00, ...)
fyne.io/fyne/[email protected]/internal/driver/util.go:190 +0x3ff fp=0xc000371a20 sp=0xc000371968 pc=0x728e7f
fyne.io/fyne/v2/internal/driver.walkObjectTree.func1(...)
fyne.io/fyne/[email protected]/internal/driver/util.go:176
fyne.io/fyne/v2/internal/driver.walkObjectTree(0xc013d8, 0xc0005fc980, 0x4080000040800000, 0xc01738, 0xc0002ba380, 0x4080000040800000, 0x0, 0x4f0000004f000000, 0xc000371d28, 0xc000371d00, ...)
fyne.io/fyne/[email protected]/internal/driver/util.go:190 +0x3ff fp=0xc000371ad8 sp=0xc000371a20 pc=0x728e7f
fyne.io/fyne/v2/internal/driver.walkObjectTree.func1(...)
fyne.io/fyne/[email protected]/internal/driver/util.go:176
fyne.io/fyne/v2/internal/driver.walkObjectTree(0xc01738, 0xc0002ba380, 0x4080000040800000, 0xc013d8, 0xc00011a080, 0x4080000040800000, 0x0, 0x4f0000004f000000, 0xc000371d28, 0xc000371d00, ...)
fyne.io/fyne/[email protected]/internal/driver/util.go:190 +0x3ff fp=0xc000371b90 sp=0xc000371ad8 pc=0x728e7f
fyne.io/fyne/v2/internal/driver.walkObjectTree.func1(...)
fyne.io/fyne/[email protected]/internal/driver/util.go:176
fyne.io/fyne/v2/internal/driver.walkObjectTree(0xc013d8, 0xc00011a080, 0x6e015300, 0x0, 0x0, 0x0, 0x0, 0x4f0000004f000000, 0xc000371d28, 0xc000371d00, ...)
fyne.io/fyne/[email protected]/internal/driver/util.go:190 +0x3ff fp=0xc000371c48 sp=0xc000371b90 pc=0x728e7f
fyne.io/fyne/v2/internal/driver.WalkVisibleObjectTree(0xc013d8, 0xc00011a080, 0xc000371d28, 0xc000371d00, 0x494fe5)
fyne.io/fyne/[email protected]/internal/driver/util.go:134 +0x94 fp=0xc000371cb8 sp=0xc000371c48 pc=0x728a54
fyne.io/fyne/v2/internal/driver/glfw.(*glCanvas).walkTree(0xc00027e000, 0xc0000201e0, 0xc000371e00, 0xc000371de8)
fyne.io/fyne/[email protected]/internal/driver/glfw/canvas.go:556 +0x15c fp=0xc000371d70 sp=0xc000371cb8 pc=0x86263c
fyne.io/fyne/v2/internal/driver/glfw.(*glCanvas).walkTrees(0xc00027e000, 0xc000371e00, 0xc000371de8)
fyne.io/fyne/[email protected]/internal/driver/glfw/canvas.go:563 +0x4f fp=0xc000371db8 sp=0xc000371d70 pc=0x8626ef
fyne.io/fyne/v2/internal/driver/glfw.(*glCanvas).paint(0xc00027e000, 0x43eb0000438a8000)
fyne.io/fyne/[email protected]/internal/driver/glfw/canvas.go:453 +0x129 fp=0xc000371e30 sp=0xc000371db8 pc=0x861ee9
fyne.io/fyne/v2/internal/driver/glfw.(*gLDriver).repaintWindow.func1()
fyne.io/fyne/[email protected]/internal/driver/glfw/loop.go:163 +0x88 fp=0xc000371e80 sp=0xc000371e30 pc=0x86f008
fyne.io/fyne/v2/internal/driver/glfw.(*window).RunWithContext(0xc0000ec1c0, 0xc00005cea8)
fyne.io/fyne/[email protected]/internal/driver/glfw/window.go:1204 +0x4f fp=0xc000371e98 sp=0xc000371e80 pc=0x86d68f
fyne.io/fyne/v2/internal/driver/glfw.(*gLDriver).repaintWindow(0xc00007c910, 0xc0000ec1c0)
fyne.io/fyne/[email protected]/internal/driver/glfw/loop.go:154 +0x65 fp=0xc000371ed0 sp=0xc000371e98 pc=0x864545
fyne.io/fyne/v2/internal/driver/glfw.(*gLDriver).startDrawThread.func1(0xc00007c910, 0xc00010c000, 0xc000112000)
fyne.io/fyne/[email protected]/internal/driver/glfw/loop.go:210 +0x309 fp=0xc000371fc8 sp=0xc000371ed0 pc=0x86f409
runtime.goexit()
runtime/asm_amd64.s:1371 +0x1 fp=0xc000371fd0 sp=0xc000371fc8 pc=0x499841
created by fyne.io/fyne/v2/internal/driver/glfw.(*gLDriver).startDrawThread
fyne.io/fyne/[email protected]/internal/driver/glfw/loop.go:181 +0xbd
goroutine 1 [syscall, locked to thread]:
github.com/go-gl/glfw/v3.3/glfw._Cfunc_glfwGetMonitorPos(0x1980e40, 0xc00047d8b8, 0xc00047d8bc)
_cgo_gotypes.go:1092 +0x45
github.com/go-gl/glfw/v3.3/glfw.(*Monitor).GetPos.func1(0xc00047d8b0, 0xc00047d8b8, 0xc00047d8bc)
github.com/go-gl/glfw/v3.3/[email protected]/monitor.go:89 +0x6d
github.com/go-gl/glfw/v3.3/glfw.(*Monitor).GetPos(0xc00047d8b0, 0x1, 0x1)
github.com/go-gl/glfw/v3.3/[email protected]/monitor.go:89 +0x72
fyne.io/fyne/v2/internal/driver/glfw.(*window).getMonitorForWindow(0xc0000ec1c0, 0x7)
fyne.io/fyne/[email protected]/internal/driver/glfw/window.go:324 +0x105
fyne.io/fyne/v2/internal/driver/glfw.(*window).detectScale(0xc0000ec1c0, 0x855047)
fyne.io/fyne/[email protected]/internal/driver/glfw/window.go:350 +0x2f
fyne.io/fyne/v2/internal/driver/glfw.(*window).moved(0xc0000ec1c0, 0xc000312990, 0x7d8, 0xb4)
fyne.io/fyne/[email protected]/internal/driver/glfw/window.go:526 +0x3c
github.com/go-gl/glfw/v3.3/glfw.goWindowPosCB(0x1981510, 0xb4000007d8)
github.com/go-gl/glfw/v3.3/[email protected]/window.go:207 +0x62
github.com/go-gl/glfw/v3.3/glfw._Cfunc_glfwPollEvents()
_cgo_gotypes.go:1574 +0x3c
github.com/go-gl/glfw/v3.3/glfw.PollEvents()
github.com/go-gl/glfw/v3.3/[email protected]/window.go:949 +0x25
fyne.io/fyne/v2/internal/driver/glfw.(*gLDriver).tryPollEvents(0xc00007c910)
fyne.io/fyne/[email protected]/internal/driver/glfw/loop.go:224 +0x45
fyne.io/fyne/v2/internal/driver/glfw.(*gLDriver).runGL(0xc00007c910)
fyne.io/fyne/[email protected]/internal/driver/glfw/loop.go:102 +0x1fc
fyne.io/fyne/v2/internal/driver/glfw.(*gLDriver).Run(0xc00007c910)
fyne.io/fyne/[email protected]/internal/driver/glfw/driver.go:80 +0x3a
fyne.io/fyne/v2/internal/driver/glfw.(*window).ShowAndRun(0xc0000ec1c0)
fyne.io/fyne/[email protected]/internal/driver/glfw/window.go:450 +0x3d
main.main()
github.com/CmdrVasquess/gamcro/gamcrow/main.go:119 +0x502
goroutine 6 [sleep]:
time.Sleep(0x22ecb25c00)
runtime/time.go:193 +0xd2
fyne.io/fyne/v2/internal/painter.svgCacheJanitor.func1()
fyne.io/fyne/[email protected]/internal/painter/svg_cache.go:57 +0x109
sync.(*Once).doSlow(0x126b4d0, 0xc000024d90)
sync/once.go:68 +0xec
sync.(*Once).Do(0x126b4d0, 0xc000024d90)
sync/once.go:59 +0x45
created by fyne.io/fyne/v2/internal/painter.svgCacheJanitor
fyne.io/fyne/[email protected]/internal/painter/svg_cache.go:55 +0x9b
goroutine 7 [select]:
fyne.io/fyne/v2/data/binding.makeInfiniteQueue.func1(0xc000026180, 0xc0000100c8)
fyne.io/fyne/[email protected]/data/binding/queue.go:36 +0x145
created by fyne.io/fyne/v2/data/binding.makeInfiniteQueue
fyne.io/fyne/[email protected]/data/binding/queue.go:21 +0xb1
goroutine 8 [chan receive]:
fyne.io/fyne/v2/data/binding.processItems()
fyne.io/fyne/[email protected]/data/binding/queue.go:54 +0x45
created by fyne.io/fyne/v2/data/binding.init.0
fyne.io/fyne/[email protected]/data/binding/queue.go:15 +0x35
goroutine 9 [syscall]:
syscall.Syscall6(0xe8, 0x8, 0xc00048fc2c, 0x7, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x2, 0xc00048fc08)
syscall/asm_linux_amd64.s:43 +0x5
golang.org/x/sys/unix.EpollWait(0x8, 0xc00048fc2c, 0x7, 0x7, 0xffffffffffffffff, 0x0, 0xc0005f80d0, 0xc00048fc48)
golang.org/x/[email protected]/unix/zsyscall_linux_amd64.go:77 +0x72
github.com/fsnotify/fsnotify.(*fdPoller).wait(0xc00002ea20, 0xc00048fd00, 0x0, 0x1)
github.com/fsnotify/[email protected]/inotify_poller.go:86 +0x91
github.com/fsnotify/fsnotify.(*Watcher).readEvents(0xc00007c9b0)
github.com/fsnotify/[email protected]/inotify.go:192 +0x206
created by github.com/fsnotify/fsnotify.NewWatcher
github.com/fsnotify/[email protected]/inotify.go:59 +0x1ab
goroutine 10 [chan receive]:
fyne.io/fyne/v2/app.watchFile.func1(0xc00007c9b0, 0xc00002b680, 0x40, 0xc000065ee0, 0xc000065ef0)
fyne.io/fyne/[email protected]/app/settings_desktop.go:42 +0x5a
created by fyne.io/fyne/v2/app.watchFile
fyne.io/fyne/[email protected]/app/settings_desktop.go:41 +0xef
goroutine 12 [chan receive]:
fyne.io/fyne/v2/app.newAppWithDriver.func1(0xc0000264e0, 0xc000250230)
fyne.io/fyne/[email protected]/app/app.go:120 +0x3d
created by fyne.io/fyne/v2/app.newAppWithDriver
fyne.io/fyne/[email protected]/app/app.go:118 +0x1df
goroutine 13 [syscall]:
syscall.Syscall6(0xe8, 0xc, 0xc0004afc2c, 0x7, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, 0x0)
syscall/asm_linux_amd64.s:43 +0x5
golang.org/x/sys/unix.EpollWait(0xc, 0xc0004afc2c, 0x7, 0x7, 0xffffffffffffffff, 0x0, 0x0, 0x0)
golang.org/x/[email protected]/unix/zsyscall_linux_amd64.go:77 +0x72
github.com/fsnotify/fsnotify.(*fdPoller).wait(0xc00002ea40, 0x0, 0x0, 0x0)
github.com/fsnotify/[email protected]/inotify_poller.go:86 +0x91
github.com/fsnotify/fsnotify.(*Watcher).readEvents(0xc00007ca00)
github.com/fsnotify/[email protected]/inotify.go:192 +0x206
created by github.com/fsnotify/fsnotify.NewWatcher
github.com/fsnotify/[email protected]/inotify.go:59 +0x1ab
goroutine 14 [chan receive]:
fyne.io/fyne/v2/app.watchFile.func1(0xc00007ca00, 0xc00002c4b0, 0x26, 0xc000065f80, 0xc000065f90)
fyne.io/fyne/[email protected]/app/settings_desktop.go:42 +0x5a
created by fyne.io/fyne/v2/app.watchFile
fyne.io/fyne/[email protected]/app/settings_desktop.go:41 +0xef
goroutine 42 [chan receive]:
fyne.io/fyne/v2/internal/painter.SvgCacheMonitorTheme.func1(0xc000026780)
fyne.io/fyne/[email protected]/internal/painter/svg_cache.go:109 +0x34
created by fyne.io/fyne/v2/internal/painter.SvgCacheMonitorTheme
fyne.io/fyne/[email protected]/internal/painter/svg_cache.go:107 +0x9c
goroutine 67 [chan receive]:
fyne.io/fyne/v2/internal/driver/glfw.(*window).runEventQueue(0xc0000ec1c0)
fyne.io/fyne/[email protected]/internal/driver/glfw/window.go:1264 +0xb0
created by fyne.io/fyne/v2/internal/driver/glfw.(*gLDriver).createWindow.func1
fyne.io/fyne/[email protected]/internal/driver/glfw/window.go:1289 +0x113
goroutine 68 [chan receive]:
fyne.io/fyne/v2/internal/driver/glfw.(*glCanvas).setupThemeListener.func1(0xc00010c060, 0xc00027e000)
fyne.io/fyne/[email protected]/internal/driver/glfw/canvas.go:495 +0x47
created by fyne.io/fyne/v2/internal/driver/glfw.(*glCanvas).setupThemeListener
fyne.io/fyne/[email protected]/internal/driver/glfw/canvas.go:493 +0xa6
Gamcro generates a short random string on start as part of the realm that will be shown in the browser for basic auth. The realm is printed in terminal Gamcro runs in. Even if someone uses the TLS key/cert the random realm is only known to the current Gamcro instance.
Handling auth flags is from times before the password was stored as a hash in the password file. This results in some awkward situations. The auth flag handling has to be simplified.
Gamcro hangs if you use the passphrase to encrypt the TLS key file and use the wrong passphrase on another start. However, if you enter the correct passphrase, everything works fine.
By default Gamcro should accept request to the API only from the same network, from a while list of client addresses. To make it more open would have been an option at best.
Authenticating static content will lead to much earlier basic auth request in Web UI. Together with default behavior that allows only one client, this reduces the chance that anyone gets unauthorized access.
May be useful for EDO players where it will be possible to copy system names to clipboard. With this one can collect e.g. expeditions into Gamcro, export and share with others.
Collect alternatives
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.