mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-08-06 05:28:29 -04:00
core: migrate to dankgo shared go modules, embed quickshell in DMS
binary to mount at runtime, -c or DMS_SHELL_DIR overrides required to explicitly override embedded configuration
This commit is contained in:
@@ -2,13 +2,12 @@ package tailscale
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net"
|
||||
|
||||
"github.com/AvengeMedia/DankMaterialShell/core/internal/server/models"
|
||||
)
|
||||
|
||||
// HandleRequest routes an IPC request to the appropriate handler.
|
||||
func HandleRequest(conn net.Conn, req models.Request, manager *Manager) {
|
||||
func HandleRequest(conn *models.Conn, req models.Request, manager *Manager) {
|
||||
switch req.Method {
|
||||
case "tailscale.getStatus":
|
||||
handleGetStatus(conn, req, manager)
|
||||
@@ -27,17 +26,17 @@ func HandleRequest(conn net.Conn, req models.Request, manager *Manager) {
|
||||
}
|
||||
}
|
||||
|
||||
func handleGetStatus(conn net.Conn, req models.Request, manager *Manager) {
|
||||
func handleGetStatus(conn *models.Conn, req models.Request, manager *Manager) {
|
||||
state := manager.GetState()
|
||||
models.Respond(conn, req.ID, state)
|
||||
}
|
||||
|
||||
func handleRefresh(conn net.Conn, req models.Request, manager *Manager) {
|
||||
func handleRefresh(conn *models.Conn, req models.Request, manager *Manager) {
|
||||
manager.RefreshState()
|
||||
models.Respond(conn, req.ID, models.SuccessResult{Success: true, Message: "refreshed"})
|
||||
}
|
||||
|
||||
func handleConnect(conn net.Conn, req models.Request, manager *Manager) {
|
||||
func handleConnect(conn *models.Conn, req models.Request, manager *Manager) {
|
||||
if err := manager.Connect(); err != nil {
|
||||
models.RespondError(conn, req.ID, err.Error())
|
||||
return
|
||||
@@ -45,7 +44,7 @@ func handleConnect(conn net.Conn, req models.Request, manager *Manager) {
|
||||
models.Respond(conn, req.ID, models.SuccessResult{Success: true, Message: "connected"})
|
||||
}
|
||||
|
||||
func handleDisconnect(conn net.Conn, req models.Request, manager *Manager) {
|
||||
func handleDisconnect(conn *models.Conn, req models.Request, manager *Manager) {
|
||||
if err := manager.Disconnect(); err != nil {
|
||||
models.RespondError(conn, req.ID, err.Error())
|
||||
return
|
||||
@@ -53,7 +52,7 @@ func handleDisconnect(conn net.Conn, req models.Request, manager *Manager) {
|
||||
models.Respond(conn, req.ID, models.SuccessResult{Success: true, Message: "disconnected"})
|
||||
}
|
||||
|
||||
func handleSetExitNode(conn net.Conn, req models.Request, manager *Manager) {
|
||||
func handleSetExitNode(conn *models.Conn, req models.Request, manager *Manager) {
|
||||
id := models.GetOr(req, "id", "")
|
||||
if err := manager.SetExitNode(id); err != nil {
|
||||
models.RespondError(conn, req.ID, err.Error())
|
||||
@@ -62,7 +61,7 @@ func handleSetExitNode(conn net.Conn, req models.Request, manager *Manager) {
|
||||
models.Respond(conn, req.ID, models.SuccessResult{Success: true, Message: "exit node updated"})
|
||||
}
|
||||
|
||||
func handleSetAllowLanAccess(conn net.Conn, req models.Request, manager *Manager) {
|
||||
func handleSetAllowLanAccess(conn *models.Conn, req models.Request, manager *Manager) {
|
||||
enabled := models.GetOr(req, "enabled", false)
|
||||
if err := manager.SetAllowLANAccess(enabled); err != nil {
|
||||
models.RespondError(conn, req.ID, err.Error())
|
||||
|
||||
@@ -47,7 +47,7 @@ func TestHandleGetStatus(t *testing.T) {
|
||||
defer m.Close()
|
||||
|
||||
buf := &bytes.Buffer{}
|
||||
conn := &mockConn{Buffer: buf}
|
||||
conn := models.NewConn(&mockConn{Buffer: buf})
|
||||
|
||||
req := models.Request{ID: 1, Method: "tailscale.getStatus"}
|
||||
handleGetStatus(conn, req, m)
|
||||
@@ -66,7 +66,7 @@ func TestHandleRefresh(t *testing.T) {
|
||||
defer m.Close()
|
||||
|
||||
buf := &bytes.Buffer{}
|
||||
conn := &mockConn{Buffer: buf}
|
||||
conn := models.NewConn(&mockConn{Buffer: buf})
|
||||
|
||||
req := models.Request{ID: 1, Method: "tailscale.refresh"}
|
||||
handleRefresh(conn, req, m)
|
||||
@@ -98,7 +98,7 @@ func TestHandleActions(t *testing.T) {
|
||||
defer m.Close()
|
||||
|
||||
buf := &bytes.Buffer{}
|
||||
conn := &mockConn{Buffer: buf}
|
||||
conn := models.NewConn(&mockConn{Buffer: buf})
|
||||
|
||||
req := models.Request{ID: 1, Method: tc.method, Params: tc.params}
|
||||
HandleRequest(conn, req, m)
|
||||
@@ -125,7 +125,7 @@ func TestHandleAction_BackendError(t *testing.T) {
|
||||
defer m.Close()
|
||||
|
||||
buf := &bytes.Buffer{}
|
||||
conn := &mockConn{Buffer: buf}
|
||||
conn := models.NewConn(&mockConn{Buffer: buf})
|
||||
|
||||
req := models.Request{ID: 1, Method: "tailscale.connect"}
|
||||
HandleRequest(conn, req, m)
|
||||
@@ -141,7 +141,7 @@ func TestHandleRequest_UnknownMethod(t *testing.T) {
|
||||
defer m.Close()
|
||||
|
||||
buf := &bytes.Buffer{}
|
||||
conn := &mockConn{Buffer: buf}
|
||||
conn := models.NewConn(&mockConn{Buffer: buf})
|
||||
|
||||
req := models.Request{ID: 1, Method: "tailscale.unknownMethod"}
|
||||
HandleRequest(conn, req, m)
|
||||
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/AvengeMedia/DankMaterialShell/core/internal/log"
|
||||
"github.com/AvengeMedia/DankMaterialShell/core/pkg/syncmap"
|
||||
"github.com/AvengeMedia/dankgo/syncmap"
|
||||
"tailscale.com/client/local"
|
||||
"tailscale.com/ipn"
|
||||
"tailscale.com/ipn/ipnstate"
|
||||
@@ -133,7 +133,7 @@ func (m *Manager) watchLoop(ctx context.Context) {
|
||||
break
|
||||
}
|
||||
|
||||
if notify.State == nil && notify.NetMap == nil {
|
||||
if notify.State == nil && notify.NetMap == nil { //nolint:staticcheck // NetMap is deprecated upstream but still the only activity signal on some platforms
|
||||
continue
|
||||
}
|
||||
select {
|
||||
|
||||
Reference in New Issue
Block a user