├── VERSION ├── frontend ├── m17-dashboard-quasar │ ├── src │ │ ├── boot │ │ │ └── .gitkeep │ │ ├── css │ │ │ ├── app.scss │ │ │ └── quasar.variables.scss │ │ ├── App.vue │ │ ├── pages │ │ │ ├── ErrorNotFound.vue │ │ │ ├── PeersPage.vue │ │ │ ├── LinksPage.vue │ │ │ └── IndexPage.vue │ │ ├── router │ │ │ ├── routes.js │ │ │ └── index.js │ │ ├── components │ │ │ └── EssentialLink.vue │ │ ├── js │ │ │ └── utilities.js │ │ ├── layouts │ │ │ └── MainLayout.vue │ │ └── assets │ │ │ └── quasar-logo-vertical.svg │ ├── .npmrc │ ├── .eslintignore │ ├── public │ │ ├── favicon.ico │ │ ├── flags │ │ │ ├── ad.png │ │ │ ├── ae.png │ │ │ ├── af.png │ │ │ ├── ag.png │ │ │ ├── ai.png │ │ │ ├── al.png │ │ │ ├── am.png │ │ │ ├── ao.png │ │ │ ├── aq.png │ │ │ ├── ar.png │ │ │ ├── as.png │ │ │ ├── at.png │ │ │ ├── au.png │ │ │ ├── aw.png │ │ │ ├── ax.png │ │ │ ├── az.png │ │ │ ├── ba.png │ │ │ ├── bb.png │ │ │ ├── bd.png │ │ │ ├── be.png │ │ │ ├── bf.png │ │ │ ├── bg.png │ │ │ ├── bh.png │ │ │ ├── bi.png │ │ │ ├── bj.png │ │ │ ├── bl.png │ │ │ ├── bm.png │ │ │ ├── bn.png │ │ │ ├── bo.png │ │ │ ├── br.png │ │ │ ├── bs.png │ │ │ ├── bt.png │ │ │ ├── bv.png │ │ │ ├── bw.png │ │ │ ├── by.png │ │ │ ├── bz.png │ │ │ ├── ca.png │ │ │ ├── cc.png │ │ │ ├── cd.png │ │ │ ├── cf.png │ │ │ ├── cg.png │ │ │ ├── ch.png │ │ │ ├── ci.png │ │ │ ├── ck.png │ │ │ ├── cl.png │ │ │ ├── cm.png │ │ │ ├── cn.png │ │ │ ├── co.png │ │ │ ├── cr.png │ │ │ ├── cs.png │ │ │ ├── cu.png │ │ │ ├── cv.png │ │ │ ├── cw.png │ │ │ ├── cx.png │ │ │ ├── cy.png │ │ │ ├── cz.png │ │ │ ├── de.png │ │ │ ├── dj.png │ │ │ ├── dk.png │ │ │ ├── dm.png │ │ │ ├── do.png │ │ │ ├── dz.png │ │ │ ├── ec.png │ │ │ ├── ee.png │ │ │ ├── eg.png │ │ │ ├── eh.png │ │ │ ├── er.png │ │ │ ├── es.png │ │ │ ├── et.png │ │ │ ├── fi.png │ │ │ ├── fj.png │ │ │ ├── fk.png │ │ │ ├── fm.png │ │ │ ├── fo.png │ │ │ ├── fr.png │ │ │ ├── ga.png │ │ │ ├── gb.png │ │ │ ├── gd.png │ │ │ ├── ge.png │ │ │ ├── gf.png │ │ │ ├── gg.png │ │ │ ├── gh.png │ │ │ ├── gi.png │ │ │ ├── gl.png │ │ │ ├── gm.png │ │ │ ├── gn.png │ │ │ ├── gp.png │ │ │ ├── gq.png │ │ │ ├── gr.png │ │ │ ├── gs.png │ │ │ ├── gt.png │ │ │ ├── gu.png │ │ │ ├── gw.png │ │ │ ├── gy.png │ │ │ ├── hk.png │ │ │ ├── hm.png │ │ │ ├── hn.png │ │ │ ├── hr.png │ │ │ ├── ht.png │ │ │ ├── hu.png │ │ │ ├── id.png │ │ │ ├── ie.png │ │ │ ├── il.png │ │ │ ├── im.png │ │ │ ├── in.png │ │ │ ├── io.png │ │ │ ├── iq.png │ │ │ ├── ir.png │ │ │ ├── is.png │ │ │ ├── it.png │ │ │ ├── je.png │ │ │ ├── jm.png │ │ │ ├── jo.png │ │ │ ├── jp.png │ │ │ ├── ke.png │ │ │ ├── kg.png │ │ │ ├── kh.png │ │ │ ├── ki.png │ │ │ ├── km.png │ │ │ ├── kn.png │ │ │ ├── kp.png │ │ │ ├── kr.png │ │ │ ├── ks.png │ │ │ ├── kw.png │ │ │ ├── ky.png │ │ │ ├── kz.png │ │ │ ├── la.png │ │ │ ├── lb.png │ │ │ ├── lc.png │ │ │ ├── li.png │ │ │ ├── lk.png │ │ │ ├── lr.png │ │ │ ├── ls.png │ │ │ ├── lt.png │ │ │ ├── lu.png │ │ │ ├── lv.png │ │ │ ├── ly.png │ │ │ ├── ma.png │ │ │ ├── mc.png │ │ │ ├── md.png │ │ │ ├── me.png │ │ │ ├── mf.png │ │ │ ├── mg.png │ │ │ ├── mh.png │ │ │ ├── mk.png │ │ │ ├── ml.png │ │ │ ├── mm.png │ │ │ ├── mn.png │ │ │ ├── mo.png │ │ │ ├── mp.png │ │ │ ├── mq.png │ │ │ ├── mr.png │ │ │ ├── ms.png │ │ │ ├── mt.png │ │ │ ├── mu.png │ │ │ ├── mv.png │ │ │ ├── mw.png │ │ │ ├── mx.png │ │ │ ├── my.png │ │ │ ├── mz.png │ │ │ ├── na.png │ │ │ ├── nc.png │ │ │ ├── ne.png │ │ │ ├── nf.png │ │ │ ├── ng.png │ │ │ ├── ni.png │ │ │ ├── nie.png │ │ │ ├── nl.png │ │ │ ├── no.png │ │ │ ├── np.png │ │ │ ├── nr.png │ │ │ ├── nu.png │ │ │ ├── nz.png │ │ │ ├── om.png │ │ │ ├── pa.png │ │ │ ├── pe.png │ │ │ ├── pf.png │ │ │ ├── pg.png │ │ │ ├── ph.png │ │ │ ├── pk.png │ │ │ ├── pl.png │ │ │ ├── pm.png │ │ │ ├── pn.png │ │ │ ├── pr.png │ │ │ ├── ps.png │ │ │ ├── pt.png │ │ │ ├── pw.png │ │ │ ├── py.png │ │ │ ├── qa.png │ │ │ ├── re.png │ │ │ ├── ro.png │ │ │ ├── rs.png │ │ │ ├── ru.png │ │ │ ├── rw.png │ │ │ ├── sa.png │ │ │ ├── sb.png │ │ │ ├── sc.png │ │ │ ├── sd.png │ │ │ ├── se.png │ │ │ ├── sg.png │ │ │ ├── sh.png │ │ │ ├── si.png │ │ │ ├── sk.png │ │ │ ├── sl.png │ │ │ ├── sm.png │ │ │ ├── sn.png │ │ │ ├── so.png │ │ │ ├── sr.png │ │ │ ├── ss.png │ │ │ ├── st.png │ │ │ ├── sv.png │ │ │ ├── sx.png │ │ │ ├── sy.png │ │ │ ├── sz.png │ │ │ ├── tc.png │ │ │ ├── td.png │ │ │ ├── tg.png │ │ │ ├── th.png │ │ │ ├── tj.png │ │ │ ├── tk.png │ │ │ ├── tl.png │ │ │ ├── tm.png │ │ │ ├── tn.png │ │ │ ├── to.png │ │ │ ├── tr.png │ │ │ ├── tt.png │ │ │ ├── tv.png │ │ │ ├── tw.png │ │ │ ├── tz.png │ │ │ ├── ua.png │ │ │ ├── ug.png │ │ │ ├── um.png │ │ │ ├── us.png │ │ │ ├── uy.png │ │ │ ├── uz.png │ │ │ ├── va.png │ │ │ ├── vc.png │ │ │ ├── ve.png │ │ │ ├── vg.png │ │ │ ├── vi.png │ │ │ ├── vn.png │ │ │ ├── vu.png │ │ │ ├── wf.png │ │ │ ├── wl.png │ │ │ ├── ws.png │ │ │ ├── ye.png │ │ │ ├── yt.png │ │ │ ├── za.png │ │ │ ├── zm.png │ │ │ ├── zw.png │ │ │ └── gate.png │ │ └── icons │ │ │ ├── favicon-16x16.png │ │ │ ├── favicon-32x32.png │ │ │ ├── favicon-96x96.png │ │ │ └── favicon-128x128.png │ ├── .editorconfig │ ├── .gitignore │ ├── README.md │ ├── jsconfig.json │ ├── postcss.config.js │ ├── index.html │ ├── package.json │ └── .eslintrc.js ├── .DS_Store └── spa │ ├── favicon.ico │ ├── flags │ ├── ad.png │ ├── ae.png │ ├── af.png │ ├── ag.png │ ├── ai.png │ ├── al.png │ ├── am.png │ ├── ao.png │ ├── aq.png │ ├── ar.png │ ├── as.png │ ├── at.png │ ├── au.png │ ├── aw.png │ ├── ax.png │ ├── az.png │ ├── ba.png │ ├── bb.png │ ├── bd.png │ ├── be.png │ ├── bf.png │ ├── bg.png │ ├── bh.png │ ├── bi.png │ ├── bj.png │ ├── bl.png │ ├── bm.png │ ├── bn.png │ ├── bo.png │ ├── br.png │ ├── bs.png │ ├── bt.png │ ├── bv.png │ ├── bw.png │ ├── by.png │ ├── bz.png │ ├── ca.png │ ├── cc.png │ ├── cd.png │ ├── cf.png │ ├── cg.png │ ├── ch.png │ ├── ci.png │ ├── ck.png │ ├── cl.png │ ├── cm.png │ ├── cn.png │ ├── co.png │ ├── cr.png │ ├── cs.png │ ├── cu.png │ ├── cv.png │ ├── cw.png │ ├── cx.png │ ├── cy.png │ ├── cz.png │ ├── de.png │ ├── dj.png │ ├── dk.png │ ├── dm.png │ ├── do.png │ ├── dz.png │ ├── ec.png │ ├── ee.png │ ├── eg.png │ ├── eh.png │ ├── er.png │ ├── es.png │ ├── et.png │ ├── fi.png │ ├── fj.png │ ├── fk.png │ ├── fm.png │ ├── fo.png │ ├── fr.png │ ├── ga.png │ ├── gb.png │ ├── gd.png │ ├── ge.png │ ├── gf.png │ ├── gg.png │ ├── gh.png │ ├── gi.png │ ├── gl.png │ ├── gm.png │ ├── gn.png │ ├── gp.png │ ├── gq.png │ ├── gr.png │ ├── gs.png │ ├── gt.png │ ├── gu.png │ ├── gw.png │ ├── gy.png │ ├── hk.png │ ├── hm.png │ ├── hn.png │ ├── hr.png │ ├── ht.png │ ├── hu.png │ ├── id.png │ ├── ie.png │ ├── il.png │ ├── im.png │ ├── in.png │ ├── io.png │ ├── iq.png │ ├── ir.png │ ├── is.png │ ├── it.png │ ├── je.png │ ├── jm.png │ ├── jo.png │ ├── jp.png │ ├── ke.png │ ├── kg.png │ ├── kh.png │ ├── ki.png │ ├── km.png │ ├── kn.png │ ├── kp.png │ ├── kr.png │ ├── ks.png │ ├── kw.png │ ├── ky.png │ ├── kz.png │ ├── la.png │ ├── lb.png │ ├── lc.png │ ├── li.png │ ├── lk.png │ ├── lr.png │ ├── ls.png │ ├── lt.png │ ├── lu.png │ ├── lv.png │ ├── ly.png │ ├── ma.png │ ├── mc.png │ ├── md.png │ ├── me.png │ ├── mf.png │ ├── mg.png │ ├── mh.png │ ├── mk.png │ ├── ml.png │ ├── mm.png │ ├── mn.png │ ├── mo.png │ ├── mp.png │ ├── mq.png │ ├── mr.png │ ├── ms.png │ ├── mt.png │ ├── mu.png │ ├── mv.png │ ├── mw.png │ ├── mx.png │ ├── my.png │ ├── mz.png │ ├── na.png │ ├── nc.png │ ├── ne.png │ ├── nf.png │ ├── ng.png │ ├── ni.png │ ├── nl.png │ ├── no.png │ ├── np.png │ ├── nr.png │ ├── nu.png │ ├── nz.png │ ├── om.png │ ├── pa.png │ ├── pe.png │ ├── pf.png │ ├── pg.png │ ├── ph.png │ ├── pk.png │ ├── pl.png │ ├── pm.png │ ├── pn.png │ ├── pr.png │ ├── ps.png │ ├── pt.png │ ├── pw.png │ ├── py.png │ ├── qa.png │ ├── re.png │ ├── ro.png │ ├── rs.png │ ├── ru.png │ ├── rw.png │ ├── sa.png │ ├── sb.png │ ├── sc.png │ ├── sd.png │ ├── se.png │ ├── sg.png │ ├── sh.png │ ├── si.png │ ├── sk.png │ ├── sl.png │ ├── sm.png │ ├── sn.png │ ├── so.png │ ├── sr.png │ ├── ss.png │ ├── st.png │ ├── sv.png │ ├── sx.png │ ├── sy.png │ ├── sz.png │ ├── tc.png │ ├── td.png │ ├── tg.png │ ├── th.png │ ├── tj.png │ ├── tk.png │ ├── tl.png │ ├── tm.png │ ├── tn.png │ ├── to.png │ ├── tr.png │ ├── tt.png │ ├── tv.png │ ├── tw.png │ ├── tz.png │ ├── ua.png │ ├── ug.png │ ├── um.png │ ├── us.png │ ├── uy.png │ ├── uz.png │ ├── va.png │ ├── vc.png │ ├── ve.png │ ├── vg.png │ ├── vi.png │ ├── vn.png │ ├── vu.png │ ├── wf.png │ ├── wl.png │ ├── ws.png │ ├── ye.png │ ├── yt.png │ ├── za.png │ ├── zm.png │ ├── zw.png │ ├── gate.png │ └── nie.png │ ├── icons │ ├── favicon-16x16.png │ ├── favicon-32x32.png │ ├── favicon-96x96.png │ └── favicon-128x128.png │ ├── assets │ ├── KFOmCnqEu92Fr1Mu4mxM.f2abf7fb.woff │ ├── KFOkCnqEu92Fr1MmgVxIIzQ.34e9582c.woff │ ├── KFOlCnqEu92Fr1MmEU9fBBc-.9ce7f3ac.woff │ ├── KFOlCnqEu92Fr1MmSU5fBBc-.bf14c7d7.woff │ ├── KFOlCnqEu92Fr1MmWUlfBBc-.e0fd57c0.woff │ ├── KFOlCnqEu92Fr1MmYUtfBBc-.f6537e32.woff │ ├── flUhRq6tzZclQEJ-Vdg-IuiaDsNa.fd84f88b.woff │ ├── flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.4a4dbc62.woff2 │ ├── ErrorNotFound.7131f27c.js │ ├── PeersPage.eddb94ec.js │ ├── LinksPage.5b209dd5.js │ ├── scroll.2f16405f.js │ ├── compiler-core.esm-bundler.59e4b2e9.js │ └── IndexPage.fbb2689d.js │ └── index.html ├── m17reflectors.png ├── m17dashboard-screenshot.png ├── .gitignore ├── entrypoint.sh ├── .env.sample ├── gomrefdash.sample.toml ├── Dockerfile ├── .github └── workflows │ ├── audit.yml │ └── golangci-lint.yml ├── backend ├── cmd │ └── dashboard │ │ └── main.go └── pkg │ └── dashboard │ ├── countrycallsigns.go │ ├── dashboard.go │ ├── utilities.go │ ├── config │ └── config.go │ └── handlers.go ├── docker-compose.sample.yml ├── go.mod └── Makefile /VERSION: -------------------------------------------------------------------------------- 1 | 0.5.0 2 | -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/src/boot/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/src/css/app.scss: -------------------------------------------------------------------------------- 1 | // app global css in SCSS form 2 | -------------------------------------------------------------------------------- /m17reflectors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/m17reflectors.png -------------------------------------------------------------------------------- /frontend/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/.DS_Store -------------------------------------------------------------------------------- /frontend/spa/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/favicon.ico -------------------------------------------------------------------------------- /frontend/spa/flags/ad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ad.png -------------------------------------------------------------------------------- /frontend/spa/flags/ae.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ae.png -------------------------------------------------------------------------------- /frontend/spa/flags/af.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/af.png -------------------------------------------------------------------------------- /frontend/spa/flags/ag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ag.png -------------------------------------------------------------------------------- /frontend/spa/flags/ai.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ai.png -------------------------------------------------------------------------------- /frontend/spa/flags/al.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/al.png -------------------------------------------------------------------------------- /frontend/spa/flags/am.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/am.png -------------------------------------------------------------------------------- /frontend/spa/flags/ao.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ao.png -------------------------------------------------------------------------------- /frontend/spa/flags/aq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/aq.png -------------------------------------------------------------------------------- /frontend/spa/flags/ar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ar.png -------------------------------------------------------------------------------- /frontend/spa/flags/as.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/as.png -------------------------------------------------------------------------------- /frontend/spa/flags/at.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/at.png -------------------------------------------------------------------------------- /frontend/spa/flags/au.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/au.png -------------------------------------------------------------------------------- /frontend/spa/flags/aw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/aw.png -------------------------------------------------------------------------------- /frontend/spa/flags/ax.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ax.png -------------------------------------------------------------------------------- /frontend/spa/flags/az.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/az.png -------------------------------------------------------------------------------- /frontend/spa/flags/ba.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ba.png -------------------------------------------------------------------------------- /frontend/spa/flags/bb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/bb.png -------------------------------------------------------------------------------- /frontend/spa/flags/bd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/bd.png -------------------------------------------------------------------------------- /frontend/spa/flags/be.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/be.png -------------------------------------------------------------------------------- /frontend/spa/flags/bf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/bf.png -------------------------------------------------------------------------------- /frontend/spa/flags/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/bg.png -------------------------------------------------------------------------------- /frontend/spa/flags/bh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/bh.png -------------------------------------------------------------------------------- /frontend/spa/flags/bi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/bi.png -------------------------------------------------------------------------------- /frontend/spa/flags/bj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/bj.png -------------------------------------------------------------------------------- /frontend/spa/flags/bl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/bl.png -------------------------------------------------------------------------------- /frontend/spa/flags/bm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/bm.png -------------------------------------------------------------------------------- /frontend/spa/flags/bn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/bn.png -------------------------------------------------------------------------------- /frontend/spa/flags/bo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/bo.png -------------------------------------------------------------------------------- /frontend/spa/flags/br.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/br.png -------------------------------------------------------------------------------- /frontend/spa/flags/bs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/bs.png -------------------------------------------------------------------------------- /frontend/spa/flags/bt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/bt.png -------------------------------------------------------------------------------- /frontend/spa/flags/bv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/bv.png -------------------------------------------------------------------------------- /frontend/spa/flags/bw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/bw.png -------------------------------------------------------------------------------- /frontend/spa/flags/by.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/by.png -------------------------------------------------------------------------------- /frontend/spa/flags/bz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/bz.png -------------------------------------------------------------------------------- /frontend/spa/flags/ca.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ca.png -------------------------------------------------------------------------------- /frontend/spa/flags/cc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/cc.png -------------------------------------------------------------------------------- /frontend/spa/flags/cd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/cd.png -------------------------------------------------------------------------------- /frontend/spa/flags/cf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/cf.png -------------------------------------------------------------------------------- /frontend/spa/flags/cg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/cg.png -------------------------------------------------------------------------------- /frontend/spa/flags/ch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ch.png -------------------------------------------------------------------------------- /frontend/spa/flags/ci.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ci.png -------------------------------------------------------------------------------- /frontend/spa/flags/ck.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ck.png -------------------------------------------------------------------------------- /frontend/spa/flags/cl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/cl.png -------------------------------------------------------------------------------- /frontend/spa/flags/cm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/cm.png -------------------------------------------------------------------------------- /frontend/spa/flags/cn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/cn.png -------------------------------------------------------------------------------- /frontend/spa/flags/co.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/co.png -------------------------------------------------------------------------------- /frontend/spa/flags/cr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/cr.png -------------------------------------------------------------------------------- /frontend/spa/flags/cs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/cs.png -------------------------------------------------------------------------------- /frontend/spa/flags/cu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/cu.png -------------------------------------------------------------------------------- /frontend/spa/flags/cv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/cv.png -------------------------------------------------------------------------------- /frontend/spa/flags/cw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/cw.png -------------------------------------------------------------------------------- /frontend/spa/flags/cx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/cx.png -------------------------------------------------------------------------------- /frontend/spa/flags/cy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/cy.png -------------------------------------------------------------------------------- /frontend/spa/flags/cz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/cz.png -------------------------------------------------------------------------------- /frontend/spa/flags/de.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/de.png -------------------------------------------------------------------------------- /frontend/spa/flags/dj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/dj.png -------------------------------------------------------------------------------- /frontend/spa/flags/dk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/dk.png -------------------------------------------------------------------------------- /frontend/spa/flags/dm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/dm.png -------------------------------------------------------------------------------- /frontend/spa/flags/do.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/do.png -------------------------------------------------------------------------------- /frontend/spa/flags/dz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/dz.png -------------------------------------------------------------------------------- /frontend/spa/flags/ec.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ec.png -------------------------------------------------------------------------------- /frontend/spa/flags/ee.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ee.png -------------------------------------------------------------------------------- /frontend/spa/flags/eg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/eg.png -------------------------------------------------------------------------------- /frontend/spa/flags/eh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/eh.png -------------------------------------------------------------------------------- /frontend/spa/flags/er.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/er.png -------------------------------------------------------------------------------- /frontend/spa/flags/es.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/es.png -------------------------------------------------------------------------------- /frontend/spa/flags/et.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/et.png -------------------------------------------------------------------------------- /frontend/spa/flags/fi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/fi.png -------------------------------------------------------------------------------- /frontend/spa/flags/fj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/fj.png -------------------------------------------------------------------------------- /frontend/spa/flags/fk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/fk.png -------------------------------------------------------------------------------- /frontend/spa/flags/fm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/fm.png -------------------------------------------------------------------------------- /frontend/spa/flags/fo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/fo.png -------------------------------------------------------------------------------- /frontend/spa/flags/fr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/fr.png -------------------------------------------------------------------------------- /frontend/spa/flags/ga.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ga.png -------------------------------------------------------------------------------- /frontend/spa/flags/gb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/gb.png -------------------------------------------------------------------------------- /frontend/spa/flags/gd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/gd.png -------------------------------------------------------------------------------- /frontend/spa/flags/ge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ge.png -------------------------------------------------------------------------------- /frontend/spa/flags/gf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/gf.png -------------------------------------------------------------------------------- /frontend/spa/flags/gg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/gg.png -------------------------------------------------------------------------------- /frontend/spa/flags/gh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/gh.png -------------------------------------------------------------------------------- /frontend/spa/flags/gi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/gi.png -------------------------------------------------------------------------------- /frontend/spa/flags/gl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/gl.png -------------------------------------------------------------------------------- /frontend/spa/flags/gm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/gm.png -------------------------------------------------------------------------------- /frontend/spa/flags/gn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/gn.png -------------------------------------------------------------------------------- /frontend/spa/flags/gp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/gp.png -------------------------------------------------------------------------------- /frontend/spa/flags/gq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/gq.png -------------------------------------------------------------------------------- /frontend/spa/flags/gr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/gr.png -------------------------------------------------------------------------------- /frontend/spa/flags/gs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/gs.png -------------------------------------------------------------------------------- /frontend/spa/flags/gt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/gt.png -------------------------------------------------------------------------------- /frontend/spa/flags/gu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/gu.png -------------------------------------------------------------------------------- /frontend/spa/flags/gw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/gw.png -------------------------------------------------------------------------------- /frontend/spa/flags/gy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/gy.png -------------------------------------------------------------------------------- /frontend/spa/flags/hk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/hk.png -------------------------------------------------------------------------------- /frontend/spa/flags/hm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/hm.png -------------------------------------------------------------------------------- /frontend/spa/flags/hn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/hn.png -------------------------------------------------------------------------------- /frontend/spa/flags/hr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/hr.png -------------------------------------------------------------------------------- /frontend/spa/flags/ht.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ht.png -------------------------------------------------------------------------------- /frontend/spa/flags/hu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/hu.png -------------------------------------------------------------------------------- /frontend/spa/flags/id.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/id.png -------------------------------------------------------------------------------- /frontend/spa/flags/ie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ie.png -------------------------------------------------------------------------------- /frontend/spa/flags/il.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/il.png -------------------------------------------------------------------------------- /frontend/spa/flags/im.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/im.png -------------------------------------------------------------------------------- /frontend/spa/flags/in.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/in.png -------------------------------------------------------------------------------- /frontend/spa/flags/io.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/io.png -------------------------------------------------------------------------------- /frontend/spa/flags/iq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/iq.png -------------------------------------------------------------------------------- /frontend/spa/flags/ir.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ir.png -------------------------------------------------------------------------------- /frontend/spa/flags/is.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/is.png -------------------------------------------------------------------------------- /frontend/spa/flags/it.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/it.png -------------------------------------------------------------------------------- /frontend/spa/flags/je.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/je.png -------------------------------------------------------------------------------- /frontend/spa/flags/jm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/jm.png -------------------------------------------------------------------------------- /frontend/spa/flags/jo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/jo.png -------------------------------------------------------------------------------- /frontend/spa/flags/jp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/jp.png -------------------------------------------------------------------------------- /frontend/spa/flags/ke.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ke.png -------------------------------------------------------------------------------- /frontend/spa/flags/kg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/kg.png -------------------------------------------------------------------------------- /frontend/spa/flags/kh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/kh.png -------------------------------------------------------------------------------- /frontend/spa/flags/ki.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ki.png -------------------------------------------------------------------------------- /frontend/spa/flags/km.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/km.png -------------------------------------------------------------------------------- /frontend/spa/flags/kn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/kn.png -------------------------------------------------------------------------------- /frontend/spa/flags/kp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/kp.png -------------------------------------------------------------------------------- /frontend/spa/flags/kr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/kr.png -------------------------------------------------------------------------------- /frontend/spa/flags/ks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ks.png -------------------------------------------------------------------------------- /frontend/spa/flags/kw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/kw.png -------------------------------------------------------------------------------- /frontend/spa/flags/ky.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ky.png -------------------------------------------------------------------------------- /frontend/spa/flags/kz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/kz.png -------------------------------------------------------------------------------- /frontend/spa/flags/la.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/la.png -------------------------------------------------------------------------------- /frontend/spa/flags/lb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/lb.png -------------------------------------------------------------------------------- /frontend/spa/flags/lc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/lc.png -------------------------------------------------------------------------------- /frontend/spa/flags/li.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/li.png -------------------------------------------------------------------------------- /frontend/spa/flags/lk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/lk.png -------------------------------------------------------------------------------- /frontend/spa/flags/lr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/lr.png -------------------------------------------------------------------------------- /frontend/spa/flags/ls.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ls.png -------------------------------------------------------------------------------- /frontend/spa/flags/lt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/lt.png -------------------------------------------------------------------------------- /frontend/spa/flags/lu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/lu.png -------------------------------------------------------------------------------- /frontend/spa/flags/lv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/lv.png -------------------------------------------------------------------------------- /frontend/spa/flags/ly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ly.png -------------------------------------------------------------------------------- /frontend/spa/flags/ma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ma.png -------------------------------------------------------------------------------- /frontend/spa/flags/mc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/mc.png -------------------------------------------------------------------------------- /frontend/spa/flags/md.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/md.png -------------------------------------------------------------------------------- /frontend/spa/flags/me.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/me.png -------------------------------------------------------------------------------- /frontend/spa/flags/mf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/mf.png -------------------------------------------------------------------------------- /frontend/spa/flags/mg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/mg.png -------------------------------------------------------------------------------- /frontend/spa/flags/mh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/mh.png -------------------------------------------------------------------------------- /frontend/spa/flags/mk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/mk.png -------------------------------------------------------------------------------- /frontend/spa/flags/ml.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ml.png -------------------------------------------------------------------------------- /frontend/spa/flags/mm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/mm.png -------------------------------------------------------------------------------- /frontend/spa/flags/mn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/mn.png -------------------------------------------------------------------------------- /frontend/spa/flags/mo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/mo.png -------------------------------------------------------------------------------- /frontend/spa/flags/mp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/mp.png -------------------------------------------------------------------------------- /frontend/spa/flags/mq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/mq.png -------------------------------------------------------------------------------- /frontend/spa/flags/mr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/mr.png -------------------------------------------------------------------------------- /frontend/spa/flags/ms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ms.png -------------------------------------------------------------------------------- /frontend/spa/flags/mt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/mt.png -------------------------------------------------------------------------------- /frontend/spa/flags/mu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/mu.png -------------------------------------------------------------------------------- /frontend/spa/flags/mv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/mv.png -------------------------------------------------------------------------------- /frontend/spa/flags/mw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/mw.png -------------------------------------------------------------------------------- /frontend/spa/flags/mx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/mx.png -------------------------------------------------------------------------------- /frontend/spa/flags/my.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/my.png -------------------------------------------------------------------------------- /frontend/spa/flags/mz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/mz.png -------------------------------------------------------------------------------- /frontend/spa/flags/na.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/na.png -------------------------------------------------------------------------------- /frontend/spa/flags/nc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/nc.png -------------------------------------------------------------------------------- /frontend/spa/flags/ne.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ne.png -------------------------------------------------------------------------------- /frontend/spa/flags/nf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/nf.png -------------------------------------------------------------------------------- /frontend/spa/flags/ng.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ng.png -------------------------------------------------------------------------------- /frontend/spa/flags/ni.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ni.png -------------------------------------------------------------------------------- /frontend/spa/flags/nl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/nl.png -------------------------------------------------------------------------------- /frontend/spa/flags/no.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/no.png -------------------------------------------------------------------------------- /frontend/spa/flags/np.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/np.png -------------------------------------------------------------------------------- /frontend/spa/flags/nr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/nr.png -------------------------------------------------------------------------------- /frontend/spa/flags/nu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/nu.png -------------------------------------------------------------------------------- /frontend/spa/flags/nz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/nz.png -------------------------------------------------------------------------------- /frontend/spa/flags/om.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/om.png -------------------------------------------------------------------------------- /frontend/spa/flags/pa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/pa.png -------------------------------------------------------------------------------- /frontend/spa/flags/pe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/pe.png -------------------------------------------------------------------------------- /frontend/spa/flags/pf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/pf.png -------------------------------------------------------------------------------- /frontend/spa/flags/pg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/pg.png -------------------------------------------------------------------------------- /frontend/spa/flags/ph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ph.png -------------------------------------------------------------------------------- /frontend/spa/flags/pk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/pk.png -------------------------------------------------------------------------------- /frontend/spa/flags/pl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/pl.png -------------------------------------------------------------------------------- /frontend/spa/flags/pm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/pm.png -------------------------------------------------------------------------------- /frontend/spa/flags/pn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/pn.png -------------------------------------------------------------------------------- /frontend/spa/flags/pr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/pr.png -------------------------------------------------------------------------------- /frontend/spa/flags/ps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ps.png -------------------------------------------------------------------------------- /frontend/spa/flags/pt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/pt.png -------------------------------------------------------------------------------- /frontend/spa/flags/pw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/pw.png -------------------------------------------------------------------------------- /frontend/spa/flags/py.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/py.png -------------------------------------------------------------------------------- /frontend/spa/flags/qa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/qa.png -------------------------------------------------------------------------------- /frontend/spa/flags/re.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/re.png -------------------------------------------------------------------------------- /frontend/spa/flags/ro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ro.png -------------------------------------------------------------------------------- /frontend/spa/flags/rs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/rs.png -------------------------------------------------------------------------------- /frontend/spa/flags/ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ru.png -------------------------------------------------------------------------------- /frontend/spa/flags/rw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/rw.png -------------------------------------------------------------------------------- /frontend/spa/flags/sa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/sa.png -------------------------------------------------------------------------------- /frontend/spa/flags/sb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/sb.png -------------------------------------------------------------------------------- /frontend/spa/flags/sc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/sc.png -------------------------------------------------------------------------------- /frontend/spa/flags/sd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/sd.png -------------------------------------------------------------------------------- /frontend/spa/flags/se.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/se.png -------------------------------------------------------------------------------- /frontend/spa/flags/sg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/sg.png -------------------------------------------------------------------------------- /frontend/spa/flags/sh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/sh.png -------------------------------------------------------------------------------- /frontend/spa/flags/si.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/si.png -------------------------------------------------------------------------------- /frontend/spa/flags/sk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/sk.png -------------------------------------------------------------------------------- /frontend/spa/flags/sl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/sl.png -------------------------------------------------------------------------------- /frontend/spa/flags/sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/sm.png -------------------------------------------------------------------------------- /frontend/spa/flags/sn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/sn.png -------------------------------------------------------------------------------- /frontend/spa/flags/so.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/so.png -------------------------------------------------------------------------------- /frontend/spa/flags/sr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/sr.png -------------------------------------------------------------------------------- /frontend/spa/flags/ss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ss.png -------------------------------------------------------------------------------- /frontend/spa/flags/st.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/st.png -------------------------------------------------------------------------------- /frontend/spa/flags/sv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/sv.png -------------------------------------------------------------------------------- /frontend/spa/flags/sx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/sx.png -------------------------------------------------------------------------------- /frontend/spa/flags/sy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/sy.png -------------------------------------------------------------------------------- /frontend/spa/flags/sz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/sz.png -------------------------------------------------------------------------------- /frontend/spa/flags/tc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/tc.png -------------------------------------------------------------------------------- /frontend/spa/flags/td.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/td.png -------------------------------------------------------------------------------- /frontend/spa/flags/tg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/tg.png -------------------------------------------------------------------------------- /frontend/spa/flags/th.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/th.png -------------------------------------------------------------------------------- /frontend/spa/flags/tj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/tj.png -------------------------------------------------------------------------------- /frontend/spa/flags/tk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/tk.png -------------------------------------------------------------------------------- /frontend/spa/flags/tl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/tl.png -------------------------------------------------------------------------------- /frontend/spa/flags/tm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/tm.png -------------------------------------------------------------------------------- /frontend/spa/flags/tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/tn.png -------------------------------------------------------------------------------- /frontend/spa/flags/to.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/to.png -------------------------------------------------------------------------------- /frontend/spa/flags/tr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/tr.png -------------------------------------------------------------------------------- /frontend/spa/flags/tt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/tt.png -------------------------------------------------------------------------------- /frontend/spa/flags/tv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/tv.png -------------------------------------------------------------------------------- /frontend/spa/flags/tw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/tw.png -------------------------------------------------------------------------------- /frontend/spa/flags/tz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/tz.png -------------------------------------------------------------------------------- /frontend/spa/flags/ua.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ua.png -------------------------------------------------------------------------------- /frontend/spa/flags/ug.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ug.png -------------------------------------------------------------------------------- /frontend/spa/flags/um.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/um.png -------------------------------------------------------------------------------- /frontend/spa/flags/us.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/us.png -------------------------------------------------------------------------------- /frontend/spa/flags/uy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/uy.png -------------------------------------------------------------------------------- /frontend/spa/flags/uz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/uz.png -------------------------------------------------------------------------------- /frontend/spa/flags/va.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/va.png -------------------------------------------------------------------------------- /frontend/spa/flags/vc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/vc.png -------------------------------------------------------------------------------- /frontend/spa/flags/ve.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ve.png -------------------------------------------------------------------------------- /frontend/spa/flags/vg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/vg.png -------------------------------------------------------------------------------- /frontend/spa/flags/vi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/vi.png -------------------------------------------------------------------------------- /frontend/spa/flags/vn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/vn.png -------------------------------------------------------------------------------- /frontend/spa/flags/vu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/vu.png -------------------------------------------------------------------------------- /frontend/spa/flags/wf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/wf.png -------------------------------------------------------------------------------- /frontend/spa/flags/wl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/wl.png -------------------------------------------------------------------------------- /frontend/spa/flags/ws.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ws.png -------------------------------------------------------------------------------- /frontend/spa/flags/ye.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/ye.png -------------------------------------------------------------------------------- /frontend/spa/flags/yt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/yt.png -------------------------------------------------------------------------------- /frontend/spa/flags/za.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/za.png -------------------------------------------------------------------------------- /frontend/spa/flags/zm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/zm.png -------------------------------------------------------------------------------- /frontend/spa/flags/zw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/zw.png -------------------------------------------------------------------------------- /frontend/spa/flags/gate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/gate.png -------------------------------------------------------------------------------- /frontend/spa/flags/nie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/flags/nie.png -------------------------------------------------------------------------------- /m17dashboard-screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/m17dashboard-screenshot.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/.npmrc: -------------------------------------------------------------------------------- 1 | # pnpm-related options 2 | shamefully-hoist=true 3 | strict-peer-dependencies=false 4 | -------------------------------------------------------------------------------- /frontend/spa/icons/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/icons/favicon-16x16.png -------------------------------------------------------------------------------- /frontend/spa/icons/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/icons/favicon-32x32.png -------------------------------------------------------------------------------- /frontend/spa/icons/favicon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/icons/favicon-96x96.png -------------------------------------------------------------------------------- /frontend/spa/icons/favicon-128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/icons/favicon-128x128.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/.eslintignore: -------------------------------------------------------------------------------- 1 | /dist 2 | /src-capacitor 3 | /src-cordova 4 | /.quasar 5 | /node_modules 6 | .eslintrc.js 7 | -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/favicon.ico -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ad.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ae.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ae.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/af.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/af.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ag.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ai.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ai.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/al.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/al.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/am.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/am.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ao.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ao.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/aq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/aq.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ar.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/as.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/as.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/at.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/at.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/au.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/au.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/aw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/aw.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ax.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ax.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/az.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/az.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ba.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ba.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/bb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/bb.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/bd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/bd.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/be.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/be.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/bf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/bf.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/bg.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/bh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/bh.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/bi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/bi.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/bj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/bj.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/bl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/bl.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/bm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/bm.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/bn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/bn.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/bo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/bo.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/br.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/br.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/bs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/bs.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/bt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/bt.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/bv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/bv.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/bw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/bw.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/by.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/by.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/bz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/bz.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ca.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ca.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/cc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/cc.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/cd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/cd.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/cf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/cf.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/cg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/cg.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ch.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ci.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ci.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ck.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ck.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/cl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/cl.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/cm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/cm.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/cn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/cn.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/co.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/co.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/cr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/cr.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/cs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/cs.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/cu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/cu.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/cv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/cv.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/cw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/cw.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/cx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/cx.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/cy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/cy.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/cz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/cz.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/de.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/de.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/dj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/dj.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/dk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/dk.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/dm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/dm.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/do.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/do.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/dz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/dz.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ec.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ec.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ee.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ee.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/eg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/eg.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/eh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/eh.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/er.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/er.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/es.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/es.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/et.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/et.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/fi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/fi.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/fj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/fj.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/fk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/fk.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/fm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/fm.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/fo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/fo.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/fr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/fr.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ga.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ga.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/gb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/gb.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/gd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/gd.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ge.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/gf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/gf.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/gg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/gg.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/gh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/gh.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/gi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/gi.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/gl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/gl.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/gm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/gm.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/gn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/gn.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/gp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/gp.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/gq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/gq.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/gr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/gr.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/gs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/gs.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/gt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/gt.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/gu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/gu.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/gw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/gw.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/gy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/gy.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/hk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/hk.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/hm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/hm.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/hn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/hn.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/hr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/hr.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ht.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ht.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/hu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/hu.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/id.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/id.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ie.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/il.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/il.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/im.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/im.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/in.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/in.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/io.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/io.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/iq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/iq.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ir.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ir.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/is.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/is.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/it.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/it.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/je.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/je.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/jm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/jm.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/jo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/jo.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/jp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/jp.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ke.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ke.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/kg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/kg.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/kh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/kh.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ki.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ki.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/km.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/km.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/kn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/kn.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/kp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/kp.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/kr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/kr.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ks.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/kw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/kw.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ky.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ky.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/kz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/kz.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/la.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/la.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/lb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/lb.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/lc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/lc.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/li.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/li.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/lk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/lk.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/lr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/lr.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ls.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ls.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/lt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/lt.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/lu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/lu.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/lv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/lv.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ly.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ma.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/mc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/mc.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/md.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/md.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/me.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/me.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/mf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/mf.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/mg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/mg.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/mh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/mh.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/mk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/mk.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ml.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ml.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/mm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/mm.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/mn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/mn.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/mo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/mo.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/mp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/mp.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/mq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/mq.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/mr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/mr.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ms.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/mt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/mt.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/mu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/mu.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/mv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/mv.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/mw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/mw.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/mx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/mx.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/my.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/my.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/mz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/mz.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/na.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/na.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/nc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/nc.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ne.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ne.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/nf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/nf.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ng.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ng.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ni.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ni.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/nie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/nie.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/nl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/nl.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/no.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/no.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/np.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/np.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/nr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/nr.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/nu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/nu.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/nz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/nz.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/om.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/om.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/pa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/pa.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/pe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/pe.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/pf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/pf.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/pg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/pg.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ph.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/pk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/pk.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/pl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/pl.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/pm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/pm.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/pn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/pn.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/pr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/pr.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ps.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/pt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/pt.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/pw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/pw.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/py.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/py.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/qa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/qa.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/re.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/re.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ro.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/rs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/rs.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ru.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/rw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/rw.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/sa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/sa.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/sb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/sb.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/sc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/sc.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/sd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/sd.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/se.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/se.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/sg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/sg.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/sh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/sh.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/si.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/si.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/sk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/sk.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/sl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/sl.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/sm.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/sn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/sn.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/so.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/so.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/sr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/sr.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ss.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/st.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/st.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/sv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/sv.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/sx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/sx.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/sy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/sy.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/sz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/sz.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/tc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/tc.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/td.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/td.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/tg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/tg.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/th.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/th.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/tj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/tj.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/tk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/tk.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/tl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/tl.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/tm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/tm.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/tn.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/to.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/to.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/tr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/tr.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/tt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/tt.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/tv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/tv.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/tw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/tw.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/tz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/tz.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ua.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ua.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ug.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ug.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/um.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/um.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/us.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/us.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/uy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/uy.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/uz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/uz.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/va.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/va.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/vc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/vc.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ve.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ve.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/vg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/vg.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/vi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/vi.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/vn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/vn.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/vu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/vu.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/wf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/wf.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/wl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/wl.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ws.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ws.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/ye.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/ye.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/yt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/yt.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/za.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/za.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/zm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/zm.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/zw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/zw.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/flags/gate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/flags/gate.png -------------------------------------------------------------------------------- /frontend/spa/assets/KFOmCnqEu92Fr1Mu4mxM.f2abf7fb.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/assets/KFOmCnqEu92Fr1Mu4mxM.f2abf7fb.woff -------------------------------------------------------------------------------- /frontend/spa/assets/KFOkCnqEu92Fr1MmgVxIIzQ.34e9582c.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/assets/KFOkCnqEu92Fr1MmgVxIIzQ.34e9582c.woff -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/icons/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/icons/favicon-16x16.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/icons/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/icons/favicon-32x32.png -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/icons/favicon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/icons/favicon-96x96.png -------------------------------------------------------------------------------- /frontend/spa/assets/KFOlCnqEu92Fr1MmEU9fBBc-.9ce7f3ac.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/assets/KFOlCnqEu92Fr1MmEU9fBBc-.9ce7f3ac.woff -------------------------------------------------------------------------------- /frontend/spa/assets/KFOlCnqEu92Fr1MmSU5fBBc-.bf14c7d7.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/assets/KFOlCnqEu92Fr1MmSU5fBBc-.bf14c7d7.woff -------------------------------------------------------------------------------- /frontend/spa/assets/KFOlCnqEu92Fr1MmWUlfBBc-.e0fd57c0.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/assets/KFOlCnqEu92Fr1MmWUlfBBc-.e0fd57c0.woff -------------------------------------------------------------------------------- /frontend/spa/assets/KFOlCnqEu92Fr1MmYUtfBBc-.f6537e32.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/assets/KFOlCnqEu92Fr1MmYUtfBBc-.f6537e32.woff -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/public/icons/favicon-128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/m17-dashboard-quasar/public/icons/favicon-128x128.png -------------------------------------------------------------------------------- /frontend/spa/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNa.fd84f88b.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNa.fd84f88b.woff -------------------------------------------------------------------------------- /frontend/spa/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.4a4dbc62.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kc1awv/gomrefdash/HEAD/frontend/spa/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.4a4dbc62.woff2 -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.exe 2 | *.exe~ 3 | *.dll 4 | *.so 5 | *.dylib 6 | *.test 7 | *.out 8 | go.work 9 | .env 10 | app 11 | mrefd.xml 12 | mrefd.old 13 | gomrefdash 14 | docker-compose.yml 15 | .vscode 16 | gomrefdash.toml 17 | -------------------------------------------------------------------------------- /entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cat << EOF > .env 3 | PORT=3000 4 | IPV4=$IPV4 5 | IPV6=$IPV6 6 | REFRESH=$REFRESH 7 | LASTHEARD=$LASTHEARD 8 | MREFDFILE=/var/log/mrefd.xml 9 | EMAIL=$EMAIL 10 | EOF 11 | 12 | ./gomrefdash -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/src/App.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 12 | -------------------------------------------------------------------------------- /.env.sample: -------------------------------------------------------------------------------- 1 | PORT=3000 # Gin listening port 2 | IPV4=1.2.3.4 # Reflector IPv4 address 3 | IPV6=a:b:c:d:e:f:1:2 # Reflector IPv6 address (if none, use NONE) 4 | REFRESH=10 # Page refresh in seconds 5 | LASTHEARD=20 # Number of stations to display in Last Heard (WIP) 6 | MREFDFILE=/var/log/mrefd.xml # This is where the mrefd.xml should be read from 7 | EMAIL=test@test.com # Sysop Email address -------------------------------------------------------------------------------- /gomrefdash.sample.toml: -------------------------------------------------------------------------------- 1 | hostport=":3000" # e.g. 127.0.0.1:3000 for only localhost 2 | ipv4="127.0.0.1" 3 | ipv6="01:02:03:04:05:06" 4 | refresh=10 5 | lastheard=20 6 | mreffile="/var/log/mrefd.xml" 7 | mrefpidfile="/var/run/mrefd.pid" 8 | email="sysop@m17reflector.xyz" 9 | debug=false # debug mode on, logs more information 10 | subpath="" # e.g. "/reflector" would be http://yourhostname/reflector, leave blank for no sub path 11 | callsigncountryfile="callsign_country.csv" 12 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM golang:bookworm as builder 2 | RUN apt-get install -y make git 3 | COPY ./ /usr/src/app/ 4 | WORKDIR /usr/src/app 5 | RUN make clean && make 6 | 7 | FROM debian:bookworm-slim 8 | ARG uid=1000 9 | ARG gid=1000 10 | ARG user=gouser 11 | ARG userhome=/app 12 | RUN groupadd -f -g ${gid} ${user} 13 | RUN useradd -l -u ${uid} -g ${gid} -d "${userhome}" -r ${user} 14 | USER ${user} 15 | WORKDIR ${userhome} 16 | COPY --from=builder /usr/src/app/gomrefdash . 17 | COPY --from=builder /usr/src/app/frontend/spa/ frontend/spa/ 18 | EXPOSE 3000 19 | ENTRYPOINT ./gomrefdash 20 | -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .thumbs.db 3 | node_modules 4 | 5 | # Quasar core related directories 6 | .quasar 7 | /dist 8 | 9 | # Cordova related directories and files 10 | /src-cordova/node_modules 11 | /src-cordova/platforms 12 | /src-cordova/plugins 13 | /src-cordova/www 14 | 15 | # Capacitor related directories and files 16 | /src-capacitor/www 17 | /src-capacitor/node_modules 18 | 19 | # Log files 20 | npm-debug.log* 21 | yarn-debug.log* 22 | yarn-error.log* 23 | 24 | # Editor directories and files 25 | .idea 26 | *.suo 27 | *.ntvs* 28 | *.njsproj 29 | *.sln 30 | -------------------------------------------------------------------------------- /frontend/spa/assets/ErrorNotFound.7131f27c.js: -------------------------------------------------------------------------------- 1 | import{i as t}from"./QBtn.627fa837.js";import{_ as o,A as s,C as r,Q as n,G as e,F as a}from"./index.ee2ecfee.js";const c=s({name:"ErrorNotFound"}),l={class:"fullscreen bg-blue text-white text-center q-pa-md flex flex-center"},i=e("div",{style:{"font-size":"30vh"}}," 404 ",-1),d=e("div",{class:"text-h2",style:{opacity:".4"}}," Oops. Nothing here... ",-1);function _(p,f,m,u,h,x){return r(),n("div",l,[e("div",null,[i,d,a(t,{class:"q-mt-xl",color:"white","text-color":"blue",unelevated:"",to:"/",label:"Go Home","no-caps":""})])])}var b=o(c,[["render",_]]);export{b as default}; 2 | -------------------------------------------------------------------------------- /.github/workflows/audit.yml: -------------------------------------------------------------------------------- 1 | name: Audit 2 | 3 | on: 4 | push: 5 | branches: [main] 6 | pull_request: 7 | branches: [main] 8 | 9 | jobs: 10 | 11 | audit: 12 | runs-on: ubuntu-22.04 13 | steps: 14 | - uses: actions/checkout@v2 15 | 16 | - name: Set up Go 17 | uses: actions/setup-go@v2 18 | with: 19 | go-version: 1.21 20 | 21 | - name: Verify dependencies 22 | run: go mod verify 23 | 24 | - name: Build 25 | run: go build -v ./... 26 | 27 | - name: Run go vet 28 | run: go vet ./... 29 | 30 | - name: Install staticcheck 31 | run: go install honnef.co/go/tools/cmd/staticcheck@latest 32 | 33 | - name: Run staticcheck 34 | run: staticcheck ./... 35 | -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/src/pages/ErrorNotFound.vue: -------------------------------------------------------------------------------- 1 | 24 | 25 | 32 | -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/README.md: -------------------------------------------------------------------------------- 1 | # M17 Dashboard (m17-dashboard-quasar) 2 | 3 | A Dashboard for M17 Reflector 4 | 5 | ## Install the dependencies 6 | ```bash 7 | yarn 8 | # or 9 | npm install 10 | ``` 11 | 12 | ### Start the app in development mode (hot-code reloading, error reporting, etc.) 13 | ```bash 14 | quasar dev 15 | ``` 16 | 17 | 18 | ### Lint the files 19 | ```bash 20 | yarn lint 21 | # or 22 | npm run lint 23 | ``` 24 | 25 | 26 | ### Format the files 27 | ```bash 28 | yarn format 29 | # or 30 | npm run format 31 | ``` 32 | 33 | 34 | 35 | ### Build the app for production 36 | ```bash 37 | quasar build 38 | ``` 39 | 40 | ### Customize the configuration 41 | See [Configuring quasar.config.js](https://v2.quasar.dev/quasar-cli-vite/quasar-config-js). 42 | -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": ".", 4 | "paths": { 5 | "src/*": [ 6 | "src/*" 7 | ], 8 | "app/*": [ 9 | "*" 10 | ], 11 | "components/*": [ 12 | "src/components/*" 13 | ], 14 | "layouts/*": [ 15 | "src/layouts/*" 16 | ], 17 | "pages/*": [ 18 | "src/pages/*" 19 | ], 20 | "assets/*": [ 21 | "src/assets/*" 22 | ], 23 | "boot/*": [ 24 | "src/boot/*" 25 | ], 26 | "stores/*": [ 27 | "src/stores/*" 28 | ], 29 | "vue$": [ 30 | "node_modules/vue/dist/vue.runtime.esm-bundler.js" 31 | ] 32 | } 33 | }, 34 | "exclude": [ 35 | "dist", 36 | ".quasar", 37 | "node_modules" 38 | ] 39 | } -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/src/router/routes.js: -------------------------------------------------------------------------------- 1 | const routes = [ 2 | { 3 | path: "/", 4 | component: () => import("layouts/MainLayout.vue"), 5 | children: [{ path: "", component: () => import("pages/IndexPage.vue") }], 6 | }, 7 | { 8 | path: "/links", 9 | component: () => import("layouts/MainLayout.vue"), 10 | children: [{ path: "", component: () => import("pages/LinksPage.vue") }], 11 | }, 12 | { 13 | path: "/peers", 14 | component: () => import("layouts/MainLayout.vue"), 15 | children: [{ path: "", component: () => import("pages/PeersPage.vue") }], 16 | }, 17 | 18 | // Always leave this as last one, 19 | // but you can also remove it 20 | { 21 | path: "/:catchAll(.*)*", 22 | component: () => import("pages/ErrorNotFound.vue"), 23 | }, 24 | ]; 25 | 26 | export default routes; 27 | -------------------------------------------------------------------------------- /frontend/spa/index.html: -------------------------------------------------------------------------------- 1 | M17 Dashboard 2 | 3 |
-------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/src/css/quasar.variables.scss: -------------------------------------------------------------------------------- 1 | // Quasar SCSS (& Sass) Variables 2 | // -------------------------------------------------- 3 | // To customize the look and feel of this app, you can override 4 | // the Sass/SCSS variables found in Quasar's source Sass/SCSS files. 5 | 6 | // Check documentation for full list of Quasar variables 7 | 8 | // Your own variables (that are declared here) and Quasar's own 9 | // ones will be available out of the box in your .vue/.scss/.sass files 10 | 11 | // It's highly recommended to change the default colors 12 | // to match your app's branding. 13 | // Tip: Use the "Theme Builder" on Quasar's documentation website. 14 | 15 | $primary: #18191a; 16 | $secondary: #26a69a; 17 | $accent: #9c27b0; 18 | 19 | $dark: #1d1d1d; 20 | $dark-page: #121212; 21 | 22 | $positive: #21ba45; 23 | $negative: #c10015; 24 | $info: #31ccec; 25 | $warning: #f2c037; 26 | -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/postcss.config.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // https://github.com/michael-ciniawsky/postcss-load-config 3 | 4 | module.exports = { 5 | plugins: [ 6 | // https://github.com/postcss/autoprefixer 7 | require('autoprefixer')({ 8 | overrideBrowserslist: [ 9 | 'last 4 Chrome versions', 10 | 'last 4 Firefox versions', 11 | 'last 4 Edge versions', 12 | 'last 4 Safari versions', 13 | 'last 4 Android versions', 14 | 'last 4 ChromeAndroid versions', 15 | 'last 4 FirefoxAndroid versions', 16 | 'last 4 iOS versions' 17 | ] 18 | }) 19 | 20 | // https://github.com/elchininet/postcss-rtlcss 21 | // If you want to support RTL css, then 22 | // 1. yarn/npm install postcss-rtlcss 23 | // 2. optionally set quasar.config.js > framework > lang to an RTL language 24 | // 3. uncomment the following line: 25 | // require('postcss-rtlcss') 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/src/components/EssentialLink.vue: -------------------------------------------------------------------------------- 1 | 21 | 22 | 50 | -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | <%= productName %> 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "m17-dashboard-quasar", 3 | "version": "0.0.1", 4 | "description": "A Dashboard for M17 Reflector", 5 | "productName": "M17 Dashboard", 6 | "author": "Dave Behnke <916775+dbehnke@users.noreply.github.com>", 7 | "private": true, 8 | "scripts": { 9 | "lint": "eslint --ext .js,.vue ./", 10 | "format": "prettier --write \"**/*.{js,vue,scss,html,md,json}\" --ignore-path .gitignore", 11 | "test": "echo \"No test specified\" && exit 0" 12 | }, 13 | "dependencies": { 14 | "@quasar/extras": "^1.0.0", 15 | "axios": "^1.2.1", 16 | "quasar": "^2.6.0", 17 | "vue": "^3.0.0", 18 | "vue-router": "^4.0.0" 19 | }, 20 | "devDependencies": { 21 | "@quasar/app-vite": "^1.0.0", 22 | "autoprefixer": "^10.4.2", 23 | "eslint": "^8.10.0", 24 | "eslint-config-prettier": "^8.1.0", 25 | "eslint-plugin-vue": "^9.0.0", 26 | "postcss": "^8.4.14", 27 | "prettier": "^2.5.1" 28 | }, 29 | "engines": { 30 | "node": "^18 || ^16 || ^14.19", 31 | "npm": ">= 6.13.4", 32 | "yarn": ">= 1.21.1" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/src/router/index.js: -------------------------------------------------------------------------------- 1 | import { route } from 'quasar/wrappers' 2 | import { createRouter, createMemoryHistory, createWebHistory, createWebHashHistory } from 'vue-router' 3 | import routes from './routes' 4 | 5 | /* 6 | * If not building with SSR mode, you can 7 | * directly export the Router instantiation; 8 | * 9 | * The function below can be async too; either use 10 | * async/await or return a Promise which resolves 11 | * with the Router instance. 12 | */ 13 | 14 | export default route(function (/* { store, ssrContext } */) { 15 | const createHistory = process.env.SERVER 16 | ? createMemoryHistory 17 | : (process.env.VUE_ROUTER_MODE === 'history' ? createWebHistory : createWebHashHistory) 18 | 19 | const Router = createRouter({ 20 | scrollBehavior: () => ({ left: 0, top: 0 }), 21 | routes, 22 | 23 | // Leave this as is and make changes in quasar.conf.js instead! 24 | // quasar.conf.js -> build -> vueRouterMode 25 | // quasar.conf.js -> build -> publicPath 26 | history: createHistory(process.env.VUE_ROUTER_BASE) 27 | }) 28 | 29 | return Router 30 | }) 31 | -------------------------------------------------------------------------------- /backend/cmd/dashboard/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "flag" 5 | "log" 6 | "os" 7 | 8 | "github.com/kc1awv/gomrefdash/backend/pkg/dashboard" 9 | "github.com/kc1awv/gomrefdash/backend/pkg/dashboard/config" 10 | ) 11 | 12 | var dver = "development" 13 | 14 | func main() { 15 | log.Printf("Starting %s %s", os.Args[0], dver) 16 | 17 | configFilename := "gomrefdash.toml" 18 | // Defining a string flag 19 | configFilePath := flag.String("config", configFilename, "Filepath of the config file to read") 20 | 21 | // Call flag.Parse() to parse the command-line flags 22 | flag.Parse() 23 | 24 | searchPaths := []string{*configFilePath} 25 | 26 | userConfigDir, err := os.UserConfigDir() 27 | 28 | if err == nil { 29 | searchPaths = append(searchPaths, userConfigDir+string(os.PathSeparator)+configFilename) 30 | } 31 | 32 | cfg, err := config.NewConfigFromFile(searchPaths) 33 | if err != nil { 34 | log.Fatalf("unable to get config: %s", err) 35 | } 36 | dashboard, err := dashboard.NewDashboard(cfg, dver) 37 | if err != nil { 38 | log.Fatalf("unable to create dashboard: %s", err) 39 | } 40 | log.Fatal(dashboard.Router.Run(dashboard.Config.HostPort)) 41 | } 42 | -------------------------------------------------------------------------------- /docker-compose.sample.yml: -------------------------------------------------------------------------------- 1 | version: "3.9" # optional since v1.27.0 2 | services: 3 | gomrefdash: 4 | build: . 5 | ports: 6 | - "3000:3000" 7 | volumes: 8 | - /var/log/mrefd.xml:/var/log/mrefd.xml 9 | - /var/run/mrefd.pid:/var/run/mrefd.pid 10 | - ./callsign_country.csv:/var/callsign_country.csv 11 | environment: 12 | - GOMREFDASH_HOSTPORT=:3000 13 | - GOMREFDASH_IPV4=127.0.0.1 # Reflector IPv4 address 14 | - GOMREFDASH_IPV6=NONE # Reflector IPv6 address (if none, use NONE) 15 | - GOMREFDASH_REFRESH=20 # Page refresh in seconds 16 | - GOMREFDASH_LASTHEARD=20 # Number of stations to display in Last Heard 17 | - GOMREFDASH_EMAIL=sysop@m17reflector.xyz # email address to contact about the reflector 18 | - GOMREFDASH_MREFFILE=/var/log/mrefd.xml # where the mrefd.xml is mounted 19 | - GOMREFDASH_MREFPIDFILE=/var/run/mrefd.pid # where the mrefd.pid is mounted 20 | #- GOMREFDASH_SUBPATH=/reflector # uncomment e.g. /reflector would be http://yourhostname/reflector 21 | - GOMREFDASH_CALLSIGNCOUNTRYFILE=/var/callsign_country.csv # path to callsign_country.csv file 22 | restart: always -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- 1 | module github.com/kc1awv/gomrefdash 2 | 3 | go 1.21 4 | 5 | require github.com/gin-gonic/gin v1.9.1 6 | 7 | require github.com/BurntSushi/toml v1.3.2 8 | 9 | require ( 10 | github.com/bytedance/sonic v1.10.2 // indirect 11 | github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect 12 | github.com/chenzhuoyu/iasm v0.9.0 // indirect 13 | github.com/gabriel-vasile/mimetype v1.4.3 // indirect 14 | github.com/gin-contrib/sse v0.1.0 // indirect 15 | github.com/go-playground/locales v0.14.1 // indirect 16 | github.com/go-playground/universal-translator v0.18.1 // indirect 17 | github.com/go-playground/validator/v10 v10.15.5 // indirect 18 | github.com/goccy/go-json v0.10.2 // indirect 19 | github.com/json-iterator/go v1.1.12 // indirect 20 | github.com/klauspost/cpuid/v2 v2.2.5 // indirect 21 | github.com/leodido/go-urn v1.2.4 // indirect 22 | github.com/mattn/go-isatty v0.0.19 // indirect 23 | github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect 24 | github.com/modern-go/reflect2 v1.0.2 // indirect 25 | github.com/pelletier/go-toml/v2 v2.1.0 // indirect 26 | github.com/twitchyliquid64/golang-asm v0.15.1 // indirect 27 | github.com/ugorji/go/codec v1.2.11 // indirect 28 | golang.org/x/arch v0.5.0 // indirect 29 | golang.org/x/crypto v0.14.0 // indirect 30 | golang.org/x/net v0.17.0 // indirect 31 | golang.org/x/sys v0.13.0 // indirect 32 | golang.org/x/text v0.13.0 // indirect 33 | google.golang.org/protobuf v1.31.0 // indirect 34 | gopkg.in/yaml.v3 v3.0.1 // indirect 35 | ) 36 | -------------------------------------------------------------------------------- /frontend/spa/assets/PeersPage.eddb94ec.js: -------------------------------------------------------------------------------- 1 | import{Q as i}from"./QTable.58117625.js";import{a as c,l as n}from"./axios.399f11d0.js";import"./compiler-core.esm-bundler.59e4b2e9.js";import{_ as m,A as d,r as p,C as u,Q as f,G as r,F as h}from"./index.ee2ecfee.js";import"./QBtn.627fa837.js";import"./scroll.2f16405f.js";const _=[{name:"callsign",label:"Callsign",field:"callsign",sortable:!0},{name:"ip",label:"IP",field:"ip",sortable:!0},{name:"linkedmodule",label:"Linked Module",field:"linkedmodule",sortable:!0},{name:"connecttime",label:"Connect Time",field:"connecttime",sortable:!0},{name:"lastheardtime",label:"Last Heard Time",field:"lastheardtime",sortable:!0}],g=d({data(){return{name:"Peers",peer_columns:_,peer_rows:[],pagination:p({rowsPerPage:0}),intervalId:null}},mounted(){this.fetchPeers(),this.intervalId=setInterval(()=>{this.fetchPeers()},2e4)},beforeRouteLeave(e,t,o){clearInterval(this.intervalId),o()},methods:{fetchPeers(){let e="/json/peers";c.get(e).then(t=>{let o=t.data;o.forEach(function(a,s){a.id=s+1,a.connecttime=n(a.connecttime),a.lastheardtime=n(a.lastheardtime),o[s]=a}),this.peer_rows=o}).catch(t=>{console.error(t)})}}}),b={class:"q-pa-sm"},v={class:"row"},w={class:"col-xs-12 col-md-12"},P={class:"q-pa-md"};function k(e,t,o,a,s,I){return u(),f("div",b,[r("div",v,[r("div",w,[r("div",P,[h(i,{rows:e.peer_rows,columns:e.peer_columns,"row-key":"name","virtual-scroll":"",pagination:e.pagination,"onUpdate:pagination":t[0]||(t[0]=l=>e.pagination=l),"rows-per-page-options":[0]},null,8,["rows","columns","pagination"])])])])])}var q=m(g,[["render",k]]);export{q as default}; 2 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | ARCH=$(shell arch) 2 | UNAME=$(shell uname) 3 | SHORTHASH=$(shell git rev-parse --short HEAD) 4 | VERSION=$(shell cat VERSION)-$(SHORTHASH) 5 | FILEVERSION=$(VERSION)-$(UNAME)-$(ARCH) 6 | 7 | all: gomrefdash 8 | 9 | .PHONY: version 10 | version: 11 | echo $(VERSION) 12 | 13 | gomrefdash: 14 | cd backend/cmd/dashboard && GOOS=$(GOOS) GOARCH=$(GOARCH) GOARM=$(GOARM) go build -o ../../../gomrefdash -ldflags "-X main.dver=$(VERSION)" 15 | 16 | .PHONY: package 17 | package: gomrefdash gomrefdash-$(FILEVERSION).tar.gz 18 | 19 | .PHONY: dev-frontend 20 | dev-frontend: 21 | cd frontend/m17-dashboard-quasar && quasar dev 22 | 23 | .PHONY: compile-frontend 24 | compile-frontend: 25 | cd frontend/m17-dashboard-quasar && quasar build 26 | -rm -rf frontend/spa 27 | cp -r frontend/m17-dashboard-quasar/dist/spa frontend/spa 28 | 29 | gomrefdash-$(FILEVERSION).tar.gz: gomrefdash 30 | tar cfz gomrefdash-$(FILEVERSION).tar.gz gomrefdash templates static .env.sample 31 | 32 | .PHONY: docker 33 | docker: 34 | docker build -t gomrefdash . 35 | 36 | .PHONY: docker-clean 37 | docker-clean: 38 | -docker image rm gomrefdash 39 | 40 | .PHONY: docker-compose-up 41 | docker-compose-up: 42 | docker-compose up -d 43 | docker-compose logs -f 44 | 45 | .PHONY: docker-compose-down 46 | docker-compose-down: 47 | docker-compose down 48 | 49 | .PHONY: docker-compose-logs 50 | docker-compose logs -f 51 | 52 | .PHONY: run 53 | run: 54 | go run -ldflags "-X main.dver=$(VERSION)" backend/cmd/dashboard/*.go 55 | 56 | .PHONY: clean 57 | clean: 58 | -rm gomrefdash 59 | -rm -f gomrefdash-$(FILEVERSION).tar.gz -------------------------------------------------------------------------------- /backend/pkg/dashboard/countrycallsigns.go: -------------------------------------------------------------------------------- 1 | package dashboard 2 | 3 | import ( 4 | "bufio" 5 | "fmt" 6 | "os" 7 | "strings" 8 | ) 9 | 10 | type Country struct { 11 | Country string `json:"country"` 12 | CountryCode string `json:"countrycode"` 13 | CallsignPrefixes []string `json:"-"` 14 | } 15 | 16 | type CountryCallsigns struct { 17 | Countries []Country 18 | } 19 | 20 | func NewCountryCallsignsFromFile(filename string) (*CountryCallsigns, error) { 21 | file, err := os.Open(filename) 22 | if err != nil { 23 | return nil, err 24 | } 25 | defer file.Close() 26 | 27 | var countries []Country 28 | scanner := bufio.NewScanner(file) 29 | for scanner.Scan() { 30 | line := scanner.Text() 31 | fields := strings.Split(line, ";") 32 | country := fields[0] 33 | countryCode := strings.ToLower(fields[1]) 34 | callsignPrefixes := strings.Split(fields[2], "-") 35 | countries = append(countries, Country{country, countryCode, callsignPrefixes}) 36 | } 37 | if err := scanner.Err(); err != nil { 38 | return nil, err 39 | } 40 | return &CountryCallsigns{Countries: countries}, nil 41 | } 42 | 43 | // GetCountryFromCallsign returns the Country struct for the given callsign and error if not found. 44 | func (cc *CountryCallsigns) GetCountryFromCallsign(callsign string) (Country, error) { 45 | for _, country := range cc.Countries { 46 | for _, callsignPrefix := range country.CallsignPrefixes { 47 | if strings.HasPrefix(callsign, callsignPrefix) { 48 | return country, nil 49 | } 50 | } 51 | } 52 | return Country{}, fmt.Errorf("country for callsign not found") 53 | } 54 | -------------------------------------------------------------------------------- /frontend/spa/assets/LinksPage.5b209dd5.js: -------------------------------------------------------------------------------- 1 | import{Q as r}from"./QTable.58117625.js";import{a as c,l}from"./axios.399f11d0.js";import"./compiler-core.esm-bundler.59e4b2e9.js";import{_ as m,A as d,r as p,C as u,Q as f,G as s,F as h}from"./index.ee2ecfee.js";import"./QBtn.627fa837.js";import"./scroll.2f16405f.js";const _=[{name:"callsign",label:"Callsign",field:"callsign",sortable:!0},{name:"ip",label:"IP",field:"ip",sortable:!0},{name:"linkedmodule",label:"Linked Module",field:"linkedmodule",sortable:!0},{name:"protocol",label:"Protocol",field:"protocol",sortable:!0},{name:"connecttime",label:"Connect Time",field:"connecttime",sortable:!0},{name:"lastheardtime",label:"Last Heard Time",field:"lastheardtime",sortable:!0}],b=d({data(){return{name:"Links",link_columns:_,link_rows:[],pagination:p({rowsPerPage:0}),intervalId:null}},mounted(){this.fetchLinks(),this.intervalId=setInterval(()=>{this.fetchLinks()},2e4)},beforeRouteLeave(e,t,a){clearInterval(this.intervalId),a()},methods:{fetchLinks(){let e="/json/links";c.get(e).then(t=>{let a=t.data;a.forEach(function(o,n){o.id=n+1,o.connecttime=l(o.connecttime),o.lastheardtime=l(o.lastheardtime),a[n]=o}),this.link_rows=a}).catch(t=>{console.error(t)})}}}),g={class:"q-pa-sm"},k={class:"row"},v={class:"col-xs-12 col-md-12"},w={class:"q-pa-md"};function L(e,t,a,o,n,I){return u(),f("div",g,[s("div",k,[s("div",v,[s("div",w,[h(r,{rows:e.link_rows,columns:e.link_columns,"row-key":"name","virtual-scroll":"",pagination:e.pagination,"onUpdate:pagination":t[0]||(t[0]=i=>e.pagination=i),"rows-per-page-options":[0]},null,8,["rows","columns","pagination"])])])])])}var q=m(b,[["render",L]]);export{q as default}; 2 | -------------------------------------------------------------------------------- /backend/pkg/dashboard/dashboard.go: -------------------------------------------------------------------------------- 1 | package dashboard 2 | 3 | import ( 4 | "fmt" 5 | "log" 6 | 7 | "github.com/gin-gonic/gin" 8 | "github.com/kc1awv/gomrefdash/backend/pkg/dashboard/config" 9 | ) 10 | 11 | type Dashboard struct { 12 | Config *config.Config 13 | Router *gin.Engine 14 | Reflector *Reflector 15 | Version string 16 | CountryCallsigns *CountryCallsigns 17 | } 18 | 19 | func NewDashboard(config *config.Config, version string) (*Dashboard, error) { 20 | // reflector setup 21 | reflector, err := NewReflectorFromFile(config.MrefFile, config.MrefPidFile) 22 | if err != nil { 23 | return nil, fmt.Errorf("unable to create reflector: %s", err) 24 | } 25 | 26 | // country callsigns setup 27 | log.Println("loading country callsigns from file") 28 | countryCallsigns, err := NewCountryCallsignsFromFile(config.CallsignCountryFile) 29 | if err != nil { 30 | return nil, fmt.Errorf("unable to create country callsigns: %s", err) 31 | } 32 | 33 | d := Dashboard{Version: version, Config: config, Reflector: reflector, CountryCallsigns: countryCallsigns} 34 | // router 35 | if !config.Debug { 36 | gin.SetMode(gin.ReleaseMode) 37 | } 38 | router := gin.Default() 39 | 40 | subPath := router.Group(config.SubPath) 41 | { 42 | subPath.GET("/status", d.showStatus) //dashboard status metadata 43 | subPath.GET("/json/reflector", d.showReflectorJSON) 44 | subPath.GET("/json/stations", d.showStationDataJSON) 45 | subPath.GET("/json/status", d.showStatus) //new spot for status 46 | subPath.GET("/json/links", d.showLinksDataJSON) 47 | subPath.GET("/json/modulesinuse", d.showModulesInUseJSON) 48 | subPath.GET("/json/peers", d.showPeers) 49 | subPath.GET("/json/metadata", d.showMetadata) 50 | subPath.GET("/json/countries", d.showCountries) 51 | subPath.Static("/assets", "frontend/spa/assets") 52 | subPath.Static("/icons", "frontend/spa/icons") 53 | subPath.Static("/flags", "frontend/spa/flags") 54 | subPath.StaticFile("/index.html", "frontend/spa/index.html") 55 | subPath.StaticFile("/", "frontend/spa/index.html") 56 | subPath.StaticFile("/favicon.ico", "frontend/spa/favicon.ico") 57 | 58 | } 59 | d.Router = router 60 | 61 | return &d, nil 62 | } 63 | -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/src/js/utilities.js: -------------------------------------------------------------------------------- 1 | export { getDateString, getTimeString, localTimeString, isLessThanOneMinuteAgo, secondsToTime }; 2 | 3 | function getDateString(dt) { 4 | const year = dt.getFullYear(); 5 | const m = dt.getMonth() + 1; 6 | var month = "" + m; 7 | if (m < 10) { 8 | month = "0" + m; 9 | } 10 | const d = dt.getDate(); 11 | var day = "" + d; 12 | if (d < 10) { 13 | day = "0" + d; 14 | } 15 | return year + "." + month + "." + day; 16 | } 17 | function getTimeString(dt) { 18 | const h = dt.getHours(); 19 | var hour = "" + h; 20 | if (h < 10) { 21 | hour = "0" + h; 22 | } 23 | const m = dt.getMinutes(); 24 | var min = "" + m; 25 | if (m < 10) { 26 | min = "0" + m; 27 | } 28 | return hour + ":" + min; 29 | } 30 | 31 | function diffSeconds(dt2, dt1) { 32 | var diff = (dt2.getTime() - dt1.getTime()) / 1000; 33 | 34 | return Math.abs(Math.round(diff)); 35 | } 36 | 37 | function localTimeString(dateTimeString) { 38 | const now = new Date(); 39 | const then = new Date(dateTimeString); 40 | if (now.toLocaleDateString() == then.toLocaleDateString()) { 41 | const dSeconds = diffSeconds(now, then); 42 | if (dSeconds < 60) { 43 | return dSeconds + " sec ago"; 44 | } 45 | if (dSeconds < 60 * 5) { 46 | return Math.abs(Math.round(dSeconds / 60)) + " min ago"; 47 | } 48 | return getTimeString(then); 49 | } 50 | return getDateString(then) + " " + getTimeString(then); 51 | } 52 | 53 | function isLessThanOneMinuteAgo(dateTimeString) { 54 | const now = new Date(); 55 | const then = new Date(dateTimeString); 56 | const dSeconds = diffSeconds(now, then); 57 | if (dSeconds < 60) { 58 | return true; 59 | } 60 | return false; 61 | } 62 | 63 | function secondsToTime(seconds) { 64 | const days = Math.floor(seconds / 86400); 65 | const hours = Math.floor((seconds % 86400) / 3600); 66 | const minutes = Math.floor(((seconds % 86400) % 3600) / 60); 67 | 68 | let time = ''; 69 | if (days > 0) { 70 | time += `${days} days, `; 71 | } 72 | if (hours > 0) { 73 | time += `${hours} hours, `; 74 | } 75 | if (minutes > 0) { 76 | time += `${minutes} minutes`; 77 | } 78 | 79 | return time; 80 | } 81 | -------------------------------------------------------------------------------- /.github/workflows/golangci-lint.yml: -------------------------------------------------------------------------------- 1 | name: golangci-lint 2 | on: 3 | push: 4 | branches: 5 | - master 6 | - main 7 | pull_request: 8 | 9 | permissions: 10 | contents: read 11 | # Optional: allow read access to pull request. Use with `only-new-issues` option. 12 | # pull-requests: read 13 | 14 | jobs: 15 | golangci: 16 | name: lint 17 | runs-on: ubuntu-latest 18 | steps: 19 | - uses: actions/checkout@v3 20 | - uses: actions/setup-go@v4 21 | with: 22 | go-version: '1.21' 23 | cache: false 24 | - name: golangci-lint 25 | uses: golangci/golangci-lint-action@v3 26 | with: 27 | # Require: The version of golangci-lint to use. 28 | # When `install-mode` is `binary` (default) the value can be v1.2 or v1.2.3 or `latest` to use the latest version. 29 | # When `install-mode` is `goinstall` the value can be v1.2.3, `latest`, or the hash of a commit. 30 | #version: v1.54 31 | version: latest 32 | 33 | # Optional: working directory, useful for monorepos 34 | # working-directory: somedir 35 | 36 | # Optional: golangci-lint command line arguments. 37 | # 38 | # Note: By default, the `.golangci.yml` file should be at the root of the repository. 39 | # The location of the configuration file can be changed by using `--config=` 40 | # args: --timeout=30m --config=/my/path/.golangci.yml --issues-exit-code=0 41 | 42 | # Optional: show only new issues if it's a pull request. The default value is `false`. 43 | # only-new-issues: true 44 | 45 | # Optional: if set to true, then all caching functionality will be completely disabled, 46 | # takes precedence over all other caching options. 47 | # skip-cache: true 48 | 49 | # Optional: if set to true, then the action won't cache or restore ~/go/pkg. 50 | # skip-pkg-cache: true 51 | 52 | # Optional: if set to true, then the action won't cache or restore ~/.cache/go-build. 53 | # skip-build-cache: true 54 | 55 | # Optional: The mode to install golangci-lint. It can be 'binary' or 'goinstall'. 56 | # install-mode: "goinstall" -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | // https://eslint.org/docs/user-guide/configuring#configuration-cascading-and-hierarchy 3 | // This option interrupts the configuration hierarchy at this file 4 | // Remove this if you have an higher level ESLint config file (it usually happens into a monorepos) 5 | root: true, 6 | 7 | parserOptions: { 8 | ecmaVersion: '2021', // Allows for the parsing of modern ECMAScript features 9 | }, 10 | 11 | env: { 12 | node: true, 13 | browser: true, 14 | 'vue/setup-compiler-macros': true 15 | }, 16 | 17 | // Rules order is important, please avoid shuffling them 18 | extends: [ 19 | // Base ESLint recommended rules 20 | // 'eslint:recommended', 21 | 22 | // Uncomment any of the lines below to choose desired strictness, 23 | // but leave only one uncommented! 24 | // See https://eslint.vuejs.org/rules/#available-rules 25 | 'plugin:vue/vue3-essential', // Priority A: Essential (Error Prevention) 26 | // 'plugin:vue/vue3-strongly-recommended', // Priority B: Strongly Recommended (Improving Readability) 27 | // 'plugin:vue/vue3-recommended', // Priority C: Recommended (Minimizing Arbitrary Choices and Cognitive Overhead) 28 | 29 | // https://github.com/prettier/eslint-config-prettier#installation 30 | // usage with Prettier, provided by 'eslint-config-prettier'. 31 | 'prettier' 32 | ], 33 | 34 | plugins: [ 35 | // https://eslint.vuejs.org/user-guide/#why-doesn-t-it-work-on-vue-files 36 | // required to lint *.vue files 37 | 'vue', 38 | 39 | // https://github.com/typescript-eslint/typescript-eslint/issues/389#issuecomment-509292674 40 | // Prettier has not been included as plugin to avoid performance impact 41 | // add it as an extension for your IDE 42 | 43 | ], 44 | 45 | globals: { 46 | ga: 'readonly', // Google Analytics 47 | cordova: 'readonly', 48 | __statics: 'readonly', 49 | __QUASAR_SSR__: 'readonly', 50 | __QUASAR_SSR_SERVER__: 'readonly', 51 | __QUASAR_SSR_CLIENT__: 'readonly', 52 | __QUASAR_SSR_PWA__: 'readonly', 53 | process: 'readonly', 54 | Capacitor: 'readonly', 55 | chrome: 'readonly' 56 | }, 57 | 58 | // add your custom rules here 59 | rules: { 60 | 61 | 'prefer-promise-reject-errors': 'off', 62 | 63 | // allow debugger during development only 64 | 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off' 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /backend/pkg/dashboard/utilities.go: -------------------------------------------------------------------------------- 1 | package dashboard 2 | 3 | import ( 4 | "fmt" 5 | "os" 6 | "strings" 7 | "time" 8 | ) 9 | 10 | func timeSinceModified(filename string) (time.Duration, error) { 11 | file, err := os.Open(filename) 12 | if err != nil { 13 | return 0, err 14 | } 15 | defer file.Close() 16 | 17 | fileInfo, err := file.Stat() 18 | if err != nil { 19 | return 0, err 20 | } 21 | 22 | modifiedTime := fileInfo.ModTime() 23 | timeSinceModified := time.Since(modifiedTime) 24 | return timeSinceModified, nil 25 | } 26 | 27 | func isModifiedOver2MinutesAgo(filename string) (bool, error) { 28 | file, err := os.Open(filename) 29 | if err != nil { 30 | return false, err 31 | } 32 | defer file.Close() 33 | 34 | fileInfo, err := file.Stat() 35 | if err != nil { 36 | return false, err 37 | } 38 | 39 | modifiedTime := fileInfo.ModTime() 40 | timeSinceModified := time.Since(modifiedTime) 41 | if timeSinceModified > (2 * time.Minute) { 42 | return true, nil 43 | } 44 | return false, nil 45 | } 46 | 47 | func mrefdUptime(pidFile, checkFile string) (time.Duration, error) { 48 | uptime, err := timeSinceModified(pidFile) 49 | if err != nil { 50 | return 0, err 51 | } 52 | stale, err := isModifiedOver2MinutesAgo(checkFile) 53 | if err != nil { 54 | return 0, err 55 | } 56 | if stale { 57 | return uptime, fmt.Errorf("check file is older than two minutes") 58 | } 59 | return uptime, nil 60 | } 61 | 62 | // maskIP partially hides an IP address so only the first two 63 | // octets or segments are returned. For IPv4 the result will 64 | // look like "X.X.xx.xx" and for IPv6 "X:X:xx:xx...". 65 | func maskIP(ip string) string { 66 | if ip == "" { 67 | return "" 68 | } 69 | if strings.Contains(ip, ".") { 70 | parts := strings.Split(ip, ".") 71 | if len(parts) >= 2 { 72 | return fmt.Sprintf("%s.%s.xx.xx", parts[0], parts[1]) 73 | } 74 | } 75 | if strings.Contains(ip, ":") { 76 | parts := strings.Split(ip, ":") 77 | if len(parts) >= 2 { 78 | masked := make([]string, len(parts)-2) 79 | for i := range masked { 80 | masked[i] = "xx" 81 | } 82 | return strings.Join(append([]string{parts[0], parts[1]}, masked...), ":") 83 | } 84 | } 85 | return ip 86 | } 87 | 88 | // if needed to test the function 89 | /*func main() { 90 | pidFile := "/var/run/mrefd.pid" 91 | checkFile := "/var/log/mrefd.xml" 92 | uptime, err := mrefdUptime(pidFile, checkFile) 93 | if err != nil { 94 | fmt.Println(err) 95 | os.Exit(1) 96 | } 97 | fmt.Printf("mrefd has been up for %s", uptime) 98 | } 99 | */ 100 | -------------------------------------------------------------------------------- /frontend/spa/assets/scroll.2f16405f.js: -------------------------------------------------------------------------------- 1 | import{v as u,j as p,k as c}from"./QBtn.627fa837.js";import{q as a,o as f,l as h,g as m}from"./index.ee2ecfee.js";let l,r=0;const n=new Array(256);for(let t=0;t<256;t++)n[t]=(t+256).toString(16).substring(1);const v=(()=>{const t=typeof crypto!="undefined"?crypto:typeof window!="undefined"?window.crypto||window.msCrypto:void 0;if(t!==void 0){if(t.randomBytes!==void 0)return t.randomBytes;if(t.getRandomValues!==void 0)return o=>{const e=new Uint8Array(o);return t.getRandomValues(e),e}}return o=>{const e=[];for(let i=o;i>0;i--)e.push(Math.floor(Math.random()*256));return e}})(),d=4096;function E(){(l===void 0||r+16>d)&&(r=0,l=v(d));const t=Array.prototype.slice.call(l,r,r+=16);return t[6]=t[6]&15|64,t[8]=t[8]&63|128,n[t[0]]+n[t[1]]+n[t[2]]+n[t[3]]+"-"+n[t[4]]+n[t[5]]+"-"+n[t[6]]+n[t[7]]+"-"+n[t[8]]+n[t[9]]+"-"+n[t[10]]+n[t[11]]+n[t[12]]+n[t[13]]+n[t[14]]+n[t[15]]}function T(){let t;const o=m();function e(){t=void 0}return a(e),f(e),{removeTick:e,registerTick(i){t=i,h(()=>{t===i&&(u(o)===!1&&t(),t=void 0)})}}}function S(){let t=null;const o=m();function e(){t!==null&&(clearTimeout(t),t=null)}return a(e),f(e),{removeTimeout:e,registerTimeout(i,w){e(),u(o)===!1&&(t=setTimeout(i,w))}}}let y=!1;{const t=document.createElement("div");t.setAttribute("dir","rtl"),Object.assign(t.style,{width:"1px",height:"1px",overflow:"auto"});const o=document.createElement("div");Object.assign(o.style,{width:"1000px",height:"1px"}),document.body.appendChild(t),t.appendChild(o),t.scrollLeft=-1e3,y=t.scrollLeft>=0,t.remove()}const g=[null,document,document.body,document.scrollingElement,document.documentElement];function L(t,o){let e=p(o);if(e===void 0){if(t==null)return window;e=t.closest(".scroll,.scroll-y,.overflow-auto")}return g.includes(e)?window:e}function C(t){return t===window?window.pageYOffset||window.scrollY||document.body.scrollTop||0:t.scrollTop}function B(t){return t===window?window.pageXOffset||window.scrollX||document.body.scrollLeft||0:t.scrollLeft}let s;function k(){if(s!==void 0)return s;const t=document.createElement("p"),o=document.createElement("div");c(t,{width:"100%",height:"200px"}),c(o,{position:"absolute",top:"0px",left:"0px",visibility:"hidden",width:"200px",height:"150px",overflow:"hidden"}),o.appendChild(t),document.body.appendChild(o);const e=t.offsetWidth;o.style.overflow="scroll";let i=t.offsetWidth;return e===i&&(i=o.clientWidth),o.remove(),s=e-i,s}function W(t,o=!0){return!t||t.nodeType!==Node.ELEMENT_NODE?!1:o?t.scrollHeight>t.clientHeight&&(t.classList.contains("scroll")||t.classList.contains("overflow-auto")||["auto","scroll"].includes(window.getComputedStyle(t)["overflow-y"])):t.scrollWidth>t.clientWidth&&(t.classList.contains("scroll")||t.classList.contains("overflow-auto")||["auto","scroll"].includes(window.getComputedStyle(t)["overflow-x"]))}export{T as a,S as b,C as c,B as d,k as e,L as g,W as h,y as r,E as u}; 2 | -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/src/pages/PeersPage.vue: -------------------------------------------------------------------------------- 1 | 19 | 20 | 110 | -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/src/pages/LinksPage.vue: -------------------------------------------------------------------------------- 1 | 19 | 20 | 117 | -------------------------------------------------------------------------------- /backend/pkg/dashboard/config/config.go: -------------------------------------------------------------------------------- 1 | package config 2 | 3 | import ( 4 | "fmt" 5 | "log" 6 | "os" 7 | "strconv" 8 | 9 | "github.com/BurntSushi/toml" 10 | ) 11 | 12 | type Config struct { 13 | HostPort string `toml:"hostport"` 14 | IPv4 string `toml:"ipv4"` 15 | IPv6 string `toml:"ipv6"` 16 | Refresh int `toml:"refresh"` 17 | LastHeard int `toml:"lastheard"` 18 | MrefFile string `toml:"mreffile"` 19 | MrefPidFile string `toml:"mrefpidfile"` 20 | Email string `toml:"email"` 21 | Debug bool `toml:"debug"` 22 | SubPath string `toml:"subpath"` 23 | CallsignCountryFile string `toml:"callsigncountryfile"` 24 | } 25 | 26 | func checkEnvOrErrString(k string) (string, error) { 27 | v, ok := os.LookupEnv(k) 28 | if !ok { 29 | return "", fmt.Errorf("%s not set", k) 30 | } 31 | return v, nil 32 | } 33 | 34 | func checkEnvOrErrInt(k string) (int, error) { 35 | v, ok := os.LookupEnv(k) 36 | if !ok { 37 | return 0, fmt.Errorf("%s not set", k) 38 | } 39 | i, err := strconv.ParseInt(v, 10, 32) 40 | return int(i), err 41 | } 42 | 43 | func NewConfigFromEnv() (*Config, error) { 44 | prefix := "GOMREFDASH" 45 | var config Config 46 | var err error 47 | 48 | config.HostPort, err = checkEnvOrErrString(prefix + "_HOSTPORT") 49 | if err != nil { 50 | return nil, err 51 | } 52 | 53 | config.Email, err = checkEnvOrErrString(prefix + "_EMAIL") 54 | if err != nil { 55 | return nil, err 56 | } 57 | 58 | config.IPv4, err = checkEnvOrErrString(prefix + "_IPV4") 59 | if err != nil { 60 | return nil, err 61 | } 62 | 63 | config.IPv6, err = checkEnvOrErrString(prefix + "_IPV6") 64 | if err != nil { 65 | return nil, err 66 | } 67 | 68 | config.LastHeard, err = checkEnvOrErrInt(prefix + "_LASTHEARD") 69 | if err != nil { 70 | return nil, err 71 | } 72 | 73 | config.MrefFile, err = checkEnvOrErrString(prefix + "_MREFFILE") 74 | if err != nil { 75 | return nil, err 76 | } 77 | 78 | config.MrefPidFile, err = checkEnvOrErrString(prefix + "_MREFPIDFILE") 79 | if err != nil { 80 | return nil, err 81 | } 82 | 83 | config.Refresh, err = checkEnvOrErrInt(prefix + "_REFRESH") 84 | if err != nil { 85 | return nil, err 86 | } 87 | 88 | config.SubPath, err = checkEnvOrErrString(prefix + "_SUBPATH") 89 | if err != nil { 90 | log.Println("warning: No SUBPATH defined, this is ok default to /") 91 | } 92 | 93 | config.CallsignCountryFile, err = checkEnvOrErrString(prefix + "_CALLSIGNCOUNTRYFILE") 94 | if err != nil { 95 | log.Println("warning: No CALLSIGNCOUNTRYFILE defined") 96 | } 97 | return &config, nil 98 | } 99 | 100 | func NewConfigFromFile(searchPaths []string) (*Config, error) { 101 | foundFile := "" 102 | for _, f := range searchPaths { 103 | _, err := os.Stat(f) 104 | if err != nil { 105 | log.Printf("%s not found", f) 106 | continue 107 | } 108 | log.Printf("%s found.", f) 109 | foundFile = f 110 | break 111 | } 112 | if foundFile == "" { 113 | log.Println("no config files found, let's try reading from environment") 114 | return NewConfigFromEnv() 115 | } 116 | b, err := os.ReadFile(foundFile) 117 | if err != nil { 118 | return nil, fmt.Errorf("unable to read configfile %s: %s", foundFile, err) 119 | } 120 | var config Config 121 | err = toml.Unmarshal(b, &config) 122 | if err != nil { 123 | return nil, fmt.Errorf("unable to unmarshal %s into a Config: %s", foundFile, err) 124 | } 125 | return &config, nil 126 | } 127 | -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/src/layouts/MainLayout.vue: -------------------------------------------------------------------------------- 1 | 32 | 33 | 113 | -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/src/assets/quasar-logo-vertical.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 8 | 10 | 12 | 14 | 15 | -------------------------------------------------------------------------------- /frontend/spa/assets/compiler-core.esm-bundler.59e4b2e9.js: -------------------------------------------------------------------------------- 1 | import{c as o,b as v,e as E,f as I,g as $}from"./QBtn.627fa837.js";import{c as n,h as r,g as b,r as y,b as R,s as p}from"./index.ee2ecfee.js";const m={dark:{type:Boolean,default:null}};function f(e,a){return n(()=>e.dark===null?a.dark.isActive:e.dark)}const D=["horizontal","vertical","cell","none"];var A=o({name:"QMarkupTable",props:{...m,dense:Boolean,flat:Boolean,bordered:Boolean,square:Boolean,wrapCells:Boolean,separator:{type:String,default:"horizontal",validator:e=>D.includes(e)}},setup(e,{slots:a}){const l=b(),u=f(e,l.proxy.$q),i=n(()=>`q-markup-table q-table__container q-table__card q-table--${e.separator}-separator`+(u.value===!0?" q-table--dark q-table__card--dark q-dark":"")+(e.dense===!0?" q-table--dense":"")+(e.flat===!0?" q-table--flat":"")+(e.bordered===!0?" q-table--bordered":"")+(e.square===!0?" q-table--square":"")+(e.wrapCells===!1?" q-table--no-wrap":""));return()=>r("div",{class:i.value},[r("table",{class:"q-table"},v(a.default))])}}),T=o({name:"QItemLabel",props:{overline:Boolean,caption:Boolean,header:Boolean,lines:[Number,String]},setup(e,{slots:a}){const l=n(()=>parseInt(e.lines,10)),u=n(()=>"q-item__label"+(e.overline===!0?" q-item__label--overline text-overline":"")+(e.caption===!0?" q-item__label--caption text-caption":"")+(e.header===!0?" q-item__label--header":"")+(l.value===1?" ellipsis":"")),i=n(()=>e.lines!==void 0&&l.value>1?{overflow:"hidden",display:"-webkit-box","-webkit-box-orient":"vertical","-webkit-line-clamp":l.value}:null);return()=>r("div",{style:i.value,class:u.value},v(a.default))}}),M=o({name:"QItemSection",props:{avatar:Boolean,thumbnail:Boolean,side:Boolean,top:Boolean,noWrap:Boolean},setup(e,{slots:a}){const l=n(()=>`q-item__section column q-item__section--${e.avatar===!0||e.side===!0||e.thumbnail===!0?"side":"main"}`+(e.top===!0?" q-item__section--top justify-start":" justify-center")+(e.avatar===!0?" q-item__section--avatar":"")+(e.thumbnail===!0?" q-item__section--thumbnail":"")+(e.noWrap===!0?" q-item__section--nowrap":""));return()=>r("div",{class:l.value},v(a.default))}}),N=o({name:"QItem",props:{...m,...E,tag:{type:String,default:"div"},active:{type:Boolean,default:null},clickable:Boolean,dense:Boolean,insetLevel:Number,tabindex:[String,Number],focused:Boolean,manualFocus:Boolean},emits:["click","keyup"],setup(e,{slots:a,emit:l}){const{proxy:{$q:u}}=b(),i=f(e,u),{hasLink:q,linkAttrs:_,linkClass:h,linkTag:B,navigateOnClick:w}=I(),c=y(null),d=y(null),k=n(()=>e.clickable===!0||q.value===!0||e.tag==="label"),s=n(()=>e.disable!==!0&&k.value===!0),x=n(()=>"q-item q-item-type row no-wrap"+(e.dense===!0?" q-item--dense":"")+(i.value===!0?" q-item--dark":"")+(q.value===!0&&e.active===null?h.value:e.active===!0?` q-item--active${e.activeClass!==void 0?` ${e.activeClass}`:""}`:"")+(e.disable===!0?" disabled":"")+(s.value===!0?" q-item--clickable q-link cursor-pointer "+(e.manualFocus===!0?"q-manual-focusable":"q-focusable q-hoverable")+(e.focused===!0?" q-manual-focusable--focused":""):"")),C=n(()=>{if(e.insetLevel===void 0)return null;const t=u.lang.rtl===!0?"Right":"Left";return{["padding"+t]:16+e.insetLevel*56+"px"}});function L(t){s.value===!0&&(d.value!==null&&(t.qKeyEvent!==!0&&document.activeElement===c.value?d.value.focus():document.activeElement===d.value&&c.value.focus()),w(t))}function Q(t){if(s.value===!0&&R(t,13)===!0){p(t),t.qKeyEvent=!0;const g=new MouseEvent("click",t);g.qKeyEvent=!0,c.value.dispatchEvent(g)}l("keyup",t)}function S(){const t=$(a.default,[]);return s.value===!0&&t.unshift(r("div",{class:"q-focus-helper",tabindex:-1,ref:d})),t}return()=>{const t={ref:c,class:x.value,style:C.value,role:"listitem",onClick:L,onKeyup:Q};return s.value===!0?(t.tabindex=e.tabindex||"0",Object.assign(t,_.value)):k.value===!0&&(t["aria-disabled"]="true"),r(B.value,t,S())}}}),P=o({name:"QList",props:{...m,bordered:Boolean,dense:Boolean,separator:Boolean,padding:Boolean,tag:{type:String,default:"div"}},setup(e,{slots:a}){const l=b(),u=f(e,l.proxy.$q),i=n(()=>"q-list"+(e.bordered===!0?" q-list--bordered":"")+(e.dense===!0?" q-list--dense":"")+(e.separator===!0?" q-list--separator":"")+(u.value===!0?" q-list--dark":"")+(e.padding===!0?" q-list--padding":""));return()=>r(e.tag,{class:i.value},v(a.default))}});new RegExp("\\b"+"arguments,await,break,case,catch,class,const,continue,debugger,default,delete,do,else,export,extends,finally,for,function,if,import,let,new,return,super,switch,throw,try,var,void,while,with,yield".split(",").join("\\b|\\b")+"\\b");export{A as Q,f as a,T as b,P as c,N as d,M as e,m as u}; 2 | -------------------------------------------------------------------------------- /frontend/spa/assets/IndexPage.fbb2689d.js: -------------------------------------------------------------------------------- 1 | import{c as b,b as k,i as _,R as Q}from"./QBtn.627fa837.js";import{u as C,a as L,Q as B,b as w,c as $,d as D,e as M}from"./compiler-core.esm-bundler.59e4b2e9.js";import{c as S,h as I,g as z,_ as P,A as T,r as R,C as n,Q as h,G as t,F as r,E as l,I as v,R as m,S as f,H as i,D as x,w as j}from"./index.ee2ecfee.js";import{a as g,l as E,i as F}from"./axios.399f11d0.js";var y=b({name:"QCardSection",props:{tag:{type:String,default:"div"},horizontal:Boolean},setup(e,{slots:o}){const a=S(()=>`q-card__section q-card__section--${e.horizontal===!0?"horiz row no-wrap":"vert"}`);return()=>I(e.tag,{class:a.value},k(o.default))}}),q=b({name:"QCard",props:{...C,tag:{type:String,default:"div"},square:Boolean,flat:Boolean,bordered:Boolean},setup(e,{slots:o}){const{proxy:{$q:a}}=z(),d=L(e,a),c=S(()=>"q-card"+(d.value===!0?" q-card--dark q-dark":"")+(e.bordered===!0?" q-card--bordered":"")+(e.square===!0?" q-card--square no-border-radius":"")+(e.flat===!0?" q-card--flat no-shadow":""));return()=>I(e.tag,{class:c.value},k(o.default))}});const N=T({data(){return{name:"M17 Dashboard",station_rows:[],modules:[],pagination:R({rowsPerPage:0}),intervalId:null}},mounted(){this.fetchMetadata(),this.fetchStationsList(),this.intervalId=setInterval(()=>{this.fetchStationsList()},2e4)},beforeRouteLeave(e,o,a){clearInterval(this.intervalId),a()},methods:{fetchMetadata(){let e="/json/metadata";g.get(e).then(o=>{this.metadata=o.data}).catch(o=>{console.error(o)})},fetchStationsList(){let e="/json/stations";g.get(e).then(a=>{let d=a.data;d.stations.forEach(function(c,u){c.id=u+1,c.lastheardlocal=E(c.lastheard),c.txactive=F(c.lastheard),d.stations[u]=c}),this.station_rows=d.stations,d.stations.length>0&&(d.stations[0].txactive==!0?this.name="TX: "+d.stations[0].callsign:this.name=this.metadata.reflector_callsign+" Dashboard",document.title=this.name)}).catch(a=>{console.error(a)});let o="/json/modulesinuse";g.get(o).then(a=>{this.modules=a.data}).catch(a=>{console.error(a)})}}}),V={class:"q-pa-sm"},A={class:"row"},H={class:"col-xs-12 col-sm-10 col-md-8"},G={class:"q-pa-md"},O=t("th",{class:"gt-xs text-right",style:{"max-width":"50px"}},"#",-1),U=t("th",{class:"text-center",style:{"max-width":"50px"}},"Flag",-1),X={class:"text-center",style:{"max-width":"150px"}},J=t("th",{class:"gt-xs text-left",style:{"max-width":"50px"}},"Suf",-1),K=t("th",{class:"gt-xs text-left",style:{"max-width":"100px"}},"Link/Peer",-1),W=t("th",{class:"text-left",style:{"max-width":"50px"}},"Mod",-1),Y=t("th",{class:"text-left",style:{"max-width":"150px"}},"Last Heard",-1),Z={class:"gt-xs text-right",style:{"max-width":"50px"}},tt={class:"text-center",style:{"max-width":"50px"}},et=["src"],st={class:"text-center",style:{"max-width":"150px"}},at={class:"gt-xs text-left",style:{"max-width":"50px"}},lt={class:"gt-xs text-left",style:{"max-width":"100px"}},ot={class:"text-left",style:{"max-width":"50px"}},rt={class:"text-left",style:{"max-width":"150px"}},dt={class:"col-xs-12 col-sm-5 col-md-4"},ct={class:"q-pa-sm"},nt=t("div",{align:"center"},"Modules In Use",-1),it={class:"q-pa-sm"},ht={class:"row"},ut={class:"text-h6"};function _t(e,o,a,d,c,u){return n(),h("div",V,[t("div",A,[t("div",H,[t("div",G,[r(B,null,{default:l(()=>[t("thead",null,[t("tr",null,[O,U,t("th",X,[r(_,{flat:"","no-caps":""},{default:l(()=>[v("Callsign")]),_:1})]),J,K,W,Y])]),t("tbody",null,[(n(!0),h(m,null,f(e.station_rows,s=>(n(),h("tr",{key:s},[t("td",Z,i(s.id),1),t("td",tt,[t("img",{width:"30",src:`/flags/${s.country.countrycode}.png`},null,8,et)]),t("td",st,[s.txactive==!0?(n(),x(_,{key:0,"icon-right":"campaign",color:"red","text-color":"white",href:`https://www.qrz.com/db/${s.callsign}`,target:"_blank"},{default:l(()=>[t("u",null,i(s.callsign),1)]),_:2},1032,["href"])):(n(),x(_,{key:1,flat:"",href:`https://www.qrz.com/db/${s.callsign}`,target:"_blank"},{default:l(()=>[t("u",null,i(s.callsign),1)]),_:2},1032,["href"]))]),t("td",at,i(s.callsignsuffix),1),t("td",lt,i(s.vianode),1),t("td",ot,i(s.onmodule),1),t("td",rt,i(s.lastheardlocal),1)]))),128))])]),_:1})])]),t("div",dt,[t("div",ct,[r(q,null,{default:l(()=>[r(y,null,{default:l(()=>[nt,t("div",it,[t("div",ht,[(n(!0),h(m,null,f(e.modules,s=>(n(),h("div",{class:"col-6 q-pa-sm",key:s.name},[r(q,{class:"mycard"},{default:l(()=>[r(y,null,{default:l(()=>[r(w,{header:"",align:"center"},{default:l(()=>[t("div",ut,i(s.name),1)]),_:2},1024),r(w,{align:"center"},{default:l(()=>[r($,{bordered:"",separator:""},{default:l(()=>[(n(!0),h(m,null,f(s.callsigns,p=>j((n(),x(D,{clickable:"",key:p},{default:l(()=>[r(M,null,{default:l(()=>[v(i(p),1)]),_:2},1024)]),_:2},1024)),[[Q]])),128))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024)]))),128))])])]),_:1})]),_:1})])])])])}var pt=P(N,[["render",_t]]);export{pt as default}; 2 | -------------------------------------------------------------------------------- /backend/pkg/dashboard/handlers.go: -------------------------------------------------------------------------------- 1 | package dashboard 2 | 3 | import ( 4 | "sort" 5 | "strings" 6 | 7 | "github.com/gin-gonic/gin" 8 | ) 9 | 10 | // combines config and reflector data into json for the dashboard view 11 | func (d *Dashboard) showMetadata(c *gin.Context) { 12 | d.Reflector.refreshIfNeeded() 13 | d.Reflector.Lock.Lock() 14 | defer d.Reflector.Lock.Unlock() 15 | c.JSON(200, gin.H{ 16 | "sysop_email": d.Config.Email, 17 | "ipV4": d.Config.IPv4, 18 | "ipV6": d.Config.IPv6, 19 | "reflector_callsign": d.Reflector.ReflectorData.Callsign, 20 | "reflector_version": d.Reflector.ReflectorData.Version, 21 | "dashboard_version": d.Version, 22 | }) 23 | } 24 | 25 | // showStatus returns runtime information about the reflector and dashboard. 26 | func (d *Dashboard) showStatus(c *gin.Context) { 27 | r := d.Reflector 28 | r.refreshIfNeeded() 29 | status := struct { 30 | LastUpdateUnixTime int64 `json:"lastupdate"` 31 | LastDataUpdateUnixTime int64 `json:"lastmrefdupdate"` 32 | ReflectorStatus string `json:"reflectorstatus"` 33 | ReflectorUptimeSeconds int64 `json:"reflectoruptimeseconds"` 34 | }{ 35 | LastUpdateUnixTime: r.LastUpdateCheckTime.Unix(), 36 | LastDataUpdateUnixTime: r.ReflectorData.FileTime.Unix(), 37 | ReflectorStatus: r.Status, 38 | ReflectorUptimeSeconds: r.UptimeSeconds, 39 | } 40 | 41 | c.JSON(200, status) 42 | } 43 | 44 | // showCountries returns the country callsign data in JSON. 45 | func (d *Dashboard) showCountries(c *gin.Context) { 46 | c.JSON(200, d.CountryCallsigns) 47 | } 48 | 49 | // showReflectorJSON returns the entire reflector stuct in JSON. 50 | func (d *Dashboard) showReflectorJSON(c *gin.Context) { 51 | d.Reflector.Lock.Lock() 52 | defer d.Reflector.Lock.Unlock() 53 | c.JSON(200, d.Reflector) 54 | } 55 | 56 | func (d *Dashboard) showStationDataJSON(c *gin.Context) { 57 | d.Reflector.refreshIfNeeded() 58 | d.Reflector.Lock.Lock() 59 | defer d.Reflector.Lock.Unlock() 60 | type stationData struct { 61 | Callsign string `json:"callsign"` 62 | CallsignSuffix string `json:"callsignsuffix"` 63 | ViaNode string `json:"vianode"` 64 | OnModule string `json:"onmodule"` 65 | LastHeard string `json:"lastheard"` 66 | Country Country `json:"country"` 67 | } 68 | var data struct { 69 | Stations []stationData `json:"stations"` 70 | } 71 | for i, station := range d.Reflector.ReflectorData.Stations { 72 | callsignSplit := strings.Fields(station.Callsign) 73 | if len(callsignSplit) < 2 { 74 | callsignSplit = append(callsignSplit, " ") 75 | } 76 | country, err := d.CountryCallsigns.GetCountryFromCallsign(callsignSplit[0]) 77 | if err != nil { 78 | country = Country{} 79 | } 80 | data.Stations = append(data.Stations, stationData{ 81 | Callsign: callsignSplit[0], 82 | CallsignSuffix: callsignSplit[1], 83 | ViaNode: station.ViaNode, 84 | OnModule: station.OnModule, 85 | LastHeard: station.LastHeardTime, 86 | Country: country, 87 | }) 88 | if i >= d.Config.LastHeard-1 { 89 | break 90 | } // respect the last heard 91 | } 92 | c.JSON(200, data) 93 | } 94 | 95 | func (d *Dashboard) showPeers(c *gin.Context) { 96 | d.Reflector.refreshIfNeeded() 97 | d.Reflector.Lock.Lock() 98 | defer d.Reflector.Lock.Unlock() 99 | c.JSON(200, d.Reflector.ReflectorData.Peers) 100 | } 101 | 102 | func (d *Dashboard) showLinksDataJSON(c *gin.Context) { 103 | d.Reflector.refreshIfNeeded() 104 | 105 | type linkData struct { 106 | Callsign string `json:"callsign"` 107 | IPAddress string `json:"ip"` 108 | LinkedModule string `json:"linkedmodule"` 109 | Protocol string `json:"protocol"` 110 | ConnectTime string `json:"connecttime"` 111 | LastHeardTime string `json:"lastheardtime"` 112 | } 113 | 114 | links := make([]linkData, 0, len(d.Reflector.ReflectorData.Nodes)) 115 | for _, node := range d.Reflector.ReflectorData.Nodes { 116 | links = append(links, linkData{ 117 | Callsign: node.Callsign, 118 | IPAddress: maskIP(node.IPAddress), 119 | LinkedModule: node.LinkedModule, 120 | Protocol: node.Protocol, 121 | ConnectTime: node.ConnectTime, 122 | LastHeardTime: node.LastHeardTime, 123 | }) 124 | } 125 | 126 | c.JSON(200, links) 127 | } 128 | 129 | func (d *Dashboard) showModulesInUseJSON(c *gin.Context) { 130 | type moduleInfo struct { 131 | Name string `json:"name"` 132 | Callsigns []string `json:"callsigns"` 133 | } 134 | 135 | modules := d.Reflector.GetModules() 136 | // Go Maps are not in any order.. binary trees.. make order from the chaos! 137 | 138 | // make a list of keys. 139 | keys := make([]string, 0, len(modules)) 140 | for k := range modules { 141 | keys = append(keys, k) 142 | } 143 | 144 | // sort the keys 145 | sort.Strings(keys) 146 | 147 | // make moduleData by iterating the sorted keys 148 | moduleData := make([]moduleInfo, 0, len(keys)) 149 | for _, name := range keys { 150 | //sort the callsigns 151 | callSigns := modules[name] 152 | sort.Strings(callSigns) 153 | 154 | moduleData = append(moduleData, moduleInfo{Name: name, Callsigns: callSigns}) 155 | } 156 | c.JSON(200, moduleData) 157 | } 158 | -------------------------------------------------------------------------------- /frontend/m17-dashboard-quasar/src/pages/IndexPage.vue: -------------------------------------------------------------------------------- 1 | 70 | 71 | 158 | --------------------------------------------------------------------------------