Cristi
d7c78f5744
feat(compute): Fix ambiguous log message related to the active console transport.
...
Co-authored-by: Copilot <copilot@github.com>
2026-04-30 18:07:23 +03:00
Cristi
d64eca0418
feat(compute): add SSH console type support
2026-04-30 15:52:47 +03:00
grossmj
80cc85e5d5
Fix exception when custom adapters is not set
2026-04-15 14:17:12 +08:00
Cristi
83558d4d9f
Enhancement: Re-write current Telnet server implementation using telnetlib3 library
2026-03-24 13:23:45 +02:00
YueGuobin
64d3c02d42
refactor(compute): remove SPICE WebSocket console support
...
Remove all SPICE WebSocket-related code due to frontend dependency issues
with spice-html5 library (missing RSAKey/BigInteger implementations).
Changes:
- Remove start_spice_websocket_console() from BaseNode
- Remove SPICE WebSocket endpoints from QEMU and Docker compute APIs
- Remove SPICE WebSocket proxy endpoint from controller API
- Remove WebSocket subprotocol handling from authentication layers
- Remove SPICE documentation
The SPICE console type remains functional for direct connections,
but WebSocket proxy support has been removed.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-03-17 01:15:26 +08:00
YueGuobin
c98f802362
feat(compute): add SPICE WebSocket console support
...
Add WebSocket-based console support for SPICE protocol, enabling
browser-based graphical console access with enhanced features
like clipboard sharing, USB redirection, and audio streaming.
Changes:
- Add start_spice_websocket_console() method in BaseNode for SPICE
WebSocket to TCP bridging with bidirectional binary forwarding
- Add /console/spice WebSocket endpoints in QEMU and Docker compute APIs
- Add /console/spice WebSocket proxy endpoint in controller API
- Add comprehensive API documentation in docs/features/
Supported console types:
- spice: Basic SPICE protocol support
- spice+agent: SPICE with spice-vdagent for enhanced features
Architecture:
- Browser WebSocket → Controller (JWT + RBAC) → Compute (Basic Auth)
- No external websockify processes required
- Consistent with existing VNC WebSocket implementation
2026-03-16 22:21:25 +08:00
YueGuobin
ba92b405da
feat: add VNC WebSocket console support for Docker and QEMU nodes
...
Add VNC console WebSocket endpoints for Docker and QEMU nodes:
- Add /console/vnc WebSocket endpoint to compute API (Docker & QEMU)
- Add /console/vnc WebSocket endpoint to controller API
- Implement start_vnc_websocket_console() in BaseNode
- Forward VNC WebSocket traffic between controller and compute layers
The implementation provides bidirectional WebSocket to TCP forwarding
for VNC protocol (RFB) connections, allowing browser-based VNC console
access to containers and VMs.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-03-16 16:40:00 +08:00
grossmj
69eafda777
Merge remote-tracking branch 'origin/2.2' into 3.0
...
# Conflicts:
# gns3server/version.py
2026-03-09 17:12:24 +08:00
grossmj
b658f7ff68
Make sure the node shows as stopped when the wrap console cannot be stopped. Ref https://github.com/GNS3/gns3-registry/pull/1010
2026-03-09 17:10:00 +08:00
grossmj
f3749e83ec
Catch error when cannot resize Docker container TTY.
2024-11-07 14:52:59 +10:00
grossmj
c4fcb43e78
Merge branch '2.2' into 3.0
...
# Conflicts:
# .github/workflows/testing.yml
# CHANGELOG
# README.md
# dev-requirements.txt
# gns3server/compute/docker/docker_vm.py
# gns3server/controller/export_project.py
# gns3server/controller/import_project.py
# gns3server/controller/project.py
# gns3server/crash_report.py
# gns3server/static/web-ui/index.html
# gns3server/static/web-ui/main.df8c319a3da6fb0e3629.js
# gns3server/version.py
# requirements.txt
# setup.py
# tests/compute/docker/test_docker_vm.py
# tests/controller/test_import_project.py
2024-10-31 12:54:35 +10:00
grossmj
c05e1cb8e7
Use @locking when sending uBridge commands. Ref https://github.com/GNS3/gns3-gui/issues/3651
2024-10-28 13:02:04 +10:00
Jeremy Grossmann
af6f34b2ca
Revert "Backport auxiliary console support for Qemu, Docker and Dynamips nodes"
2024-09-23 13:10:58 +07:00
grossmj
74782d413f
Change method to allocate AUX console for existing Dynamips nodes
2024-09-22 21:41:10 +07:00
grossmj
c41c11eb34
Backport auxiliary console support for Qemu, Docker and Dynamips nodes
2024-09-22 18:29:04 +07:00
grossmj
08ee40548f
Add custom executable paths on Windows
2024-01-28 12:13:08 +11:00
grossmj
44c066ac68
Fix compute authentication for websocket endpoints
2023-10-22 12:44:39 +10:00
grossmj
0f02cff5f2
Catch ConnectionResetError when waiting for the wrap console
2023-05-25 18:29:19 +08:00
grossmj
267c4cbbbb
Merge branch '2.2' into 3.0
...
# Conflicts:
# README.md
# gns3server/compute/base_node.py
# gns3server/compute/dynamips/__init__.py
# gns3server/compute/dynamips/hypervisor.py
# gns3server/compute/qemu/__init__.py
# gns3server/compute/qemu/qemu_vm.py
# gns3server/controller/__init__.py
# gns3server/crash_report.py
# gns3server/handlers/api/controller/node_handler.py
# gns3server/schemas/qemu_template.py
# gns3server/static/web-ui/index.html
# gns3server/static/web-ui/main.11410ae4eaf4d4c08cd0.js
# gns3server/version.py
# requirements.txt
2023-03-17 17:44:32 +10:00
grossmj
1f85abb036
Fix broken websocket console with Python 3.11
2023-02-18 15:32:57 +08:00
grossmj
a7d19fd89a
Fix StreamWriter doesn't have the wait_closed() method in Python3.6. Fixes #2170
2023-01-20 13:14:57 +08:00
grossmj
27d9063e56
Merge 2.2
2023-01-05 12:38:00 +08:00
grossmj
b3a6b9173b
Fix reset console. Fixes #1619
2022-12-31 09:43:17 +08:00
grossmj
1148dbc48e
Fix issue when calling reset_console with running VPCS and Qemu nodes. Ref #1619
2022-12-30 20:54:37 +08:00
grossmj
263febecbc
Merge branch '2.2' into 3.0
...
# Conflicts:
# .github/workflows/testing.yml
# CHANGELOG
# appveyor.yml
# dev-requirements.txt
# gns3server/compute/base_node.py
# gns3server/controller/__init__.py
# gns3server/controller/appliance_manager.py
# gns3server/crash_report.py
# gns3server/static/web-ui/index.html
# gns3server/utils/get_resource.py
# gns3server/version.py
# gns3server/web/route.py
# requirements.txt
# tests/handlers/api/compute/test_qemu.py
# win-requirements.txt
2022-11-09 20:30:28 +08:00
grossmj
f04702d607
Fix console vnc don't use configured ports in some case. Fixes #2111
2022-11-06 19:36:31 +08:00
BoHong Li
790bf4521d
fix: use exact match to find interface in windows to avoid get wrong interface
2022-07-06 14:22:11 +08:00
grossmj
bdd703a0dc
Support to reset all console connections. Ref https://github.com/GNS3/gns3-server/issues/1619
2022-06-15 15:30:44 +02:00
grossmj
74c675d5b0
Drop Windows support
2022-01-19 22:28:36 +10:30
grossmj
0b200def88
Merge branch 'master' into 3.0
...
# Conflicts:
# .github/workflows/testing.yml
# Dockerfile
# gns3server/version.py
2021-10-09 12:16:50 +10:30
grossmj
5eb5658a74
Fix memory percentage left warning. Fixes #1966
2021-09-20 18:08:02 +09:30
Andrej Krpič
3b7dc21ef0
Fix binary websocket access to the console
...
telnet_writer.write is not an async method - drain() is.
Remove async keyword so the call is the same as for the text websocket.
2021-07-26 12:58:35 +02:00
grossmj
c021e21309
Use black with -l 120 param.
2021-04-13 18:46:50 +09:30
grossmj
f928738bd5
Use pyupgrade with --py36-plus param.
2021-04-13 18:37:58 +09:30
grossmj
30ebae207f
Use Pydantic to validate the server config file.
2021-04-12 17:02:23 +09:30
grossmj
6aefb5d32b
Merge branch '2.2' into 3.0
...
# Conflicts:
# gns3server/compute/base_node.py
# gns3server/version.py
# gns3server/web/web_server.py
2020-12-07 18:00:33 +10:30
grossmj
5244ae6d4c
New config file options to configure the VNC console port range.
2020-12-03 18:04:42 +10:30
grossmj
c043830e3f
Move endpoints to routes & preparations to use a database.
2020-11-19 15:21:03 +10:30
grossmj
bd8565b2b9
Refactor WebSocket console code to work with FastAPI.
...
Fix endpoint routes.
2020-10-19 15:00:41 +10:30
grossmj
eb3cb8a41f
Migration to FastAPI
2020-10-02 16:07:50 +09:30
grossmj
7043d48f1a
Auxiliary console support for Qemu. Ref #2873
...
Improvements for auxiliary console support for Docker and Dynamips.
2020-07-29 16:23:51 +09:30
grossmj
831ee5f468
Support to reset all console connections. Ref https://github.com/GNS3/gns3-server/issues/1619
2020-07-26 18:27:18 +09:30
grossmj
c313475f68
Support for WebSocket consoles
2020-01-31 17:31:27 +08:00
grossmj
456ef1348b
Fix DeprecationWarning: invalid escape sequence. Fixes https://github.com/GNS3/gns3-gui/issues/2670
2019-01-17 18:01:58 +07:00
grossmj
5cb0957f35
Require privileged access for uBridge when using VMware VMs and Docker containers. Fixes #1461 .
2018-11-20 00:22:16 +07:00
grossmj
3fae6ada95
Only require privileged access for uBridge when connecting a cloud to an Ethernet/TAP interface. Fixes #1461 .
2018-11-19 17:33:17 +07:00
grossmj
76af98404a
Drop Python 3.4 and switch to async / await syntax for asyncio. Fixes #1425
2018-10-15 17:05:49 +07:00
grossmj
33e8710495
Merge branch '2.1' into 2.2
...
# Conflicts:
# gns3server/compute/docker/docker_vm.py
# gns3server/controller/compute.py
# gns3server/controller/gns3vm/__init__.py
# gns3server/controller/link.py
# gns3server/controller/project.py
# gns3server/handlers/api/controller/project_handler.py
# gns3server/handlers/api/controller/server_handler.py
# gns3server/utils/asyncio/__init__.py
# gns3server/utils/asyncio/telnet_server.py
# gns3server/version.py
# gns3server/web/web_server.py
# tests/compute/qemu/test_qemu_vm.py
2018-08-29 15:57:54 +07:00
grossmj
902de3dd47
Refactor asyncio locking system for Python 3.7 support. Ref https://github.com/GNS3/gns3-gui/issues/2566 Ref https://github.com/GNS3/gns3-gui/issues/2568
2018-08-25 14:10:47 +07:00
grossmj
40151cd1fe
Fix switching console type from telnet to VNC throws error. Fixes #2489 .
2018-06-09 21:47:36 +07:00