File tree Expand file tree Collapse file tree 1 file changed +34
-0
lines changed Expand file tree Collapse file tree 1 file changed +34
-0
lines changed Original file line number Diff line number Diff line change
1
+ # DeadManSwitch
2
+
3
+ DeadManSwitch is a lightweight Go program that runs a specified command with arguments and simultaneously starts a WebSocket signaling server.
4
+
5
+ ## Program Behavior
6
+
7
+ DeadManSwitch operates with the following behavior:
8
+
9
+ 1 . If the launched command exits, DeadManSwitch exits as well.
10
+ 2 . If no client connects to the WebSocket signaling server within ` DEADMANSWITCH_TIMEOUT ` seconds (default is 10 seconds), the process terminates.
11
+ 3 . If a client connects but then disconnects, the process terminates.
12
+
13
+ ## Configuration
14
+
15
+ You can configure DeadManSwitch using the following environment variables:
16
+
17
+ - ** ` DEADMANSWITCH_TIMEOUT ` ** : Sets the timeout (in seconds) to wait for clients to connect to the WebSocket signaling server. Default is 10 seconds.
18
+ - ** ` DEADMANSWITCH_PORT ` ** : Specifies the port to run the server on.
19
+ - ** ` DEADMANSWITCH_SUFFIX ` ** : Defines a suffix for the WebSocket URL endpoint.
20
+
21
+ ## Usage Example
22
+
23
+ The following command launches ` sleep 100 ` and accepts WebSocket connections on ` ws://localhost:54321/foobar ` :
24
+
25
+ ``` bash
26
+ DEADMANSWITCH_TIMEOUT=10 \
27
+ DEADMANSWITCH_PORT=54321 \
28
+ DEADMANSWITCH_SUFFIX=foobar \
29
+ deadmanswitch sleep 100
30
+ ```
31
+
32
+ ## Compilation
33
+
34
+ To compile, run ` ./build.sh `
You can’t perform that action at this time.
0 commit comments