diff --git a/CHANGELOG b/CHANGELOG
index fa41bc21..56efdc1f 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,13 @@
# Change Log
+## 2.2.39 08/05/2023
+
+* Install web-ui v2.2.39
+* Add generic function to install resource files
+* Install empty Qemu disks on first start
+* Check for colon in project name. Fixes #2203
+* Upgrade distro and aiohttp dependencies
+
## 2.2.38 28/02/2023
* Bundle web-ui v2.2.38
diff --git a/gns3server/appliances/aruba-arubaoscx.gns3a b/gns3server/appliances/aruba-arubaoscx.gns3a
index 8acf9467..a0a08345 100644
--- a/gns3server/appliances/aruba-arubaoscx.gns3a
+++ b/gns3server/appliances/aruba-arubaoscx.gns3a
@@ -2,10 +2,12 @@
"appliance_id": "8f074218-9d61-4e99-ab89-35ca19ad44ee",
"name": "ArubaOS-CX Simulation Software",
"category": "multilayer_switch",
- "description": "The ArubaOS-CX Simulation Software is a virtual platform to enable simulation of the ArubaOS-CX Network Operating System. Simulated networks can be created using many of the protocols in the ArubaOS-CX Operating system like OSPF, BGP (inc. EVPN). Key features like the Aruba Network Analytics Engine and the REST API can be simulated, providing a lightweight development platform to building the modern network.",
+ "description": "The Aruba AOS-CX Switch Simulator is a virtual platform to enable simulation of the Aruba AOS-CX Network Operating System. Simulated networks can be created using many of the protocols in the ArubaOS-CX Operating system like OSPF, BGP (inc. EVPN). Key features like the Aruba Network Analytics Engine and the REST API can be simulated, providing a lightweight development platform to building the modern network.",
"vendor_name": "HPE Aruba",
"vendor_url": "https://www.arubanetworks.com",
- "product_name": "ArubaOS-CX Simulation Software",
+ "documentation_url": "https://asp.arubanetworks.com/downloads;search=Aruba%20AOS%20CX%20Switch%20Simulator;products=Aruba%20Switches",
+ "product_name": "Aruba AOS-CX Switch Simulator",
+ "product_url": "https://www.arubanetworks.com/products/switches/",
"registry_version": 4,
"status": "stable",
"availability": "service-contract",
@@ -30,6 +32,13 @@
"process_priority": "normal"
},
"images": [
+ {
+ "filename": "arubaoscx-disk-image-genericx86-p4-20221130174651.vmdk",
+ "version": "10.11.0001",
+ "md5sum": "ed5434173c898f47f19bfda51000611a",
+ "filesize": 364597760,
+ "download_url": "https://asp.arubanetworks.com/"
+ },
{
"filename": "arubaoscx-disk-image-genericx86-p4-20220815162137.vmdk",
"version": "10.10.1000",
@@ -102,6 +111,12 @@
}
],
"versions": [
+ {
+ "name": "10.11.0001",
+ "images": {
+ "hda_disk_image": "arubaoscx-disk-image-genericx86-p4-20221130174651.vmdk"
+ }
+ },
{
"name": "10.10.1000",
"images": {
diff --git a/gns3server/appliances/cisco-7200.gns3a b/gns3server/appliances/cisco-7200.gns3a
index 43799ad4..6638702b 100644
--- a/gns3server/appliances/cisco-7200.gns3a
+++ b/gns3server/appliances/cisco-7200.gns3a
@@ -21,6 +21,18 @@
"npe": "npe-400"
},
"images": [
+ {
+ "filename": "c7200-adventerprisek9-mz.153-3.XB12.image",
+ "version": "153-3.XB12",
+ "md5sum": "3d234a3793331c972776354531f87221",
+ "filesize": 131471340
+ },
+ {
+ "filename": "c7200-advipservicesk9-mz.152-4.S5.image",
+ "version": "152-4.S5",
+ "md5sum": "cbbbea66a253f1dac0fcf81274dc778d",
+ "filesize": 87756936
+ },
{
"filename": "c7200-adventerprisek9-mz.124-24.T5.image",
"version": "124-24.T5",
@@ -29,6 +41,20 @@
}
],
"versions": [
+ {
+ "name": "153-3.XB12",
+ "idlepc": "0x60630d08",
+ "images": {
+ "image": "c7200-adventerprisek9-mz.153-3.XB12.image"
+ }
+ },
+ {
+ "name": "152-4.S5",
+ "idlepc": "0x62cc930c",
+ "images": {
+ "image": "c7200-advipservicesk9-mz.152-4.S5.image"
+ }
+ },
{
"name": "124-24.T5",
"idlepc": "0x606df838",
diff --git a/gns3server/appliances/cisco-cat9k.gns3a b/gns3server/appliances/cisco-cat9k.gns3a
new file mode 100644
index 00000000..7ebf7c22
--- /dev/null
+++ b/gns3server/appliances/cisco-cat9k.gns3a
@@ -0,0 +1,45 @@
+{
+ "appliance_id": "57a85f0e-b8ae-4820-bd2b-816b2cceb842",
+ "name": "Cisco CAT IOS-XE 9000v",
+ "category": "multilayer_switch",
+ "description": "Cisco IOS-XE 9000v. This appliance requires 16GB of memory to run! Recommend 2 or more vCPUs for faster boot performance",
+ "vendor_name": "Cisco",
+ "vendor_url": "http://www.cisco.com/",
+ "documentation_url": "https://developer.cisco.com/docs/modeling-labs/2-5/#!cml-release-notes",
+ "product_name": "Cisco CAT IOS-XE 9000v",
+ "product_url": "http://virl.cisco.com/",
+ "registry_version": 4,
+ "status": "experimental",
+ "maintainer": "GNS3 Team",
+ "maintainer_email": "developers@gns3.net",
+ "usage": "There is no default configuration present. Virtual Switch and Interfaces may take several minutes to be usable after appliance boot.",
+ "first_port_name": "GigabitEthernet0/0",
+ "port_name_format": "GigabitEthernet1/0/{port1}",
+ "qemu": {
+ "adapter_type": "virtio-net-pci",
+ "adapters": 9,
+ "ram": 16384,
+ "cpus": 2,
+ "hda_disk_interface": "virtio",
+ "arch": "x86_64",
+ "console_type": "telnet",
+ "kvm": "require"
+ },
+ "images": [
+ {
+ "filename": "cat9kv-prd-17.10.01prd7.qcow2",
+ "version": "17.10(1)",
+ "md5sum": "ffdbace33d31deae33e2a920a96b79ef",
+ "filesize": 2155806720,
+ "download_url": "https://learningnetworkstore.cisco.com/myaccount"
+ }
+ ],
+ "versions": [
+ {
+ "name": "17.10(1)",
+ "images": {
+ "hda_disk_image": "cat9kv-prd-17.10.01prd7.qcow2"
+ }
+ }
+ ]
+}
diff --git a/gns3server/appliances/cisco-iosv.gns3a b/gns3server/appliances/cisco-iosv.gns3a
index 254653cc..179159aa 100644
--- a/gns3server/appliances/cisco-iosv.gns3a
+++ b/gns3server/appliances/cisco-iosv.gns3a
@@ -32,6 +32,13 @@
"download_url": "https://sourceforge.net/projects/gns-3/files",
"direct_download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/IOSv_startup_config.img/download"
},
+ {
+ "filename": "vios-adventerprisek9-m.spa.159-3.m6.qcow2",
+ "version": "15.9(3)M6",
+ "md5sum": "49a6977977263b2774bebc56e4e678ff",
+ "filesize": 57309696,
+ "download_url": "https://learningnetworkstore.cisco.com/myaccount"
+ },
{
"filename": "vios-adventerprisek9-m.spa.159-3.m4.qcow2",
"version": "15.9(3)M4",
@@ -90,6 +97,13 @@
}
],
"versions": [
+ {
+ "name": "15.9(3)M6",
+ "images": {
+ "hda_disk_image": "vios-adventerprisek9-m.spa.159-3.m6.qcow2",
+ "hdb_disk_image": "IOSv_startup_config.img"
+ }
+ },
{
"name": "15.9(3)M4",
"images": {
diff --git a/gns3server/appliances/cumulus-vx.gns3a b/gns3server/appliances/cumulus-vx.gns3a
index 09506642..8183d425 100644
--- a/gns3server/appliances/cumulus-vx.gns3a
+++ b/gns3server/appliances/cumulus-vx.gns3a
@@ -18,13 +18,21 @@
"qemu": {
"adapter_type": "virtio-net-pci",
"adapters": 7,
- "ram": 768,
- "hda_disk_interface": "ide",
+ "ram": 1024,
+ "hda_disk_interface": "virtio",
"arch": "x86_64",
"console_type": "telnet",
"kvm": "require"
},
"images": [
+ {
+ "filename": "cumulus-linux-5.4.0-vx-amd64-qemu.qcow2",
+ "version": "5.4.0",
+ "md5sum": "b36d781a168e381e0db5b1d85a2f970d",
+ "filesize": 6254493696,
+ "download_url": "https://www.nvidia.com/en-us/networking/ethernet-switching/cumulus-vx/download/",
+ "direct_download_url": "https://d2cd9e7ca6hntp.cloudfront.net/public/CumulusLinux-5.4.0/cumulus-linux-5.4.0-vx-amd64-qemu.qcow2"
+ },
{
"filename": "cumulus-linux-5.3.1-vx-amd64-qemu.qcow2",
"version": "5.3.1",
@@ -247,6 +255,12 @@
}
],
"versions": [
+ {
+ "name": "5.4.0",
+ "images": {
+ "hda_disk_image": "cumulus-linux-5.4.0-vx-amd64-qemu.qcow2"
+ }
+ },
{
"name": "5.3.1",
"images": {
diff --git a/gns3server/appliances/dns.gns3a b/gns3server/appliances/dns.gns3a
index cc81b0f1..857b18f7 100644
--- a/gns3server/appliances/dns.gns3a
+++ b/gns3server/appliances/dns.gns3a
@@ -10,7 +10,7 @@
"status": "stable",
"maintainer": "Andras Dosztal",
"maintainer_email": "developers@gns3.net",
- "usage": "You can add records by adding entries to the /etc/hosts file in the following format:\n%IP_ADDRESS% %HOSTNAME%.lab %HOSTNAME%\n\nExample:\n192.168.123.10 router1.lab router1\n\nIf you require DNS requests to be serviced from a different subnet than the one that the DNS server resides on then do the following:\n\n1. Edit (nano or vim) /ect/init.d/dnsmasq\n2. Find the line DNSMASQ_OPTS=\"$DNSMASQ_OPTS --local-service\"\n3. Remove the --local-service or comment that line out and add DNSMASQ_OPTS=\"\"\n4. Restart dnsmasq - service dnsmaq restart",
+ "usage": "You can add records by adding entries to the /etc/hosts file in the following format:\n%IP_ADDRESS% %HOSTNAME%.lab %HOSTNAME%\n\nExample:\n192.168.123.10 router1.lab router1\n\nIf you require DNS requests to be serviced from a different subnet than the one that the DNS server resides on then do the following:\n\n1. Edit (nano or vim) /ect/init.d/dnsmasq\n2. Find the line DNSMASQ_OPTS=\"$DNSMASQ_OPTS --local-service\"\n3. Remove the --local-service or comment that line out and add DNSMASQ_OPTS=\"\"\n4. Restart dnsmasq using the following command: service dnsmasq restart \n\n There is an error in this Docker container, edit /etc/dnsmasq.conf, add: interface=eth0",
"symbol": "linux_guest.svg",
"docker": {
"adapters": 1,
diff --git a/gns3server/appliances/fortiadc.gns3a b/gns3server/appliances/fortiadc.gns3a
index 4ba40af8..5996848c 100644
--- a/gns3server/appliances/fortiadc.gns3a
+++ b/gns3server/appliances/fortiadc.gns3a
@@ -34,6 +34,20 @@
"filesize": 30998528,
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
},
+ {
+ "filename": "FAD_KVM-V7.2.0-build0210-FORTINET.out.kvm-boot.qcow2",
+ "version": "7.2.0",
+ "md5sum": "e01f14443b0434adc803c482bb92e3a2",
+ "filesize": 145817600,
+ "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
+ },
+ {
+ "filename": "FAD_KVM-V7.1.1-build0117-FORTINET.out.kvm-boot.qcow2",
+ "version": "7.1.1",
+ "md5sum": "3ab1a886e4961ded804588de6f3b2e27",
+ "filesize": 134807552,
+ "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
+ },
{
"filename": "FAD_KVM-v700-build0111-FORTINET.out.kvm-boot.qcow2",
"version": "7.1.0",
@@ -41,6 +55,13 @@
"filesize": 134676480,
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
},
+ {
+ "filename": "FAD_KVM-V7.0.5-build0053-FORTINET.out.kvm-boot.qcow2",
+ "version": "7.0.5",
+ "md5sum": "3285114b8f317a367b7bcf79631a42f9",
+ "filesize": 127860736,
+ "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
+ },
{
"filename": "FAD_KVM-v700-build0048-FORTINET.out.kvm-boot.qcow2",
"version": "7.0.4",
@@ -225,6 +246,20 @@
}
],
"versions": [
+ {
+ "name": "7.2.0",
+ "images": {
+ "hda_disk_image": "FAD_KVM-V7.2.0-build0210-FORTINET.out.kvm-boot.qcow2",
+ "hdb_disk_image": "FAD_KVM-FORTINET.out.kvm-data.qcow2"
+ }
+ },
+ {
+ "name": "7.1.1",
+ "images": {
+ "hda_disk_image": "FAD_KVM-V7.1.1-build0117-FORTINET.out.kvm-boot.qcow2",
+ "hdb_disk_image": "FAD_KVM-FORTINET.out.kvm-data.qcow2"
+ }
+ },
{
"name": "7.1.0",
"images": {
@@ -232,6 +267,13 @@
"hdb_disk_image": "FAD_KVM-FORTINET.out.kvm-data.qcow2"
}
},
+ {
+ "name": "7.0.5",
+ "images": {
+ "hda_disk_image": "FAD_KVM-V7.0.5-build0053-FORTINET.out.kvm-boot.qcow2",
+ "hdb_disk_image": "FAD_KVM-FORTINET.out.kvm-data.qcow2"
+ }
+ },
{
"name": "7.0.4",
"images": {
diff --git a/gns3server/appliances/fortianalyzer.gns3a b/gns3server/appliances/fortianalyzer.gns3a
index 96be826a..57f14c9b 100644
--- a/gns3server/appliances/fortianalyzer.gns3a
+++ b/gns3server/appliances/fortianalyzer.gns3a
@@ -12,7 +12,7 @@
"status": "stable",
"maintainer": "GNS3 Team",
"maintainer_email": "developers@gns3.net",
- "usage": "Default username is admin, no password is set.",
+ "usage": "Default username is admin, no password is set.\n\n- Versions 7.0 and higher require:\n--RAM: 8192 MB\n--CPU:4",
"symbol": "fortinet.svg",
"port_name_format": "Port{port1}",
"qemu": {
@@ -27,6 +27,13 @@
"kvm": "allow"
},
"images": [
+ {
+ "filename": "FAZ_VM64_KVM-v7.2.2-build1334-FORTINET.out.kvm.qcow2",
+ "version": "7.2.2",
+ "md5sum": "fe445cc79eed00b3abcdba9c36e7445d",
+ "filesize": 345501696,
+ "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
+ },
{
"filename": "FAZ_VM64_KVM-v7.2.1-build1215-FORTINET.out.kvm.qcow2",
"version": "7.2.1",
@@ -34,6 +41,13 @@
"filesize": 340631552,
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
},
+ {
+ "filename": "FAZ_VM64_KVM-v7.0.6-build0372-FORTINET.out.kvm.qcow2",
+ "version": "7.0.6",
+ "md5sum": "2e382abcf661c41c1a69178e9cdc5a3f",
+ "filesize": 335556608,
+ "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
+ },
{
"filename": "FAZ_VM64_KVM-v7.0.5-build0365-FORTINET.out.kvm.qcow2",
"version": "7.0.5",
@@ -191,6 +205,13 @@
}
],
"versions": [
+ {
+ "name": "7.2.2",
+ "images": {
+ "hda_disk_image": "FAZ_VM64_KVM-v7.2.2-build1334-FORTINET.out.kvm.qcow2",
+ "hdb_disk_image": "empty30G.qcow2"
+ }
+ },
{
"name": "7.2.1",
"images": {
@@ -198,6 +219,13 @@
"hdb_disk_image": "empty30G.qcow2"
}
},
+ {
+ "name": "7.0.6",
+ "images": {
+ "hda_disk_image": "FAZ_VM64_KVM-v7.0.6-build0372-FORTINET.out.kvm.qcow2",
+ "hdb_disk_image": "empty30G.qcow2"
+ }
+ },
{
"name": "7.0.5",
"images": {
diff --git a/gns3server/appliances/fortigate.gns3a b/gns3server/appliances/fortigate.gns3a
index 9b4df6b7..c730d176 100644
--- a/gns3server/appliances/fortigate.gns3a
+++ b/gns3server/appliances/fortigate.gns3a
@@ -12,7 +12,7 @@
"status": "stable",
"maintainer": "GNS3 Team",
"maintainer_email": "developers@gns3.net",
- "usage": "Default username is admin, no password is set.",
+ "usage": "Default username is admin, no password is set.\n\n- FortiGate version 7.0.0 and above require 2GB RAM.\n\n- FortiGate versions higher than 7.2.0 trial license is VERY restrictive, not recommended for use.",
"symbol": "fortinet.svg",
"port_name_format": "Port{port1}",
"qemu": {
@@ -27,6 +27,13 @@
"kvm": "allow"
},
"images": [
+ {
+ "filename": "FGT_VM64_KVM-v7.2.4.F-build1396-FORTINET.out.kvm.qcow2",
+ "version": "7.2.4",
+ "md5sum": "e3bd5958ff3d4f9363152c340e9b9578",
+ "filesize": 95158272,
+ "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
+ },
{
"filename": "FGT_VM64_KVM-v7.2.3.F-build1262-FORTINET.out.kvm.qcow2",
"version": "7.2.3",
@@ -41,6 +48,13 @@
"filesize": 86704128,
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
},
+ {
+ "filename": "FGT_VM64_KVM-v7.0.10.M-build0450-FORTINET.out.kvm.qcow2",
+ "version": "7.0.10",
+ "md5sum": "c7eb9fad8484405aa5bd8a4dd9e67722",
+ "filesize": 77135872,
+ "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
+ },
{
"filename": "FGT_VM64_KVM-v7.0.9.M-build0444-FORTINET.out.kvm.qcow2",
"version": "7.0.9",
@@ -48,6 +62,13 @@
"filesize": 77135872,
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
},
+ {
+ "filename": "FGT_VM64_KVM-v6.4.12.M-build2060-FORTINET.out.kvm.qcow2",
+ "version": "6.4.12",
+ "md5sum": "df2569f9fa3e40b65fa0db741cf6e01e",
+ "filesize": 69861376,
+ "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
+ },
{
"filename": "FGT_VM64_KVM-v6.M-build2030-FORTINET.out.kvm.qcow2",
"version": "6.4.11",
@@ -282,6 +303,13 @@
}
],
"versions": [
+ {
+ "name": "7.2.4",
+ "images": {
+ "hda_disk_image": "FGT_VM64_KVM-v7.2.4.F-build1396-FORTINET.out.kvm.qcow2",
+ "hdb_disk_image": "empty30G.qcow2"
+ }
+ },
{
"name": "7.2.3",
"images": {
@@ -296,6 +324,13 @@
"hdb_disk_image": "empty30G.qcow2"
}
},
+ {
+ "name": "7.0.10",
+ "images": {
+ "hda_disk_image": "FGT_VM64_KVM-v7.0.10.M-build0450-FORTINET.out.kvm.qcow2",
+ "hdb_disk_image": "empty30G.qcow2"
+ }
+ },
{
"name": "7.0.9",
"images": {
@@ -303,6 +338,13 @@
"hdb_disk_image": "empty30G.qcow2"
}
},
+ {
+ "name": "6.4.12",
+ "images": {
+ "hda_disk_image": "FGT_VM64_KVM-v6.4.12.M-build2060-FORTINET.out.kvm.qcow2",
+ "hdb_disk_image": "empty30G.qcow2"
+ }
+ },
{
"name": "6.4.11",
"images": {
diff --git a/gns3server/appliances/fortimail.gns3a b/gns3server/appliances/fortimail.gns3a
index d99765e4..774b17b5 100644
--- a/gns3server/appliances/fortimail.gns3a
+++ b/gns3server/appliances/fortimail.gns3a
@@ -27,6 +27,13 @@
"kvm": "allow"
},
"images": [
+ {
+ "filename": "FML_VMKV-64-v722.M-build0380-FORTINET.out.kvm.qcow2",
+ "version": "7.2.2",
+ "md5sum": "ec7c32c90f4cfba32a744ea74adc596b",
+ "filesize": 124387328,
+ "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
+ },
{
"filename": "FML_VMKV-64-v721.M-build0364-FORTINET.out.kvm.qcow2",
"version": "7.2.1",
@@ -34,6 +41,20 @@
"filesize": 123535360,
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
},
+ {
+ "filename": "FML_VMKV-64-v705-build0208-FORTINET.out.kvm.qcow2",
+ "version": "7.0.5",
+ "md5sum": "62e561465ff8134efdea6f66ba9ccf20",
+ "filesize": 118226944,
+ "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
+ },
+ {
+ "filename": "FML_VMKV-64-v647-build0467-FORTINET.out.kvm.qcow2",
+ "version": "6.4.7",
+ "md5sum": "11fab90b39d88446a711bbd01802aca1",
+ "filesize": 112066560,
+ "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
+ },
{
"filename": "FML_VMKV-64-v60-build0257-FORTINET.out.kvm.qcow2",
"version": "6.2.1",
@@ -191,6 +212,13 @@
}
],
"versions": [
+ {
+ "name": "7.2.2",
+ "images": {
+ "hda_disk_image": "FML_VMKV-64-v722.M-build0380-FORTINET.out.kvm.qcow2",
+ "hdb_disk_image": "empty30G.qcow2"
+ }
+ },
{
"name": "7.2.1",
"images": {
@@ -198,6 +226,20 @@
"hdb_disk_image": "empty30G.qcow2"
}
},
+ {
+ "name": "7.0.5",
+ "images": {
+ "hda_disk_image": "FML_VMKV-64-v705-build0208-FORTINET.out.kvm.qcow2",
+ "hdb_disk_image": "empty30G.qcow2"
+ }
+ },
+ {
+ "name": "6.4.7",
+ "images": {
+ "hda_disk_image": "FML_VMKV-64-v647-build0467-FORTINET.out.kvm.qcow2",
+ "hdb_disk_image": "empty30G.qcow2"
+ }
+ },
{
"name": "6.2.1",
"images": {
diff --git a/gns3server/appliances/fortimanager.gns3a b/gns3server/appliances/fortimanager.gns3a
index d0d304ea..a8333452 100644
--- a/gns3server/appliances/fortimanager.gns3a
+++ b/gns3server/appliances/fortimanager.gns3a
@@ -12,7 +12,7 @@
"status": "stable",
"maintainer": "GNS3 Team",
"maintainer_email": "developers@gns3.net",
- "usage": "Default username is admin, no password is set.",
+ "usage": "Default username is admin, no password is set.\n\n- Versions 7.0 and higher require:\n--RAM: 8192 MB\n--CPU:4",
"symbol": "fortinet.svg",
"port_name_format": "Port{port1}",
"qemu": {
@@ -27,6 +27,13 @@
"kvm": "allow"
},
"images": [
+ {
+ "filename": "FMG_VM64_KVM-v7.2.2-build1334-FORTINET.out.kvm.qcow2",
+ "version": "7.2.2",
+ "md5sum": "2ff1298257321cd485d2cad91d6ce510",
+ "filesize": 246083584,
+ "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
+ },
{
"filename": "FMG_VM64_KVM-v7.2.1-build1215-FORTINET.out.kvm.qcow2",
"version": "7.2.1",
@@ -34,6 +41,13 @@
"filesize": 242814976,
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
},
+ {
+ "filename": "FMG_VM64_KVM-v7.0.6-build0372-FORTINET.out.kvm.qcow2",
+ "version": "7.0.6",
+ "md5sum": "dfa4df9e976ed87e73cb9601a8a70323",
+ "filesize": 239190016,
+ "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
+ },
{
"filename": "FMG_VM64_KVM-v7.0.5-build0365-FORTINET.out.kvm.qcow2",
"version": "7.0.5",
@@ -191,6 +205,13 @@
}
],
"versions": [
+ {
+ "name": "7.2.2",
+ "images": {
+ "hda_disk_image": "FMG_VM64_KVM-v7.2.2-build1334-FORTINET.out.kvm.qcow2",
+ "hdb_disk_image": "empty30G.qcow2"
+ }
+ },
{
"name": "7.2.1",
"images": {
@@ -198,6 +219,13 @@
"hdb_disk_image": "empty30G.qcow2"
}
},
+ {
+ "name": "7.0.6",
+ "images": {
+ "hda_disk_image": "FMG_VM64_KVM-v7.0.6-build0372-FORTINET.out.kvm.qcow2",
+ "hdb_disk_image": "empty30G.qcow2"
+ }
+ },
{
"name": "7.0.5",
"images": {
diff --git a/gns3server/appliances/fortiweb.gns3a b/gns3server/appliances/fortiweb.gns3a
index 0464b8e5..451ce1dc 100644
--- a/gns3server/appliances/fortiweb.gns3a
+++ b/gns3server/appliances/fortiweb.gns3a
@@ -27,6 +27,20 @@
"kvm": "allow"
},
"images": [
+ {
+ "filename": "FWB_KVM-v7.2.1-build0330-FORTINET.out.kvm.boot.qcow2",
+ "version": "7.2.1",
+ "md5sum": "5806524ca31401c313e0e86e992b6659",
+ "filesize": 260506112,
+ "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
+ },
+ {
+ "filename": "FWB_KVM-v7.0.6-build0140-FORTINET.out.kvm.boot.qcow2",
+ "version": "7.0.6",
+ "md5sum": "1327019e891678a0f2fb9602086d998d",
+ "filesize": 258408960,
+ "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
+ },
{
"filename": "FWB_KVM-v700-build0129-FORTINET.out.kvm.qcow2",
"version": "7.0.5",
@@ -135,6 +149,20 @@
}
],
"versions": [
+ {
+ "name": "7.2.1",
+ "images": {
+ "hda_disk_image": "FWB_KVM-v7.2.1-build0330-FORTINET.out.kvm.boot.qcow2",
+ "hdb_disk_image": "empty30G.qcow2"
+ }
+ },
+ {
+ "name": "7.0.6",
+ "images": {
+ "hda_disk_image": "FWB_KVM-v7.0.6-build0140-FORTINET.out.kvm.boot.qcow2",
+ "hdb_disk_image": "empty30G.qcow2"
+ }
+ },
{
"name": "7.0.5",
"images": {
diff --git a/gns3server/appliances/internet.gns3a b/gns3server/appliances/internet.gns3a
deleted file mode 100644
index 729de3c5..00000000
--- a/gns3server/appliances/internet.gns3a
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- "appliance_id": "f8302832-ad07-47e2-a750-004f700bd47c",
- "name": "Internet",
- "category": "router",
- "description": "This appliance simulate a domestic modem. It provide an IP via DHCP and will nat all connection to the internet without the need of using a cloud interface in your topologies. IP will be in the subnet 172.16.0.0/16. Multiple internet will have different IP range from 172.16.1.0/24 to 172.16.253.0/24 .\n\nWARNING USE IT ONLY WITH THE GNS3 VM.",
- "vendor_name": "GNS3",
- "vendor_url": "http://www.gns3.com",
- "documentation_url": "http://www.gns3.com",
- "product_name": "Internet",
- "registry_version": 4,
- "status": "stable",
- "maintainer": "GNS3 Team",
- "maintainer_email": "developers@gns3.net",
- "usage": "Just connect stuff to the appliance. Everything is automated.",
- "symbol": ":/symbols/cloud.svg",
- "qemu": {
- "adapter_type": "e1000",
- "adapters": 1,
- "ram": 64,
- "hda_disk_interface": "ide",
- "arch": "i386",
- "console_type": "telnet",
- "kvm": "allow",
- "options": "-device e1000,netdev=internet0 -netdev vde,sock=/var/run/vde2/qemu0.ctl,id=internet0"
- },
- "images": [
- {
- "filename": "core-linux-6.4-internet-0.1.img",
- "version": "0.1",
- "md5sum": "8ebc5a6ec53a1c05b7aa101b5ceefe31",
- "filesize": 16711680,
- "download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/",
- "direct_download_url": "http://downloads.sourceforge.net/project/gns-3/Qemu%20Appliances/core-linux-6.4-internet-0.1.img"
- }
- ],
- "versions": [
- {
- "name": "0.1",
- "images": {
- "hda_disk_image": "core-linux-6.4-internet-0.1.img"
- }
- }
- ]
-}
diff --git a/gns3server/appliances/juniper-vsrx.gns3a b/gns3server/appliances/juniper-vsrx.gns3a
index febb9ad9..bd13122d 100644
--- a/gns3server/appliances/juniper-vsrx.gns3a
+++ b/gns3server/appliances/juniper-vsrx.gns3a
@@ -26,6 +26,13 @@
"options": "-smp 2"
},
"images": [
+ {
+ "filename": "junos-vsrx3-x86-64-21.2R3-S4.8.qcow2",
+ "version": "21.2R3-S4",
+ "md5sum": "18fdcbfe0acbc935b4f677b4be7e228d",
+ "filesize": 762773504,
+ "download_url": "https://www.juniper.net/us/en/dm/free-vsrx-trial/"
+ },
{
"filename": "junos-media-vsrx-x86-64-vmdisk-20.4R1.12.qcow2",
"version": "20.4R1",
@@ -182,6 +189,12 @@
}
],
"versions": [
+ {
+ "name": "21.2R3-S4",
+ "images": {
+ "hda_disk_image": "junos-vsrx3-x86-64-21.2R3-S4.8.qcow2"
+ }
+ },
{
"name": "20.4R1",
"images": {
diff --git a/gns3server/appliances/mikrotik-ccr1036-8g-2s+.gns3a b/gns3server/appliances/mikrotik-ccr1036-8g-2s+.gns3a
new file mode 100644
index 00000000..737c22e7
--- /dev/null
+++ b/gns3server/appliances/mikrotik-ccr1036-8g-2s+.gns3a
@@ -0,0 +1,165 @@
+{
+ "appliance_id": "cec3cf6f-36c1-4a15-9fe0-4e88b5f3bffa",
+ "name": "MikroTik CCR1036-8G-2S+",
+ "category": "router",
+ "description": "This is a variation of Cloud Hosted Router (CHR) which is meant to mimic the basic hardware configuration of the CCR1036-8G-2S+ model.",
+ "vendor_name": "MikroTik",
+ "vendor_url": "http://mikrotik.com/",
+ "documentation_url": "http://wiki.mikrotik.com/wiki/Manual:CHR",
+ "product_name": "MikroTik CCR1036-8G-2S+",
+ "product_url": "http://www.mikrotik.com/download",
+ "registry_version": 6,
+ "status": "stable",
+ "maintainer": "Azorian Solutions",
+ "maintainer_email": "help@azorian.solutions",
+ "usage": "If you'd like a different sized main disk, resize the image before booting the VM for the first time.\n\nOn first boot, RouterOS is actually being installed, formatting the whole main virtual disk, before finally rebooting. That whole process may take a minute or so.\n\nThe console will become available after the installation is complete. Most Telnet/SSH clients (certainly SuperPutty) will keep retrying to connect, thus letting you know when installation is done.\n\nFrom that point on, everything about RouterOS is also true about Cloud Hosted Router, including the default credentials: Username \"admin\" and an empty password.\n\nThe primary differences between RouterOS and CHR are in support for virtual devices (this appliance comes with them being selected), and in the different license model, for which you can read more about at http://wiki.mikrotik.com/wiki/Manual:CHR.",
+ "symbol": ":/symbols/classic/router.svg",
+ "port_name_format": "ether{port1}",
+ "qemu": {
+ "adapter_type": "virtio-net-pci",
+ "adapters": 10,
+ "ram": 8192,
+ "cpus": 36,
+ "hda_disk_interface": "virtio",
+ "arch": "x86_64",
+ "console_type": "telnet",
+ "boot_priority": "c",
+ "kvm": "allow",
+ "options": "-nographic",
+ "on_close": "shutdown_signal",
+ "custom_adapters": [
+ {
+ "adapter_number": 8,
+ "port_name": "sfp-sfpplus1"
+ },
+ {
+ "adapter_number": 9,
+ "port_name": "sfp-sfpplus2"
+ }
+ ]
+ },
+ "images": [
+ {
+ "filename": "chr-7.8.img",
+ "version": "7.8",
+ "md5sum": "08fc9baf18d920bc65c974cafa3719be",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.8/chr-7.8.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.7.img",
+ "version": "7.7",
+ "md5sum": "efc4fdeb1cc06dc240a14f1215fd59b3",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.7/chr-7.7.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.6.img",
+ "version": "7.6",
+ "md5sum": "864482f9efaea9d40910c050318f65b9",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.6/chr-7.6.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.3.1.img",
+ "version": "7.3.1",
+ "md5sum": "99f8ea75f8b745a8bf5ca3cc1bd325e3",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.3.1/chr-7.3.1.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.1.5.img",
+ "version": "7.1.5",
+ "md5sum": "9c0be05f891df2b1400bdae5e719898e",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.1.5/chr-7.1.5.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-6.49.7.img",
+ "version": "6.49.7",
+ "md5sum": "0686d07f69d15d41467ada4a58a92cd2",
+ "filesize": 67108864,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/6.49.7/chr-6.49.7.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-6.49.6.img",
+ "version": "6.49.6",
+ "md5sum": "ae27d38acc9c4dcd875e0f97bcae8d97",
+ "filesize": 67108864,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/6.49.6/chr-6.49.6.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-6.48.6.img",
+ "version": "6.48.6",
+ "md5sum": "875574a561570227ff8f395aabe478c6",
+ "filesize": 67108864,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/6.48.6/chr-6.48.6.img.zip",
+ "compression": "zip"
+ }
+ ],
+ "versions": [
+ {
+ "name": "7.8",
+ "images": {
+ "hda_disk_image": "chr-7.8.img"
+ }
+ },
+ {
+ "name": "7.7",
+ "images": {
+ "hda_disk_image": "chr-7.7.img"
+ }
+ },
+ {
+ "name": "7.6",
+ "images": {
+ "hda_disk_image": "chr-7.6.img"
+ }
+ },
+ {
+ "name": "7.3.1",
+ "images": {
+ "hda_disk_image": "chr-7.3.1.img"
+ }
+ },
+ {
+ "name": "7.1.5",
+ "images": {
+ "hda_disk_image": "chr-7.1.5.img"
+ }
+ },
+ {
+ "name": "6.49.7",
+ "images": {
+ "hda_disk_image": "chr-6.49.7.img"
+ }
+ },
+ {
+ "name": "6.49.6",
+ "images": {
+ "hda_disk_image": "chr-6.49.6.img"
+ }
+ },
+ {
+ "name": "6.48.6",
+ "images": {
+ "hda_disk_image": "chr-6.48.6.img"
+ }
+ }
+ ]
+}
diff --git a/gns3server/appliances/mikrotik-ccr1072-1g-8s+.gns3a b/gns3server/appliances/mikrotik-ccr1072-1g-8s+.gns3a
new file mode 100644
index 00000000..069c7cab
--- /dev/null
+++ b/gns3server/appliances/mikrotik-ccr1072-1g-8s+.gns3a
@@ -0,0 +1,161 @@
+{
+ "appliance_id": "b7023032-61e9-4ca6-a36d-f917cfc498b4",
+ "name": "MikroTik CCR1072-1G-8S+",
+ "category": "router",
+ "description": "This is a variation of Cloud Hosted Router (CHR) which is meant to mimic the basic hardware configuration of the CCR1072-1G-8S+ model.",
+ "vendor_name": "MikroTik",
+ "vendor_url": "http://mikrotik.com/",
+ "documentation_url": "http://wiki.mikrotik.com/wiki/Manual:CHR",
+ "product_name": "MikroTik CCR1072-1G-8S+",
+ "product_url": "http://www.mikrotik.com/download",
+ "registry_version": 6,
+ "status": "stable",
+ "maintainer": "Azorian Solutions",
+ "maintainer_email": "help@azorian.solutions",
+ "usage": "If you'd like a different sized main disk, resize the image before booting the VM for the first time.\n\nOn first boot, RouterOS is actually being installed, formatting the whole main virtual disk, before finally rebooting. That whole process may take a minute or so.\n\nThe console will become available after the installation is complete. Most Telnet/SSH clients (certainly SuperPutty) will keep retrying to connect, thus letting you know when installation is done.\n\nFrom that point on, everything about RouterOS is also true about Cloud Hosted Router, including the default credentials: Username \"admin\" and an empty password.\n\nThe primary differences between RouterOS and CHR are in support for virtual devices (this appliance comes with them being selected), and in the different license model, for which you can read more about at http://wiki.mikrotik.com/wiki/Manual:CHR.",
+ "symbol": ":/symbols/classic/router.svg",
+ "port_name_format": "sfp-sfpplus{port1}",
+ "qemu": {
+ "adapter_type": "virtio-net-pci",
+ "adapters": 9,
+ "ram": 16384,
+ "cpus": 72,
+ "hda_disk_interface": "virtio",
+ "arch": "x86_64",
+ "console_type": "telnet",
+ "boot_priority": "c",
+ "kvm": "allow",
+ "options": "-nographic",
+ "on_close": "shutdown_signal",
+ "custom_adapters": [
+ {
+ "adapter_number": 8,
+ "port_name": "ether1"
+ }
+ ]
+ },
+ "images": [
+ {
+ "filename": "chr-7.8.img",
+ "version": "7.8",
+ "md5sum": "08fc9baf18d920bc65c974cafa3719be",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.8/chr-7.8.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.7.img",
+ "version": "7.7",
+ "md5sum": "efc4fdeb1cc06dc240a14f1215fd59b3",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.7/chr-7.7.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.6.img",
+ "version": "7.6",
+ "md5sum": "864482f9efaea9d40910c050318f65b9",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.6/chr-7.6.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.3.1.img",
+ "version": "7.3.1",
+ "md5sum": "99f8ea75f8b745a8bf5ca3cc1bd325e3",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.3.1/chr-7.3.1.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.1.5.img",
+ "version": "7.1.5",
+ "md5sum": "9c0be05f891df2b1400bdae5e719898e",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.1.5/chr-7.1.5.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-6.49.7.img",
+ "version": "6.49.7",
+ "md5sum": "0686d07f69d15d41467ada4a58a92cd2",
+ "filesize": 67108864,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/6.49.7/chr-6.49.7.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-6.49.6.img",
+ "version": "6.49.6",
+ "md5sum": "ae27d38acc9c4dcd875e0f97bcae8d97",
+ "filesize": 67108864,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/6.49.6/chr-6.49.6.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-6.48.6.img",
+ "version": "6.48.6",
+ "md5sum": "875574a561570227ff8f395aabe478c6",
+ "filesize": 67108864,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/6.48.6/chr-6.48.6.img.zip",
+ "compression": "zip"
+ }
+ ],
+ "versions": [
+ {
+ "name": "7.8",
+ "images": {
+ "hda_disk_image": "chr-7.8.img"
+ }
+ },
+ {
+ "name": "7.7",
+ "images": {
+ "hda_disk_image": "chr-7.7.img"
+ }
+ },
+ {
+ "name": "7.6",
+ "images": {
+ "hda_disk_image": "chr-7.6.img"
+ }
+ },
+ {
+ "name": "7.3.1",
+ "images": {
+ "hda_disk_image": "chr-7.3.1.img"
+ }
+ },
+ {
+ "name": "7.1.5",
+ "images": {
+ "hda_disk_image": "chr-7.1.5.img"
+ }
+ },
+ {
+ "name": "6.49.7",
+ "images": {
+ "hda_disk_image": "chr-6.49.7.img"
+ }
+ },
+ {
+ "name": "6.49.6",
+ "images": {
+ "hda_disk_image": "chr-6.49.6.img"
+ }
+ },
+ {
+ "name": "6.48.6",
+ "images": {
+ "hda_disk_image": "chr-6.48.6.img"
+ }
+ }
+ ]
+}
diff --git a/gns3server/appliances/mikrotik-crs328-24p-4s+.gns3a b/gns3server/appliances/mikrotik-crs328-24p-4s+.gns3a
new file mode 100644
index 00000000..f27b59d5
--- /dev/null
+++ b/gns3server/appliances/mikrotik-crs328-24p-4s+.gns3a
@@ -0,0 +1,173 @@
+{
+ "appliance_id": "5b583e53-197c-4ec1-a153-df9405320eec",
+ "name": "MikroTik CRS328-24P-4S+",
+ "category": "multilayer_switch",
+ "description": "This is a variation of Cloud Hosted Router (CHR) which is meant to mimic the basic hardware configuration of the CRS328-24P-4S+ model.",
+ "vendor_name": "MikroTik",
+ "vendor_url": "http://mikrotik.com/",
+ "documentation_url": "http://wiki.mikrotik.com/wiki/Manual:CHR",
+ "product_name": "MikroTik CRS328-24P-4S+",
+ "product_url": "http://www.mikrotik.com/download",
+ "registry_version": 6,
+ "status": "stable",
+ "maintainer": "Azorian Solutions",
+ "maintainer_email": "help@azorian.solutions",
+ "usage": "If you'd like a different sized main disk, resize the image before booting the VM for the first time.\n\nOn first boot, RouterOS is actually being installed, formatting the whole main virtual disk, before finally rebooting. That whole process may take a minute or so.\n\nThe console will become available after the installation is complete. Most Telnet/SSH clients (certainly SuperPutty) will keep retrying to connect, thus letting you know when installation is done.\n\nFrom that point on, everything about RouterOS is also true about Cloud Hosted Router, including the default credentials: Username \"admin\" and an empty password.\n\nThe primary differences between RouterOS and CHR are in support for virtual devices (this appliance comes with them being selected), and in the different license model, for which you can read more about at http://wiki.mikrotik.com/wiki/Manual:CHR.",
+ "symbol": ":/symbols/classic/multilayer_switch.svg",
+ "port_name_format": "ether{port1}",
+ "qemu": {
+ "adapter_type": "virtio-net-pci",
+ "adapters": 28,
+ "ram": 512,
+ "cpus": 1,
+ "hda_disk_interface": "virtio",
+ "arch": "x86_64",
+ "console_type": "telnet",
+ "boot_priority": "c",
+ "kvm": "allow",
+ "options": "-nographic",
+ "on_close": "shutdown_signal",
+ "custom_adapters": [
+ {
+ "adapter_number": 24,
+ "port_name": "sfp-sfpplus1"
+ },
+ {
+ "adapter_number": 25,
+ "port_name": "sfp-sfpplus2"
+ },
+ {
+ "adapter_number": 26,
+ "port_name": "sfp-sfpplus3"
+ },
+ {
+ "adapter_number": 27,
+ "port_name": "sfp-sfpplus4"
+ }
+ ]
+ },
+ "images": [
+ {
+ "filename": "chr-7.8.img",
+ "version": "7.8",
+ "md5sum": "08fc9baf18d920bc65c974cafa3719be",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.8/chr-7.8.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.7.img",
+ "version": "7.7",
+ "md5sum": "efc4fdeb1cc06dc240a14f1215fd59b3",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.7/chr-7.7.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.6.img",
+ "version": "7.6",
+ "md5sum": "864482f9efaea9d40910c050318f65b9",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.6/chr-7.6.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.3.1.img",
+ "version": "7.3.1",
+ "md5sum": "99f8ea75f8b745a8bf5ca3cc1bd325e3",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.3.1/chr-7.3.1.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.1.5.img",
+ "version": "7.1.5",
+ "md5sum": "9c0be05f891df2b1400bdae5e719898e",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.1.5/chr-7.1.5.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-6.49.7.img",
+ "version": "6.49.7",
+ "md5sum": "0686d07f69d15d41467ada4a58a92cd2",
+ "filesize": 67108864,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/6.49.7/chr-6.49.7.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-6.49.6.img",
+ "version": "6.49.6",
+ "md5sum": "ae27d38acc9c4dcd875e0f97bcae8d97",
+ "filesize": 67108864,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/6.49.6/chr-6.49.6.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-6.48.6.img",
+ "version": "6.48.6",
+ "md5sum": "875574a561570227ff8f395aabe478c6",
+ "filesize": 67108864,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/6.48.6/chr-6.48.6.img.zip",
+ "compression": "zip"
+ }
+ ],
+ "versions": [
+ {
+ "name": "7.8",
+ "images": {
+ "hda_disk_image": "chr-7.8.img"
+ }
+ },
+ {
+ "name": "7.7",
+ "images": {
+ "hda_disk_image": "chr-7.7.img"
+ }
+ },
+ {
+ "name": "7.6",
+ "images": {
+ "hda_disk_image": "chr-7.6.img"
+ }
+ },
+ {
+ "name": "7.3.1",
+ "images": {
+ "hda_disk_image": "chr-7.3.1.img"
+ }
+ },
+ {
+ "name": "7.1.5",
+ "images": {
+ "hda_disk_image": "chr-7.1.5.img"
+ }
+ },
+ {
+ "name": "6.49.7",
+ "images": {
+ "hda_disk_image": "chr-6.49.7.img"
+ }
+ },
+ {
+ "name": "6.49.6",
+ "images": {
+ "hda_disk_image": "chr-6.49.6.img"
+ }
+ },
+ {
+ "name": "6.48.6",
+ "images": {
+ "hda_disk_image": "chr-6.48.6.img"
+ }
+ }
+ ]
+}
diff --git a/gns3server/appliances/mikrotik-crs328-4c-20s-4s+.gns3a b/gns3server/appliances/mikrotik-crs328-4c-20s-4s+.gns3a
new file mode 100644
index 00000000..f484f81f
--- /dev/null
+++ b/gns3server/appliances/mikrotik-crs328-4c-20s-4s+.gns3a
@@ -0,0 +1,189 @@
+{
+ "appliance_id": "8d94af97-7e2f-4d8f-8ad7-49f48107c8ce",
+ "name": "MikroTik CRS328-4C-20S-4S+",
+ "category": "multilayer_switch",
+ "description": "This is a variation of Cloud Hosted Router (CHR) which is meant to mimic the basic hardware configuration of the CRS328-4C-20S-4S+ model.",
+ "vendor_name": "MikroTik",
+ "vendor_url": "http://mikrotik.com/",
+ "documentation_url": "http://wiki.mikrotik.com/wiki/Manual:CHR",
+ "product_name": "MikroTik CRS328-4C-20S-4S+",
+ "product_url": "http://www.mikrotik.com/download",
+ "registry_version": 6,
+ "status": "stable",
+ "maintainer": "Azorian Solutions",
+ "maintainer_email": "help@azorian.solutions",
+ "usage": "If you'd like a different sized main disk, resize the image before booting the VM for the first time.\n\nOn first boot, RouterOS is actually being installed, formatting the whole main virtual disk, before finally rebooting. That whole process may take a minute or so.\n\nThe console will become available after the installation is complete. Most Telnet/SSH clients (certainly SuperPutty) will keep retrying to connect, thus letting you know when installation is done.\n\nFrom that point on, everything about RouterOS is also true about Cloud Hosted Router, including the default credentials: Username \"admin\" and an empty password.\n\nThe primary differences between RouterOS and CHR are in support for virtual devices (this appliance comes with them being selected), and in the different license model, for which you can read more about at http://wiki.mikrotik.com/wiki/Manual:CHR.",
+ "symbol": ":/symbols/classic/multilayer_switch.svg",
+ "port_name_format": "sfp{port1}",
+ "qemu": {
+ "adapter_type": "virtio-net-pci",
+ "adapters": 28,
+ "ram": 512,
+ "cpus": 1,
+ "hda_disk_interface": "virtio",
+ "arch": "x86_64",
+ "console_type": "telnet",
+ "boot_priority": "c",
+ "kvm": "allow",
+ "options": "-nographic",
+ "on_close": "shutdown_signal",
+ "custom_adapters": [
+ {
+ "adapter_number": 20,
+ "port_name": "combo1"
+ },
+ {
+ "adapter_number": 21,
+ "port_name": "combo2"
+ },
+ {
+ "adapter_number": 22,
+ "port_name": "combo3"
+ },
+ {
+ "adapter_number": 23,
+ "port_name": "combo4"
+ },
+ {
+ "adapter_number": 24,
+ "port_name": "sfp-sfpplus1"
+ },
+ {
+ "adapter_number": 25,
+ "port_name": "sfp-sfpplus2"
+ },
+ {
+ "adapter_number": 26,
+ "port_name": "sfp-sfpplus3"
+ },
+ {
+ "adapter_number": 27,
+ "port_name": "sfp-sfpplus4"
+ }
+ ]
+ },
+ "images": [
+ {
+ "filename": "chr-7.8.img",
+ "version": "7.8",
+ "md5sum": "08fc9baf18d920bc65c974cafa3719be",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.8/chr-7.8.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.7.img",
+ "version": "7.7",
+ "md5sum": "efc4fdeb1cc06dc240a14f1215fd59b3",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.7/chr-7.7.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.6.img",
+ "version": "7.6",
+ "md5sum": "864482f9efaea9d40910c050318f65b9",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.6/chr-7.6.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.3.1.img",
+ "version": "7.3.1",
+ "md5sum": "99f8ea75f8b745a8bf5ca3cc1bd325e3",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.3.1/chr-7.3.1.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.1.5.img",
+ "version": "7.1.5",
+ "md5sum": "9c0be05f891df2b1400bdae5e719898e",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.1.5/chr-7.1.5.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-6.49.7.img",
+ "version": "6.49.7",
+ "md5sum": "0686d07f69d15d41467ada4a58a92cd2",
+ "filesize": 67108864,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/6.49.7/chr-6.49.7.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-6.49.6.img",
+ "version": "6.49.6",
+ "md5sum": "ae27d38acc9c4dcd875e0f97bcae8d97",
+ "filesize": 67108864,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/6.49.6/chr-6.49.6.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-6.48.6.img",
+ "version": "6.48.6",
+ "md5sum": "875574a561570227ff8f395aabe478c6",
+ "filesize": 67108864,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/6.48.6/chr-6.48.6.img.zip",
+ "compression": "zip"
+ }
+ ],
+ "versions": [
+ {
+ "name": "7.8",
+ "images": {
+ "hda_disk_image": "chr-7.8.img"
+ }
+ },
+ {
+ "name": "7.7",
+ "images": {
+ "hda_disk_image": "chr-7.7.img"
+ }
+ },
+ {
+ "name": "7.6",
+ "images": {
+ "hda_disk_image": "chr-7.6.img"
+ }
+ },
+ {
+ "name": "7.3.1",
+ "images": {
+ "hda_disk_image": "chr-7.3.1.img"
+ }
+ },
+ {
+ "name": "7.1.5",
+ "images": {
+ "hda_disk_image": "chr-7.1.5.img"
+ }
+ },
+ {
+ "name": "6.49.7",
+ "images": {
+ "hda_disk_image": "chr-6.49.7.img"
+ }
+ },
+ {
+ "name": "6.49.6",
+ "images": {
+ "hda_disk_image": "chr-6.49.6.img"
+ }
+ },
+ {
+ "name": "6.48.6",
+ "images": {
+ "hda_disk_image": "chr-6.48.6.img"
+ }
+ }
+ ]
+}
diff --git a/gns3server/appliances/mikrotik-rb1100ahx4-dude-edition.gns3a b/gns3server/appliances/mikrotik-rb1100ahx4-dude-edition.gns3a
new file mode 100644
index 00000000..247943fb
--- /dev/null
+++ b/gns3server/appliances/mikrotik-rb1100ahx4-dude-edition.gns3a
@@ -0,0 +1,155 @@
+{
+ "appliance_id": "d88d159f-ac6e-41ba-83a4-88e91548131e",
+ "name": "MikroTik RB1100AHx4 Dude Edition",
+ "category": "router",
+ "description": "This is a variation of Cloud Hosted Router (CHR) which is meant to mimic the basic hardware configuration of the RB1100AHx4 Dude Edition model.",
+ "vendor_name": "MikroTik",
+ "vendor_url": "http://mikrotik.com/",
+ "documentation_url": "http://wiki.mikrotik.com/wiki/Manual:CHR",
+ "product_name": "MikroTik RouterBOARD 1100AHx4 Dude Edition",
+ "product_url": "http://www.mikrotik.com/download",
+ "registry_version": 5,
+ "status": "stable",
+ "maintainer": "Azorian Solutions",
+ "maintainer_email": "help@azorian.solutions",
+ "usage": "If you'd like a different sized main disk, resize the image before booting the VM for the first time.\n\nOn first boot, RouterOS is actually being installed, formatting the whole main virtual disk, before finally rebooting. That whole process may take a minute or so.\n\nThe console will become available after the installation is complete. Most Telnet/SSH clients (certainly SuperPutty) will keep retrying to connect, thus letting you know when installation is done.\n\nFrom that point on, everything about RouterOS is also true about Cloud Hosted Router, including the default credentials: Username \"admin\" and an empty password.\n\nThe primary differences between RouterOS and CHR are in support for virtual devices (this appliance comes with them being selected), and in the different license model, for which you can read more about at http://wiki.mikrotik.com/wiki/Manual:CHR.",
+ "symbol": ":/symbols/classic/router.svg",
+ "port_name_format": "ether{port1}",
+ "qemu": {
+ "adapter_type": "virtio-net-pci",
+ "adapters": 13,
+ "ram": 1024,
+ "cpus": 4,
+ "hda_disk_interface": "virtio",
+ "arch": "x86_64",
+ "console_type": "telnet",
+ "boot_priority": "c",
+ "kvm": "allow",
+ "options": "-nographic",
+ "on_close": "shutdown_signal"
+ },
+ "images": [
+ {
+ "filename": "chr-7.8.img",
+ "version": "7.8",
+ "md5sum": "08fc9baf18d920bc65c974cafa3719be",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.8/chr-7.8.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.7.img",
+ "version": "7.7",
+ "md5sum": "efc4fdeb1cc06dc240a14f1215fd59b3",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.7/chr-7.7.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.6.img",
+ "version": "7.6",
+ "md5sum": "864482f9efaea9d40910c050318f65b9",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.6/chr-7.6.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.3.1.img",
+ "version": "7.3.1",
+ "md5sum": "99f8ea75f8b745a8bf5ca3cc1bd325e3",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.3.1/chr-7.3.1.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.1.5.img",
+ "version": "7.1.5",
+ "md5sum": "9c0be05f891df2b1400bdae5e719898e",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.1.5/chr-7.1.5.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-6.49.7.img",
+ "version": "6.49.7",
+ "md5sum": "0686d07f69d15d41467ada4a58a92cd2",
+ "filesize": 67108864,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/6.49.7/chr-6.49.7.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-6.49.6.img",
+ "version": "6.49.6",
+ "md5sum": "ae27d38acc9c4dcd875e0f97bcae8d97",
+ "filesize": 67108864,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/6.49.6/chr-6.49.6.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-6.48.6.img",
+ "version": "6.48.6",
+ "md5sum": "875574a561570227ff8f395aabe478c6",
+ "filesize": 67108864,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/6.48.6/chr-6.48.6.img.zip",
+ "compression": "zip"
+ }
+ ],
+ "versions": [
+ {
+ "name": "7.8",
+ "images": {
+ "hda_disk_image": "chr-7.8.img"
+ }
+ },
+ {
+ "name": "7.7",
+ "images": {
+ "hda_disk_image": "chr-7.7.img"
+ }
+ },
+ {
+ "name": "7.6",
+ "images": {
+ "hda_disk_image": "chr-7.6.img"
+ }
+ },
+ {
+ "name": "7.3.1",
+ "images": {
+ "hda_disk_image": "chr-7.3.1.img"
+ }
+ },
+ {
+ "name": "7.1.5",
+ "images": {
+ "hda_disk_image": "chr-7.1.5.img"
+ }
+ },
+ {
+ "name": "6.49.7",
+ "images": {
+ "hda_disk_image": "chr-6.49.7.img"
+ }
+ },
+ {
+ "name": "6.49.6",
+ "images": {
+ "hda_disk_image": "chr-6.49.6.img"
+ }
+ },
+ {
+ "name": "6.48.6",
+ "images": {
+ "hda_disk_image": "chr-6.48.6.img"
+ }
+ }
+ ]
+}
diff --git a/gns3server/appliances/mikrotik-rb2011uias.gns3a b/gns3server/appliances/mikrotik-rb2011uias.gns3a
new file mode 100644
index 00000000..cd8ee564
--- /dev/null
+++ b/gns3server/appliances/mikrotik-rb2011uias.gns3a
@@ -0,0 +1,161 @@
+{
+ "appliance_id": "475336ed-cd52-4ed8-9ef1-db9a81e2e0ce",
+ "name": "MikroTik RB2011UiAS",
+ "category": "router",
+ "description": "This is a variation of Cloud Hosted Router (CHR) which is meant to mimic the basic hardware configuration of the RB2011UiAS model.",
+ "vendor_name": "MikroTik",
+ "vendor_url": "http://mikrotik.com/",
+ "documentation_url": "http://wiki.mikrotik.com/wiki/Manual:CHR",
+ "product_name": "MikroTik RouterBOARD 2011UiAS",
+ "product_url": "http://www.mikrotik.com/download",
+ "registry_version": 6,
+ "status": "stable",
+ "maintainer": "Azorian Solutions",
+ "maintainer_email": "help@azorian.solutions",
+ "usage": "If you'd like a different sized main disk, resize the image before booting the VM for the first time.\n\nOn first boot, RouterOS is actually being installed, formatting the whole main virtual disk, before finally rebooting. That whole process may take a minute or so.\n\nThe console will become available after the installation is complete. Most Telnet/SSH clients (certainly SuperPutty) will keep retrying to connect, thus letting you know when installation is done.\n\nFrom that point on, everything about RouterOS is also true about Cloud Hosted Router, including the default credentials: Username \"admin\" and an empty password.\n\nThe primary differences between RouterOS and CHR are in support for virtual devices (this appliance comes with them being selected), and in the different license model, for which you can read more about at http://wiki.mikrotik.com/wiki/Manual:CHR.",
+ "symbol": ":/symbols/classic/router.svg",
+ "port_name_format": "ether{port1}",
+ "qemu": {
+ "adapter_type": "virtio-net-pci",
+ "adapters": 11,
+ "ram": 128,
+ "cpus": 1,
+ "hda_disk_interface": "virtio",
+ "arch": "x86_64",
+ "console_type": "telnet",
+ "boot_priority": "c",
+ "kvm": "allow",
+ "options": "-nographic",
+ "on_close": "shutdown_signal",
+ "custom_adapters": [
+ {
+ "adapter_number": 10,
+ "port_name": "sfp1"
+ }
+ ]
+ },
+ "images": [
+ {
+ "filename": "chr-7.8.img",
+ "version": "7.8",
+ "md5sum": "08fc9baf18d920bc65c974cafa3719be",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.8/chr-7.8.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.7.img",
+ "version": "7.7",
+ "md5sum": "efc4fdeb1cc06dc240a14f1215fd59b3",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.7/chr-7.7.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.6.img",
+ "version": "7.6",
+ "md5sum": "864482f9efaea9d40910c050318f65b9",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.6/chr-7.6.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.3.1.img",
+ "version": "7.3.1",
+ "md5sum": "99f8ea75f8b745a8bf5ca3cc1bd325e3",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.3.1/chr-7.3.1.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.1.5.img",
+ "version": "7.1.5",
+ "md5sum": "9c0be05f891df2b1400bdae5e719898e",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.1.5/chr-7.1.5.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-6.49.7.img",
+ "version": "6.49.7",
+ "md5sum": "0686d07f69d15d41467ada4a58a92cd2",
+ "filesize": 67108864,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/6.49.7/chr-6.49.7.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-6.49.6.img",
+ "version": "6.49.6",
+ "md5sum": "ae27d38acc9c4dcd875e0f97bcae8d97",
+ "filesize": 67108864,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/6.49.6/chr-6.49.6.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-6.48.6.img",
+ "version": "6.48.6",
+ "md5sum": "875574a561570227ff8f395aabe478c6",
+ "filesize": 67108864,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/6.48.6/chr-6.48.6.img.zip",
+ "compression": "zip"
+ }
+ ],
+ "versions": [
+ {
+ "name": "7.8",
+ "images": {
+ "hda_disk_image": "chr-7.8.img"
+ }
+ },
+ {
+ "name": "7.7",
+ "images": {
+ "hda_disk_image": "chr-7.7.img"
+ }
+ },
+ {
+ "name": "7.6",
+ "images": {
+ "hda_disk_image": "chr-7.6.img"
+ }
+ },
+ {
+ "name": "7.3.1",
+ "images": {
+ "hda_disk_image": "chr-7.3.1.img"
+ }
+ },
+ {
+ "name": "7.1.5",
+ "images": {
+ "hda_disk_image": "chr-7.1.5.img"
+ }
+ },
+ {
+ "name": "6.49.7",
+ "images": {
+ "hda_disk_image": "chr-6.49.7.img"
+ }
+ },
+ {
+ "name": "6.49.6",
+ "images": {
+ "hda_disk_image": "chr-6.49.6.img"
+ }
+ },
+ {
+ "name": "6.48.6",
+ "images": {
+ "hda_disk_image": "chr-6.48.6.img"
+ }
+ }
+ ]
+}
diff --git a/gns3server/appliances/mikrotik-rb3011uias.gns3a b/gns3server/appliances/mikrotik-rb3011uias.gns3a
new file mode 100644
index 00000000..5726df55
--- /dev/null
+++ b/gns3server/appliances/mikrotik-rb3011uias.gns3a
@@ -0,0 +1,161 @@
+{
+ "appliance_id": "363f3e40-569b-445a-83fc-0e25bfc9c3ff",
+ "name": "MikroTik RB3011UiAS",
+ "category": "router",
+ "description": "This is a variation of Cloud Hosted Router (CHR) which is meant to mimic the basic hardware configuration of the RB3011UiAS model.",
+ "vendor_name": "MikroTik",
+ "vendor_url": "http://mikrotik.com/",
+ "documentation_url": "http://wiki.mikrotik.com/wiki/Manual:CHR",
+ "product_name": "MikroTik RouterBOARD 3011UiAS",
+ "product_url": "http://www.mikrotik.com/download",
+ "registry_version": 6,
+ "status": "stable",
+ "maintainer": "Azorian Solutions",
+ "maintainer_email": "help@azorian.solutions",
+ "usage": "If you'd like a different sized main disk, resize the image before booting the VM for the first time.\n\nOn first boot, RouterOS is actually being installed, formatting the whole main virtual disk, before finally rebooting. That whole process may take a minute or so.\n\nThe console will become available after the installation is complete. Most Telnet/SSH clients (certainly SuperPutty) will keep retrying to connect, thus letting you know when installation is done.\n\nFrom that point on, everything about RouterOS is also true about Cloud Hosted Router, including the default credentials: Username \"admin\" and an empty password.\n\nThe primary differences between RouterOS and CHR are in support for virtual devices (this appliance comes with them being selected), and in the different license model, for which you can read more about at http://wiki.mikrotik.com/wiki/Manual:CHR.",
+ "symbol": ":/symbols/classic/router.svg",
+ "port_name_format": "ether{port1}",
+ "qemu": {
+ "adapter_type": "virtio-net-pci",
+ "adapters": 11,
+ "ram": 1024,
+ "cpus": 2,
+ "hda_disk_interface": "virtio",
+ "arch": "x86_64",
+ "console_type": "telnet",
+ "boot_priority": "c",
+ "kvm": "allow",
+ "options": "-nographic",
+ "on_close": "shutdown_signal",
+ "custom_adapters": [
+ {
+ "adapter_number": 10,
+ "port_name": "sfp1"
+ }
+ ]
+ },
+ "images": [
+ {
+ "filename": "chr-7.8.img",
+ "version": "7.8",
+ "md5sum": "08fc9baf18d920bc65c974cafa3719be",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.8/chr-7.8.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.7.img",
+ "version": "7.7",
+ "md5sum": "efc4fdeb1cc06dc240a14f1215fd59b3",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.7/chr-7.7.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.6.img",
+ "version": "7.6",
+ "md5sum": "864482f9efaea9d40910c050318f65b9",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.6/chr-7.6.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.3.1.img",
+ "version": "7.3.1",
+ "md5sum": "99f8ea75f8b745a8bf5ca3cc1bd325e3",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.3.1/chr-7.3.1.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.1.5.img",
+ "version": "7.1.5",
+ "md5sum": "9c0be05f891df2b1400bdae5e719898e",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.1.5/chr-7.1.5.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-6.49.7.img",
+ "version": "6.49.7",
+ "md5sum": "0686d07f69d15d41467ada4a58a92cd2",
+ "filesize": 67108864,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/6.49.7/chr-6.49.7.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-6.49.6.img",
+ "version": "6.49.6",
+ "md5sum": "ae27d38acc9c4dcd875e0f97bcae8d97",
+ "filesize": 67108864,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/6.49.6/chr-6.49.6.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-6.48.6.img",
+ "version": "6.48.6",
+ "md5sum": "875574a561570227ff8f395aabe478c6",
+ "filesize": 67108864,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/6.48.6/chr-6.48.6.img.zip",
+ "compression": "zip"
+ }
+ ],
+ "versions": [
+ {
+ "name": "7.8",
+ "images": {
+ "hda_disk_image": "chr-7.8.img"
+ }
+ },
+ {
+ "name": "7.7",
+ "images": {
+ "hda_disk_image": "chr-7.7.img"
+ }
+ },
+ {
+ "name": "7.6",
+ "images": {
+ "hda_disk_image": "chr-7.6.img"
+ }
+ },
+ {
+ "name": "7.3.1",
+ "images": {
+ "hda_disk_image": "chr-7.3.1.img"
+ }
+ },
+ {
+ "name": "7.1.5",
+ "images": {
+ "hda_disk_image": "chr-7.1.5.img"
+ }
+ },
+ {
+ "name": "6.49.7",
+ "images": {
+ "hda_disk_image": "chr-6.49.7.img"
+ }
+ },
+ {
+ "name": "6.49.6",
+ "images": {
+ "hda_disk_image": "chr-6.49.6.img"
+ }
+ },
+ {
+ "name": "6.48.6",
+ "images": {
+ "hda_disk_image": "chr-6.48.6.img"
+ }
+ }
+ ]
+}
diff --git a/gns3server/appliances/mikrotik-rb4011igs+.gns3a b/gns3server/appliances/mikrotik-rb4011igs+.gns3a
new file mode 100644
index 00000000..7c0c8021
--- /dev/null
+++ b/gns3server/appliances/mikrotik-rb4011igs+.gns3a
@@ -0,0 +1,161 @@
+{
+ "appliance_id": "014c6b0b-0558-4120-a7f1-d20d4d92b073",
+ "name": "MikroTik RB4011iGS+",
+ "category": "router",
+ "description": "This is a variation of Cloud Hosted Router (CHR) which is meant to mimic the basic hardware configuration of the RB4011iGS+ model.",
+ "vendor_name": "MikroTik",
+ "vendor_url": "http://mikrotik.com/",
+ "documentation_url": "http://wiki.mikrotik.com/wiki/Manual:CHR",
+ "product_name": "MikroTik RouterBOARD 4011iGS+",
+ "product_url": "http://www.mikrotik.com/download",
+ "registry_version": 6,
+ "status": "stable",
+ "maintainer": "Azorian Solutions",
+ "maintainer_email": "help@azorian.solutions",
+ "usage": "If you'd like a different sized main disk, resize the image before booting the VM for the first time.\n\nOn first boot, RouterOS is actually being installed, formatting the whole main virtual disk, before finally rebooting. That whole process may take a minute or so.\n\nThe console will become available after the installation is complete. Most Telnet/SSH clients (certainly SuperPutty) will keep retrying to connect, thus letting you know when installation is done.\n\nFrom that point on, everything about RouterOS is also true about Cloud Hosted Router, including the default credentials: Username \"admin\" and an empty password.\n\nThe primary differences between RouterOS and CHR are in support for virtual devices (this appliance comes with them being selected), and in the different license model, for which you can read more about at http://wiki.mikrotik.com/wiki/Manual:CHR.",
+ "symbol": ":/symbols/classic/router.svg",
+ "port_name_format": "ether{port1}",
+ "qemu": {
+ "adapter_type": "virtio-net-pci",
+ "adapters": 9,
+ "ram": 1024,
+ "cpus": 4,
+ "hda_disk_interface": "virtio",
+ "arch": "x86_64",
+ "console_type": "telnet",
+ "boot_priority": "c",
+ "kvm": "allow",
+ "options": "-nographic",
+ "on_close": "shutdown_signal",
+ "custom_adapters": [
+ {
+ "adapter_number": 8,
+ "port_name": "sfp-sfpplus1"
+ }
+ ]
+ },
+ "images": [
+ {
+ "filename": "chr-7.8.img",
+ "version": "7.8",
+ "md5sum": "08fc9baf18d920bc65c974cafa3719be",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.8/chr-7.8.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.7.img",
+ "version": "7.7",
+ "md5sum": "efc4fdeb1cc06dc240a14f1215fd59b3",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.7/chr-7.7.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.6.img",
+ "version": "7.6",
+ "md5sum": "864482f9efaea9d40910c050318f65b9",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.6/chr-7.6.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.3.1.img",
+ "version": "7.3.1",
+ "md5sum": "99f8ea75f8b745a8bf5ca3cc1bd325e3",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.3.1/chr-7.3.1.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.1.5.img",
+ "version": "7.1.5",
+ "md5sum": "9c0be05f891df2b1400bdae5e719898e",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.1.5/chr-7.1.5.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-6.49.7.img",
+ "version": "6.49.7",
+ "md5sum": "0686d07f69d15d41467ada4a58a92cd2",
+ "filesize": 67108864,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/6.49.7/chr-6.49.7.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-6.49.6.img",
+ "version": "6.49.6",
+ "md5sum": "ae27d38acc9c4dcd875e0f97bcae8d97",
+ "filesize": 67108864,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/6.49.6/chr-6.49.6.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-6.48.6.img",
+ "version": "6.48.6",
+ "md5sum": "875574a561570227ff8f395aabe478c6",
+ "filesize": 67108864,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/6.48.6/chr-6.48.6.img.zip",
+ "compression": "zip"
+ }
+ ],
+ "versions": [
+ {
+ "name": "7.8",
+ "images": {
+ "hda_disk_image": "chr-7.8.img"
+ }
+ },
+ {
+ "name": "7.7",
+ "images": {
+ "hda_disk_image": "chr-7.7.img"
+ }
+ },
+ {
+ "name": "7.6",
+ "images": {
+ "hda_disk_image": "chr-7.6.img"
+ }
+ },
+ {
+ "name": "7.3.1",
+ "images": {
+ "hda_disk_image": "chr-7.3.1.img"
+ }
+ },
+ {
+ "name": "7.1.5",
+ "images": {
+ "hda_disk_image": "chr-7.1.5.img"
+ }
+ },
+ {
+ "name": "6.49.7",
+ "images": {
+ "hda_disk_image": "chr-6.49.7.img"
+ }
+ },
+ {
+ "name": "6.49.6",
+ "images": {
+ "hda_disk_image": "chr-6.49.6.img"
+ }
+ },
+ {
+ "name": "6.48.6",
+ "images": {
+ "hda_disk_image": "chr-6.48.6.img"
+ }
+ }
+ ]
+}
diff --git a/gns3server/appliances/mikrotik-rb450g.gns3a b/gns3server/appliances/mikrotik-rb450g.gns3a
new file mode 100644
index 00000000..b547386b
--- /dev/null
+++ b/gns3server/appliances/mikrotik-rb450g.gns3a
@@ -0,0 +1,155 @@
+{
+ "appliance_id": "e2d71a59-6b15-495d-9dd5-67f56072ee32",
+ "name": "MikroTik RB450G",
+ "category": "router",
+ "description": "This is a variation of Cloud Hosted Router (CHR) which is meant to mimic the basic hardware configuration of the RB450G model.",
+ "vendor_name": "MikroTik",
+ "vendor_url": "http://mikrotik.com/",
+ "documentation_url": "http://wiki.mikrotik.com/wiki/Manual:CHR",
+ "product_name": "MikroTik RouterBOARD 450G",
+ "product_url": "http://www.mikrotik.com/download",
+ "registry_version": 5,
+ "status": "stable",
+ "maintainer": "Azorian Solutions",
+ "maintainer_email": "help@azorian.solutions",
+ "usage": "If you'd like a different sized main disk, resize the image before booting the VM for the first time.\n\nOn first boot, RouterOS is actually being installed, formatting the whole main virtual disk, before finally rebooting. That whole process may take a minute or so.\n\nThe console will become available after the installation is complete. Most Telnet/SSH clients (certainly SuperPutty) will keep retrying to connect, thus letting you know when installation is done.\n\nFrom that point on, everything about RouterOS is also true about Cloud Hosted Router, including the default credentials: Username \"admin\" and an empty password.\n\nThe primary differences between RouterOS and CHR are in support for virtual devices (this appliance comes with them being selected), and in the different license model, for which you can read more about at http://wiki.mikrotik.com/wiki/Manual:CHR.",
+ "symbol": ":/symbols/classic/router.svg",
+ "port_name_format": "ether{port1}",
+ "qemu": {
+ "adapter_type": "virtio-net-pci",
+ "adapters": 5,
+ "ram": 256,
+ "cpus": 1,
+ "hda_disk_interface": "virtio",
+ "arch": "x86_64",
+ "console_type": "telnet",
+ "boot_priority": "c",
+ "kvm": "allow",
+ "options": "-nographic",
+ "on_close": "shutdown_signal"
+ },
+ "images": [
+ {
+ "filename": "chr-7.8.img",
+ "version": "7.8",
+ "md5sum": "08fc9baf18d920bc65c974cafa3719be",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.8/chr-7.8.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.7.img",
+ "version": "7.7",
+ "md5sum": "efc4fdeb1cc06dc240a14f1215fd59b3",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.7/chr-7.7.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.6.img",
+ "version": "7.6",
+ "md5sum": "864482f9efaea9d40910c050318f65b9",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.6/chr-7.6.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.3.1.img",
+ "version": "7.3.1",
+ "md5sum": "99f8ea75f8b745a8bf5ca3cc1bd325e3",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.3.1/chr-7.3.1.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.1.5.img",
+ "version": "7.1.5",
+ "md5sum": "9c0be05f891df2b1400bdae5e719898e",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.1.5/chr-7.1.5.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-6.49.7.img",
+ "version": "6.49.7",
+ "md5sum": "0686d07f69d15d41467ada4a58a92cd2",
+ "filesize": 67108864,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/6.49.7/chr-6.49.7.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-6.49.6.img",
+ "version": "6.49.6",
+ "md5sum": "ae27d38acc9c4dcd875e0f97bcae8d97",
+ "filesize": 67108864,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/6.49.6/chr-6.49.6.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-6.48.6.img",
+ "version": "6.48.6",
+ "md5sum": "875574a561570227ff8f395aabe478c6",
+ "filesize": 67108864,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/6.48.6/chr-6.48.6.img.zip",
+ "compression": "zip"
+ }
+ ],
+ "versions": [
+ {
+ "name": "7.8",
+ "images": {
+ "hda_disk_image": "chr-7.8.img"
+ }
+ },
+ {
+ "name": "7.7",
+ "images": {
+ "hda_disk_image": "chr-7.7.img"
+ }
+ },
+ {
+ "name": "7.6",
+ "images": {
+ "hda_disk_image": "chr-7.6.img"
+ }
+ },
+ {
+ "name": "7.3.1",
+ "images": {
+ "hda_disk_image": "chr-7.3.1.img"
+ }
+ },
+ {
+ "name": "7.1.5",
+ "images": {
+ "hda_disk_image": "chr-7.1.5.img"
+ }
+ },
+ {
+ "name": "6.49.7",
+ "images": {
+ "hda_disk_image": "chr-6.49.7.img"
+ }
+ },
+ {
+ "name": "6.49.6",
+ "images": {
+ "hda_disk_image": "chr-6.49.6.img"
+ }
+ },
+ {
+ "name": "6.48.6",
+ "images": {
+ "hda_disk_image": "chr-6.48.6.img"
+ }
+ }
+ ]
+}
diff --git a/gns3server/appliances/mikrotik-rb450gx4.gns3a b/gns3server/appliances/mikrotik-rb450gx4.gns3a
new file mode 100644
index 00000000..385d412e
--- /dev/null
+++ b/gns3server/appliances/mikrotik-rb450gx4.gns3a
@@ -0,0 +1,155 @@
+{
+ "appliance_id": "aa26d321-415c-46ee-b3e9-3bc04dd96423",
+ "name": "MikroTik RB450Gx4",
+ "category": "router",
+ "description": "This is a variation of Cloud Hosted Router (CHR) which is meant to mimic the basic hardware configuration of the RB450Gx4 model.",
+ "vendor_name": "MikroTik",
+ "vendor_url": "http://mikrotik.com/",
+ "documentation_url": "http://wiki.mikrotik.com/wiki/Manual:CHR",
+ "product_name": "MikroTik RouterBOARD 450Gx4",
+ "product_url": "http://www.mikrotik.com/download",
+ "registry_version": 5,
+ "status": "stable",
+ "maintainer": "Azorian Solutions",
+ "maintainer_email": "help@azorian.solutions",
+ "usage": "If you'd like a different sized main disk, resize the image before booting the VM for the first time.\n\nOn first boot, RouterOS is actually being installed, formatting the whole main virtual disk, before finally rebooting. That whole process may take a minute or so.\n\nThe console will become available after the installation is complete. Most Telnet/SSH clients (certainly SuperPutty) will keep retrying to connect, thus letting you know when installation is done.\n\nFrom that point on, everything about RouterOS is also true about Cloud Hosted Router, including the default credentials: Username \"admin\" and an empty password.\n\nThe primary differences between RouterOS and CHR are in support for virtual devices (this appliance comes with them being selected), and in the different license model, for which you can read more about at http://wiki.mikrotik.com/wiki/Manual:CHR.",
+ "symbol": ":/symbols/classic/router.svg",
+ "port_name_format": "ether{port1}",
+ "qemu": {
+ "adapter_type": "virtio-net-pci",
+ "adapters": 5,
+ "ram": 1024,
+ "cpus": 4,
+ "hda_disk_interface": "virtio",
+ "arch": "x86_64",
+ "console_type": "telnet",
+ "boot_priority": "c",
+ "kvm": "allow",
+ "options": "-nographic",
+ "on_close": "shutdown_signal"
+ },
+ "images": [
+ {
+ "filename": "chr-7.8.img",
+ "version": "7.8",
+ "md5sum": "08fc9baf18d920bc65c974cafa3719be",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.8/chr-7.8.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.7.img",
+ "version": "7.7",
+ "md5sum": "efc4fdeb1cc06dc240a14f1215fd59b3",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.7/chr-7.7.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.6.img",
+ "version": "7.6",
+ "md5sum": "864482f9efaea9d40910c050318f65b9",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.6/chr-7.6.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.3.1.img",
+ "version": "7.3.1",
+ "md5sum": "99f8ea75f8b745a8bf5ca3cc1bd325e3",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.3.1/chr-7.3.1.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-7.1.5.img",
+ "version": "7.1.5",
+ "md5sum": "9c0be05f891df2b1400bdae5e719898e",
+ "filesize": 134217728,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/7.1.5/chr-7.1.5.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-6.49.7.img",
+ "version": "6.49.7",
+ "md5sum": "0686d07f69d15d41467ada4a58a92cd2",
+ "filesize": 67108864,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/6.49.7/chr-6.49.7.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-6.49.6.img",
+ "version": "6.49.6",
+ "md5sum": "ae27d38acc9c4dcd875e0f97bcae8d97",
+ "filesize": 67108864,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/6.49.6/chr-6.49.6.img.zip",
+ "compression": "zip"
+ },
+ {
+ "filename": "chr-6.48.6.img",
+ "version": "6.48.6",
+ "md5sum": "875574a561570227ff8f395aabe478c6",
+ "filesize": 67108864,
+ "download_url": "http://www.mikrotik.com/download",
+ "direct_download_url": "https://download.mikrotik.com/routeros/6.48.6/chr-6.48.6.img.zip",
+ "compression": "zip"
+ }
+ ],
+ "versions": [
+ {
+ "name": "7.8",
+ "images": {
+ "hda_disk_image": "chr-7.8.img"
+ }
+ },
+ {
+ "name": "7.7",
+ "images": {
+ "hda_disk_image": "chr-7.7.img"
+ }
+ },
+ {
+ "name": "7.6",
+ "images": {
+ "hda_disk_image": "chr-7.6.img"
+ }
+ },
+ {
+ "name": "7.3.1",
+ "images": {
+ "hda_disk_image": "chr-7.3.1.img"
+ }
+ },
+ {
+ "name": "7.1.5",
+ "images": {
+ "hda_disk_image": "chr-7.1.5.img"
+ }
+ },
+ {
+ "name": "6.49.7",
+ "images": {
+ "hda_disk_image": "chr-6.49.7.img"
+ }
+ },
+ {
+ "name": "6.49.6",
+ "images": {
+ "hda_disk_image": "chr-6.49.6.img"
+ }
+ },
+ {
+ "name": "6.48.6",
+ "images": {
+ "hda_disk_image": "chr-6.48.6.img"
+ }
+ }
+ ]
+}
diff --git a/gns3server/appliances/open-media-vault.gns3a b/gns3server/appliances/open-media-vault.gns3a
index 26c7fbe0..262a8db0 100644
--- a/gns3server/appliances/open-media-vault.gns3a
+++ b/gns3server/appliances/open-media-vault.gns3a
@@ -26,6 +26,14 @@
"kvm": "require"
},
"images": [
+ {
+ "filename": "openmediavault_6.0.24-amd64.iso",
+ "version": "6.0.24",
+ "md5sum": "6f71b9470eb06954bda621972c546a13",
+ "filesize": 868220928,
+ "download_url": "https://www.openmediavault.org/download.html",
+ "direct_download_url": "https://sourceforge.net/projects/openmediavault/files/6.0.24/openmediavault_6.0.24-amd64.iso"
+ },
{
"filename": "openmediavault_5.6.13-amd64.iso",
"version": "5.6.13",
@@ -52,6 +60,14 @@
}
],
"versions": [
+ {
+ "name": "6.0.24",
+ "images": {
+ "hda_disk_image": "empty30G.qcow2",
+ "hdb_disk_image": "empty30G.qcow2",
+ "cdrom_image": "openmediavault_6.0.24-amd64.iso"
+ }
+ },
{
"name": "5.6.13",
"images": {
diff --git a/gns3server/appliances/ostinato.gns3a b/gns3server/appliances/ostinato.gns3a
index 585b67ef..fe00eddf 100644
--- a/gns3server/appliances/ostinato.gns3a
+++ b/gns3server/appliances/ostinato.gns3a
@@ -29,6 +29,13 @@
"options": "-vga std -usbdevice tablet"
},
"images": [
+ {
+ "filename": "ostinatostd-1.2.0-1.qcow2",
+ "version": "1.2.0",
+ "md5sum": "682680fe75f88975992c0a1a5c973149",
+ "filesize": 173801472,
+ "download_url": "https://ostinato.org/pricing/gns3"
+ },
{
"filename": "ostinatostd-1.1-1.qcow2",
"version": "1.1",
@@ -38,6 +45,12 @@
}
],
"versions": [
+ {
+ "name": "1.2.0",
+ "images": {
+ "hda_disk_image": "ostinatostd-1.2.0-1.qcow2"
+ }
+ },
{
"name": "1.1",
"images": {
diff --git a/gns3server/appliances/rockylinux.gns3a b/gns3server/appliances/rockylinux.gns3a
index 098ba5c8..86900cb9 100644
--- a/gns3server/appliances/rockylinux.gns3a
+++ b/gns3server/appliances/rockylinux.gns3a
@@ -23,7 +23,7 @@
"console_type": "telnet",
"boot_priority": "c",
"kvm": "require",
- "options": "-nographic"
+ "options": "-nographic -cpu host"
},
"images": [
{
diff --git a/gns3server/appliances/vyos.gns3a b/gns3server/appliances/vyos.gns3a
index 232cdccd..fd6f97f1 100644
--- a/gns3server/appliances/vyos.gns3a
+++ b/gns3server/appliances/vyos.gns3a
@@ -12,7 +12,7 @@
"status": "stable",
"maintainer": "GNS3 Team",
"maintainer_email": "developers@gns3.net",
- "usage": "Default username/password is vyos/vyos.\n\nAt first boot the router will start from the cdrom. Login and then type \"install image\" and follow the instructions.",
+ "usage": "Default username/password is vyos/vyos.\n\nThe -KVM versions are ready to use, no installation is required.\nThe other images will start the router from the CDROM on initial boot. Login and then type \"install image\" and follow the instructions.",
"symbol": "vyos.svg",
"port_name_format": "eth{0}",
"qemu": {
@@ -54,12 +54,37 @@
"filesize": 338690048,
"download_url": "https://support.vyos.io/en/downloads/files/vyos-1-3-0-generic-iso-image"
},
+ {
+ "filename": "vyos-1.2.9-S1-amd64.iso",
+ "version": "1.2.9-S1",
+ "md5sum": "3fece6363f9766f862e26d292d0ed5a3",
+ "filesize": 430964736,
+ "download_url": "https://support.vyos.io/en/downloads/files/vyos-1-2-9-s1-generic-iso-image",
+ "direct_download_url": "https://s3-us.vyos.io/1.2.9-S1/vyos-1.2.9-S1-amd64.iso"
+ },
+ {
+ "filename": "vyos-1.2.9-S1-10G-qemu.qcow2",
+ "version": "1.2.9-S1-KVM",
+ "md5sum": "0a70d78b80a3716d42487c02ef44f41f",
+ "filesize": 426967040,
+ "download_url": "https://support.vyos.io/en/downloads/files/vyos-1-2-9-s1-for-kvm",
+ "direct_download_url": "https://s3-us.vyos.io/1.2.9-S1/vyos-1.2.9-S1-10G-qemu.qcow2"
+ },
{
"filename": "vyos-1.2.9-amd64.iso",
"version": "1.2.9",
"md5sum": "586be23b6256173e174c82d8f1f699a1",
"filesize": 430964736,
- "download_url": "https://support.vyos.io/en/downloads/files/vyos-1-2-9-generic-iso-image"
+ "download_url": "https://support.vyos.io/en/downloads/files/vyos-1-2-9-generic-iso-image",
+ "direct_download_url": "https://s3-us.vyos.io/1.2.9/vyos-1.2.9-amd64.iso"
+ },
+ {
+ "filename": "vyos-1.2.9-10G-qemu.qcow2",
+ "version": "1.2.9-KVM",
+ "md5sum": "76871c7b248c32f75177c419128257ac",
+ "filesize": 427360256,
+ "download_url": "https://support.vyos.io/en/downloads/files/vyos-1-2-9-10g-qemu-qcow2",
+ "direct_download_url": "https://s3-us.vyos.io/1.2.9/vyos-1.2.9-10G-qemu.qcow2"
},
{
"filename": "vyos-1.2.8-amd64.iso",
@@ -68,20 +93,12 @@
"filesize": 429916160,
"download_url": "https://support.vyos.io/en/downloads/files/vyos-1-2-8-generic-iso-image"
},
- {
- "filename": "vyos-1.2.7-amd64.iso",
- "version": "1.2.7",
- "md5sum": "1a06255edfac63fa3ea89353317130bf",
- "filesize": 428867584,
- "download_url": "https://support.vyos.io/en/downloads/files/vyos-1-2-7-generic-iso-image"
- },
{
"filename": "vyos-1.1.8-amd64.iso",
"version": "1.1.8",
"md5sum": "95a141d4b592b81c803cdf7e9b11d8ea",
"filesize": 241172480,
- "download_url": "https://support.vyos.io/en/downloads/files/vyos-1-1-8-iso",
- "direct_download_url": "https://s3.amazonaws.com/s3-us.vyos.io/vyos-1.1.8-amd64.iso"
+ "direct_download_url": "https://s3-us.vyos.io/vyos-1.1.8-amd64.iso"
},
{
"filename": "empty8G.qcow2",
@@ -121,6 +138,19 @@
"cdrom_image": "vyos-1.3.0-amd64.iso"
}
},
+ {
+ "name": "1.2.9-S1",
+ "images": {
+ "hda_disk_image": "empty8G.qcow2",
+ "cdrom_image": "vyos-1.2.9-S1-amd64.iso"
+ }
+ },
+ {
+ "name": "1.2.9-S1-KVM",
+ "images": {
+ "hda_disk_image": "vyos-1.2.9-S1-10G-qemu.qcow2"
+ }
+ },
{
"name": "1.2.9",
"images": {
@@ -128,6 +158,12 @@
"cdrom_image": "vyos-1.2.9-amd64.iso"
}
},
+ {
+ "name": "1.2.9-KVM",
+ "images": {
+ "hda_disk_image": "vyos-1.2.9-10G-qemu.qcow2"
+ }
+ },
{
"name": "1.2.8",
"images": {
@@ -135,13 +171,6 @@
"cdrom_image": "vyos-1.2.8-amd64.iso"
}
},
- {
- "name": "1.2.7",
- "images": {
- "hda_disk_image": "empty8G.qcow2",
- "cdrom_image": "vyos-1.2.7-amd64.iso"
- }
- },
{
"name": "1.1.8",
"images": {
diff --git a/gns3server/compute/docker/docker_vm.py b/gns3server/compute/docker/docker_vm.py
index 30612f5e..79bdb128 100644
--- a/gns3server/compute/docker/docker_vm.py
+++ b/gns3server/compute/docker/docker_vm.py
@@ -323,6 +323,9 @@ class DockerVM(BaseNode):
Creates the Docker container.
"""
+ if ":" in os.path.splitdrive(self.working_dir)[1]:
+ raise DockerError("Cannot create a Docker container with a project directory containing a colon character (':')")
+
try:
image_infos = await self._get_image_information()
except DockerHttp404Error:
diff --git a/gns3server/controller/__init__.py b/gns3server/controller/__init__.py
index 84e02ce9..33552c6a 100644
--- a/gns3server/controller/__init__.py
+++ b/gns3server/controller/__init__.py
@@ -30,6 +30,7 @@ except ImportError:
from ..config import Config
from ..utils import parse_version
+from ..utils.images import default_images_directory
from .project import Project
from .template import Template
@@ -72,6 +73,7 @@ class Controller:
log.info("Controller is starting")
self._install_base_configs()
+ self._install_builtin_disks()
server_config = Config.instance().get_section_config("Server")
Config.instance().listen_for_config_changes(self._update_config)
host = server_config.get("host", "localhost")
@@ -279,29 +281,50 @@ class Controller:
except OSError as e:
log.error(str(e))
+ @staticmethod
+ def install_resource_files(dst_path, resource_name):
+ """
+ Install files from resources to user's file system
+ """
+
+ if hasattr(sys, "frozen") and sys.platform.startswith("win"):
+ resource_path = os.path.normpath(os.path.join(os.path.dirname(sys.executable), resource_name))
+ for filename in os.listdir(resource_path):
+ if not os.path.exists(os.path.join(dst_path, filename)):
+ shutil.copy(os.path.join(resource_path, filename), os.path.join(dst_path, filename))
+ else:
+ for entry in importlib_resources.files(f'gns3server.{resource_name}').iterdir():
+ full_path = os.path.join(dst_path, entry.name)
+ if entry.is_file() and not os.path.exists(full_path):
+ log.debug(f'Installing {resource_name} resource file "{entry.name}" to "{full_path}"')
+ shutil.copy(str(entry), os.path.join(dst_path, entry.name))
+
def _install_base_configs(self):
"""
- At startup we copy base file to the user location to allow
+ At startup we copy base configs to the user location to allow
them to customize it
"""
dst_path = self.configs_path()
log.info(f"Installing base configs in '{dst_path}'")
try:
- if hasattr(sys, "frozen") and sys.platform.startswith("win"):
- resource_path = os.path.normpath(os.path.join(os.path.dirname(sys.executable), "configs"))
- for filename in os.listdir(resource_path):
- if not os.path.exists(os.path.join(dst_path, filename)):
- shutil.copy(os.path.join(resource_path, filename), os.path.join(dst_path, filename))
- else:
- for entry in importlib_resources.files('gns3server.configs').iterdir():
- full_path = os.path.join(dst_path, entry.name)
- if entry.is_file() and not os.path.exists(full_path):
- log.debug(f"Installing base config file {entry.name} to {full_path}")
- shutil.copy(str(entry), os.path.join(dst_path, entry.name))
+ Controller.install_resource_files(dst_path, "configs")
except OSError as e:
log.error(f"Could not install base config files to {dst_path}: {e}")
+ def _install_builtin_disks(self):
+ """
+ At startup we copy built-in Qemu disks to the user location to allow
+ them to use with appliances
+ """
+
+ dst_path = self.disks_path()
+ log.info(f"Installing built-in disks in '{dst_path}'")
+ try:
+ Controller.install_resource_files(dst_path, "disks")
+ except OSError as e:
+ log.error(f"Could not install disk files to {dst_path}: {e}")
+
def images_path(self):
"""
Get the image storage directory
@@ -322,6 +345,15 @@ class Controller:
os.makedirs(configs_path, exist_ok=True)
return configs_path
+ def disks_path(self, emulator_type="qemu"):
+ """
+ Get the disks storage directory
+ """
+
+ disks_path = default_images_directory(emulator_type)
+ os.makedirs(disks_path, exist_ok=True)
+ return disks_path
+
async def add_compute(self, compute_id=None, name=None, force=False, connect=True, **kwargs):
"""
Add a server to the dictionary of computes controlled by this controller
diff --git a/gns3server/controller/appliance_manager.py b/gns3server/controller/appliance_manager.py
index 15c4da70..679926f1 100644
--- a/gns3server/controller/appliance_manager.py
+++ b/gns3server/controller/appliance_manager.py
@@ -100,17 +100,9 @@ class ApplianceManager:
dst_path = self._builtin_appliances_path(delete_first=True)
log.info(f"Installing built-in appliances in '{dst_path}'")
+ from . import Controller
try:
- if hasattr(sys, "frozen") and sys.platform.startswith("win"):
- resource_path = os.path.normpath(os.path.join(os.path.dirname(sys.executable), "appliances"))
- for filename in os.listdir(resource_path):
- shutil.copy(os.path.join(resource_path, filename), os.path.join(dst_path, filename))
- else:
- for entry in importlib_resources.files('gns3server.appliances').iterdir():
- full_path = os.path.join(dst_path, entry.name)
- if entry.is_file():
- log.debug(f"Installing built-in appliance file {entry.name} to {full_path}")
- shutil.copy(str(entry), os.path.join(dst_path, entry.name))
+ Controller.instance().install_resource_files(dst_path, "appliances")
except OSError as e:
log.error(f"Could not install built-in appliance files to {dst_path}: {e}")
diff --git a/gns3server/crash_report.py b/gns3server/crash_report.py
index 09ae4c4f..7a1bc4f5 100644
--- a/gns3server/crash_report.py
+++ b/gns3server/crash_report.py
@@ -58,7 +58,7 @@ class CrashReport:
Report crash to a third party service
"""
- DSN = "https://4f6a87fd456f468ab0a87ecbc97ed8fb@o19455.ingest.sentry.io/38482"
+ DSN = "https://75db396c4c294ad7a05ff7e8804ae5b8@o19455.ingest.sentry.io/38482"
_instance = None
def __init__(self):
diff --git a/gns3server/disks/empty100G.qcow2 b/gns3server/disks/empty100G.qcow2
new file mode 100644
index 00000000..94ed3e44
Binary files /dev/null and b/gns3server/disks/empty100G.qcow2 differ
diff --git a/gns3server/disks/empty10G.qcow2 b/gns3server/disks/empty10G.qcow2
new file mode 100644
index 00000000..6a4d79b5
Binary files /dev/null and b/gns3server/disks/empty10G.qcow2 differ
diff --git a/gns3server/disks/empty150G.qcow2 b/gns3server/disks/empty150G.qcow2
new file mode 100644
index 00000000..da508060
Binary files /dev/null and b/gns3server/disks/empty150G.qcow2 differ
diff --git a/gns3server/disks/empty1T.qcow2 b/gns3server/disks/empty1T.qcow2
new file mode 100644
index 00000000..62e992ee
Binary files /dev/null and b/gns3server/disks/empty1T.qcow2 differ
diff --git a/gns3server/disks/empty200G.qcow2 b/gns3server/disks/empty200G.qcow2
new file mode 100644
index 00000000..ee7ce517
Binary files /dev/null and b/gns3server/disks/empty200G.qcow2 differ
diff --git a/gns3server/disks/empty20G.qcow2 b/gns3server/disks/empty20G.qcow2
new file mode 100644
index 00000000..968f8fcf
Binary files /dev/null and b/gns3server/disks/empty20G.qcow2 differ
diff --git a/gns3server/disks/empty250G.qcow2 b/gns3server/disks/empty250G.qcow2
new file mode 100644
index 00000000..7be4641e
Binary files /dev/null and b/gns3server/disks/empty250G.qcow2 differ
diff --git a/gns3server/disks/empty30G.qcow2 b/gns3server/disks/empty30G.qcow2
new file mode 100644
index 00000000..414611bb
Binary files /dev/null and b/gns3server/disks/empty30G.qcow2 differ
diff --git a/gns3server/disks/empty40G.qcow2 b/gns3server/disks/empty40G.qcow2
new file mode 100644
index 00000000..74d53888
Binary files /dev/null and b/gns3server/disks/empty40G.qcow2 differ
diff --git a/gns3server/disks/empty500G.qcow2 b/gns3server/disks/empty500G.qcow2
new file mode 100644
index 00000000..76d863a8
Binary files /dev/null and b/gns3server/disks/empty500G.qcow2 differ
diff --git a/gns3server/disks/empty50G.qcow2 b/gns3server/disks/empty50G.qcow2
new file mode 100644
index 00000000..14366951
Binary files /dev/null and b/gns3server/disks/empty50G.qcow2 differ
diff --git a/gns3server/disks/empty8G.qcow2 b/gns3server/disks/empty8G.qcow2
new file mode 100755
index 00000000..35f83ab7
Binary files /dev/null and b/gns3server/disks/empty8G.qcow2 differ
diff --git a/gns3server/static/web-ui/index.html b/gns3server/static/web-ui/index.html
index 773d1415..2f13a161 100644
--- a/gns3server/static/web-ui/index.html
+++ b/gns3server/static/web-ui/index.html
@@ -46,6 +46,6 @@
gtag('config', 'G-5D6FZL9923');
-
+