diff --git a/CHANGELOG b/CHANGELOG
index e2d4cdd7..bad6f531 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,21 @@
# Change Log
+## 2.2.20 09/04/2021
+
+* Release Web UI version 2.2.20
+* Fix packet capture with HTTPS remote server. Fixes #1882
+* Sync appliance files and remove old ones after sync with online repo. Fixes #1876
+* Upgrade dependencies
+* Fix export for missing files
+* Fix issue when trying to export temporary Dynamips files.
+
+## 2.2.19 05/03/2021
+
+* Launch projects marked for auto open after SIGHUP is received
+* Release Web UI 2.2.19
+* Fix console type error when creating Ethernet switch node. Fixes #1873
+* Upgrade Jinja to version 2.11.3. Fixes #1865
+
## 2.2.18 16/02/2021
* SIGHUP: remove projects with an empty project directory.
diff --git a/gns3server/appliances/aruba-arubaoscx.gns3a b/gns3server/appliances/aruba-arubaoscx.gns3a
index f9823abc..2be46fbe 100644
--- a/gns3server/appliances/aruba-arubaoscx.gns3a
+++ b/gns3server/appliances/aruba-arubaoscx.gns3a
@@ -23,12 +23,20 @@
"hdb_disk_interface": "ide",
"hdc_disk_interface": "ide",
"arch": "x86_64",
- "console_type": "vnc",
+ "console_type": "telnet",
"kvm": "require",
"options": "-nographic",
"process_priority": "normal"
},
"images": [
+
+ {
+ "filename": "arubaoscx-disk-image-genericx86-p4-20201110192651.vmdk",
+ "version": "10.06.0001",
+ "md5sum": "f8b45bc52f6bad79b5ff563e0c1ea73b",
+ "filesize": 380304896,
+ "download_url": "https://asp.arubanetworks.com/"
+ },
{
"filename": "arubaoscx-disk-image-genericx86-p4-20200311173823.vmdk",
"version": "10.04.1000",
@@ -45,6 +53,12 @@
}
],
"versions": [
+ {
+ "name": "10.06.0001",
+ "images": {
+ "hda_disk_image": "arubaoscx-disk-image-genericx86-p4-20201110192651.vmdk"
+ }
+ },
{
"name": "10.04.1000",
"images": {
diff --git a/gns3server/appliances/aruba-vgw.gns3a b/gns3server/appliances/aruba-vgw.gns3a
new file mode 100644
index 00000000..61b40582
--- /dev/null
+++ b/gns3server/appliances/aruba-vgw.gns3a
@@ -0,0 +1,59 @@
+{
+ "name": "Aruba VGW",
+ "category": "firewall",
+ "description": "Aruba Virtual Gateways allow customers to bring their public cloud infrastructure to the SD-WAN fabric and facilitate connectivity between branches and the public cloud.",
+ "vendor_name": "HPE Aruba",
+ "vendor_url": "arubanetworks.com",
+ "documentation_url": "https://asp.arubanetworks.com/downloads;products=Aruba%20SD-WAN",
+ "product_url": "https://www.arubanetworks.com/products/networking/gateways-and-controllers/",
+ "product_name": "Aruba SD-WAN Virtual Gateway",
+ "registry_version": 4,
+ "status": "stable",
+ "availability": "service-contract",
+ "maintainer": "Aruba",
+ "maintainer_email": "mitchell.pompe@hpe.com",
+ "usage": "The device must receive an user-data.iso image, which can be mounted to the CD/DVD-ROM and retrieved from Aruba Central. https://help.central.arubanetworks.com/latest/documentation/online_help/content/gateways/vgw/vgw_man-esxi-gen-ud.htm . By default the VGW can be used with VNC, but once provisioned the command '#serial console redirect enable' will enable telnet usage for GNS3.",
+ "symbol": ":/symbols/classic/gateway.svg",
+ "first_port_name": "mgmt",
+ "port_name_format": "GE0/0/{0}",
+ "qemu": {
+ "adapter_type": "e1000",
+ "adapters": 4,
+ "ram": 4096,
+ "cpus": 3,
+ "hda_disk_interface": "ide",
+ "hdb_disk_interface": "ide",
+ "hdc_disk_interface": "ide",
+ "arch": "x86_64",
+ "console_type": "vnc",
+ "kernel_command_line": "",
+ "kvm": "require",
+ "options": "-smp cores=3,threads=1,sockets=1 -cpu host",
+ "process_priority": "normal"
+ },
+ "images": [
+ {
+ "filename": "ArubaOS_VGW_8.6.0.4-2.2.0.0_76905-disk1.vmdk",
+ "version": "8.6.0.4-2.2.0.0",
+ "md5sum": "24d3fdcbec01c1faa2d4e68659024b40",
+ "filesize": 226974208,
+ "download_url": "https://asp.arubanetworks.com/downloads"
+ },
+ {
+ "filename": "ArubaOS_VGW_8.6.0.4-2.2.0.0_76905-disk2.vmdk",
+ "version": "8.6.0.4-2.2.0.0",
+ "md5sum": "354edd27dc320c739919f55766737d06",
+ "filesize": 4203008,
+ "download_url": "https://asp.arubanetworks.com/downloads"
+ }
+ ],
+ "versions": [
+ {
+ "name": "8.6.0.4-2.2.0.0",
+ "images": {
+ "hda_disk_image": "ArubaOS_VGW_8.6.0.4-2.2.0.0_76905-disk1.vmdk",
+ "hdb_disk_image": "ArubaOS_VGW_8.6.0.4-2.2.0.0_76905-disk2.vmdk"
+ }
+ }
+ ]
+}
diff --git a/gns3server/appliances/huawei-ar1kv.gns3a b/gns3server/appliances/huawei-ar1kv.gns3a
new file mode 100644
index 00000000..fbad35b9
--- /dev/null
+++ b/gns3server/appliances/huawei-ar1kv.gns3a
@@ -0,0 +1,44 @@
+{
+ "name": "HuaWei AR1000v",
+ "category": "router",
+ "description": "Huawei AR1000V Virtual Router (Virtual CPE, vCPE) is an NFV product based on the industry-leading Huawei VRP platform. The product has rich business capabilities, integrating routing, switching, security, VPN, QoS and other functions, with software and hardware decoupling, Features such as easy business deployment and intelligent operation and maintenance can be applied to scenarios such as enterprise interconnection (SD-WAN) corporate headquarters (Hub point), POP point access, and cloud access.",
+ "vendor_name": "HuaWei",
+ "vendor_url": "https://www.huawei.com",
+ "product_name": "HuaWei AR1000v",
+ "product_url": "https://support.huawei.com/enterprise/en/routers/ar1000v-pid-21768212",
+ "registry_version": 5,
+ "status": "experimental",
+ "availability": "service-contract",
+ "maintainer": "none",
+ "maintainer_email": "none",
+ "usage": "Default user is super, default password is super.",
+ "port_name_format": "GigabitEthernet0/0/{0}",
+ "qemu": {
+ "adapter_type": "virtio-net-pci",
+ "adapters": 6,
+ "ram": 4096,
+ "cpus": 1,
+ "arch": "x86_64",
+ "console_type": "telnet",
+ "boot_priority": "cd",
+ "kvm": "require",
+ "options": "-machine type=pc,accel=kvm -vga std -usbdevice tablet -cpu host"
+ },
+ "images": [
+ {
+ "filename": "ar1k-V300R019C00SPC300.qcow2",
+ "version": "V300R019C00SPC300",
+ "md5sum": "5263e1d8964643a22c87f59ff14a5bdc",
+ "filesize": 534904832,
+ "download_url": "https://support.huawei.com/enterprise/en/routers/ar1000v-pid-21768212/software"
+ }
+ ],
+ "versions": [
+ {
+ "name": "V300R019C00SPC300",
+ "images": {
+ "hda_disk_image": "ar1k-V300R019C00SPC300.qcow2"
+ }
+ }
+ ]
+}
diff --git a/gns3server/appliances/huawei-ce12800.gns3a b/gns3server/appliances/huawei-ce12800.gns3a
new file mode 100644
index 00000000..4cc5eb0c
--- /dev/null
+++ b/gns3server/appliances/huawei-ce12800.gns3a
@@ -0,0 +1,42 @@
+{
+ "name": "HuaWei CE12800",
+ "category": "multilayer_switch",
+ "description": "CE12800 series switches are high-performance core switches designed for data center networks and high-end campus networks. The switches provide stable, reliable, secure, and high-performance Layer 2/Layer 3 switching services, to help build an elastic, virtualized, agile, and high-quality network.",
+ "vendor_name": "HuaWei",
+ "vendor_url": "https://www.huawei.com",
+ "product_name": "HuaWei CE12800",
+ "registry_version": 5,
+ "status": "experimental",
+ "availability": "service-contract",
+ "maintainer": "none",
+ "maintainer_email": "none",
+ "port_name_format": "GE1/0/{0}",
+ "qemu": {
+ "adapter_type": "e1000",
+ "adapters": 12,
+ "ram": 2048,
+ "cpus": 2,
+ "hda_disk_interface": "ide",
+ "arch": "x86_64",
+ "console_type": "telnet",
+ "kvm": "require",
+ "options": "-machine type=pc-1.0,accel=kvm -serial mon:stdio -nographic -nodefaults -rtc base=utc -cpu host"
+ },
+ "images": [
+ {
+ "filename": "ce12800-V200R005C10SPC607B607.qcow2",
+ "version": "V200R005C10SPC607B607",
+ "md5sum": "a6f2b358b299e2b5f0da2820ef315368",
+ "filesize": 707002368,
+ "download_url": "https://support.huawei.com/enterprise/en/switches/cloudengine-12800-pid-7542409/software"
+ }
+ ],
+ "versions": [
+ {
+ "images": {
+ "hda_disk_image": "ce12800-V200R005C10SPC607B607.qcow2"
+ },
+ "name": "V200R005C10SPC607B607"
+ }
+ ]
+}
diff --git a/gns3server/appliances/huawei-ne40e.gns3a b/gns3server/appliances/huawei-ne40e.gns3a
new file mode 100644
index 00000000..73ed94ca
--- /dev/null
+++ b/gns3server/appliances/huawei-ne40e.gns3a
@@ -0,0 +1,44 @@
+{
+ "name": "HuaWei NE40E",
+ "category": "router",
+ "description": "Based on a 2T platform, the NetEngine 40E-X series provides the industry\u2019s highest capacity 2T routing line cards. Combining performance with low power consumption, innovative Internet Protocol (IP) hard pipe technology, and quick evolution capabilities, NetEngine 40E-X routers meet the low latency and high reliability requirements of business-critical services as well as mature Wide Area Network (WAN) Software-Defined Networking (SDN) solutions. They can serve as core nodes on enterprise WANs, access nodes on large-scale enterprise networks, interconnection and aggregation nodes on campus networks, and edge nodes on large-scale Internet Data Center (IDC) networks.",
+ "vendor_name": "HuaWei",
+ "vendor_url": "https://www.huawei.com",
+ "product_name": "HuaWei NE40E",
+ "product_url": "https://e.huawei.com/en/products/enterprise-networking/routers/ne/ne40e",
+ "registry_version": 5,
+ "status": "experimental",
+ "availability": "service-contract",
+ "maintainer": "none",
+ "maintainer_email": "none",
+ "first_port_name": "eth0",
+ "port_name_format": "Ethernet1/0/{0}",
+ "qemu": {
+ "adapter_type": "e1000",
+ "adapters": 12,
+ "ram": 2048,
+ "cpus": 2,
+ "hda_disk_interface": "ide",
+ "arch": "x86_64",
+ "console_type": "telnet",
+ "kvm": "require",
+ "options": "-machine type=pc-1.0,accel=kvm -serial mon:stdio -nographic -nodefaults -rtc base=utc -cpu host"
+ },
+ "images": [
+ {
+ "filename": "ne40e-V800R011C00SPC607B607.qcow2",
+ "version": "V800R011C00SPC607B607",
+ "md5sum": "2ac9c477e22a17860b76b3dc1d5aa119",
+ "filesize": 496959488,
+ "download_url": "https://support.huawei.com/enterprise/en/routers/ne40e-pid-15837/software"
+ }
+ ],
+ "versions": [
+ {
+ "images": {
+ "hda_disk_image": "ne40e-V800R011C00SPC607B607.qcow2"
+ },
+ "name": "V800R011C00SPC607B607"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/gns3server/appliances/huawei-usg6kv.gns3a b/gns3server/appliances/huawei-usg6kv.gns3a
new file mode 100644
index 00000000..4655f92a
--- /dev/null
+++ b/gns3server/appliances/huawei-usg6kv.gns3a
@@ -0,0 +1,49 @@
+{
+ "name": "HuaWei USG6000v",
+ "category": "firewall",
+ "description": "Huawei USG6000V is a virtual service gateway based on Network Functions Virtualization (NFV). It features high virtual resource usage and provides virtualized gateway services, such as vFW, vIPsec, vLB, vIPS, vAV, and vURL Remote Query.\nHuawei USG6000V is compatible with most mainstream virtual platforms. It provides standard APIs, together with the OpenStack cloud platform, SDN Controller, and MANO to achieve intelligent solutions for cloud security. This gateway meets flexible service customization requirements for frequent security service changes, elastic and on-demand resource allocation, visualized network management, and rapid rollout.",
+ "vendor_name": "HuaWei",
+ "vendor_url": "https://www.huawei.com",
+ "product_name": "HuaWei USG6000v",
+ "product_url": "https://e.huawei.com/en/products/enterprise-networking/security/firewall-gateway/usg6000v",
+ "registry_version": 5,
+ "status": "experimental",
+ "availability": "service-contract",
+ "maintainer": "none",
+ "maintainer_email": "none",
+ "usage": "Default password is admin. Default username and password for web is admin/Admin@123.",
+ "first_port_name": "GigabitEthernet0/0/0",
+ "port_name_format": "GigabitEthernet1/0/{0}",
+ "qemu": {
+ "adapter_type": "virtio-net-pci",
+ "adapters": 6,
+ "ram": 4096,
+ "cpus": 2,
+ "hda_disk_interface": "ide",
+ "hdb_disk_interface": "ide",
+ "hdc_disk_interface": "ide",
+ "hdd_disk_interface": "ide",
+ "arch": "x86_64",
+ "console_type": "telnet",
+ "boot_priority": "dc",
+ "kvm": "require",
+ "options": "-machine type=pc,accel=kvm -vga std -usbdevice tablet"
+ },
+ "images": [
+ {
+ "filename": "usg6kv-v2-V500R001C10.qcow2",
+ "version": "V500R001C10",
+ "md5sum": "07f87aaa4f4d8b9a713d90eb32f89111",
+ "filesize": 737476608,
+ "download_url": "https://support.huawei.com/enterprise/en/security/usg6000v-pid-21431620/software"
+ }
+ ],
+ "versions": [
+ {
+ "name": "V500R001C10",
+ "images": {
+ "hda_disk_image": "usg6kv-v2-V500R001C10.qcow2"
+ }
+ }
+ ]
+}
diff --git a/gns3server/appliances/ipxe.gns3a b/gns3server/appliances/ipxe.gns3a
new file mode 100644
index 00000000..fff2f330
--- /dev/null
+++ b/gns3server/appliances/ipxe.gns3a
@@ -0,0 +1,46 @@
+{
+ "name": "ipxe",
+ "category": "guest",
+ "description": "boot guest from network via iPXE",
+ "vendor_name": "Linux",
+ "vendor_url": "http://gns3.com/",
+ "documentation_url": "http://ipxe.org",
+ "product_name": "iPXE netboot",
+ "product_url": "http://ipxe.org/",
+ "registry_version": 3,
+ "status": "stable",
+ "maintainer": "GNS3 Team",
+ "maintainer_email": "developers@gns3.net",
+ "usage": "x86_64 guest booted from network via iPXE. If you need latest ipxe version - download, attach and boot iso from http://boot.ipxe.org/ipxe.iso. Don't forget to adjust memory according guest requirements. If guest is linux, you can add serial console options to kernel arguments.",
+ "symbol": "linux_guest.svg",
+ "port_name_format": "eth{0}",
+ "qemu": {
+ "adapter_type": "e1000",
+ "adapters": 1,
+ "ram": 1024,
+ "hda_disk_interface": "ide",
+ "arch": "x86_64",
+ "console_type": "telnet",
+ "boot_priority": "n",
+ "kvm": "allow",
+ "options": "-nographic"
+ },
+ "images": [
+ {
+ "filename": "empty8G.qcow2",
+ "version": "1.0",
+ "md5sum": "f1d2c25b6990f99bd05b433ab603bdb4",
+ "filesize": 197120,
+ "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
+ "direct_download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty8G.qcow2/download"
+ }
+ ],
+ "versions": [
+ {
+ "name": "1.0",
+ "images": {
+ "hda_disk_image": "empty8G.qcow2"
+ }
+ }
+ ]
+}
diff --git a/gns3server/appliances/open-media-vault.gns3a b/gns3server/appliances/open-media-vault.gns3a
new file mode 100644
index 00000000..9e0d624c
--- /dev/null
+++ b/gns3server/appliances/open-media-vault.gns3a
@@ -0,0 +1,55 @@
+{
+ "name": "OpenMediaVault",
+ "category": "guest",
+ "description": "openmediavault is the next generation network attached storage (NAS) solution based on Debian Linux. It contains services like SSH, (S)FTP, SMB/CIFS, DAAP media server, RSync, BitTorrent client and many more.",
+ "vendor_name": "Volker Theile",
+ "vendor_url": "https://www.openmediavault.org/",
+ "documentation_url": "hhttps://docs.openmediavault.org",
+ "product_name": "OpenMediaVault",
+ "product_url": "https://www.openmediavault.org/",
+ "registry_version": 3,
+ "status": "stable",
+ "maintainer": "Savio D'souza",
+ "maintainer_email": "savio2002@yahoo.in",
+ "usage": "Install OS to first Disk, poweroff, eject iso.\nAdd empty30G.qcow2 to Secondary master and slave this way you will get 3 hard disks for storage.\nDefault WUI credentials are admin:openmediavault.",
+ "port_name_format": "eth{0}",
+ "qemu": {
+ "adapter_type": "e1000",
+ "adapters": 1,
+ "ram": 2048,
+ "hda_disk_interface": "ide",
+ "hdb_disk_interface": "ide",
+ "arch": "x86_64",
+ "console_type": "vnc",
+ "boot_priority": "dc",
+ "kvm": "require"
+ },
+ "images": [
+ {
+ "filename": "openmediavault_5.5.11-amd64.iso",
+ "version": "5.5.11",
+ "md5sum": "76baad8e13dd49bee9b4b4a6936b7296",
+ "filesize": 608174080,
+ "download_url": "https://www.openmediavault.org/download.html",
+ "direct_download_url": "https://sourceforge.net/projects/openmediavault/files/latest/download"
+ },
+ {
+ "filename": "empty30G.qcow2",
+ "version": "1.0",
+ "md5sum": "3411a599e822f2ac6be560a26405821a",
+ "filesize": 197120,
+ "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
+ "direct_download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty30G.qcow2/download"
+ }
+ ],
+ "versions": [
+ {
+ "name": "5.5.11",
+ "images": {
+ "hda_disk_image": "empty30G.qcow2",
+ "hdb_disk_image": "empty30G.qcow2",
+ "cdrom_image": "openmediavault_5.5.11-amd64.iso"
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/gns3server/appliances/puppy-linux.gns3a b/gns3server/appliances/puppy-linux.gns3a
new file mode 100644
index 00000000..24315993
--- /dev/null
+++ b/gns3server/appliances/puppy-linux.gns3a
@@ -0,0 +1,81 @@
+{
+ "name": "Puppy Linux",
+ "category": "guest",
+ "description": "Puppy Linux is a unique family of Linux distributions meant for the home-user computers. It was originally created by Barry Kauler in 2003.",
+ "vendor_name": "Puppy Linux",
+ "vendor_url": "http://puppylinux.com/",
+ "documentation_url": "http://wikka.puppylinux.com/HomePage",
+ "product_name": "Puppy Linux",
+ "registry_version": 3,
+ "status": "stable",
+ "maintainer": "Savio D'souza",
+ "maintainer_email": "savio2002@yahoo.in",
+ "usage": "No Password by default\nRun installer & install to local disk\nEject the ISO and reboot.",
+ "port_name_format": "eth{0}",
+ "qemu": {
+ "adapter_type": "e1000",
+ "adapters": 1,
+ "ram": 256,
+ "arch": "x86_64",
+ "console_type": "vnc",
+ "boot_priority": "cd",
+ "kvm": "require"
+ },
+ "images": [
+ {
+ "filename": "fossapup64-9.5.iso",
+ "version": "9.5",
+ "md5sum": "6a45e7a305b7d3172ebd9eab5ca460e4",
+ "filesize": 428867584,
+ "download_url": "http://puppylinux.com/index.html",
+ "direct_download_url": "http://distro.ibiblio.org/puppylinux/puppy-fossa/fossapup64-9.5.iso"
+ },
+ {
+ "filename": "bionicpup64-8.0-uefi.iso",
+ "version": "8.0",
+ "md5sum": "e31ddba0e6006021c157cb5a5b65ad5f",
+ "filesize": 371195904,
+ "download_url": "http://puppylinux.com/index.html",
+ "direct_download_url": "http://distro.ibiblio.org/puppylinux/puppy-bionic/bionicpup64/bionicpup64-8.0-uefi.iso"
+ },
+ {
+ "filename": "xenialpup64-7.5-uefi.iso",
+ "version": "7.5",
+ "md5sum": "4502bb9693bd72fb5dcfb86a2ce8255d",
+ "filesize": 346030080,
+ "download_url": "http://puppylinux.com/index.html",
+ "direct_download_url": "http://distro.ibiblio.org/puppylinux/puppy-xenial/64/xenialpup64-7.5-uefi.iso"
+ },
+ {
+ "filename": "empty8G.qcow2",
+ "version": "1.0",
+ "md5sum": "f1d2c25b6990f99bd05b433ab603bdb4",
+ "filesize": 197120,
+ "download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
+ "direct_download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty8G.qcow2/download"
+ }
+ ],
+ "versions": [
+ {
+ "name": "9.5",
+ "images": {
+ "hda_disk_image": "empty8G.qcow2",
+ "cdrom_image": "fossapup64-9.5.iso"
+ }
+ },
+ {
+ "name": "8.0",
+ "images": {
+ "hda_disk_image": "empty8G.qcow2",
+ "cdrom_image": "bionicpup64-8.0-uefi.iso"
+ }
+ },
+ {
+ "name": "7.5",
+ "images": {
+ "hda_disk_image": "empty8G.qcow2",
+ "cdrom_image": "xenialpup64-7.5-uefi.iso"
+ }
+ }
+ ]
+}
diff --git a/gns3server/appliances/Raspian.gns3a b/gns3server/appliances/raspian.gns3a
similarity index 98%
rename from gns3server/appliances/Raspian.gns3a
rename to gns3server/appliances/raspian.gns3a
index 2e7af200..b887d786 100644
--- a/gns3server/appliances/Raspian.gns3a
+++ b/gns3server/appliances/raspian.gns3a
@@ -6,7 +6,7 @@
"vendor_url": "https://www.raspberrypi.org",
"product_name": "Raspberry Pi Desktop",
"product_url": "https://www.raspberrypi.org/downloads/raspberry-pi-desktop/",
- "registry_version": 3,
+ "registry_version": 4,
"status": "stable",
"availability": "free",
"maintainer": "Brent Stewart",
diff --git a/gns3server/appliances/rhel.gns3a b/gns3server/appliances/rhel.gns3a
new file mode 100644
index 00000000..29a87362
--- /dev/null
+++ b/gns3server/appliances/rhel.gns3a
@@ -0,0 +1,80 @@
+{
+ "name": "RHEL",
+ "category": "guest",
+ "description": "Red Hat Enterprise Linux Server provides core operating system functions and capabilities for application infrastructure.",
+ "vendor_name": "Red Hat",
+ "vendor_url": "https://redhat.com",
+ "documentation_url": "https://access.redhat.com/solutions/641193",
+ "product_name": "Red Hat Enterprise Linux KVM Guest Image",
+ "product_url": "https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux",
+ "registry_version": 5,
+ "status": "stable",
+ "availability": "service-contract",
+ "maintainer": "Neyder Achahuanco",
+ "maintainer_email": "neyder@neyder.net",
+ "usage": "You should download Red Hat Enterprise Linux KVM Guest Image from https://access.redhat.com/downloads/content/479/ver=/rhel---8/8.3/x86_64/product-software attach/customize cloud-init.iso and start.\nusername: cloud-user\npassword: redhat",
+ "qemu": {
+ "adapter_type": "virtio-net-pci",
+ "adapters": 1,
+ "ram": 1024,
+ "hda_disk_interface": "virtio",
+ "arch": "x86_64",
+ "console_type": "telnet",
+ "boot_priority": "c",
+ "kvm": "require",
+ "options": "-nographic"
+ },
+ "images": [
+ {
+ "filename": "rhel-8.3-x86_64-kvm.qcow2",
+ "version": "8.3",
+ "md5sum": "dd554c059e0910379fff88f677f4a4b3",
+ "filesize": 1316683776,
+ "download_url": "https://access.redhat.com/downloads/content/479/ver=/rhel---8/8.3/x86_64/product-software"
+ },
+ {
+ "filename": "rhel-server-7.9-x86_64-kvm.qcow2",
+ "version": "7.9",
+ "md5sum": "8d6669b3e2bb8df15b9b4280936cf950",
+ "filesize": 827777024,
+ "download_url": "https://access.redhat.com/downloads/content/69/ver=/rhel---7/7.9/x86_64/product-software"
+ },
+ {
+ "filename": "rhel-server-6.10-update-11-x86_64-kvm.qcow2",
+ "version": "6.10",
+ "md5sum": "6d672026d3a0eae794a677a18287f9c0",
+ "filesize": 341442560,
+ "download_url": "https://access.redhat.com/downloads/content/69/ver=/rhel---6/6.10/x86_64/product-software"
+ },
+ {
+ "filename": "rhel-cloud-init.iso",
+ "version": "1.0",
+ "md5sum": "421745b0d13615ecd48696f98d8b6352",
+ "filesize": 374784,
+ "download_url": "https://gitlab.com/neyder/rhel-cloud-init/raw/master/rhel-cloud-init.iso"
+ }
+ ],
+ "versions": [
+ {
+ "images": {
+ "hda_disk_image": "rhel-8.3-x86_64-kvm.qcow2",
+ "cdrom_image": "rhel-cloud-init.iso"
+ },
+ "name": "8.3"
+ },
+ {
+ "images": {
+ "hda_disk_image": "rhel-server-7.9-x86_64-kvm.qcow2",
+ "cdrom_image": "rhel-cloud-init.iso"
+ },
+ "name": "7.9"
+ },
+ {
+ "images": {
+ "hda_disk_image": "rhel-server-6.10-update-11-x86_64-kvm.qcow2",
+ "cdrom_image": "rhel-cloud-init.iso"
+ },
+ "name": "6.10"
+ }
+ ]
+}
diff --git a/gns3server/appliances/stonework.gns3a b/gns3server/appliances/stonework.gns3a
new file mode 100644
index 00000000..ae1d9644
--- /dev/null
+++ b/gns3server/appliances/stonework.gns3a
@@ -0,0 +1,20 @@
+{
+ "name": "StoneWork",
+ "category": "router",
+ "description": "StoneWork is VPP and Ligato based routing platform",
+ "vendor_name": "Pantheon.tech StoneWork router",
+ "vendor_url": "https://pantheon.tech/",
+ "documentation_url": "https://pantheon.tech/documentation-stonework-gns3/",
+ "product_name": "StoneWork",
+ "registry_version": 4,
+ "status": "experimental",
+ "availability": "free",
+ "maintainer": "Julius Milan",
+ "maintainer_email": "julius.milan@pantheon.tech",
+ "docker": {
+ "adapters": 5,
+ "image": "ghcr.io/pantheontech/stonework",
+ "start_command": "/root/stonework-gns3-startup.sh",
+ "environment": "INITIAL_LOGLVL=debug,\nMICROSERVICE_LABEL=stonework,\nETCD_CONFIG=,\nCNF_MGMT_SUBNET=127.0.0.1/8"
+ }
+}
diff --git a/gns3server/appliances/ubuntu-gui.gns3a b/gns3server/appliances/ubuntu-gui.gns3a
index b6b30be0..c551da7c 100644
--- a/gns3server/appliances/ubuntu-gui.gns3a
+++ b/gns3server/appliances/ubuntu-gui.gns3a
@@ -25,6 +25,20 @@
"options": "-vga virtio"
},
"images": [
+ {
+ "filename": "Ubuntu 20.10 (64bit).vmdk",
+ "version": "20.10",
+ "md5sum": "d7fb9d7b5f6e55349204d493d00507d2",
+ "filesize": 7512915968,
+ "download_url": "http://www.osboxes.org/ubuntu/"
+ },
+ {
+ "filename": "Ubuntu 20.04.2 (64bit).vmdk",
+ "version": "20.04.2",
+ "md5sum": "e995e5768c1dbee94bc02072d841bb50",
+ "filesize": 7625179136,
+ "download_url": "http://www.osboxes.org/ubuntu/"
+ },
{
"filename": "Ubuntu 20.04 (64bit).vmdk",
"version": "20.04",
@@ -62,6 +76,18 @@
}
],
"versions": [
+ {
+ "name": "20.10",
+ "images": {
+ "hda_disk_image": "Ubuntu 20.10 (64bit).vmdk"
+ }
+ },
+ {
+ "name": "20.04.2",
+ "images": {
+ "hda_disk_image": "Ubuntu 20.04.2 (64bit).vmdk"
+ }
+ },
{
"name": "20.04",
"images": {
diff --git a/gns3server/appliances/windows-xp+ie.gns3a b/gns3server/appliances/windows-xp+ie.gns3a
new file mode 100644
index 00000000..6bd31aa9
--- /dev/null
+++ b/gns3server/appliances/windows-xp+ie.gns3a
@@ -0,0 +1,51 @@
+{
+ "name": "Windows",
+ "category": "guest",
+ "description": "Microsoft Windows XP is a graphical operating system developed, marketed, and sold by Microsoft.\n\nMicrosoft has released time limited VMs for testing Internet Explorer.",
+ "vendor_name": "Microsoft",
+ "vendor_url": "http://www.microsoft.com",
+ "product_name": "Windows XP",
+ "registry_version": 3,
+ "status": "experimental",
+ "maintainer": "GNS3 Team",
+ "maintainer_email": "developers@gns3.net",
+ "qemu": {
+ "adapter_type": "pcnet",
+ "adapters": 2,
+ "ram": 512,
+ "arch": "i386",
+ "console_type": "vnc",
+ "kvm": "require",
+ "options": "-vga std -soundhw es1370 -usbdevice tablet"
+ },
+ "images": [
+ {
+ "filename": "IE8 - WinXP-disk1.vmdk",
+ "version": "XP+IE8",
+ "md5sum": "9cf6a0d5af11bdad26a59731f6494666",
+ "filesize": 1241311744,
+ "download_url": "https://ia802808.us.archive.org/22/items/ie8.winxp.vmware/IE8-WinXP-VMWare.zip"
+ },
+ {
+ "filename": "IE6 - WinXP-disk1.vmdk",
+ "version": "XP+IE6",
+ "md5sum": "f7fc1948749f0a62c3cccf0775d74f05",
+ "filesize": 1063498240,
+ "download_url": "https://ia802903.us.archive.org/25/items/ie6.winxp.vmware/IE6%20-%20WinXP-VMWare.zip"
+ }
+ ],
+ "versions": [
+ {
+ "name": "XP+IE8",
+ "images": {
+ "hda_disk_image": "IE8 - WinXP-disk1.vmdk"
+ }
+ },
+ {
+ "name": "XP+IE6",
+ "images": {
+ "hda_disk_image": "IE6 - WinXP-disk1.vmdk"
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/gns3server/compute/dynamips/nodes/ethernet_switch.py b/gns3server/compute/dynamips/nodes/ethernet_switch.py
index 7a6edb1f..627f5447 100644
--- a/gns3server/compute/dynamips/nodes/ethernet_switch.py
+++ b/gns3server/compute/dynamips/nodes/ethernet_switch.py
@@ -79,7 +79,7 @@ class EthernetSwitch(Device):
:param hypervisor: Dynamips hypervisor instance
"""
- def __init__(self, name, node_id, project, manager, console=None, console_type="none", ports=None, hypervisor=None):
+ def __init__(self, name, node_id, project, manager, console=None, console_type=None, ports=None, hypervisor=None):
super().__init__(name, node_id, project, manager, hypervisor)
self._nios = {}
@@ -90,6 +90,9 @@ class EthernetSwitch(Device):
self._console = console
self._console_type = console_type
+ if self._console_type is None:
+ self._console_type = "none"
+
if self._console is not None:
self._console = self._manager.port_manager.reserve_tcp_port(self._console, self._project)
else:
@@ -116,6 +119,7 @@ class EthernetSwitch(Device):
"project_id": self.project.id,
"ports_mapping": self._ports,
"status": "started"}
+
return ethernet_switch_info
@property
diff --git a/gns3server/controller/appliance_manager.py b/gns3server/controller/appliance_manager.py
index 3ffd918e..4d1492be 100644
--- a/gns3server/controller/appliance_manager.py
+++ b/gns3server/controller/appliance_manager.py
@@ -16,6 +16,7 @@
# along with this program. If not, see