diff --git a/CHANGELOG b/CHANGELOG index a95a4410..07d829f2 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,15 @@ # Change Log +## 2.2.48 08/07/2024 + +* Bundle web-ui v2.2.48 +* Add 'install_builtin_appliances' and 'resources_path' settings in the server config +* Option to keep the compute IDs unchanged when exporting a project +* Forbid unsafe Qemu additional options +* Fix error when snapshot exists with an underscore in the name +* Upgrade sentry-sdk, psutil and aiofiles packages +* Fix check for IPv6 enabled on host + ## 3.0.0b3 19/05/2024 * Bundle web-ui v3.0.0b3 diff --git a/gns3server/appliances/aruba-arubaoscx.gns3a b/gns3server/appliances/aruba-arubaoscx.gns3a index 1fecc275..893f66ec 100644 --- a/gns3server/appliances/aruba-arubaoscx.gns3a +++ b/gns3server/appliances/aruba-arubaoscx.gns3a @@ -32,6 +32,27 @@ "process_priority": "normal" }, "images": [ + { + "filename": "arubaoscx-disk-image-genericx86-p4-20240129204649.vmdk", + "version": "10.13.1000", + "md5sum": "a1a24b15e3b8a09b0c0f14bdfacc4a75", + "filesize": 395342848, + "download_url": "https://networkingsupport.hpe.com" + }, + { + "filename": "arubaoscx-disk-image-genericx86-p4-20231110145644.vmdk", + "version": "10.13.0005", + "md5sum": "427fd4580e2ee3eac55a9e7d629d1375", + "filesize": 394995200, + "download_url": "https://networkingsupport.hpe.com" + }, + { + "filename": "arubaoscx-disk-image-genericx86-p4-20230810165021.vmdk", + "version": "10.12.1000", + "md5sum": "ea89f94dda9d28bf583dc35e0299b106", + "filesize": 384622080, + "download_url": "https://networkingsupport.hpe.com" + }, { "filename": "arubaoscx-disk-image-genericx86-p4-20230531220439.vmdk", "version": "10.12.0006", @@ -118,6 +139,24 @@ } ], "versions": [ + { + "name": "10.13.1000", + "images": { + "hda_disk_image": "arubaoscx-disk-image-genericx86-p4-20240129204649.vmdk" + } + }, + { + "name": "10.13.0005", + "images": { + "hda_disk_image": "arubaoscx-disk-image-genericx86-p4-20231110145644.vmdk" + } + }, + { + "name": "10.12.1000", + "images": { + "hda_disk_image": "arubaoscx-disk-image-genericx86-p4-20230810165021.vmdk" + } + }, { "name": "10.12.0006", "images": { diff --git a/gns3server/appliances/cisco-iou-l2.gns3a b/gns3server/appliances/cisco-iou-l2.gns3a index ba8dfdf8..546cc36c 100644 --- a/gns3server/appliances/cisco-iou-l2.gns3a +++ b/gns3server/appliances/cisco-iou-l2.gns3a @@ -19,7 +19,7 @@ }, "images": [ { - "filename": "x86_64_crb_linux_l2-adventerprisek9-ms", + "filename": "x86_64_crb_linux_l2-adventerprisek9-ms.bin", "version": "17.12.1", "md5sum": "2b5055e4cef8fd257416d74a94adb626", "filesize": 240355720 @@ -47,7 +47,7 @@ { "name": "17.12.1", "images": { - "image": "x86_64_crb_linux_l2-adventerprisek9-ms" + "image": "x86_64_crb_linux_l2-adventerprisek9-ms.bin" } }, { diff --git a/gns3server/appliances/cisco-iou-l3.gns3a b/gns3server/appliances/cisco-iou-l3.gns3a index 083a6eb9..f7328449 100644 --- a/gns3server/appliances/cisco-iou-l3.gns3a +++ b/gns3server/appliances/cisco-iou-l3.gns3a @@ -19,7 +19,7 @@ }, "images": [ { - "filename": "x86_64_crb_linux-adventerprisek9-ms", + "filename": "x86_64_crb_linux-adventerprisek9-ms.bin", "version": "17.12.1", "md5sum": "4a2fce8de21d1831fbceffd155e41ae7", "filesize": 288947184 @@ -47,7 +47,7 @@ { "name": "17.12.1", "images": { - "image": "x86_64_crb_linux-adventerprisek9-ms" + "image": "x86_64_crb_linux-adventerprisek9-ms.bin" } }, { diff --git a/gns3server/appliances/debian.gns3a b/gns3server/appliances/debian.gns3a index 0d1defd8..47dfe599 100644 --- a/gns3server/appliances/debian.gns3a +++ b/gns3server/appliances/debian.gns3a @@ -23,6 +23,14 @@ "kvm": "allow" }, "images": [ + { + "filename": "debian-12.6.qcow2", + "version": "12.6", + "md5sum": "04753ba14295c6414d49bffe27b676ae", + "filesize": 280907776, + "download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/", + "direct_download_url": "https://downloads.sourceforge.net/project/gns-3/Qemu%20Appliances/debian-12.6.qcow2" + }, { "filename": "debian-12.4.qcow2", "version": "12.4", @@ -31,6 +39,14 @@ "download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/", "direct_download_url": "https://downloads.sourceforge.net/project/gns-3/Qemu%20Appliances/debian-12.4.qcow2" }, + { + "filename": "debian-11.10.qcow2", + "version": "11.10", + "md5sum": "99a1dc8e110d641309674e69b630e732", + "filesize": 263520256, + "download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/", + "direct_download_url": "https://downloads.sourceforge.net/project/gns-3/Qemu%20Appliances/debian-11.10.qcow2" + }, { "filename": "debian-11.8.qcow2", "version": "11.8", @@ -41,12 +57,24 @@ } ], "versions": [ + { + "name": "12.6", + "images": { + "hda_disk_image": "debian-12.6.qcow2" + } + }, { "name": "12.4", "images": { "hda_disk_image": "debian-12.4.qcow2" } }, + { + "name": "11.10", + "images": { + "hda_disk_image": "debian-11.10.qcow2" + } + }, { "name": "11.8", "images": { diff --git a/gns3server/appliances/fortiadc.gns3a b/gns3server/appliances/fortiadc.gns3a index 5996848c..16cca8f2 100644 --- a/gns3server/appliances/fortiadc.gns3a +++ b/gns3server/appliances/fortiadc.gns3a @@ -28,10 +28,17 @@ }, "images": [ { - "filename": "FAD_KVM-FORTINET.out.kvm-data.qcow2", - "version": "ALL", - "md5sum": "b7500835594e62d8acb1c6ec43d597c1", - "filesize": 30998528, + "filename": "FAD_KVM-V7.4.4-build0347-FORTINET.out.kvm_boot.qcow2", + "version": "7.4.4", + "md5sum": "52fa343fd423a1a560473b8cf02f4c9c", + "filesize": 180617216, + "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" + }, + { + "filename": "FAD_KVM-V7.2.6-build0257-FORTINET.out.kvm_boot.qcow2", + "version": "7.2.6", + "md5sum": "ed8c3622b12212786c310aa94c928f06", + "filesize": 146341888, "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" }, { @@ -41,6 +48,13 @@ "filesize": 145817600, "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" }, + { + "filename": "FAD_KVM-v7.1.4-build0138-FORTINET.out.kvm_boot.qcow2", + "version": "7.1.4", + "md5sum": "d4b3ff27fc9d0461199d6066174744ca", + "filesize": 134152192, + "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", @@ -243,9 +257,30 @@ "md5sum": "7a71f52bde93c0000b047626731b7aef", "filesize": 68026368, "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" + }, + { + "filename": "FAD_KVM-FORTINET.out.kvm-data.qcow2", + "version": "ALL", + "md5sum": "b7500835594e62d8acb1c6ec43d597c1", + "filesize": 30998528, + "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" } ], "versions": [ + { + "name": "7.4.4", + "images": { + "hda_disk_image": "FAD_KVM-V7.4.4-build0347-FORTINET.out.kvm_boot.qcow2", + "hdb_disk_image": "FAD_KVM-FORTINET.out.kvm-data.qcow2" + } + }, + { + "name": "7.2.6", + "images": { + "hda_disk_image": "FAD_KVM-V7.2.6-build0257-FORTINET.out.kvm_boot.qcow2", + "hdb_disk_image": "FAD_KVM-FORTINET.out.kvm-data.qcow2" + } + }, { "name": "7.2.0", "images": { @@ -253,6 +288,13 @@ "hdb_disk_image": "FAD_KVM-FORTINET.out.kvm-data.qcow2" } }, + { + "name": "7.1.4", + "images": { + "hda_disk_image": "FAD_KVM-v7.1.4-build0138-FORTINET.out.kvm_boot.qcow2", + "hdb_disk_image": "FAD_KVM-FORTINET.out.kvm-data.qcow2" + } + }, { "name": "7.1.1", "images": { diff --git a/gns3server/appliances/fortianalyzer.gns3a b/gns3server/appliances/fortianalyzer.gns3a index db14866d..9bbed071 100644 --- a/gns3server/appliances/fortianalyzer.gns3a +++ b/gns3server/appliances/fortianalyzer.gns3a @@ -29,6 +29,13 @@ "kvm": "allow" }, "images": [ + { + "filename": "FAZ_VM64_KVM-v7.4.3-build2487-FORTINET.out.kvm.qcow2", + "version": "7.4.3", + "md5sum": "c58709af18516763ed88f58621447bf6", + "filesize": 504463360, + "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" + }, { "filename": "FAZ_VM64_KVM-v7.4.2-build2397-FORTINET.out.kvm.qcow2", "version": "7.4.2", @@ -43,6 +50,13 @@ "filesize": 435310592, "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" }, + { + "filename": "FAZ_VM64_KVM-v7.2.5-build1574-FORTINET.out.kvm.qcow2", + "version": "7.2.5", + "md5sum": "225d7405f35f78a482cffa34ef90080d", + "filesize": 379973632, + "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" + }, { "filename": "FAZ_VM64_KVM-v7.2.4-build1460-FORTINET.out.kvm.qcow2", "version": "7.2.4", @@ -64,6 +78,13 @@ "filesize": 340631552, "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" }, + { + "filename": "FAZ_VM64_KVM-v7.0.12-build0623-FORTINET.out.kvm.qcow2", + "version": "7.0.12", + "md5sum": "a45f8987ea13da836c684b5d9850c1c2", + "filesize": 349560832, + "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" + }, { "filename": "FAZ_VM64_KVM-v7.0.11-build0595-FORTINET.out.kvm.qcow2", "version": "7.0.11", @@ -256,6 +277,13 @@ } ], "versions": [ + { + "name": "7.4.3", + "images": { + "hda_disk_image": "FAZ_VM64_KVM-v7.4.3-build2487-FORTINET.out.kvm.qcow2", + "hdb_disk_image": "empty30G.qcow2" + } + }, { "name": "7.4.2", "images": { @@ -270,6 +298,13 @@ "hdb_disk_image": "empty30G.qcow2" } }, + { + "name": "7.2.5", + "images": { + "hda_disk_image": "FAZ_VM64_KVM-v7.2.5-build1574-FORTINET.out.kvm.qcow2", + "hdb_disk_image": "empty30G.qcow2" + } + }, { "name": "7.2.4", "images": { @@ -291,6 +326,13 @@ "hdb_disk_image": "empty30G.qcow2" } }, + { + "name": "7.0.12", + "images": { + "hda_disk_image": "FAZ_VM64_KVM-v7.0.12-build0623-FORTINET.out.kvm.qcow2", + "hdb_disk_image": "empty30G.qcow2" + } + }, { "name": "7.0.11", "images": { diff --git a/gns3server/appliances/fortiauthenticator.gns3a b/gns3server/appliances/fortiauthenticator.gns3a index 6ce0bb96..d6a0b36a 100644 --- a/gns3server/appliances/fortiauthenticator.gns3a +++ b/gns3server/appliances/fortiauthenticator.gns3a @@ -13,13 +13,13 @@ "status": "stable", "maintainer": "GNS3 Team", "maintainer_email": "developers@gns3.net", - "usage": "Default username is admin, no password is set. First book takes longer.", + "usage": "Default username is admin, no password is set. First boot takes longer.", "symbol": "fortinet.svg", "port_name_format": "Port{port1}", "qemu": { "adapter_type": "e1000", "adapters": 4, - "ram": 1024, + "ram": 4096, "hda_disk_interface": "virtio", "hdb_disk_interface": "virtio", "arch": "x86_64", @@ -28,6 +28,27 @@ "kvm": "allow" }, "images": [ + { + "filename": "FAC_VM_KVM-v6.6.1-build1660-FORTINET.out.kvm_fackvm.qcow2", + "version": "6.6.1", + "md5sum": "4b2b475ac8b6f88b5033dca367d53cbb", + "filesize": 138477584, + "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" + }, + { + "filename": "FAC_VM_KVM-v6.5.5-build1385-FORTINET.out.kvm_fackvm.qcow2", + "version": "6.5.5", + "md5sum": "6850128ac51cee2577114ecd487786ff", + "filesize": 112918544, + "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" + }, + { + "filename": "FAC_VM_KVM-v6.4.9-build1067-FORTINET.out.kvm_fackvm.qcow2", + "version": "6.4.9", + "md5sum": "aee068a16fb2ca332d41e6add499b7d3", + "filesize": 112197648, + "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" + }, { "filename": "FAC_VM_KVM-v6-build0058-FORTINET.out.kvm.qcow2", "version": "6.0.3", @@ -105,6 +126,20 @@ "filesize": 62771200, "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" }, + { + "filename": "FAC_VM_KVM-v6.6.1-build1660-FORTINET.out.kvm_datadrive.qcow2", + "version": "6.6.1", + "md5sum": "9bbaa1ce1508b4af1f43ba00879269f9", + "filesize": 197568, + "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" + }, + { + "filename": "FAC_VM_KVM-v6.5.5-build1385-FORTINET.out.kvm_datadrive.qcow2", + "version": "6.4.x, 6.5.x", + "md5sum": "3f7173307047cf562f55ed2f99450c10", + "filesize": 197568, + "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" + }, { "filename": "FAC_VM_KVM-ALL-DATADRIVE.qcow2", "version": "All", @@ -114,6 +149,27 @@ } ], "versions": [ + { + "name": "6.6.1", + "images": { + "hda_disk_image": "FAC_VM_KVM-v6.6.1-build1660-FORTINET.out.kvm_fackvm.qcow2", + "hdb_disk_image": "FAC_VM_KVM-v6.6.1-build1660-FORTINET.out.kvm_datadrive.qcow2" + } + }, + { + "name": "6.5.5", + "images": { + "hda_disk_image": "FAC_VM_KVM-v6.5.5-build1385-FORTINET.out.kvm_fackvm.qcow2", + "hdb_disk_image": "FAC_VM_KVM-v6.5.5-build1385-FORTINET.out.kvm_datadrive.qcow2" + } + }, + { + "name": "6.4.9", + "images": { + "hda_disk_image": "FAC_VM_KVM-v6.4.9-build1067-FORTINET.out.kvm_fackvm.qcow2", + "hdb_disk_image": "FAC_VM_KVM-v6.5.5-build1385-FORTINET.out.kvm_datadrive.qcow2" + } + }, { "name": "6.0.3", "images": { diff --git a/gns3server/appliances/fortigate.gns3a b/gns3server/appliances/fortigate.gns3a index 77f2c7d7..4fb16e0c 100644 --- a/gns3server/appliances/fortigate.gns3a +++ b/gns3server/appliances/fortigate.gns3a @@ -28,6 +28,13 @@ "kvm": "allow" }, "images": [ + { + "filename": "FGT_VM64_KVM-v7.4.4.F-build2573-FORTINET.out.kvm.qcow2", + "version": "7.4.4", + "md5sum": "dfe0e78827ec728631539669001bb23f", + "filesize": 100728832, + "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" + }, { "filename": "FGT_VM64_KVM-v7.4.3.F-build2573-FORTINET.out.kvm.qcow2", "version": "7.4.3", @@ -42,6 +49,13 @@ "filesize": 116064256, "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" }, + { + "filename": "FGT_VM64_KVM-v7.2.8.M-build1639-FORTINET.out.kvm_fortios.qcow2", + "version": "7.2.8", + "md5sum": "5c8fd4baf80aeb2999d4be5a9c49eb3d", + "filesize": 89980928, + "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" + }, { "filename": "FGT_VM64_KVM-v7.2.7.M-build1577-FORTINET.out.kvm.qcow2", "version": "7.2.7", @@ -77,6 +91,13 @@ "filesize": 86704128, "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" }, + { + "filename": "FGT_VM64_KVM-v7.0.15.M-build0601-FORTINET.out.kvm.qcow2", + "version": "7.0.15", + "md5sum": "423f50378b7e93098ab765c3dd3a788f", + "filesize": 77398016, + "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" + }, { "filename": "FGT_VM64_KVM-v7.0.14.M-build0601-FORTINET.out.kvm.qcow2", "version": "7.0.14", @@ -367,6 +388,13 @@ } ], "versions": [ + { + "name": "7.4.4", + "images": { + "hda_disk_image": "FGT_VM64_KVM-v7.4.4.F-build2573-FORTINET.out.kvm.qcow2", + "hdb_disk_image": "empty30G.qcow2" + } + }, { "name": "7.4.3", "images": { @@ -381,6 +409,13 @@ "hdb_disk_image": "empty30G.qcow2" } }, + { + "name": "7.2.8", + "images": { + "hda_disk_image": "FGT_VM64_KVM-v7.2.8.M-build1639-FORTINET.out.kvm_fortios.qcow2", + "hdb_disk_image": "empty30G.qcow2" + } + }, { "name": "7.2.7", "images": { @@ -416,6 +451,13 @@ "hdb_disk_image": "empty30G.qcow2" } }, + { + "name": "7.0.15", + "images": { + "hda_disk_image": "FGT_VM64_KVM-v7.0.15.M-build0601-FORTINET.out.kvm.qcow2", + "hdb_disk_image": "empty30G.qcow2" + } + }, { "name": "7.0.14", "images": { diff --git a/gns3server/appliances/fortimanager.gns3a b/gns3server/appliances/fortimanager.gns3a index 28c53e0b..15b13a20 100644 --- a/gns3server/appliances/fortimanager.gns3a +++ b/gns3server/appliances/fortimanager.gns3a @@ -29,6 +29,13 @@ "kvm": "allow" }, "images": [ + { + "filename": "FMG_VM64_KVM-v7.4.3-build2487-FORTINET.out.kvm.qcow2", + "version": "7.4.23", + "md5sum": "b01d9f86aa27c538407d518df1326863", + "filesize": 346107904, + "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" + }, { "filename": "FMG_VM64_KVM-v7.4.2-build2397-FORTINET.out.kvm.qcow2", "version": "7.4.2", @@ -43,6 +50,13 @@ "filesize": 309387264, "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" }, + { + "filename": "FMG_VM64_KVM-v7.2.5-build1574-FORTINET.out.kvm.qcow2", + "version": "7.2.5", + "md5sum": "754326845096afd909ec45d98f8d5a83", + "filesize": 278401024, + "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" + }, { "filename": "FMG_VM64_KVM-v7.2.4-build1460-FORTINET.out.kvm.qcow2", "version": "7.2.4", @@ -64,6 +78,13 @@ "filesize": 242814976, "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" }, + { + "filename": "FMG_VM64_KVM-v7.0.12-build0623-FORTINET.out.kvm.qcow2", + "version": "7.0.12", + "md5sum": "5b6f6a2b8bc00e56337aa7023a9025cf", + "filesize": 249520128, + "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" + }, { "filename": "FMG_VM64_KVM-v7.0.11-build0595-FORTINET.out.kvm.qcow2", "version": "7.0.11", @@ -256,6 +277,13 @@ } ], "versions": [ + { + "name": "7.4.3", + "images": { + "hda_disk_image": "FMG_VM64_KVM-v7.4.3-build2487-FORTINET.out.kvm.qcow2", + "hdb_disk_image": "empty30G.qcow2" + } + }, { "name": "7.4.2", "images": { @@ -270,6 +298,13 @@ "hdb_disk_image": "empty30G.qcow2" } }, + { + "name": "7.2.5", + "images": { + "hda_disk_image": "FMG_VM64_KVM-v7.2.5-build1574-FORTINET.out.kvm.qcow2", + "hdb_disk_image": "empty30G.qcow2" + } + }, { "name": "7.2.4", "images": { @@ -291,6 +326,13 @@ "hdb_disk_image": "empty30G.qcow2" } }, + { + "name": "7.0.12", + "images": { + "hda_disk_image": "FMG_VM64_KVM-v7.0.12-build0623-FORTINET.out.kvm.qcow2", + "hdb_disk_image": "empty30G.qcow2" + } + }, { "name": "7.0.11", "images": { diff --git a/gns3server/appliances/fortiweb.gns3a b/gns3server/appliances/fortiweb.gns3a index 1c322a6b..bd46e2d4 100644 --- a/gns3server/appliances/fortiweb.gns3a +++ b/gns3server/appliances/fortiweb.gns3a @@ -28,6 +28,27 @@ "kvm": "allow" }, "images": [ + { + "filename": "FWB_KVM-v7.6.0.F-build0962-FORTINET.out.kvm_boot.qcow2", + "version": "7.6.0", + "md5sum": "e94aa4af7ed0a12bd6084f0d74a2a96e", + "filesize": 329187840, + "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" + }, + { + "filename": "FWB_KVM-v7.4.3-build0638-FORTINET.out.kvm_boot.qcow2", + "version": "7.4.3", + "md5sum": "3c0ac11a6d80a319a4fe460aff5bc66c", + "filesize": 303497728, + "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" + }, + { + "filename": "FWB_KVM-v7.2.8-build0400-FORTINET.out.kvm_boot.qcow2", + "version": "7.2.8", + "md5sum": "367307242e6855dc190df089d196e712", + "filesize": 257950208, + "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" + }, { "filename": "FWB_KVM-v7.2.1-build0330-FORTINET.out.kvm.boot.qcow2", "version": "7.2.1", @@ -35,6 +56,13 @@ "filesize": 260506112, "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx" }, + { + "filename": "FWB_KVM-v7.0.10-build0166-FORTINET.out.kvm_boot.qcow2", + "version": "7.0.10", + "md5sum": "ff9d4b827c4e41c1b38e59359ba05487", + "filesize": 257556992, + "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", @@ -150,6 +178,27 @@ } ], "versions": [ + { + "name": "7.6.0", + "images": { + "hda_disk_image": "FWB_KVM-v7.6.0.F-build0962-FORTINET.out.kvm_boot.qcow2", + "hdb_disk_image": "empty30G.qcow2" + } + }, + { + "name": "7.4.3", + "images": { + "hda_disk_image": "FWB_KVM-v7.4.3-build0638-FORTINET.out.kvm_boot.qcow2", + "hdb_disk_image": "empty30G.qcow2" + } + }, + { + "name": "7.2.8", + "images": { + "hda_disk_image": "FWB_KVM-v7.2.8-build0400-FORTINET.out.kvm_boot.qcow2", + "hdb_disk_image": "empty30G.qcow2" + } + }, { "name": "7.2.1", "images": { @@ -157,6 +206,13 @@ "hdb_disk_image": "empty30G.qcow2" } }, + { + "name": "7.0.10", + "images": { + "hda_disk_image": "FWB_KVM-v7.0.10-build0166-FORTINET.out.kvm_boot.qcow2", + "hdb_disk_image": "empty30G.qcow2" + } + }, { "name": "7.0.6", "images": { diff --git a/gns3server/appliances/pan-vm-fw.gns3a b/gns3server/appliances/pan-vm-fw.gns3a index 1406aed8..5e68ca54 100644 --- a/gns3server/appliances/pan-vm-fw.gns3a +++ b/gns3server/appliances/pan-vm-fw.gns3a @@ -28,6 +28,20 @@ }, "images": [ { + "filename": "PA-VM-KVM-11.0.0.qcow2", + "version": "11.0.0", + "md5sum": "fc54b0e680ca2bcecb5522430e420f06", + "filesize": 4130865152, + "download_url": "https://support.paloaltonetworks.com/Updates/SoftwareUpdates/" + }, + { + "filename": "PA-VM-KVM-10.2.3.qcow2", + "version": "10.2.3", + "md5sum": "0e7b2a52d1447186d335ef9a1a197c6c", + "filesize": 5298585600, + "download_url": "https://support.paloaltonetworks.com/Updates/SoftwareUpdates/" + }, + { "filename": "PA-VM-KVM-10.1.0.qcow2", "version": "10.1.0", "md5sum": "8266fd412a22694749f2cd4afcd5fa33", @@ -128,6 +142,18 @@ ], "versions": [ { + "name": "11.0.0", + "images": { + "hda_disk_image": "PA-VM-KVM-11.0.0.qcow2" + } + }, + { + "name": "10.2.3", + "images": { + "hda_disk_image": "PA-VM-KVM-10.2.3.qcow2" + } + }, + { "name": "10.1.0", "images": { "hda_disk_image": "PA-VM-KVM-10.1.0.qcow2" diff --git a/gns3server/compute/docker/__init__.py b/gns3server/compute/docker/__init__.py index 69808a87..1ff8baf4 100644 --- a/gns3server/compute/docker/__init__.py +++ b/gns3server/compute/docker/__init__.py @@ -28,6 +28,7 @@ import shutil import platformdirs from gns3server.utils import parse_version +from gns3server.config import Config from gns3server.utils.asyncio import locking from gns3server.compute.base_manager import BaseManager from gns3server.compute.docker.docker_vm import DockerVM @@ -95,8 +96,10 @@ class Docker(BaseManager): Get the Docker resources storage directory """ + server_config = Config.instance().get_section_config("Server") appname = vendor = "GNS3" - docker_resources_dir = os.path.join(platformdirs.user_data_dir(appname, vendor, roaming=True), "docker", "resources") + resources_path = os.path.expanduser(server_config.get("resources_path", platformdirs.user_data_dir(appname, vendor, roaming=True))) + docker_resources_dir = os.path.join(resources_path, "docker") os.makedirs(docker_resources_dir, exist_ok=True) return docker_resources_dir diff --git a/gns3server/config_samples/gns3_server.conf b/gns3server/config_samples/gns3_server.conf index dc702052..9906b722 100644 --- a/gns3server/config_samples/gns3_server.conf +++ b/gns3server/config_samples/gns3_server.conf @@ -34,7 +34,7 @@ enable_ssl = False certfile = /home/gns3/.config/GNS3/ssl/server.cert certkey = /home/gns3/.config/GNS3/ssl/server.key -; Path where devices images are stored +; Path where binary images are stored images_path = /home/gns3/GNS3/images ; Additional paths to look for images @@ -43,10 +43,10 @@ additional_images_paths = /opt/images;/mnt/disk1/images ; Path where user projects are stored projects_path = /home/gns3/GNS3/projects -; Path where user appliances are stored +; Path where custom user appliances are stored appliances_path = /home/gns3/GNS3/appliances -; Path where custom device symbols are stored +; Path where custom user symbols are stored symbols_path = /home/gns3/GNS3/symbols ; Path where custom configs are stored @@ -63,6 +63,11 @@ allow_raw_images = True ; Option to automatically discover images in the images directory auto_discover_images = True +; Path where files like built-in appliances and Docker resources are stored +; The default path is the local user data directory +; (Linux: "~/.local/share/GNS3", macOS: "~/Library/Application Support/GNS3", Windows: "%APPDATA%\GNS3") +; resources_path = /home/gns3/GNS3/resources + ; Option to automatically send crash reports to the GNS3 team report_errors = True @@ -102,6 +107,9 @@ default_nat_interface = vmnet10 ; Enable the built-in templates enable_builtin_templates = True +; Install built-in appliances +install_builtin_appliances = True + ; check if hardware virtualization is used by other emulators (KVM, VMware or VirtualBox) hardware_virtualization_check = True diff --git a/gns3server/controller/__init__.py b/gns3server/controller/__init__.py index ca2622c9..adee22d1 100644 --- a/gns3server/controller/__init__.py +++ b/gns3server/controller/__init__.py @@ -270,13 +270,20 @@ class Controller: log.error(f"Cannot read IOU license file '{iourc_path}': {e}") self._iou_license_settings["license_check"] = iou_config.license_check - previous_version = controller_vars.get("version") - log.info("Comparing controller version {} with config version {}".format(__version__, previous_version)) - if not previous_version or \ - parse_version(__version__.split("+")[0]) > parse_version(previous_version.split("+")[0]): - self._appliance_manager.install_builtin_appliances() - elif not os.listdir(self._appliance_manager.builtin_appliances_path()): - self._appliance_manager.install_builtin_appliances() + # install the built-in appliances if needed + # FIXME + server_config = Config.instance().get_section_config("Server") + if server_config.getboolean("install_builtin_appliances", True): + previous_version = controller_vars.get("version") + log.info("Comparing controller version {} with config version {}".format(__version__, previous_version)) + builtin_appliances_path = self._appliance_manager.builtin_appliances_path() + if not previous_version or \ + parse_version(__version__.split("+")[0]) > parse_version(previous_version.split("+")[0]): + self._appliance_manager.install_builtin_appliances() + elif not os.listdir(builtin_appliances_path): + self._appliance_manager.install_builtin_appliances() + else: + log.info(f"Built-in appliances are installed in '{builtin_appliances_path}'") self._appliance_manager.appliances_etag = controller_vars.get("appliances_etag") self._appliance_manager.load_appliances() diff --git a/gns3server/controller/appliance_manager.py b/gns3server/controller/appliance_manager.py index 99a3377b..c0913c67 100644 --- a/gns3server/controller/appliance_manager.py +++ b/gns3server/controller/appliance_manager.py @@ -100,8 +100,10 @@ class ApplianceManager: Get the built-in appliance storage directory """ + server_config = Config.instance().get_section_config("Server") appname = vendor = "GNS3" - appliances_dir = os.path.join(platformdirs.user_data_dir(appname, vendor, roaming=True), "appliances") + resources_path = os.path.expanduser(server_config.get("resources_path", platformdirs.user_data_dir(appname, vendor, roaming=True))) + appliances_dir = os.path.join(resources_path, "appliances") if delete_first: shutil.rmtree(appliances_dir, ignore_errors=True) os.makedirs(appliances_dir, exist_ok=True)