Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
edcb103
Checkpoint
kaelemc Jul 25, 2025
91239ad
Delete wireshark.ts
kaelemc Jul 26, 2025
efb91ca
Refactor packetflix capture logic
kaelemc Jul 26, 2025
4125d6a
Use publish ports for random port selection, and kill container based…
kaelemc Jul 26, 2025
4fbc41a
Node name in tab + get hostname and port from packetflix URI generator
kaelemc Jul 26, 2025
1b270e3
Use new image name
kaelemc Jul 26, 2025
2394fce
Whitespace
kaelemc Jul 26, 2025
2a12698
Make the image configurable
kaelemc Jul 26, 2025
0641395
Change prefix name, and append date to suffix for uniqueness
kaelemc Jul 26, 2025
d073bb0
Format webview HTML
kaelemc Jul 26, 2025
8f873c6
Make it more configurable
kaelemc Jul 26, 2025
87012cb
Allow for extra docker args
kaelemc Jul 26, 2025
49bff3d
Export edgeshark commands
kaelemc Jul 26, 2025
2d10333
Check for Edgeshark before initiating capture
kaelemc Jul 26, 2025
5dff7c3
attach to the right network
FloSch62 Jul 27, 2025
10e5b6d
adds a delay and a check to load the webview
FloSch62 Jul 27, 2025
9cc8b15
mount labdir of the port
FloSch62 Jul 27, 2025
bdb34bb
Setting for dark/light mode wireshark + theme based detection
kaelemc Jul 27, 2025
4b0caac
Fix setting path name
kaelemc Jul 27, 2025
9882352
Add execWithProgress command
kaelemc Jul 27, 2025
b3240c8
Use execWithProgress to show pull progress
kaelemc Jul 27, 2025
f97c2dd
Create utility func to get a random port
kaelemc Jul 27, 2025
8e5c0f7
Use vscode externalURI forwarding
kaelemc Jul 27, 2025
70c99f6
lint + test
kaelemc Jul 27, 2025
3715a79
Add command to kill all VNC containers
kaelemc Jul 27, 2025
1045c0d
Update captureEdgesharkVNC to handle both localhost and 127.0.0.1 in …
FloSch62 Jul 28, 2025
175bffa
add pull policy setting
kaelemc Jul 29, 2025
3e416b8
integrate to Topoviewer (#208)
asadarafat Jul 29, 2025
7ec745e
Add a config getter
kaelemc Jul 31, 2025
e4a5fd7
Add runWithProgress to command classes
kaelemc Jul 31, 2025
897e7d0
Migrate command and tests to runWithProgress
kaelemc Jul 31, 2025
3e4fefe
Add setting to keep wireshark window active in background
kaelemc Jul 31, 2025
e849112
Bump iFrame reload time to 10s
kaelemc Jul 31, 2025
4eedc18
Add refresh after execution of clabCommand
kaelemc Aug 1, 2025
51aa982
remove Wireshark path configuration; update capture logic to default …
FloSch62 Aug 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .vscodeignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,7 @@ test.clab.yml

#clab files
clab-*/
*.clab.yml*
*.clab.yml*

#others
.claude/**
6 changes: 1 addition & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,11 +90,7 @@ Customize your experience under `containerlab.*` in VS Code Settings:
Map a node’s `kind` to its preferred exec command (e.g. `{ "nokia_srlinux": "sr_cli" }`).

- **`containerlab.node.sshUserMapping`** (object)
Map a node’s `kind` to its preferred ssh user (e.g. `{ "nokia_srlinux": "clab" }`).

- **`containerlab.wsl.wiresharkPath`** (string)
Path to Wireshark in Windows from inside WSL.
_Default: `/mnt/c/Program Files/Wireshark/wireshark.exe`_
Map a node's `kind` to its preferred ssh user (e.g. `{ "nokia_srlinux": "clab" }`).

- **`containerlab.remote.hostname`** (string)
Hostname or IP used for remote connections (affects packet capture).
Expand Down
63 changes: 58 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -305,6 +305,10 @@
"command": "containerlab.interface.captureWithEdgeshark",
"title": "Capture interface (Edgeshark)"
},
{
"command": "containerlab.interface.captureWithEdgesharkVNC",
"title": "Capture interface (Edgeshark VNC)"
},
{
"command": "containerlab.interface.setDelay",
"title": "Set delay"
Expand Down Expand Up @@ -339,6 +343,11 @@
"title": "Uninstall Edgeshark",
"category": "Containerlab"
},
{
"command": "containerlab.capture.killAllWiresharkVNC",
"title": "Kill all Wireshark VNC containers",
"category": "Containerlab"
},
{
"command": "containerlab.set.sessionHostname",
"title": "Configure hostname for this session",
Expand Down Expand Up @@ -823,6 +832,11 @@
"when": "viewItem == containerlabInterfaceUp",
"group": "captureContextMenu@1"
},
{
"command": "containerlab.interface.captureWithEdgesharkVNC",
"when": "viewItem == containerlabInterfaceUp",
"group": "captureContextMenu@2"
},
{
"command": "containerlab.interface.setDelay",
"when": "viewItem == containerlabInterfaceUp",
Expand Down Expand Up @@ -1059,11 +1073,6 @@
"default": {},
"markdownDescription": "Custom SSH users for different node kinds. Enter the mapping between the kind and SSH username.\n\nFor example: `{\"nokia_srlinux\": \"clab\"}` means that `ssh clab@<container>` will be used if `<container>` is the `nokia_srlinux` kind."
},
"containerlab.wsl.wiresharkPath": {
"type": "string",
"default": "/mnt/c/Program Files/Wireshark/wireshark.exe",
"markdownDescription": "The path to the wireshark executable on windows from inside WSL. The default path is `/mnt/c/Program Files/Wireshark/wireshark.exe`."
},
"containerlab.remote.hostname": {
"type": "string",
"default": "",
Expand Down Expand Up @@ -1123,6 +1132,50 @@
"type": "string",
"default": "",
"description": "Additional docker (or podman) arguments to append to the fcli command"
},
"containerlab.capture.preferredAction": {
"type": "string",
"default": "Wireshark VNC",
"enum": [
"Edgeshark",
"Wireshark VNC"
],
"description": "The preferred capture method when using the capture interface quick action on the interface tree item"
},
"containerlab.capture.wireshark.dockerImage": {
"type": "string",
"default": "ghcr.io/kaelemc/wireshark-vnc-docker:latest",
"description": "The docker image to use for Wireshark/Edgeshark VNC capture. Requires full image name + tag"
},
"containerlab.capture.wireshark.pullPolicy": {
"type": "string",
"default": "always",
"enum": [
"always",
"missing",
"never"
],
"description": "The pull policy of the Wireshark docker image"
},
"containerlab.capture.wireshark.extraDockerArgs": {
"type": "string",
"default": "",
"description": "Extra arguments to pass to the run command for the wireshark VNC container. Useful for things like bind mounts etc."
},
"containerlab.capture.wireshark.theme": {
"type": "string",
"default": "Follow VS Code theme",
"enum": [
"Follow VS Code theme",
"Dark",
"Light"
],
"description": "The theme, or colour scheme of the wireshark application."
},
"containerlab.capture.wireshark.stayOpenInBackground": {
"type": "boolean",
"default": "true",
"description": "Keep Wireshark VNC sessions alive, even when the capture tab is not active. Enabling this will consume more memory on both the client and remote containerlab host system."
}
}
}
Expand Down
Loading
Loading