Compare commits
67 Commits
Author | SHA1 | Date | |
---|---|---|---|
3a1ad8c08b | |||
edc855dcb5 | |||
59c2eeb536 | |||
a7f2b1fddc | |||
1f4071af93 | |||
dbdb4a53c7 | |||
2659ab2c35 | |||
0c3f6712b4 | |||
9122cab6c1 | |||
2516b1952c | |||
f2bb785037 | |||
fc938a069b | |||
4fd41991db | |||
cfc4bb371a | |||
ce59e84e13 | |||
b5e2bb1561 | |||
3003ed1465 | |||
09774a3a56 | |||
369fcaa512 | |||
7b7d3d676f | |||
d1186b2acc | |||
bd58196817 | |||
b3a822df8f | |||
ba4e0c945d | |||
f6725a37dd | |||
8e96c4c2e8 | |||
035a104957 | |||
54c0b383cb | |||
7c0384a8d4 | |||
469bd692a0 | |||
d34c3a0ac7 | |||
fb3409c1a1 | |||
08693871ae | |||
f5ea20347e | |||
ac4c5f5985 | |||
e17a79e261 | |||
4758431c76 | |||
b472f6dbf8 | |||
b39c7541fb | |||
82779d816f | |||
ccc8974d92 | |||
0090ff3722 | |||
96c6805ace | |||
efb84b3063 | |||
0be45c7da2 | |||
a4222b4d03 | |||
5f75fc7573 | |||
5269d4386c | |||
9d6cea665a | |||
2c727c6bd2 | |||
13b0caef4f | |||
8b57fbaa0a | |||
d4a9a21af9 | |||
8a900588ca | |||
8ed1fa6ad5 | |||
a689a55937 | |||
1c0b0ae423 | |||
ad7813d04b | |||
685bf88005 | |||
a1090a3da8 | |||
c8e5b41f39 | |||
94b5d3e636 | |||
e94b55e3bf | |||
1a6a729736 | |||
77c356c82c | |||
b4819b5500 | |||
11a9451098 |
@ -18,7 +18,7 @@ jobs:
|
||||
ref: "gh-pages"
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: 3.8
|
||||
python-version: 3.9
|
||||
- name: Merge changes from 3.0 branch
|
||||
run: |
|
||||
git config user.name github-actions
|
||||
|
2
.github/workflows/testing.yml
vendored
@ -18,7 +18,7 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
os: ["ubuntu-latest"]
|
||||
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
|
||||
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
|
||||
#include:
|
||||
# only test with Python 3.10 on Windows
|
||||
# - os: windows-latest
|
||||
|
40
CHANGELOG
@ -1,5 +1,44 @@
|
||||
# Change Log
|
||||
|
||||
## 3.0.4 25/02/2025
|
||||
|
||||
* Require minimum 8 characters for passwords
|
||||
* Bundle web-ui v3.0.4
|
||||
* Upgrade dependencies
|
||||
* Fix auto idle-pc for IOS templates
|
||||
* Update schemas to add constraints for values like ram, nvram etc.
|
||||
* Install custom symbols. Fixes #2492
|
||||
* Fix VMware add ubridge connection. Fixes #2490
|
||||
|
||||
## 3.0.3 22/01/2025
|
||||
|
||||
* Bundle web-ui v3.0.3
|
||||
* Refactor command line arguments parsing
|
||||
* Fix capture on IOU/IOL links. Fixes #2477
|
||||
* Use Python 3.9 to publish API documentation
|
||||
* Upgrade dependencies
|
||||
|
||||
## 2.2.53 21/01/2025
|
||||
|
||||
* Bundle web-ui v2.2.53
|
||||
* Add more information when patching .vbox file. Ref https://github.com/GNS3/gns3-gui/issues/3542
|
||||
* Increase timeout to run compute HTTP queries. Fixes #2461
|
||||
* Use 'allow_methods="*"' in aiohttp_cors.ResourceOptions(). Fixes #2459
|
||||
* Upgrade dependencies
|
||||
* Update remote-install.sh to support a custom repository and the deb822 source format
|
||||
* Fix: do not use the iourc file if IOU licence check is not enabled
|
||||
|
||||
## 3.0.2 03/01/2025
|
||||
|
||||
* Bundle web-ui v3.0.2
|
||||
* Support to create templates based on image checksums.
|
||||
* Improvements for installing built-in disks.
|
||||
* Use watchdog instead of watchfiles to monitor for new images on the file system
|
||||
* Drop Python 3.8
|
||||
* Replace python-jose library by joserfc
|
||||
* Upgrade dependencies
|
||||
* Remove blocking IOU phone home call.
|
||||
|
||||
## 3.0.1 27/12/2024
|
||||
|
||||
* Bundle web-ui v3.0.1
|
||||
@ -20,7 +59,6 @@
|
||||
## 2.2.52 02/12/2024
|
||||
|
||||
* Bundle web-ui v2.2.52
|
||||
* Sync appliances
|
||||
* Remove restrictions based on file extension when listing images and fix ELF header checks
|
||||
* Fix use project name instead of ID for fast duplication when running local server. Fixes #2446
|
||||
* Overwrite user resources when the originals have changed.
|
||||
|
@ -1,7 +1,7 @@
|
||||
pytest==8.3.3
|
||||
pytest==8.3.4
|
||||
flake8==7.1.1
|
||||
pytest-timeout==2.3.1
|
||||
pytest-asyncio==0.21.2
|
||||
pytest-asyncio==0.25.2
|
||||
requests==2.32.3
|
||||
httpx==0.27.2 # version 0.24.1 is required by httpx_ws
|
||||
httpx_ws==0.6.2
|
||||
httpx==0.28.1
|
||||
httpx_ws==0.7.1
|
||||
|
@ -284,7 +284,7 @@ async def start_iou_node_capture(
|
||||
"""
|
||||
|
||||
pcap_file_path = os.path.join(node.project.capture_working_directory(), node_capture_data.capture_file_name)
|
||||
await node.start_capture(adapter_number, pcap_file_path)
|
||||
await node.start_capture(adapter_number, port_number, pcap_file_path)
|
||||
return {"pcap_file_path": str(pcap_file_path)}
|
||||
|
||||
|
||||
|
@ -188,7 +188,7 @@ async def vmware_vms(compute_id: Union[str, UUID]) -> List[schemas.ComputeVMware
|
||||
|
||||
|
||||
@router.post("/{compute_id}/dynamips/auto_idlepc")
|
||||
async def dynamips_autoidlepc(compute_id: Union[str, UUID], auto_idle_pc: schemas.AutoIdlePC) -> str:
|
||||
async def dynamips_autoidlepc(compute_id: Union[str, UUID], auto_idle_pc: schemas.AutoIdlePC):
|
||||
"""
|
||||
Find a suitable Idle-PC value for a given IOS image. This may take a few minutes.
|
||||
"""
|
||||
|
@ -27,11 +27,11 @@ from fastapi.encoders import jsonable_encoder
|
||||
from starlette.requests import ClientDisconnect
|
||||
from sqlalchemy.orm.exc import MultipleResultsFound
|
||||
from typing import List, Optional
|
||||
from gns3server import schemas
|
||||
|
||||
from gns3server import schemas
|
||||
from gns3server.config import Config
|
||||
from gns3server.compute.qemu import Qemu
|
||||
from gns3server.utils.images import InvalidImageError, write_image, read_image_info, default_images_directory
|
||||
from gns3server.utils.images import InvalidImageError, write_image, read_image_info, default_images_directory, get_builtin_disks
|
||||
from gns3server.db.repositories.images import ImagesRepository
|
||||
from gns3server.db.repositories.templates import TemplatesRepository
|
||||
from gns3server.db.repositories.rbac import RbacRepository
|
||||
@ -51,7 +51,6 @@ log = logging.getLogger(__name__)
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
|
||||
@router.post(
|
||||
"/qemu/{image_path:path}",
|
||||
response_model=schemas.Image,
|
||||
@ -175,6 +174,61 @@ async def upload_image(
|
||||
return image
|
||||
|
||||
|
||||
@router.delete(
|
||||
"/prune",
|
||||
status_code=status.HTTP_204_NO_CONTENT,
|
||||
dependencies=[Depends(has_privilege("Image.Allocate"))]
|
||||
)
|
||||
async def prune_images(
|
||||
images_repo: ImagesRepository = Depends(get_repository(ImagesRepository)),
|
||||
) -> None:
|
||||
"""
|
||||
Prune images not attached to any template.
|
||||
|
||||
Required privilege: Image.Allocate
|
||||
"""
|
||||
|
||||
skip_images = get_builtin_disks()
|
||||
await images_repo.prune_images(skip_images)
|
||||
|
||||
|
||||
@router.post(
|
||||
"/install",
|
||||
status_code=status.HTTP_204_NO_CONTENT,
|
||||
dependencies=[Depends(has_privilege("Image.Allocate"))]
|
||||
)
|
||||
async def install_images(
|
||||
images_repo: ImagesRepository = Depends(get_repository(ImagesRepository)),
|
||||
templates_repo: TemplatesRepository = Depends(get_repository(TemplatesRepository))
|
||||
) -> None:
|
||||
"""
|
||||
Attempt to automatically create templates based on image checksums.
|
||||
|
||||
Required privilege: Image.Allocate
|
||||
"""
|
||||
|
||||
skip_images = get_builtin_disks()
|
||||
images = await images_repo.get_images()
|
||||
for image in images:
|
||||
if skip_images and image.filename in skip_images:
|
||||
log.debug(f"Skipping image '{image.path}' for image installation")
|
||||
continue
|
||||
templates = await images_repo.get_image_templates(image.image_id)
|
||||
if templates:
|
||||
# the image is already used by a template
|
||||
log.warning(f"Image '{image.path}' is used by one or more templates")
|
||||
continue
|
||||
await Controller.instance().appliance_manager.install_appliances_from_image(
|
||||
image.path,
|
||||
image.checksum,
|
||||
images_repo,
|
||||
templates_repo,
|
||||
None,
|
||||
None,
|
||||
os.path.dirname(image.path)
|
||||
)
|
||||
|
||||
|
||||
@router.get(
|
||||
"/{image_path:path}",
|
||||
response_model=schemas.Image,
|
||||
@ -218,7 +272,7 @@ async def delete_image(
|
||||
image = await images_repo.get_image(image_path)
|
||||
except MultipleResultsFound:
|
||||
raise ControllerBadRequestError(f"Image '{image_path}' matches multiple images. "
|
||||
f"Please include the relative path of the image")
|
||||
f"Please include the absolute path of the image")
|
||||
|
||||
if not image:
|
||||
raise ControllerNotFoundError(f"Image '{image_path}' not found")
|
||||
@ -236,20 +290,3 @@ async def delete_image(
|
||||
success = await images_repo.delete_image(image_path)
|
||||
if not success:
|
||||
raise ControllerError(f"Image '{image_path}' could not be deleted")
|
||||
|
||||
|
||||
@router.post(
|
||||
"/prune",
|
||||
status_code=status.HTTP_204_NO_CONTENT,
|
||||
dependencies=[Depends(has_privilege("Image.Allocate"))]
|
||||
)
|
||||
async def prune_images(
|
||||
images_repo: ImagesRepository = Depends(get_repository(ImagesRepository)),
|
||||
) -> None:
|
||||
"""
|
||||
Prune images not attached to any template.
|
||||
|
||||
Required privilege: Image.Allocate
|
||||
"""
|
||||
|
||||
await images_repo.prune_images()
|
||||
|
@ -18,6 +18,7 @@
|
||||
API routes for templates.
|
||||
"""
|
||||
|
||||
import os
|
||||
import hashlib
|
||||
import json
|
||||
|
||||
@ -34,6 +35,8 @@ from gns3server.db.repositories.templates import TemplatesRepository
|
||||
from gns3server.services.templates import TemplatesService
|
||||
from gns3server.db.repositories.rbac import RbacRepository
|
||||
from gns3server.db.repositories.images import ImagesRepository
|
||||
from gns3server.controller.controller_error import ControllerError
|
||||
from gns3server.utils.images import get_builtin_disks
|
||||
|
||||
from .dependencies.authentication import get_current_active_user
|
||||
from .dependencies.rbac import has_privilege
|
||||
@ -132,10 +135,28 @@ async def delete_template(
|
||||
Required privilege: Template.Allocate
|
||||
"""
|
||||
|
||||
images = await templates_repo.get_template_images(template_id)
|
||||
await TemplatesService(templates_repo).delete_template(template_id)
|
||||
await rbac_repo.delete_all_ace_starting_with_path(f"/templates/{template_id}")
|
||||
if prune_images:
|
||||
await images_repo.prune_images()
|
||||
if prune_images and images:
|
||||
skip_images = get_builtin_disks()
|
||||
for image in images:
|
||||
if image.filename in skip_images:
|
||||
continue
|
||||
templates = await images_repo.get_image_templates(image.image_id)
|
||||
if templates:
|
||||
template_names = ", ".join([template.name for template in templates])
|
||||
raise ControllerError(f"Image '{image.path}' is used by one or more templates: {template_names}")
|
||||
|
||||
try:
|
||||
os.remove(image.path)
|
||||
except OSError:
|
||||
log.warning(f"Could not delete image file {image.path}")
|
||||
|
||||
print(f"Deleting image '{image.path}'")
|
||||
success = await images_repo.delete_image(image.path)
|
||||
if not success:
|
||||
raise ControllerError(f"Image '{image.path}' could not removed from the database")
|
||||
|
||||
|
||||
@router.get(
|
||||
|
56
gns3server/appliances/alpine-cloud.gns3a
Normal file
@ -0,0 +1,56 @@
|
||||
{
|
||||
"appliance_id": "edbaa01e-2032-4ee2-bb9f-dd5c4d84c270",
|
||||
"name": "Alpine Cloud Guest",
|
||||
"category": "guest",
|
||||
"description": "Alpine Linux is a security-oriented, lightweight Linux distribution based on musl libc and busybox.",
|
||||
"vendor_name": "Alpine Linux Development Team",
|
||||
"vendor_url": "http://alpinelinux.org",
|
||||
"vendor_logo_url": "https://raw.githubusercontent.com/GNS3/gns3-registry/master/vendor-logos/Alpine Linux.png",
|
||||
"documentation_url": "http://wiki.alpinelinux.org",
|
||||
"product_name": "Alpine Linux",
|
||||
"product_url": "https://www.alpinelinux.org/cloud/",
|
||||
"registry_version": 4,
|
||||
"status": "stable",
|
||||
"maintainer": "GNS3 Team",
|
||||
"maintainer_email": "developers@gns3.net",
|
||||
"usage": "\nUsername: alpine\nPassword: alpine",
|
||||
"port_name_format": "Ethernet{0}",
|
||||
"qemu": {
|
||||
"adapter_type": "virtio-net-pci",
|
||||
"adapters": 1,
|
||||
"ram": 1024,
|
||||
"hda_disk_interface": "virtio",
|
||||
"arch": "x86_64",
|
||||
"console_type": "telnet",
|
||||
"boot_priority": "c",
|
||||
"kvm": "require",
|
||||
"options": "-nographic"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "generic_alpine-3.21.2-x86_64-bios-cloudinit-r0.qcow2",
|
||||
"version": "3.21.2",
|
||||
"md5sum": "b40825dff2867e0ffaffbc4c87674462",
|
||||
"filesize": 189726720,
|
||||
"download_url": "https://www.alpinelinux.org/cloud/",
|
||||
"direct_download_url": "https://dl-cdn.alpinelinux.org/alpine/v3.21/releases/cloud/generic_alpine-3.21.2-x86_64-bios-cloudinit-r0.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "alpine-cloud-init-data.iso",
|
||||
"version": "1.0",
|
||||
"md5sum": "b1b4b16cc3bf0250c0fa377c19c97683",
|
||||
"filesize": 374784,
|
||||
"download_url": "https://github.com/GNS3/gns3-registry/tree/master/cloud-init/alpine-cloud",
|
||||
"direct_download_url": "https://github.com/GNS3/gns3-registry/raw/master/cloud-init/alpine-cloud/alpine-cloud-init-data.iso"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "3.21.2",
|
||||
"images": {
|
||||
"hda_disk_image": "generic_alpine-3.21.2-x86_64-bios-cloudinit-r0.qcow2",
|
||||
"cdrom_image": "alpine-cloud-init-data.iso"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -5,9 +5,9 @@
|
||||
"description": "The Adaptive Security Virtual Appliance is a virtualized network security solution based on the market-leading Cisco ASA 5500-X Series firewalls. It supports both traditional and next-generation software-defined network (SDN) and Cisco Application Centric Infrastructure (ACI) environments to provide policy enforcement and threat inspection across heterogeneous multisite environments.",
|
||||
"vendor_name": "Cisco",
|
||||
"vendor_url": "http://www.cisco.com/",
|
||||
"documentation_url": "http://www.cisco.com/c/en/us/support/security/virtual-adaptive-security-appliance-firewall/products-installation-guides-list.html",
|
||||
"documentation_url": "https://developer.cisco.com/docs/modeling-labs/asav/",
|
||||
"product_name": "ASAv",
|
||||
"product_url": "http://www.cisco.com/c/en/us/products/security/virtual-adaptive-security-appliance-firewall/index.html",
|
||||
"product_url": "https://developer.cisco.com/modeling-labs/",
|
||||
"registry_version": 4,
|
||||
"status": "stable",
|
||||
"maintainer": "GNS3 Team",
|
||||
|
@ -5,9 +5,9 @@
|
||||
"description": "The Cisco Catalyst 8000V Edge Software is a virtual, form-factor router deployed on a virtual machine (VM) running on an x86 server hardware.",
|
||||
"vendor_name": "Cisco",
|
||||
"vendor_url": "http://www.cisco.com/",
|
||||
"documentation_url": "https://www.cisco.com/c/en/us/td/docs/routers/C8000V/Configuration/c8000v-installation-configuration-guide.html",
|
||||
"documentation_url": "https://developer.cisco.com/docs/modeling-labs/cat-8000v/",
|
||||
"product_name": "c8000v",
|
||||
"product_url": "https://www.cisco.com/c/en/us/support/routers/catalyst-8000v-edge-software/series.html",
|
||||
"product_url": "https://developer.cisco.com/modeling-labs/",
|
||||
"registry_version": 4,
|
||||
"status": "stable",
|
||||
"maintainer": "GNS3 Team",
|
||||
@ -24,6 +24,13 @@
|
||||
"kvm": "require"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "c8000v-universalk9_8G_serial.17.15.01a.qcow2",
|
||||
"version": "17.15.01a 8G",
|
||||
"md5sum": "41efa0aedd67f1f57cde1263c79d9ff6",
|
||||
"filesize": 1846280192,
|
||||
"download_url": "https://software.cisco.com/download/home/286327102/type/282046477/release/IOSXE-17.15.1a"
|
||||
},
|
||||
{
|
||||
"filename": "c8000v-universalk9_8G_serial.17.09.04a.qcow2",
|
||||
"version": "17.09.04a 8G",
|
||||
@ -68,6 +75,12 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "17.15.01a 8G",
|
||||
"images": {
|
||||
"hda_disk_image": "c8000v-universalk9_8G_serial.17.15.01a.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "17.09.04a 8G",
|
||||
"images": {
|
||||
|
@ -5,9 +5,9 @@
|
||||
"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",
|
||||
"documentation_url": "https://developer.cisco.com/docs/modeling-labs/cat-9000v/",
|
||||
"product_name": "Cisco CAT IOS-XE 9000v",
|
||||
"product_url": "http://virl.cisco.com/",
|
||||
"product_url": "https://developer.cisco.com/modeling-labs/",
|
||||
"registry_version": 4,
|
||||
"status": "experimental",
|
||||
"maintainer": "GNS3 Team",
|
||||
|
@ -5,9 +5,9 @@
|
||||
"description": "The Cisco Cloud Services Router 1000V (CSR 1000V) is a router and network services platform in virtual form factor that is intended for deployment in cloud and virtual data centers. It is optimized to serve as a single-tenant or multitenant WAN gateway. Using proven, industry-leading Cisco IOS\u00ae XE Software networking and security features, the CSR 1000V enables enterprises to transparently extend their WANs into external provider-hosted clouds and cloud providers to offer their tenants enterprise-class networking services.",
|
||||
"vendor_name": "Cisco",
|
||||
"vendor_url": "http://www.cisco.com/",
|
||||
"documentation_url": "http://www.cisco.com/c/en/us/support/routers/cloud-services-router-1000v-series/products-installation-and-configuration-guides-list.html",
|
||||
"documentation_url": "https://developer.cisco.com/docs/modeling-labs/csr-1000v/",
|
||||
"product_name": "CSR1000v",
|
||||
"product_url": "http://www.cisco.com/c/en/us/support/routers/cloud-services-router-1000v-series/tsd-products-support-series-home.html",
|
||||
"product_url": "https://developer.cisco.com/modeling-labs/",
|
||||
"registry_version": 4,
|
||||
"status": "stable",
|
||||
"maintainer": "GNS3 Team",
|
||||
@ -169,7 +169,7 @@
|
||||
"version": "16.4.1",
|
||||
"md5sum": "3428e0dcf5132a1b11ab7696d8c61b2e",
|
||||
"filesize": 1261961216,
|
||||
"download_url": "https://virl.mediuscorp.com/my-account/"
|
||||
"download_url": "https://learningnetworkstore.cisco.com/myaccount"
|
||||
},
|
||||
{
|
||||
"filename": "csr1000v-universalk9.16.6.1.qcow2",
|
||||
|
@ -5,8 +5,9 @@
|
||||
"description": "Cisco Virtual IOS allows user to run IOS on a standard computer.",
|
||||
"vendor_name": "Cisco",
|
||||
"vendor_url": "http://www.cisco.com/",
|
||||
"documentation_url": "https://developer.cisco.com/docs/modeling-labs/iol/",
|
||||
"product_name": "IOSv",
|
||||
"product_url": "http://virl.cisco.com/",
|
||||
"product_url": "https://developer.cisco.com/modeling-labs/",
|
||||
"registry_version": 4,
|
||||
"status": "stable",
|
||||
"maintainer": "GNS3 Team",
|
||||
@ -25,12 +26,11 @@
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "IOSv_startup_config.img",
|
||||
"version": "1",
|
||||
"md5sum": "bc605651c4688276f81fd59dcf5cc786",
|
||||
"filesize": 1048576,
|
||||
"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.m9.qcow2",
|
||||
"version": "15.9(3)M9",
|
||||
"md5sum": "01b707a2e33185d6d33e0255ced45d23",
|
||||
"filesize": 57323008,
|
||||
"download_url": "https://learningnetworkstore.cisco.com/myaccount"
|
||||
},
|
||||
{
|
||||
"filename": "vios-adventerprisek9-m.spa.159-3.m8.qcow2",
|
||||
@ -101,9 +101,24 @@
|
||||
"md5sum": "79f613ac3b179d5a64520730925130b2",
|
||||
"filesize": 127926272,
|
||||
"download_url": "https://learningnetworkstore.cisco.com/myaccount"
|
||||
},
|
||||
{
|
||||
"filename": "IOSv_startup_config.img",
|
||||
"version": "1",
|
||||
"md5sum": "bc605651c4688276f81fd59dcf5cc786",
|
||||
"filesize": 1048576,
|
||||
"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"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "15.9(3)M9",
|
||||
"images": {
|
||||
"hda_disk_image": "vios-adventerprisek9-m.spa.159-3.m9.qcow2",
|
||||
"hdb_disk_image": "IOSv_startup_config.img"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "15.9(3)M8",
|
||||
"images": {
|
||||
|
@ -5,8 +5,9 @@
|
||||
"description": "Cisco Virtual IOS L2 allows user to run a IOS switching image on a standard computer.",
|
||||
"vendor_name": "Cisco",
|
||||
"vendor_url": "http://www.cisco.com/",
|
||||
"documentation_url": "https://developer.cisco.com/docs/modeling-labs/iosvl2/",
|
||||
"product_name": "IOSvL2",
|
||||
"product_url": "http://virl.cisco.com/",
|
||||
"product_url": "https://developer.cisco.com/modeling-labs/",
|
||||
"registry_version": 4,
|
||||
"status": "stable",
|
||||
"maintainer": "GNS3 Team",
|
||||
|
@ -5,9 +5,9 @@
|
||||
"description": "IOS XRv supports the control plane features introduced in Cisco IOS XR.",
|
||||
"vendor_name": "Cisco",
|
||||
"vendor_url": "http://www.cisco.com/",
|
||||
"documentation_url": "http://www.cisco.com/c/en/us/td/docs/ios_xr_sw/ios_xrv/release/notes/xrv-rn.html",
|
||||
"documentation_url": "https://developer.cisco.com/docs/modeling-labs/ios-xrv/",
|
||||
"product_name": "IOS XRv",
|
||||
"product_url": "http://virl.cisco.com/",
|
||||
"product_url": "https://developer.cisco.com/modeling-labs/",
|
||||
"registry_version": 4,
|
||||
"status": "stable",
|
||||
"maintainer": "GNS3 Team",
|
||||
|
@ -5,9 +5,9 @@
|
||||
"description": "IOS XRv 9000 (aka Sunstone) is the 1st VM released running the 64-bit IOS XR operating system as used on the NCS-6xxx platform. This appliance requires 4 vCPUs and 16GB of memory to run!",
|
||||
"vendor_name": "Cisco",
|
||||
"vendor_url": "http://www.cisco.com/",
|
||||
"documentation_url": "http://www.cisco.com/c/en/us/td/docs/ios_xr_sw/ios_xrv/release/notes/xrv-rn.html",
|
||||
"documentation_url": "https://developer.cisco.com/docs/modeling-labs/ios-xrv-9000/",
|
||||
"product_name": "IOS XRv 9000",
|
||||
"product_url": "http://virl.cisco.com/",
|
||||
"product_url": "https://developer.cisco.com/modeling-labs/",
|
||||
"registry_version": 4,
|
||||
"status": "experimental",
|
||||
"maintainer": "GNS3 Team",
|
||||
@ -26,92 +26,35 @@
|
||||
"options": "-smp 4 -cpu host"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "xrv9k-fullk9-x-24.3.1.qcow2",
|
||||
"version": "24.3.1",
|
||||
"md5sum": "bd047c457e29952f265583f299bab845",
|
||||
"filesize": 1704658432,
|
||||
"download_url": "https://learningnetworkstore.cisco.com/myaccount"
|
||||
},
|
||||
{
|
||||
"filename": "xrv9k-fullk9-x-7.7.1.qcow2",
|
||||
"version": "7.7.1",
|
||||
"md5sum": "682fff40d2ff373d8da3342906553b54",
|
||||
"filesize": 1643905024,
|
||||
"download_url": "https://software.cisco.com/download/home/286288939/type/280805694/release/7.1.1"
|
||||
"download_url": "https://learningnetworkstore.cisco.com/myaccount"
|
||||
},
|
||||
{
|
||||
"filename": "xrv9k-fullk9-x-7.1.1.qcow2",
|
||||
"version": "7.1.1",
|
||||
"md5sum": "dcf241e3f8df0151fec2c7bfac9d96ac",
|
||||
"filesize": 1443758080,
|
||||
"download_url": "https://software.cisco.com/download/home/286288939/type/280805694/release/7.1.1"
|
||||
},
|
||||
{
|
||||
"filename": "xrv9k-fullk9-x-7.0.1.qcow2",
|
||||
"version": "7.0.1",
|
||||
"md5sum": "ca2817767fa546e303c3c536e211d33e",
|
||||
"filesize": 1446445056,
|
||||
"download_url": "https://software.cisco.com/download/home/286288939/type/280805694/release/7.0.1"
|
||||
},
|
||||
{
|
||||
"filename": "xrv9k-fullk9-x-6.6.2.qcow2",
|
||||
"version": "6.6.2",
|
||||
"md5sum": "fd630be3c449e625073286a3a66021ae",
|
||||
"filesize": 1452998656,
|
||||
"download_url": "https://software.cisco.com/download/home/286288939/type/280805694/release/6.6.2"
|
||||
},
|
||||
{
|
||||
"filename": "xrv9k-fullk9-x-6.5.3.qcow2",
|
||||
"version": "6.5.3",
|
||||
"md5sum": "71f018e3ea895b663129090fb4f0ff40",
|
||||
"filesize": 1205075968,
|
||||
"download_url": "https://software.cisco.com/download/home/286288939/type/280805694/release/6.5.3"
|
||||
},
|
||||
{
|
||||
"filename": "xrv9k-fullk9-x-6.5.2.qcow2",
|
||||
"version": "6.5.2",
|
||||
"md5sum": "506d9e23dda7365c99dd82b613859697",
|
||||
"filesize": 1205010432,
|
||||
"download_url": "https://software.cisco.com/download/home/286288939/type/280805694/release/6.5.1"
|
||||
},
|
||||
{
|
||||
"filename": "xrv9k-fullk9-x-6.5.1.qcow2",
|
||||
"version": "6.5.1",
|
||||
"md5sum": "730868e7cd46de9aa2e950899c7f9498",
|
||||
"filesize": 1208811520,
|
||||
"download_url": "https://software.cisco.com/download/home/286288939/type/280805694/release/6.5.1"
|
||||
},
|
||||
{
|
||||
"filename": "xrv9k-fullk9-x-6.4.2.qcow2",
|
||||
"version": "6.4.2",
|
||||
"md5sum": "6958763192c7bb59a1b8049d377de1b4",
|
||||
"filesize": 1311703040,
|
||||
"download_url": "https://software.cisco.com/download/home/286288939/type/280805694/release/6.4.2"
|
||||
},
|
||||
{
|
||||
"filename": "xrv9k-fullk9-x-6.4.1.qcow2",
|
||||
"version": "6.4.1",
|
||||
"md5sum": "9c56b684e307706005a503e289cb9317",
|
||||
"filesize": 1304887296,
|
||||
"download_url": "https://software.cisco.com/download/home/286288939/type/280805694/release/6.4.1"
|
||||
},
|
||||
{
|
||||
"filename": "xrv9k-fullk9-x-6.2.25.qcow2",
|
||||
"version": "6.2.25",
|
||||
"md5sum": "3f54e62b6f7cedfb2607233e5e465766",
|
||||
"filesize": 1190723584,
|
||||
"download_url": "https://learningnetworkstore.cisco.com/myaccount"
|
||||
},
|
||||
{
|
||||
"filename": "xrv9k-fullk9-x.qcow2-6.0.1",
|
||||
"version": "6.0.1",
|
||||
"md5sum": "e20d046807075046c35b6ce7d6766a7f",
|
||||
"filesize": 2109210624,
|
||||
"download_url": "https://learningnetworkstore.cisco.com/myaccount"
|
||||
},
|
||||
{
|
||||
"filename": "xrv9k-fullk9-x.qcow2-6.0.0",
|
||||
"version": "6.0.0",
|
||||
"md5sum": "64c538c34252aaeb4ed1ddb93d6803fd",
|
||||
"filesize": 2572943360,
|
||||
"download_url": "https://learningnetworkstore.cisco.com/myaccount"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "24.3.1",
|
||||
"images": {
|
||||
"hda_disk_image": "xrv9k-fullk9-x-24.3.1.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.7.1",
|
||||
"images": {
|
||||
@ -123,66 +66,6 @@
|
||||
"images": {
|
||||
"hda_disk_image": "xrv9k-fullk9-x-7.1.1.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.1",
|
||||
"images": {
|
||||
"hda_disk_image": "xrv9k-fullk9-x-7.0.1.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6.6.2",
|
||||
"images": {
|
||||
"hda_disk_image": "xrv9k-fullk9-x-6.6.2.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6.5.3",
|
||||
"images": {
|
||||
"hda_disk_image": "xrv9k-fullk9-x-6.5.3.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6.5.2",
|
||||
"images": {
|
||||
"hda_disk_image": "xrv9k-fullk9-x-6.5.2.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6.5.1",
|
||||
"images": {
|
||||
"hda_disk_image": "xrv9k-fullk9-x-6.5.1.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6.4.2",
|
||||
"images": {
|
||||
"hda_disk_image": "xrv9k-fullk9-x-6.4.2.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6.4.1",
|
||||
"images": {
|
||||
"hda_disk_image": "xrv9k-fullk9-x-6.4.1.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6.2.25",
|
||||
"images": {
|
||||
"hda_disk_image": "xrv9k-fullk9-x-6.2.25.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6.0.1",
|
||||
"images": {
|
||||
"hda_disk_image": "xrv9k-fullk9-x.qcow2-6.0.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6.0.0",
|
||||
"images": {
|
||||
"hda_disk_image": "xrv9k-fullk9-x.qcow2-6.0.0"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -5,7 +5,9 @@
|
||||
"description": "Cisco IOS on UNIX Layer 2 image.",
|
||||
"vendor_name": "Cisco",
|
||||
"vendor_url": "http://www.cisco.com",
|
||||
"documentation_url": "https://developer.cisco.com/docs/modeling-labs/iol-l2/",
|
||||
"product_name": "Cisco IOU L2",
|
||||
"product_url": "https://developer.cisco.com/modeling-labs/",
|
||||
"registry_version": 4,
|
||||
"status": "experimental",
|
||||
"maintainer": "GNS3 Team",
|
||||
|
@ -5,7 +5,9 @@
|
||||
"description": "Cisco IOS on UNIX Layer 3 image.",
|
||||
"vendor_name": "Cisco",
|
||||
"vendor_url": "http://www.cisco.com",
|
||||
"documentation_url": "https://developer.cisco.com/docs/modeling-labs/iol/",
|
||||
"product_name": "Cisco IOU L3",
|
||||
"product_url": "https://developer.cisco.com/modeling-labs/",
|
||||
"registry_version": 4,
|
||||
"status": "experimental",
|
||||
"maintainer": "GNS3 Team",
|
||||
|
@ -5,8 +5,9 @@
|
||||
"description": "NXOSv is a reference platform for an implementation of the Cisco Nexus operating system, based on the Nexus 7000-series platforms, running as a full virtual machine on a hypervisor. This includes NXAPI and MPLS LDP support.",
|
||||
"vendor_name": "Cisco",
|
||||
"vendor_url": "http://www.cisco.com/",
|
||||
"documentation_url": "https://developer.cisco.com/docs/modeling-labs/nx-os/",
|
||||
"product_name": "NX-OSv",
|
||||
"product_url": "http://virl.cisco.com/",
|
||||
"product_url": "https://developer.cisco.com/modeling-labs/",
|
||||
"registry_version": 4,
|
||||
"status": "stable",
|
||||
"maintainer": "GNS3 Team",
|
||||
|
@ -5,8 +5,9 @@
|
||||
"description": "The NX-OSv 9000 is a virtual platform that is designed to simulate the control plane aspects of a network element running Cisco Nexus 9000 software. The NX-OSv 9000 shares the same software image running on Cisco Nexus 9000 hardware platform although no specific hardware emulation is implemented. When the software runs as a virtual machine, line card (LC) ASIC provisioning or any interaction from the control plane to hardware ASIC is handled by the NX-OSv 9000 software data plane.\nThe NX-OSv 9000 for the Cisco Nexus 9000 Series provides a useful tool to enable the devops model and rapidly test changes to the infrastructure or to infrastructure automation tools. This enables network simulations in large scale for customers to validate configuration changes on a simulated network prior to applying them on a production network. Some users have also expressed interest in using the simulation system for feature test ,verification, and automation tooling development and test simualtion prior to deployment. NX-OSv 9000 can be used as a programmability vehicle to validate software defined networks (SDNs) and Network Function Virtualization (NFV) based solutions.",
|
||||
"vendor_name": "Cisco",
|
||||
"vendor_url": "http://www.cisco.com/",
|
||||
"documentation_url": "http://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/7-x/nx-osv/configuration/guide/b_NX-OSv_9000/b_NX-OSv_chapter_01.html",
|
||||
"documentation_url": "https://developer.cisco.com/docs/modeling-labs/nx-os-9000/",
|
||||
"product_name": "NX-OSv 9000",
|
||||
"product_url": "https://developer.cisco.com/modeling-labs/",
|
||||
"registry_version": 4,
|
||||
"status": "stable",
|
||||
"availability": "service-contract",
|
||||
@ -26,12 +27,33 @@
|
||||
"kvm": "require"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "nexus9500v64.10.5.1.F.qcow2",
|
||||
"version": "9500v 10.5.1.F",
|
||||
"md5sum": "2fa6fb4dd4c5e49d53896d60fa746e59",
|
||||
"filesize": 2388459520,
|
||||
"download_url": "https://software.cisco.com/download/home/286312239/type/282088129/release/10.5(1)"
|
||||
},
|
||||
{
|
||||
"filename": "nexus9300v64.10.5.1.F.qcow2",
|
||||
"version": "9300v 10.5.1.F",
|
||||
"md5sum": "2bbc767debbc7c1144eabe176ae67503",
|
||||
"filesize": 2388393984,
|
||||
"download_url": "https://software.cisco.com/download/home/286312239/type/282088129/release/10.5(1)"
|
||||
},
|
||||
{
|
||||
"filename": "nexus9500v64.10.3.1.F.qcow2",
|
||||
"version": "9500v 10.3.1.F",
|
||||
"md5sum": "41e3c1c0c003b13f1bf774f0d1873e87",
|
||||
"filesize": 2097510400,
|
||||
"download_url": "https://software.cisco.com/download/home/286312239/type/282088129/release/10.3(1)"
|
||||
},
|
||||
{
|
||||
"filename": "nexus9300v64.10.3.1.F.qcow2",
|
||||
"version": "9300v 10.3.1.F",
|
||||
"md5sum": "a6ffd2501a5791c11cee319943b912da",
|
||||
"filesize": 2097086464,
|
||||
"download_url": "https://software.cisco.com/download/home/286312239/type/282088129/release/10.1(1)"
|
||||
"download_url": "https://software.cisco.com/download/home/286312239/type/282088129/release/10.3(1)"
|
||||
},
|
||||
{
|
||||
"filename": "nexus9500v64.10.1.1.qcow2",
|
||||
@ -47,181 +69,6 @@
|
||||
"filesize": 1990983680,
|
||||
"download_url": "https://software.cisco.com/download/home/286312239/type/282088129/release/10.1(1)"
|
||||
},
|
||||
{
|
||||
"filename": "nexus9500v.9.3.13.qcow2",
|
||||
"version": "9500v 9.3.13",
|
||||
"md5sum": "bacf0f664ee34625c85a9f278b2466a2",
|
||||
"filesize": 2248409088,
|
||||
"download_url": "https://software.cisco.com/download/home/286312239/type/282088129/release/9.3(13)"
|
||||
},
|
||||
{
|
||||
"filename": "nexus9300v.9.3.13.qcow2",
|
||||
"version": "9300v 9.3.13",
|
||||
"md5sum": "d8ce30cb762df02d77ec27786a2435ad",
|
||||
"filesize": 2248343552,
|
||||
"download_url": "https://software.cisco.com/download/home/286312239/type/282088129/release/9.3(13)"
|
||||
},
|
||||
{
|
||||
"filename": "nexus9500v.9.3.12.qcow2",
|
||||
"version": "9500v 9.3.12",
|
||||
"md5sum": "452e5cb2a7a25feaa3ba0624a82ff9ca",
|
||||
"filesize": 1997996032,
|
||||
"download_url": "https://software.cisco.com/download/home/286312239/type/282088129/release/9.3(12)"
|
||||
},
|
||||
{
|
||||
"filename": "nexus9300v.9.3.12.qcow2",
|
||||
"version": "9300v 9.3.12",
|
||||
"md5sum": "7b6b5dad1001e11d6ebb54662616e9f2",
|
||||
"filesize": 1997930496,
|
||||
"download_url": "https://software.cisco.com/download/home/286312239/type/282088129/release/9.3(12)"
|
||||
},
|
||||
{
|
||||
"filename": "nexus9500v.9.3.9.qcow2",
|
||||
"version": "9500v 9.3.9",
|
||||
"md5sum": "30c25039927f89aebe73ea20d15abd6d",
|
||||
"filesize": 1980760064,
|
||||
"download_url": "https://software.cisco.com/download/home/286312239/type/282088129/release/9.3(9)"
|
||||
},
|
||||
{
|
||||
"filename": "nexus9300v.9.3.9.qcow2",
|
||||
"version": "9300v 9.3.9",
|
||||
"md5sum": "e807005cb7d2d2957b4af0e59f368b36",
|
||||
"filesize": 1980563456,
|
||||
"download_url": "https://software.cisco.com/download/home/286312239/type/282088129/release/9.3(9)"
|
||||
},
|
||||
{
|
||||
"filename": "nexus9300v.9.3.8.qcow2",
|
||||
"version": "9300v 9.3.8",
|
||||
"md5sum": "f8bd834f8395c134dc98d895c98441af",
|
||||
"filesize": 1976434688,
|
||||
"download_url": "https://software.cisco.com/download/home/286312239/type/282088129/release/9.3(8)"
|
||||
},
|
||||
{
|
||||
"filename": "nexus9500v.9.3.7.qcow2",
|
||||
"version": "9500v 9.3.7",
|
||||
"md5sum": "65f669e0dd379a05a8cdbb9d7592a064",
|
||||
"filesize": 1986068480,
|
||||
"download_url": "https://software.cisco.com/download/home/286312239/type/282088129/release/9.3(7)"
|
||||
},
|
||||
{
|
||||
"filename": "nexus9500v.9.3.3.qcow2",
|
||||
"version": "9500v 9.3.3",
|
||||
"md5sum": "7230c944041fdaa0e1b18cecccbc9a32",
|
||||
"filesize": 1714159616,
|
||||
"download_url": "https://software.cisco.com/download/home/286312239/type/282088129/release/9.3(3)"
|
||||
},
|
||||
{
|
||||
"filename": "nexus9300v.9.3.3.qcow2",
|
||||
"version": "9300v 9.3.3",
|
||||
"md5sum": "8e9a7c4815907ef47d850623f77042e2",
|
||||
"filesize": 1714225152,
|
||||
"download_url": "https://software.cisco.com/download/home/286312239/type/282088129/release/9.3(3)"
|
||||
},
|
||||
{
|
||||
"filename": "nxosv.9.3.1.qcow2",
|
||||
"version": "9.3.1",
|
||||
"md5sum": "148fd38cb1ff78df2883f844e172fad9",
|
||||
"filesize": 1435041792,
|
||||
"download_url": "https://software.cisco.com/download/home/286312239/type/282088129/release/9.3(1)?i=!pp"
|
||||
},
|
||||
{
|
||||
"filename": "nxosv-final.9.2.3.qcow2",
|
||||
"version": "9.2.3",
|
||||
"md5sum": "74bd9a5b4970e868685f753e48979194",
|
||||
"filesize": 1357643776,
|
||||
"download_url": "https://software.cisco.com/download/home/286312239/type/282088129/release/9.2%25283%2529"
|
||||
},
|
||||
{
|
||||
"filename": "nxosv-final.9.2.2.qcow2",
|
||||
"version": "9.2.2",
|
||||
"md5sum": "2119702c488552fc4d1b4210a04d4f64",
|
||||
"filesize": 1344077824,
|
||||
"download_url": "https://software.cisco.com/download/home/286312239/type/282088129/release/9.2%25281%2529"
|
||||
},
|
||||
{
|
||||
"filename": "nxosv-final.9.2.1.qcow2",
|
||||
"version": "9.2.1",
|
||||
"md5sum": "1d7fa4654602d7ffbf62544edfe71986",
|
||||
"filesize": 1330315264,
|
||||
"download_url": "https://software.cisco.com/download/home/286312239/type/282088129/release/9.2%25281%2529"
|
||||
},
|
||||
{
|
||||
"filename": "nxosv-final.7.0.3.I7.9.qcow2",
|
||||
"version": "7.0.3.I7.9",
|
||||
"md5sum": "50678c719f6b822c43dd096dbdf359e8",
|
||||
"filesize": 1003618304,
|
||||
"download_url": "https://software.cisco.com/download/home/286312239/type/282088129/release/7.0(3)I7(9)?i=!pp"
|
||||
},
|
||||
{
|
||||
"filename": "nxosv-final.7.0.3.I7.7.qcow2",
|
||||
"version": "7.0.3.I7.7",
|
||||
"md5sum": "5daab34b672f9534c9aee59a6c8903b3",
|
||||
"filesize": 996212736,
|
||||
"download_url": "https://software.cisco.com/download/home/286312239/type/282088129/release/7.0%25283%2529I7%25287%2529"
|
||||
},
|
||||
{
|
||||
"filename": "nxosv-final.7.0.3.I7.6.qcow2",
|
||||
"version": "7.0.3.I7.6",
|
||||
"md5sum": "a122ee954b4c11761abd99291b70544e",
|
||||
"filesize": 1031995392,
|
||||
"download_url": "https://software.cisco.com/download/home/286312239/type/282088129/release/7.0%25283%2529I7%25286%2529"
|
||||
},
|
||||
{
|
||||
"filename": "nxosv-final.7.0.3.I7.5.qcow2",
|
||||
"version": "7.0.3.I7.5",
|
||||
"md5sum": "68a4008e189c8a35ccb8ee58db9608bb",
|
||||
"filesize": 1027670016,
|
||||
"download_url": "https://software.cisco.com/download/home/286312239/type/282088129/release/7.0%25283%2529I7%25285%2529"
|
||||
},
|
||||
{
|
||||
"filename": "nxosv-final.7.0.3.I7.4.qcow2",
|
||||
"version": "7.0.3.I7.4",
|
||||
"md5sum": "1e980c95ca47045ae45ded6e07fabfb8",
|
||||
"filesize": 985792512,
|
||||
"download_url": "https://software.cisco.com/download/"
|
||||
},
|
||||
{
|
||||
"filename": "nxosv-final.7.0.3.I7.3.qcow2",
|
||||
"version": "7.0.3.I7.3",
|
||||
"md5sum": "9d7a20367bf681a239f14097bbce470a",
|
||||
"filesize": 983629824,
|
||||
"download_url": "https://software.cisco.com/download/"
|
||||
},
|
||||
{
|
||||
"filename": "nxosv-final.7.0.3.I7.2.qcow2",
|
||||
"version": "7.0.3.I7.2",
|
||||
"md5sum": "17295efb13e83b24a439148449bfd5ab",
|
||||
"filesize": 906231808,
|
||||
"download_url": "https://software.cisco.com/download/"
|
||||
},
|
||||
{
|
||||
"filename": "nxosv-final.7.0.3.I7.1.qcow2",
|
||||
"version": "7.0.3.I7.1",
|
||||
"md5sum": "3c122f27d0c3684c63657207eadf4d06",
|
||||
"filesize": 903151616,
|
||||
"download_url": "https://software.cisco.com/download/"
|
||||
},
|
||||
{
|
||||
"filename": "nxosv-final.7.0.3.I6.1.qcow2",
|
||||
"version": "7.0.3.I6.1",
|
||||
"md5sum": "18bb991b814a508d1190575f99deed99",
|
||||
"filesize": 780402688,
|
||||
"download_url": "https://software.cisco.com/download/"
|
||||
},
|
||||
{
|
||||
"filename": "nxosv-final.7.0.3.I5.2.qcow2",
|
||||
"version": "7.0.3.I5.2",
|
||||
"md5sum": "c06aaa02f758a64fd8fee9406756f1da",
|
||||
"filesize": 777715712,
|
||||
"download_url": "https://software.cisco.com/download/"
|
||||
},
|
||||
{
|
||||
"filename": "nxosv-final.7.0.3.I5.1.qcow2",
|
||||
"version": "7.0.3.I5.1",
|
||||
"md5sum": "201ea658fa4c57452ee4b2aa4f5262a7",
|
||||
"filesize": 784990208,
|
||||
"download_url": "https://software.cisco.com/download/"
|
||||
},
|
||||
{
|
||||
"filename": "OVMF-edk2-stable202305.fd",
|
||||
"version": "stable202305",
|
||||
@ -233,6 +80,27 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "9500v 10.5.1.F",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "nexus9500v64.10.5.1.F.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "9300v 10.5.1.F",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "nexus9300v64.10.5.1.F.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "9500v 10.3.1.F",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "nexus9500v64.10.3.1.F.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "9300v 10.3.1.F",
|
||||
"images": {
|
||||
@ -253,181 +121,6 @@
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "nexus9300v.10.1.1.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "9500v 9.3.13",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "nexus9500v.9.3.13.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "9300v 9.3.13",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "nexus9300v.9.3.13.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "9500v 9.3.12",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "nexus9500v.9.3.12.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "9300v 9.3.12",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "nexus9300v.9.3.12.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "9500v 9.3.9",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "nexus9500v.9.3.9.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "9300v 9.3.9",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "nexus9300v.9.3.9.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "9300v 9.3.8",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "nexus9300v.9.3.8.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "9500v 9.3.7",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "nexus9500v.9.3.7.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "9500v 9.3.3",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "nexus9500v.9.3.3.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "9300v 9.3.3",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "nexus9300v.9.3.3.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "9.3.1",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "nxosv.9.3.1.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "9.2.3",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "nxosv-final.9.2.3.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "9.2.2",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "nxosv-final.9.2.2.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "9.2.1",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "nxosv-final.9.2.1.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.3.I7.9",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "nxosv-final.7.0.3.I7.9.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.3.I7.7",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "nxosv-final.7.0.3.I7.7.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.3.I7.6",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "nxosv-final.7.0.3.I7.6.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.3.I7.5",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "nxosv-final.7.0.3.I7.5.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.3.I7.4",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "nxosv-final.7.0.3.I7.4.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.3.I7.3",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "nxosv-final.7.0.3.I7.3.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.3.I7.2",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "nxosv-final.7.0.3.I7.2.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.3.I7.1",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "nxosv-final.7.0.3.I7.1.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.3.I6.1",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "nxosv-final.7.0.3.I6.1.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.3.I5.2",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "nxosv-final.7.0.3.I5.2.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.3.I5.1",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "nxosv-final.7.0.3.I5.1.qcow2"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -29,6 +29,27 @@
|
||||
"kvm": "allow"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "FAZ_VM64_KVM-v7.4.6.M-build2588-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.4.6",
|
||||
"md5sum": "fba982436ff430465df6f6f283a2bd71",
|
||||
"filesize": 511053824,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAZ_VM64_KVM-v7.4.5.M-build2553-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.4.5",
|
||||
"md5sum": "78464ee460fce69c360901ca9ccfe4a0",
|
||||
"filesize": 510988288,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAZ_VM64_KVM-v7.4.4.F-build2550-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.4.4",
|
||||
"md5sum": "7bec1725b1e39dd66f4daae07492f1b4",
|
||||
"filesize": 511217664,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAZ_VM64_KVM-v7.4.3-build2487-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.4.3",
|
||||
@ -277,6 +298,27 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "7.4.6",
|
||||
"images": {
|
||||
"hda_disk_image": "FAZ_VM64_KVM-v7.4.6.M-build2588-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.4.5",
|
||||
"images": {
|
||||
"hda_disk_image": "FAZ_VM64_KVM-v7.4.5.M-build2553-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.4.4",
|
||||
"images": {
|
||||
"hda_disk_image": "FAZ_VM64_KVM-v7.4.4.F-build2550-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.4.3",
|
||||
"images": {
|
||||
|
@ -28,6 +28,27 @@
|
||||
"kvm": "allow"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "FGT_VM64_KVM-v7.4.7.M-build2731-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.4.7",
|
||||
"md5sum": "2ce4039789e84b3fe85565e0c4110718",
|
||||
"filesize": 103677952,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FGT_VM64_KVM-v7.4.6.M-build2726-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.4.6",
|
||||
"md5sum": "b787c1c5ab365f267d7e4e88b1cdc10b",
|
||||
"filesize": 103677952,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FGT_VM64_KVM-v7.4.5.M-build2702-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.4.5",
|
||||
"md5sum": "8465e74c4ef1751619ebb989838d457c",
|
||||
"filesize": 102367232,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FGT_VM64_KVM-v7.4.4.F-build2662-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.4.4",
|
||||
@ -388,6 +409,27 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "7.4.7",
|
||||
"images": {
|
||||
"hda_disk_image": "FGT_VM64_KVM-v7.4.7.M-build2731-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.4.6",
|
||||
"images": {
|
||||
"hda_disk_image": "FGT_VM64_KVM-v7.4.6.M-build2726-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.4.5",
|
||||
"images": {
|
||||
"hda_disk_image": "FGT_VM64_KVM-v7.4.5.M-build2702-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.4.4",
|
||||
"images": {
|
||||
|
@ -29,9 +29,30 @@
|
||||
"kvm": "allow"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "FMG_VM64_KVM-v7.4.6.M-build2588-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.4.6",
|
||||
"md5sum": "7cb219e1070d393f61cf750d818b23b1",
|
||||
"filesize": 349122560,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FMG_VM64_KVM-v7.4.5.M-build2553-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.4.5",
|
||||
"md5sum": "fa59ddce0cb933741f16866472026723",
|
||||
"filesize": 349769728,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FMG_VM64_KVM-v7.4.4.F-build2550-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.4.4",
|
||||
"md5sum": "770727bb30555e6938308bbf95f19555",
|
||||
"filesize": 349847552,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FMG_VM64_KVM-v7.4.3-build2487-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.4.23",
|
||||
"version": "7.4.3",
|
||||
"md5sum": "b01d9f86aa27c538407d518df1326863",
|
||||
"filesize": 346107904,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
@ -277,6 +298,27 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "7.4.6",
|
||||
"images": {
|
||||
"hda_disk_image": "FMG_VM64_KVM-v7.4.6.M-build2588-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.4.5",
|
||||
"images": {
|
||||
"hda_disk_image": "FMG_VM64_KVM-v7.4.5.M-build2553-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.4.4",
|
||||
"images": {
|
||||
"hda_disk_image": "FMG_VM64_KVM-v7.4.4.F-build2550-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.4.3",
|
||||
"images": {
|
||||
|
75
gns3server/appliances/infix.gns3a
Normal file
@ -0,0 +1,75 @@
|
||||
{
|
||||
"appliance_id": "4d351078-c6f5-444c-ab30-0ef20e3d8c53",
|
||||
"name": "Infix",
|
||||
"category": "router",
|
||||
"description": "Infix is a Network Operating System based on Linux. It can be set up both as a switch, with offloading using switchdev, and a router with firewalling.",
|
||||
"vendor_name": "KernelKit",
|
||||
"vendor_url": "https://github.com/kernelkit",
|
||||
"vendor_logo_url": "https://kernelkit.org/assets/img/jack.png",
|
||||
"product_name": "Infix",
|
||||
"registry_version": 4,
|
||||
"documentation_url": "https://github.com/kernelkit/infix/tree/main/doc",
|
||||
"status": "stable",
|
||||
"availability": "free",
|
||||
"maintainer": "KernelKit",
|
||||
"maintainer_email": "kernelkit@googlegroups.com",
|
||||
"usage": "Default login, user/pass: admin/admin\n\nType 'cli' (and Enter) followed by 'help' for an overview of commands and relevant configuration files.",
|
||||
"port_name_format": "eth{0}",
|
||||
"linked_clone": true,
|
||||
"symbol": "router_red.svg",
|
||||
"qemu": {
|
||||
"adapter_type": "virtio-net-pci",
|
||||
"adapters": 10,
|
||||
"ram": 512,
|
||||
"cpus": 1,
|
||||
"hda_disk_interface": "virtio",
|
||||
"arch": "x86_64",
|
||||
"console_type": "telnet",
|
||||
"process_priority": "normal",
|
||||
"kvm": "allow"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "OVMF-edk2-stable202305.fd",
|
||||
"version": "stable202305",
|
||||
"md5sum": "6c4cf1519fec4a4b95525d9ae562963a",
|
||||
"filesize": 4194304,
|
||||
"download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/",
|
||||
"direct_download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/OVMF-edk2-stable202305.fd.zip/download",
|
||||
"compression": "zip"
|
||||
},
|
||||
{
|
||||
"filename": "infix-x86_64-disk-24.11.1.img",
|
||||
"filesize": 536870912,
|
||||
"md5sum": "673a123fe122d1c2f5724baf9965a19d",
|
||||
"version": "24.11.1",
|
||||
"download_url": "https://github.com/kernelkit/infix/releases/download/v24.11.1/infix-x86_64-24.11.1.tar.gz",
|
||||
"compression": "gzip"
|
||||
},
|
||||
{
|
||||
"filename": "infix-x86_64-disk-25.01.0.img",
|
||||
"filesize": 536870912,
|
||||
"md5sum": "a814d93b385116b4a35712c445b5f830",
|
||||
"version": "25.01.0",
|
||||
"download_url": "https://github.com/kernelkit/infix/releases/download/v25.01.0/infix-x86_64-25.01.0.tar.gz",
|
||||
"compression": "gzip"
|
||||
}
|
||||
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "25.01.0",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "infix-x86_64-disk-25.01.0.img"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "24.11.1",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "infix-x86_64-disk-24.11.1.img"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
50
gns3server/appliances/stormshield-eva.gns3a
Normal file
@ -0,0 +1,50 @@
|
||||
{
|
||||
"appliance_id": "60801097-332e-4f40-a63e-8ad62047c01f",
|
||||
"name": "Stormshield EVA",
|
||||
"category": "firewall",
|
||||
"description": "Stormshield EVA (Elastic Virtual Appliance) is a french virtual firewall designed to protect network infrastructures. It offers advanced features such as filtering, intrusion prevention (IPS), VPN management (IPSec/SSL), and access control.",
|
||||
"vendor_name": "Stormshield",
|
||||
"vendor_url": "https://www.stormshield.com/",
|
||||
"vendor_logo_url": "https://www.stormshield.com/wp-content/uploads/stormshield-logo.png",
|
||||
"documentation_url": "https://www.stormshield.com/fr/ressourcescenter/network-security-elastic-virtual-appliances/",
|
||||
"product_name": "Stormshield EVA",
|
||||
"product_url": "https://www.stormshield.com/fr/produits-et-services/produits/protection-des-reseaux/nos-produits/appliances-virtuelles/",
|
||||
"registry_version": 4,
|
||||
"status": "stable",
|
||||
"availability": "service-contract",
|
||||
"maintainer": "Samy SCANNA",
|
||||
"maintainer_email": "samy.scanna@outlook.com",
|
||||
"usage": "After the first boot, the appliance automatically runs the configuration script to set up the password, and network interfaces.",
|
||||
"symbol": "stormshield.png",
|
||||
"port_name_format": "port{port1}",
|
||||
"qemu": {
|
||||
"adapter_type": "vmxnet3",
|
||||
"adapters": 8,
|
||||
"ram": 2048,
|
||||
"cpus": 1,
|
||||
"hda_disk_interface": "scsi",
|
||||
"arch": "x86_64",
|
||||
"console_type": "telnet",
|
||||
"kvm": "allow",
|
||||
"options": "-serial stdio",
|
||||
"on_close": "shutdown_signal",
|
||||
"process_priority": "normal"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "utm-SNS-EVA-4.3.33-kvm.qcow2",
|
||||
"version": "4.3.33",
|
||||
"md5sum": "21d94d0e20f2e270f06c5853fd750d5b",
|
||||
"filesize": 284360704,
|
||||
"download_url": "https://mystormshield.eu/product/download/"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"images": {
|
||||
"hda_disk_image": "utm-SNS-EVA-4.3.33-kvm.qcow2"
|
||||
},
|
||||
"name": "4.3.33"
|
||||
}
|
||||
]
|
||||
}
|
@ -30,6 +30,13 @@
|
||||
"on_close": "shutdown_signal"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "vyos-1.4.1-kvm-amd64.qcow2",
|
||||
"version": "1.4.1",
|
||||
"md5sum": "5b8ebcd9905719d24405ed093afdd8ba",
|
||||
"filesize": 513736704,
|
||||
"download_url": "https://support.vyos.io/"
|
||||
},
|
||||
{
|
||||
"filename": "vyos-1.4.0-kvm-amd64.qcow2",
|
||||
"version": "1.4.0",
|
||||
@ -109,6 +116,12 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "1.4.1",
|
||||
"images": {
|
||||
"hda_disk_image": "vyos-1.4.1-kvm-amd64.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "1.4.0",
|
||||
"images": {
|
||||
|
@ -115,7 +115,7 @@ class Docker(BaseManager):
|
||||
dst_path = self.resources_path()
|
||||
log.info(f"Installing Docker resources in '{dst_path}'")
|
||||
from gns3server.controller import Controller
|
||||
Controller.instance().install_resource_files(dst_path, "compute/docker/resources")
|
||||
await Controller.instance().install_resource_files(dst_path, "compute/docker/resources")
|
||||
await self.install_busybox(dst_path)
|
||||
except OSError as e:
|
||||
raise DockerError(f"Could not install Docker resources to {dst_path}: {e}")
|
||||
|
@ -233,32 +233,36 @@ class VirtualBoxVM(BaseNode):
|
||||
"""
|
||||
Fix the VM uuid in the case of linked clone
|
||||
"""
|
||||
if os.path.exists(self._linked_vbox_file()):
|
||||
try:
|
||||
tree = ET.parse(self._linked_vbox_file())
|
||||
except ET.ParseError:
|
||||
raise VirtualBoxError(
|
||||
"Cannot modify VirtualBox linked nodes file. "
|
||||
"File {} is corrupted.".format(self._linked_vbox_file())
|
||||
|
||||
linked_vbox_file = self._linked_vbox_file()
|
||||
if not os.path.exists(linked_vbox_file):
|
||||
raise VirtualBoxError("Cannot find VirtualBox linked node file: {}".format(linked_vbox_file))
|
||||
|
||||
try:
|
||||
tree = ET.parse(linked_vbox_file)
|
||||
except ET.ParseError:
|
||||
raise VirtualBoxError(f"Cannot modify VirtualBox linked node file. "
|
||||
"File {linked_vbox_file} is corrupted.")
|
||||
except OSError as e:
|
||||
raise VirtualBoxError(f"Cannot modify VirtualBox linked nodes file '{self._linked_vbox_file()}': {e}")
|
||||
|
||||
machine = tree.getroot().find("{http://www.virtualbox.org/}Machine")
|
||||
if machine is not None and machine.get("uuid") != "{" + self.id + "}":
|
||||
|
||||
for image in tree.getroot().findall("{http://www.virtualbox.org/}Image"):
|
||||
currentSnapshot = machine.get("currentSnapshot")
|
||||
if currentSnapshot:
|
||||
newSnapshot = re.sub(r"\{.*\}", "{" + str(uuid.uuid4()) + "}", currentSnapshot)
|
||||
shutil.move(
|
||||
os.path.join(self.working_dir, self._vmname, "Snapshots", currentSnapshot) + ".vdi",
|
||||
os.path.join(self.working_dir, self._vmname, "Snapshots", newSnapshot) + ".vdi"
|
||||
)
|
||||
except OSError as e:
|
||||
raise VirtualBoxError(f"Cannot modify VirtualBox linked nodes file '{self._linked_vbox_file()}': {e}")
|
||||
log.info(f"VirtualBox VM '{self.name}' [{self.id}] snapshot file moved from '{currentSnapshot}' to '{newSnapshot}'")
|
||||
image.set("uuid", newSnapshot)
|
||||
|
||||
machine = tree.getroot().find("{http://www.virtualbox.org/}Machine")
|
||||
if machine is not None and machine.get("uuid") != "{" + self.id + "}":
|
||||
|
||||
for image in tree.getroot().findall("{http://www.virtualbox.org/}Image"):
|
||||
currentSnapshot = machine.get("currentSnapshot")
|
||||
if currentSnapshot:
|
||||
newSnapshot = re.sub(r"\{.*\}", "{" + str(uuid.uuid4()) + "}", currentSnapshot)
|
||||
shutil.move(
|
||||
os.path.join(self.working_dir, self._vmname, "Snapshots", currentSnapshot) + ".vdi",
|
||||
os.path.join(self.working_dir, self._vmname, "Snapshots", newSnapshot) + ".vdi",
|
||||
)
|
||||
image.set("uuid", newSnapshot)
|
||||
|
||||
machine.set("uuid", "{" + self.id + "}")
|
||||
tree.write(self._linked_vbox_file())
|
||||
log.info(f"VirtualBox VM '{self.name}' [{self.id}] '{linked_vbox_file}' has been patched")
|
||||
machine.set("uuid", "{" + self.id + "}")
|
||||
tree.write(linked_vbox_file)
|
||||
|
||||
async def check_hw_virtualization(self):
|
||||
"""
|
||||
@ -488,7 +492,7 @@ class VirtualBoxVM(BaseNode):
|
||||
|
||||
async def save_linked_hdds_info(self):
|
||||
"""
|
||||
Save linked cloned hard disks information.
|
||||
Save linked cloned hard disk information.
|
||||
|
||||
:returns: disk table information
|
||||
"""
|
||||
|
@ -352,6 +352,7 @@ class VMwareVM(BaseNode):
|
||||
vnet = self._get_vnet(adapter_number)
|
||||
await self._ubridge_send(f"bridge create {vnet}")
|
||||
vmnet_interface = os.path.basename(self._vmx_pairs[vnet])
|
||||
block_host_traffic = self.manager.config.settings.VMware.block_host_traffic
|
||||
|
||||
if sys.platform.startswith("darwin"):
|
||||
if parse_version(platform.mac_ver()[0]) >= parse_version("11.0.0"):
|
||||
@ -360,13 +361,11 @@ class VMwareVM(BaseNode):
|
||||
vmnet_interface = self.manager.find_bridge_interface(vmnet_interface)
|
||||
if not vmnet_interface:
|
||||
raise VMwareError(f"Could not find bridge interface linked with {vmnet_interface}")
|
||||
block_host_traffic = self.manager.config.get_section_config("VMware").getboolean("block_host_traffic", False)
|
||||
await self._add_ubridge_ethernet_connection(vnet, vmnet_interface, block_host_traffic)
|
||||
else:
|
||||
# special case on macOS, we cannot bind VMnet interfaces using the libpcap
|
||||
await self._ubridge_send('bridge add_nio_fusion_vmnet {name} "{interface}"'.format(name=vnet, interface=vmnet_interface))
|
||||
else:
|
||||
block_host_traffic = self.manager.config.VMware.block_host_traffic
|
||||
await self._add_ubridge_ethernet_connection(vnet, vmnet_interface, block_host_traffic)
|
||||
|
||||
if isinstance(nio, NIOUDP):
|
||||
|
@ -28,10 +28,10 @@ try:
|
||||
except ImportError:
|
||||
from importlib import resources as importlib_resources
|
||||
|
||||
|
||||
from ..config import Config
|
||||
from ..utils import parse_version, md5sum
|
||||
from ..utils.images import default_images_directory
|
||||
from ..utils.asyncio import wait_run_in_executor
|
||||
|
||||
from .project import Project
|
||||
from .appliance import Appliance
|
||||
@ -43,6 +43,7 @@ from .topology import load_topology
|
||||
from .gns3vm import GNS3VM
|
||||
from .gns3vm.gns3_vm_error import GNS3VMError
|
||||
from .controller_error import ControllerError, ControllerNotFoundError
|
||||
from ..db.tasks import update_disk_checksums
|
||||
from ..version import __version__
|
||||
|
||||
import logging
|
||||
@ -72,8 +73,12 @@ class Controller:
|
||||
async def start(self, computes=None):
|
||||
|
||||
log.info("Controller is starting")
|
||||
self._install_base_configs()
|
||||
self._install_builtin_disks()
|
||||
await self._install_base_configs()
|
||||
await self._install_custom_symbols()
|
||||
installed_disks = await self._install_builtin_disks()
|
||||
if installed_disks:
|
||||
await update_disk_checksums(installed_disks)
|
||||
|
||||
server_config = Config.instance().settings.Server
|
||||
Config.instance().listen_for_config_changes(self._update_config)
|
||||
name = server_config.name
|
||||
@ -86,7 +91,7 @@ class Controller:
|
||||
if host == "0.0.0.0":
|
||||
host = "127.0.0.1"
|
||||
|
||||
self._load_controller_vars()
|
||||
await self._load_controller_vars()
|
||||
|
||||
if server_config.enable_ssl:
|
||||
self._ssl_context = self._create_ssl_context(server_config)
|
||||
@ -190,7 +195,7 @@ class Controller:
|
||||
async def reload(self):
|
||||
|
||||
log.info("Controller is reloading")
|
||||
self._load_controller_vars()
|
||||
await self._load_controller_vars()
|
||||
|
||||
# remove all projects deleted from disk.
|
||||
for project in self._projects.copy().values():
|
||||
@ -234,7 +239,7 @@ class Controller:
|
||||
except OSError as e:
|
||||
log.error(f"Cannot write controller vars file '{self._vars_file}': {e}")
|
||||
|
||||
def _load_controller_vars(self):
|
||||
async def _load_controller_vars(self):
|
||||
"""
|
||||
Reload the controller vars from disk
|
||||
"""
|
||||
@ -274,9 +279,9 @@ class Controller:
|
||||
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()
|
||||
await self._appliance_manager.install_builtin_appliances()
|
||||
elif not os.listdir(builtin_appliances_path):
|
||||
self._appliance_manager.install_builtin_appliances()
|
||||
await self._appliance_manager.install_builtin_appliances()
|
||||
else:
|
||||
log.info(f"Built-in appliances are installed in '{builtin_appliances_path}'")
|
||||
|
||||
@ -307,18 +312,21 @@ class Controller:
|
||||
|
||||
|
||||
@staticmethod
|
||||
def install_resource_files(dst_path, resource_name, upgrade_resources=True):
|
||||
async def install_resource_files(dst_path, resource_name, upgrade_resources=True):
|
||||
"""
|
||||
Install files from resources to user's file system
|
||||
"""
|
||||
|
||||
def should_copy(src, dst, upgrade_resources):
|
||||
installed_resources = []
|
||||
async def should_copy(src, dst, upgrade_resources):
|
||||
if not os.path.exists(dst):
|
||||
return True
|
||||
if upgrade_resources is False:
|
||||
return False
|
||||
# copy the resource if it is different
|
||||
return md5sum(src) != md5sum(dst)
|
||||
src_md5 = await wait_run_in_executor(md5sum, src)
|
||||
dst_md5 = await wait_run_in_executor(md5sum, dst)
|
||||
return src_md5 != dst_md5
|
||||
|
||||
if hasattr(sys, "frozen") and sys.platform.startswith("win"):
|
||||
resource_path = os.path.normpath(os.path.join(os.path.dirname(sys.executable), resource_name))
|
||||
@ -328,14 +336,16 @@ class Controller:
|
||||
else:
|
||||
for entry in importlib_resources.files('gns3server').joinpath(resource_name).iterdir():
|
||||
full_path = os.path.join(dst_path, entry.name)
|
||||
if entry.is_file() and should_copy(str(entry), full_path, upgrade_resources):
|
||||
if entry.is_file() and await should_copy(str(entry), full_path, upgrade_resources):
|
||||
log.debug(f'Installing {resource_name} resource file "{entry.name}" to "{full_path}"')
|
||||
shutil.copy(str(entry), os.path.join(dst_path, entry.name))
|
||||
shutil.copy(str(entry), os.path.join(full_path))
|
||||
installed_resources.append(full_path)
|
||||
elif entry.is_dir():
|
||||
os.makedirs(full_path, exist_ok=True)
|
||||
Controller.install_resource_files(full_path, os.path.join(resource_name, entry.name))
|
||||
await Controller.install_resource_files(full_path, os.path.join(resource_name, entry.name))
|
||||
return installed_resources
|
||||
|
||||
def _install_base_configs(self):
|
||||
async def _install_base_configs(self):
|
||||
"""
|
||||
At startup we copy base configs to the user location to allow
|
||||
them to customize it
|
||||
@ -345,11 +355,11 @@ class Controller:
|
||||
log.info(f"Installing base configs in '{dst_path}'")
|
||||
try:
|
||||
# do not overwrite base configs because they may have been customized by the user
|
||||
Controller.install_resource_files(dst_path, "configs", upgrade_resources=False)
|
||||
await Controller.install_resource_files(dst_path, "configs", upgrade_resources=False)
|
||||
except OSError as e:
|
||||
log.error(f"Could not install base config files to {dst_path}: {e}")
|
||||
|
||||
def _install_builtin_disks(self):
|
||||
async def _install_builtin_disks(self):
|
||||
"""
|
||||
At startup we copy built-in Qemu disks to the user location to allow
|
||||
them to use with appliances
|
||||
@ -358,10 +368,23 @@ class Controller:
|
||||
dst_path = self.disks_path()
|
||||
log.info(f"Installing built-in disks in '{dst_path}'")
|
||||
try:
|
||||
Controller.install_resource_files(dst_path, "disks")
|
||||
return await Controller.install_resource_files(dst_path, "disks")
|
||||
except OSError as e:
|
||||
log.error(f"Could not install disk files to {dst_path}: {e}")
|
||||
|
||||
async def _install_custom_symbols(self):
|
||||
"""
|
||||
At startup we copy custom symbols to the user location to allow
|
||||
them to use with appliances
|
||||
"""
|
||||
|
||||
dst_path = self.symbols.symbols_path()
|
||||
log.info(f"Installing custom symbols in '{dst_path}'")
|
||||
try:
|
||||
return await Controller.install_resource_files(dst_path, "custom_symbols", upgrade_resources=False)
|
||||
except OSError as e:
|
||||
log.error(f"Could not install custom symbols to {dst_path}: {e}")
|
||||
|
||||
def images_path(self):
|
||||
"""
|
||||
Get the image storage directory
|
||||
|
@ -110,7 +110,7 @@ class ApplianceManager:
|
||||
os.makedirs(appliances_dir, exist_ok=True)
|
||||
return appliances_dir
|
||||
|
||||
def install_builtin_appliances(self):
|
||||
async def install_builtin_appliances(self):
|
||||
"""
|
||||
At startup we copy the built-in appliances files.
|
||||
"""
|
||||
@ -119,7 +119,7 @@ class ApplianceManager:
|
||||
log.info(f"Installing built-in appliances in '{dst_path}'")
|
||||
from . import Controller
|
||||
try:
|
||||
Controller.instance().install_resource_files(dst_path, "appliances")
|
||||
await 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}")
|
||||
|
||||
|
@ -18,14 +18,19 @@
|
||||
import ipaddress
|
||||
import aiohttp
|
||||
import asyncio
|
||||
import async_timeout
|
||||
import socket
|
||||
import json
|
||||
import sys
|
||||
import io
|
||||
|
||||
from fastapi import HTTPException
|
||||
from aiohttp import web
|
||||
|
||||
if sys.version_info >= (3, 11):
|
||||
from asyncio import timeout as asynctimeout
|
||||
else:
|
||||
from async_timeout import timeout as asynctimeout
|
||||
|
||||
from ..utils import parse_version
|
||||
from ..utils.asyncio import locking
|
||||
from ..controller.controller_error import (
|
||||
@ -503,7 +508,7 @@ class Compute:
|
||||
return self._getUrl(path)
|
||||
|
||||
async def _run_http_query(self, method, path, data=None, timeout=120, raw=False):
|
||||
async with async_timeout.timeout(delay=timeout):
|
||||
async with asynctimeout(delay=timeout):
|
||||
url = self._getUrl(path)
|
||||
headers = {"content-type": "application/json"}
|
||||
chunked = None
|
||||
|
@ -58,7 +58,7 @@ class CrashReport:
|
||||
Report crash to a third party service
|
||||
"""
|
||||
|
||||
DSN = "https://847198b87dbd50ef8962901641918a08@o19455.ingest.us.sentry.io/38482"
|
||||
DSN = "https://0d64280ffb5ae409d448f255b9956a88@o19455.ingest.us.sentry.io/38482"
|
||||
_instance = None
|
||||
|
||||
def __init__(self):
|
||||
|
1
gns3server/custom_symbols/6wind.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg id="f6fe4215-7336-420b-bd07-06692844737a" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 67.6 65.59"><title>vrouter-logo-generic</title><circle cx="34" cy="32.75" r="19.09" style="fill:#3d4859;opacity:0.8999999761581421;isolation:isolate"/><circle cx="34.04" cy="32.79" r="11.18" style="fill:#5e7ce2;opacity:0.8999999761581421;isolation:isolate"/><path d="M44.61,7.88l20.74-5.6c1.22-.33,2,.41,1.7,1.65L62.21,24.86c-.47,2-3.1,3.65-4.17,2.62l-4.92-4.76-7.84,8.13c-1.07,1.11-2.48,1.49-3.15.85l-3.62-3.49c-.66-.64-.33-2.07.73-3.18l7.84-8.13-4.93-4.76C41.07,11.1,42.62,8.42,44.61,7.88Z" transform="translate(-1.16 -2.2)" style="fill:#0aaded;opacity:0.8999999761581421;isolation:isolate"/><path d="M26.06,62.11,5.32,67.72c-1.21.33-2-.42-1.7-1.65L8.47,45.14c.44-2,3.08-3.65,4.15-2.62l4.93,4.76,7.84-8.13c1.07-1.11,2.49-1.49,3.15-.85l3.63,3.49c.67.64.33,2.07-.72,3.18L23.61,53.1l4.91,4.76C29.6,58.9,28.05,61.58,26.06,62.11Z" transform="translate(-1.16 -2.2)" style="fill:#5e7ce2;opacity:0.8999999761581421;isolation:isolate"/><path d="M25.29,8.71l5.6,20.75c.33,1.21-.41,2-1.64,1.69L8.31,26.31c-2-.47-3.65-3.1-2.61-4.17l4.75-4.91L2.32,9.38C1.21,8.31.83,6.9,1.47,6.24L5,2.6c.64-.66,2.07-.33,3.18.73l8.13,7.86L21,6.25C22.07,5.17,24.75,6.72,25.29,8.71Z" transform="translate(-1.16 -2.2)" style="fill:#5e7ce2;opacity:0.8999999761581421;isolation:isolate"/><path d="M44.64,61.15,39,40.4c-.33-1.21.42-2,1.65-1.7l20.93,4.84c2,.46,3.65,3.09,2.62,4.16l-4.76,4.94,8.13,7.84c1.11,1.06,1.49,2.48.85,3.14L65,67.24c-.64.67-2.07.34-3.18-.72l-8.13-7.84L48.9,63.61C47.85,64.69,45.17,63.14,44.64,61.15Z" transform="translate(-1.16 -2.2)" style="fill:#0aaded;opacity:0.8999999761581421;isolation:isolate"/></svg>
|
After Width: | Height: | Size: 1.7 KiB |
46
gns3server/custom_symbols/alpine-virt-qemu.svg
Normal file
@ -0,0 +1,46 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<svg height="59.253815" id="Andysvg" version="1.0" width="65.414536" x="0.00000000" y="0.00000000" xmlns="http://www.w3.org/2000/svg" xmlns:bx="https://boxy-svg.com">
|
||||
<defs id="defs3">
|
||||
<linearGradient id="linearGradient891" x1="92.437965" x2="27.674332" y1="-3.9104078" y2="91.076988" gradientTransform="matrix(0.8184166,0,0,0.530237,-9.8827678,-14.589608)" gradientUnits="userSpaceOnUse">
|
||||
<stop id="stop889" offset="0" style="stop-color:#626262;stop-opacity:1.0000000;"/>
|
||||
<stop id="stop890" offset="1" style="stop-color:#fff;stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient905" x1="-77.726181" x2="95.64444" y1="208.43991" y2="11.699047" gradientTransform="matrix(0.7314635,0,0,0.5932693,-9.8827694,-14.589616)" gradientUnits="userSpaceOnUse">
|
||||
<stop id="stop889" offset="0" style="stop-color:#626262;stop-opacity:1.0000000;"/>
|
||||
<stop id="stop890" offset="1" style="stop-color:#fff;stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<radialGradient cx="60.004654" cy="56.485935" id="radialGradient1132" r="68.589226" gradientTransform="matrix(0.8184166,0,0,0.530237,-9.8827678,-14.589608)" gradientUnits="userSpaceOnUse">
|
||||
<stop id="stop1134" offset="0" style="stop-color:#8bb7df;stop-opacity:1.0000000;"/>
|
||||
<stop id="stop1136" offset="0.7621" style="stop-color:#2a6092;stop-opacity:1.0000000;"/>
|
||||
<stop id="stop1135" offset="1" style="stop-color:#375e82;stop-opacity:1.0000000;"/>
|
||||
</radialGradient>
|
||||
<linearGradient id="linearGradient1140" x1="45.685757" x2="41.96706" y1="110.4447" y2="232.24953" gradientTransform="matrix(1.2743811,0,0,0.3405213,-9.8827694,-14.589616)" gradientUnits="userSpaceOnUse">
|
||||
<stop id="stop889" offset="0" style="stop-color:#626262;stop-opacity:1.0000000;"/>
|
||||
<stop id="stop890" offset="1" style="stop-color:#fff;stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient1144" x1="31.449743" x2="31.617281" y1="203.49899" y2="251.21892" gradientTransform="matrix(1.4044089,0,0,0.3089952,-9.8827694,-14.589616)" gradientUnits="userSpaceOnUse">
|
||||
<stop id="stop893" offset="0" style="stop-color:#ffffff;stop-opacity:0.00000000;"/>
|
||||
<stop id="stop894" offset="1" style="stop-color:#fff;stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient1146" x1="39.810947" x2="17.87653" y1="90.197021" y2="113.71949" gradientTransform="matrix(0.8811179,0,0,0.4925045,-9.8827694,-14.589616)" gradientUnits="userSpaceOnUse">
|
||||
<stop id="stop893" offset="0" style="stop-color:#ffffff;stop-opacity:0.00000000;"/>
|
||||
<stop id="stop894" offset="1" style="stop-color:#fff;stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient1156" x1="25.220816" x2="25.220816" y1="178.48862" y2="234.26866" gradientTransform="matrix(1.6156202,0,0,0.2685999,-9.8827678,-14.589608)" gradientUnits="userSpaceOnUse">
|
||||
<stop id="stop889" offset="0" style="stop-color:#626262;stop-opacity:1.0000000;"/>
|
||||
<stop id="stop890" offset="1" style="stop-color:#fff;stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient1157" x1="51.46093" x2="-16.224497" y1="269.85831" y2="176.28694" gradientTransform="matrix(1.6156202,0,0,0.2685999,-9.8827678,-14.589608)" gradientUnits="userSpaceOnUse">
|
||||
<stop id="stop889" offset="0" style="stop-color:#626262;stop-opacity:1.0000000;"/>
|
||||
<stop id="stop890" offset="1" style="stop-color:#fff;stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<rect height="5.4088969" id="rect1155" style="fill: url(#linearGradient1156); fill-opacity: 1; fill-rule: evenodd; stroke: url(#linearGradient1157); stroke-width: 0.953444pt;" width="38.405891" x="12.350429" y="36.575089"/>
|
||||
<path d="M 0.19287398,54.885213 C -0.67386281,56.46268 1.5579198,59.253939 3.3933636,59.253939 L 62.069027,59.253939 C 63.628857,59.253939 65.976201,57.281205 65.269522,55.925378 L 58.655165,43.235277 C 58.145696,42.257819 57.005954,41.779036 55.881408,41.779036 L 8.9408812,41.779036 C 8.0135624,41.779036 7.0317541,42.438291 6.5938539,43.235277 L 0.19287398,54.885213 z " id="path1139" style="fill: url(#linearGradient1140); fill-opacity: 1; fill-rule: evenodd; stroke-width: 1.44735pt;"/>
|
||||
<rect height="39.110481" id="rect1137" rx="3.6272225" ry="3.536587" style="fill: url(#linearGradient905); fill-opacity: 1; fill-rule: evenodd; stroke-width: 1.62827;" width="48.220726" x="7.4732022" y="-0.010164791"/>
|
||||
<rect height="24.74659" id="rect1131" style="fill: url(#radialGradient1132); fill-opacity: 1; fill-rule: evenodd; stroke: url(#linearGradient891); stroke-width: 0.965037pt;" width="38.813015" x="12.390426" y="6.027596"/>
|
||||
<path d="M 8.5906358,19.782157 L 8.3772707,34.032521 C 8.3432557,36.304242 9.6712558,37.75887 12.004493,37.777143 L 38.568566,37.985175 L 41.128957,32.160207 L 11.471076,31.952177 L 11.257713,19.678141 L 8.5906358,19.782157 z " id="path1145" style="fill: url(#linearGradient1146); fill-opacity: 1; fill-rule: evenodd; stroke-width: 1pt;"/>
|
||||
<path d="M 2.7205883,54.675124 C 2.1113822,55.866786 2.9089235,57.975349 4.9701318,57.975349 L 60.179981,57.975349 C 61.276346,57.975349 62.926231,56.48511 62.429524,55.460899 L 57.78047,45.874547 C 57.422369,45.136152 56.621274,44.774474 55.830865,44.774474 L 8.8693353,44.774468 C 8.2175462,44.774468 7.5274604,45.272486 7.2196723,45.874547 L 2.7205883,54.675124 z " id="path1143" style="fill: url(#linearGradient1144); fill-opacity: 1; fill-rule: evenodd; stroke-width: 1pt;"/>
|
||||
<rect x="12.664" y="6.294" width="38.092" height="24.48" style="fill: rgb(255, 255, 255);"/>
|
||||
<path d="M 28.718 20.949 L 28.718 18.69 L 27.09 20.318 C 27.266 20.44 27.431 20.541 27.587 20.622 C 27.741 20.704 27.887 20.768 28.023 20.815 C 28.159 20.864 28.284 20.896 28.399 20.918 C 28.516 20.939 28.622 20.948 28.718 20.949 M 37.035 20.762 C 37.038 20.764 37.054 20.778 37.082 20.796 C 37.113 20.815 37.155 20.839 37.212 20.862 C 37.269 20.886 37.339 20.91 37.426 20.927 C 37.512 20.945 37.613 20.956 37.728 20.956 C 37.825 20.956 37.931 20.948 38.048 20.927 C 38.164 20.907 38.292 20.875 38.429 20.826 C 38.566 20.779 38.713 20.716 38.871 20.633 C 39.029 20.551 39.196 20.449 39.374 20.325 L 38.14 19.116 L 34.048 15.009 L 32.253 16.805 L 29.832 14.307 L 23.753 20.317 C 23.931 20.442 24.098 20.542 24.256 20.624 C 24.413 20.707 24.561 20.771 24.697 20.818 C 24.835 20.866 24.961 20.899 25.078 20.919 C 25.195 20.939 25.301 20.948 25.398 20.948 C 25.513 20.948 25.614 20.936 25.7 20.919 C 25.785 20.901 25.856 20.878 25.914 20.855 C 25.97 20.831 26.013 20.806 26.043 20.788 C 26.072 20.769 26.088 20.755 26.091 20.753 L 28.835 18.009 L 29.816 17.068 L 32.534 19.786 L 33.483 20.762 C 33.485 20.764 33.501 20.778 33.53 20.796 C 33.56 20.815 33.602 20.839 33.66 20.862 C 33.716 20.886 33.788 20.91 33.873 20.927 C 33.959 20.945 34.06 20.956 34.176 20.956 C 34.273 20.956 34.379 20.948 34.496 20.927 C 34.613 20.907 34.74 20.875 34.877 20.826 C 35.014 20.779 35.161 20.716 35.319 20.633 C 35.476 20.551 35.644 20.449 35.823 20.325 L 33.642 18.19 L 34.047 17.785 L 35.934 19.672 L 37.035 20.762 M 37.011 9.382 L 42.371 18.668 L 37.011 27.955 L 26.288 27.955 L 20.926 18.668 L 26.288 9.382 L 37.011 9.382 Z" style="fill: rgb(13, 89, 127); fill-opacity: 1; fill-rule: nonzero; stroke: none;" id="path58" bx:origin="0 0"/>
|
||||
</svg>
|
After Width: | Height: | Size: 7.2 KiB |
24
gns3server/custom_symbols/arista_bybaro.svg
Normal file
@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<svg id="svg1998" width="51.358818" height="47.630692" version="1.0" xmlns="http://www.w3.org/2000/svg">
|
||||
<defs id="defs2001">
|
||||
<marker orient="auto" refY="0" refX="0" id="Arrow2Lstart" style="overflow:visible">
|
||||
<path id="path11918" style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " transform="matrix(1.1,0,0,1.1,1.1,0)"/>
|
||||
</marker>
|
||||
<marker orient="auto" refY="0" refX="0" id="Arrow1Send" style="overflow:visible">
|
||||
<path id="path11921" d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z " style="fill-rule:evenodd;stroke:black;stroke-width:1pt;marker-start:none" transform="matrix(-0.2,0,0,-0.2,-1.2,0)"/>
|
||||
</marker>
|
||||
<marker orient="auto" refY="0" refX="0" id="Arrow1Lstart" style="overflow:visible">
|
||||
<path id="path11936" d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z " style="fill-rule:evenodd;stroke:black;stroke-width:1pt;marker-start:none" transform="matrix(0.8,0,0,0.8,10,0)"/>
|
||||
</marker>
|
||||
<linearGradient id="linearGradient9199" gradientUnits="userSpaceOnUse" gradientTransform="matrix(24.666332,1.3331909e-2,-1.2883406e-2,23.708747,-8.6563136,-4.6316275)" x1="2.1178279" y1="0.30649999" x2="-0.4954865" y2="0.30649999">
|
||||
<stop style="stop-opacity: 1; stop-color: rgb(239, 239, 239);" offset="0" id="stop8333"/>
|
||||
<stop style="stop-opacity: 1; stop-color: rgb(255, 255, 255);" offset="1" id="stop8335"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<path id="path11907" d="M 1.8402723,44.565612 L 1.8402723,47.615693 L 44.293781,47.615693 L 44.293781,44.565612 L 1.8402723,44.565612" style="fill:#000000;fill-opacity:0.39215686;stroke:none;stroke-width:0.001"/>
|
||||
<path id="path11020" d="M 44.370594,6.1851672 L 51.194316,1.0980117 L 51.358819,41.344844 L 44.266438,47.63069 L 44.370594,6.1851672" style="fill:#000000;fill-opacity:0.39215686;stroke:none;stroke-width:0.001"/>
|
||||
<path id="path2037" d="M 0.062500355,5.0439492 L 0.062500355,46.326915 L 44.31814,46.326915 L 44.31814,5.0439492 L 0.062500355,5.0439492" style="fill-opacity: 1; stroke: none; stroke-width: 0.001; fill: rgb(239, 239, 239);"/>
|
||||
<path id="path2041" d="M -0.028418806,5.1647552 L 5.5982489,0.11782966 L 50.022311,0.14184042 L 44.346312,5.1887393 L -0.028418806,5.1647552" style="fill:url(#linearGradient9199);fill-opacity:1;stroke:none;stroke-width:0.001"/>
|
||||
<path id="path2045" d="M 44.228586,5.0887264 L 49.976169,0.12831483 L 49.976169,41.348635 L 44.228586,46.309047 L 44.228586,5.0887264" style="fill-opacity: 1; stroke: none; stroke-width: 0.001; fill: rgb(223, 223, 223);"/>
|
||||
<path class="st0" d="M 40.254 38.435 L 24.509 13.686 C 23.584 12.049 20.925 12.049 19.901 13.789 L 4.254 38.435 L 9.369 38.435 L 14.073 30.969 L 24.099 30.969 L 26.753 26.67 L 16.731 26.67 L 22.255 18.082 L 35.039 38.435 L 40.254 38.435 Z" style="fill: rgb(24, 61, 100);"/>
|
||||
</svg>
|
After Width: | Height: | Size: 2.9 KiB |
48
gns3server/custom_symbols/asterfusion-vAsterNOS.svg
Normal file
@ -0,0 +1,48 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg id="_图层_1" data-name="图层 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 66 44.52">
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1 {
|
||||
fill: none;
|
||||
}
|
||||
|
||||
.cls-2 {
|
||||
clip-path: url(#clippath);
|
||||
}
|
||||
|
||||
.cls-3 {
|
||||
fill: #fff;
|
||||
}
|
||||
|
||||
.cls-4 {
|
||||
fill: #abbbed;
|
||||
}
|
||||
|
||||
.cls-5 {
|
||||
fill: #96aae9;
|
||||
}
|
||||
|
||||
.cls-6 {
|
||||
fill: #7989bb;
|
||||
}
|
||||
</style>
|
||||
<clipPath id="clippath">
|
||||
<rect class="cls-1" x=".1" y="8.18" width="64.89" height="27.34"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<rect x="1.34" y="23.21" width="49.53" height="13.54"/>
|
||||
<polygon points="50.88 23.21 50.88 36.75 66 23.21 66 9.64 50.88 23.21"/>
|
||||
<rect class="cls-1" x=".1" y="8.18" width="64.89" height="27.34"/>
|
||||
<rect class="cls-1" x=".1" y="8.18" width="64.89" height="27.34"/>
|
||||
<rect class="cls-5" x=".22" y="21.87" width="49.53" height="13.54"/>
|
||||
<polygon class="cls-4" points="15.34 8.3 .22 21.87 49.75 21.87 64.87 8.3 15.34 8.3"/>
|
||||
<polygon class="cls-6" points="49.75 21.87 49.75 35.4 64.87 21.87 64.87 8.3 49.75 21.87"/>
|
||||
<polygon class="cls-3" points="33.17 12.87 25.08 14.56 31.96 17.27 40.04 15.58 33.17 12.87"/>
|
||||
<polygon class="cls-3" points="24.77 15.66 28.21 17.02 14.88 19.81 16.6 20.49 9.1 19.98 9.73 17.78 11.45 18.46 24.77 15.66"/>
|
||||
<polygon class="cls-3" points="36.9 13.12 40.33 14.48 53.69 11.68 55.41 12.35 56 10.15 48.54 9.64 50.26 10.32 36.9 13.12"/>
|
||||
<polygon class="cls-3" points="35.71 17.52 39.75 16.68 44.9 18.71 46.92 18.29 46.33 20.49 38.83 19.98 40.86 19.56 35.71 17.52"/>
|
||||
<polygon class="cls-3" points="25.39 13.46 29.44 12.61 24.28 10.58 26.29 10.15 18.83 9.64 18.2 11.85 20.24 11.42 25.39 13.46"/>
|
||||
<g class="cls-2">
|
||||
<path class="cls-3" d="m25.84,29.93c0-.2-.07-.35-.21-.46-.14-.11-.39-.22-.74-.34s-.64-.23-.86-.34c-.73-.36-1.09-.85-1.09-1.47,0-.31.09-.58.27-.82.18-.24.44-.42.77-.56s.7-.2,1.12-.2.77.07,1.09.21c.32.15.57.35.74.62.18.26.26.57.26.91h-1.35c0-.23-.07-.41-.21-.53-.14-.13-.33-.19-.57-.19s-.43.05-.57.16c-.14.1-.21.24-.21.41,0,.15.08.27.23.39.16.12.42.24.81.36.39.12.71.26.95.4.61.35.91.83.91,1.45,0,.49-.18.88-.56,1.15-.37.28-.88.42-1.52.42-.46,0-.87-.08-1.24-.25s-.65-.39-.83-.67c-.19-.28-.28-.61-.28-.98h1.35c0,.3.08.52.23.67.16.14.41.21.76.21.22,0,.4-.05.53-.15.13-.1.2-.23.2-.41"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.3 KiB |
498
gns3server/custom_symbols/cisco-fmcv.svg
Normal file
@ -0,0 +1,498 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
id="svg1998"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.92.1 r15371"
|
||||
width="78"
|
||||
height="60"
|
||||
version="1.0"
|
||||
sodipodi:docname="Cisco-FMCv.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape">
|
||||
<title
|
||||
id="title3303">ASA</title>
|
||||
<metadata
|
||||
id="metadata2003">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<cc:license
|
||||
rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
|
||||
<dc:title>ASA</dc:title>
|
||||
<dc:creator>
|
||||
<cc:Agent>
|
||||
<dc:title>Jeremy Grossmann</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:creator>
|
||||
<dc:description>Created for the GNS-3 project (www.gns3.net)</dc:description>
|
||||
<dc:publisher>
|
||||
<cc:Agent>
|
||||
<dc:title>GNS-3</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:publisher>
|
||||
</cc:Work>
|
||||
<cc:License
|
||||
rdf:about="http://creativecommons.org/licenses/GPL/2.0/">
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/Reproduction" />
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/Distribution" />
|
||||
<cc:requires
|
||||
rdf:resource="http://web.resource.org/cc/Notice" />
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
|
||||
<cc:requires
|
||||
rdf:resource="http://web.resource.org/cc/ShareAlike" />
|
||||
<cc:requires
|
||||
rdf:resource="http://web.resource.org/cc/SourceCode" />
|
||||
</cc:License>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs2001">
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 23.815346 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="51.358818 : 23.815346 : 1"
|
||||
inkscape:persp3d-origin="25.679409 : 15.876897 : 1"
|
||||
id="perspective43" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient10123">
|
||||
<stop
|
||||
style="stop-color:#e4405c;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop10125" />
|
||||
<stop
|
||||
style="stop-color:#e4405c;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop10127" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient8331">
|
||||
<stop
|
||||
style="stop-color:#6e8caa;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop8333" />
|
||||
<stop
|
||||
style="stop-color:#dde3ef;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop8335" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient6603">
|
||||
<stop
|
||||
style="stop-color:#506eaa;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop6605" />
|
||||
<stop
|
||||
style="stop-color:#506eaa;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop6607" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient6587">
|
||||
<stop
|
||||
style="stop-color:#506eaa;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop6589" />
|
||||
<stop
|
||||
style="stop-color:#506eaa;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop6591" />
|
||||
</linearGradient>
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Lstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow2Lstart"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path11918"
|
||||
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
transform="matrix(1.1,0,0,1.1,1.1,0)"
|
||||
inkscape:connector-curvature="0" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Send"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Send"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path11921"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;marker-start:none"
|
||||
transform="matrix(-0.2,0,0,-0.2,-1.2,0)"
|
||||
inkscape:connector-curvature="0" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Lstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Lstart"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path11936"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;marker-start:none"
|
||||
transform="matrix(0.8,0,0,0.8,10,0)"
|
||||
inkscape:connector-curvature="0" />
|
||||
</marker>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6587"
|
||||
id="linearGradient6593"
|
||||
x1="3.95626"
|
||||
y1="0.64267641"
|
||||
x2="-1.2664427"
|
||||
y2="0.62730032"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.060042,0,0,1.074658,-0.00394248,-0.356572)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6603"
|
||||
id="linearGradient6609"
|
||||
x1="2.2801981"
|
||||
y1="1.4519272"
|
||||
x2="-0.41311559"
|
||||
y2="1.4649135"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.060042,0,0,1.074658,-0.00394248,-0.356572)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient10123"
|
||||
id="linearGradient10129"
|
||||
x1="1.3990936"
|
||||
y1="1.4711363"
|
||||
x2="0.49966058"
|
||||
y2="0.56367606"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.117962,0,0,1.035008,-0.040973,-0.00678868)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient8331"
|
||||
id="linearGradient6875"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(25.476818,0,0,24.653619,16.134224,-3.6500723)"
|
||||
x1="2.1178279"
|
||||
y1="0.30649999"
|
||||
x2="-0.4954865"
|
||||
y2="0.30649999" />
|
||||
<inkscape:perspective
|
||||
id="perspective418"
|
||||
inkscape:persp3d-origin="283.46457 : 188.97638 : 1"
|
||||
inkscape:vp_z="566.92914 : 283.46457 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 283.46457 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<inkscape:perspective
|
||||
id="perspective3145"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient8331"
|
||||
id="linearGradient6875-3"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(36.770425,0,0,24.653619,-12.632753,-3.5809148)"
|
||||
x1="2.1178279"
|
||||
y1="0.30649999"
|
||||
x2="-0.4954865"
|
||||
y2="0.30649999" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient8331"
|
||||
id="linearGradient6875-35"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(25.476818,0,0,24.653619,-8.67999,-3.71127)"
|
||||
x1="2.1178279"
|
||||
y1="0.30649999"
|
||||
x2="-0.4954865"
|
||||
y2="0.30649999" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
inkscape:window-height="1031"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
guidetolerance="10.0"
|
||||
gridtolerance="10.0"
|
||||
objecttolerance="10.0"
|
||||
borderopacity="1.0"
|
||||
bordercolor="#666666"
|
||||
pagecolor="#ffffff"
|
||||
id="base"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true"
|
||||
inkscape:zoom="11.313708"
|
||||
inkscape:cx="68.617052"
|
||||
inkscape:cy="48.72766"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="25"
|
||||
inkscape:current-layer="svg1998"
|
||||
showgrid="false"
|
||||
inkscape:window-maximized="1"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0" />
|
||||
<path
|
||||
id="path11907"
|
||||
d="m 3.5551186,56.156296 v 2.959818 H 70.766282 V 56.156296 H 3.5551186"
|
||||
style="fill:#000000;fill-opacity:0.39215686;stroke:none;stroke-width:1.23817813"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
id="path11020"
|
||||
d="M 70.872922,8.6798666 77.855353,2.4891617 77.840347,53.678671 70.766282,59.116114 70.872856,8.6798666"
|
||||
style="fill:#000000;fill-opacity:0.39215686;stroke:none;stroke-width:0.99648201"
|
||||
sodipodi:nodetypes="ccccc"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
id="path2037"
|
||||
d="M 0.22635933,6.2224304 V 55.734506 H 70.747763 V 6.2224304 H 0.22635933"
|
||||
style="fill:#6e8caa;fill-opacity:1;stroke:none;stroke-width:1.38291967"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
id="path2041"
|
||||
d="m 25.05111,6.5318764 5.808715,-5.251224 h 45.883749 l -5.859667,5.251224 H 25.05111"
|
||||
style="fill:url(#linearGradient6875);fill-opacity:1;stroke:none;stroke-width:0.99648201"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
id="path2045"
|
||||
d="M 70.747763,6.2224304 76.53739,1.2372012 V 42.663756 l -5.789627,4.985229 V 6.2224304"
|
||||
style="fill:#6e8296;fill-opacity:1;stroke:none;stroke-width:1.01408982"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99412811"
|
||||
d="M 63.650138,-114.23927 H 93.96577 v -2.43552 l 6.51758,4.87105 -6.51758,5.27408 v -2.43553 H 63.650138 v -5.27408"
|
||||
id="path39" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#ffffff;stroke-width:0.99412817;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
|
||||
d="M 53.221305,-111.80373 H 65.932861"
|
||||
id="path61" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ff545c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99063075"
|
||||
d="M 40.583264,56.043952 H 25.452717 v -5.604136 h 15.130547 v 5.604136"
|
||||
id="path99" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#e1e1e1;stroke-width:0.44807994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
|
||||
d="M 40.583264,56.043952 H 25.599726"
|
||||
id="path101" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#e1e1e1;stroke-width:0.44672814;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
|
||||
d="m 25.689994,50.439816 h 14.89327 v 5.604136"
|
||||
id="path103" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ff545c;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.44672814;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
|
||||
d="M 70.883907,56.043952 H 55.737538 v -5.604136 h 15.146369 v 5.604136"
|
||||
id="path105" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ff545c;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.44672814;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
|
||||
d="M 63.688395,56.043952 H 48.526214 v -5.604136 h 15.162181 v 5.604136"
|
||||
id="path107" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ff545c;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.44672814;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
|
||||
d="M 48.526214,56.043952 H 33.387752 v -5.604136 h 15.138462 v 5.604136"
|
||||
id="path109" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ff2833;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.46981236;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
|
||||
d="m 73.772792,48.48091 2.530987,-2.488522 v -6.191459 l -2.530987,2.474883 v 6.205098"
|
||||
id="path111" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ff2833;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.44672814;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
|
||||
d="m 73.772792,53.812465 2.530987,-1.971233 v -5.610305 l -2.530987,1.965074 v 5.616464"
|
||||
id="path125" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ff2833;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.44672814;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
|
||||
d="m 70.883907,56.043952 2.888885,-2.231487 v -5.616464 l -2.888885,2.243815 v 5.604136"
|
||||
id="path127" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ff545c;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.44672814;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
|
||||
d="M 55.737538,50.439816 H 40.583264 v -5.610295 h 15.154274 v 5.610295"
|
||||
id="path133" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ff545c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99063075"
|
||||
d="M 40.583264,50.439816 H 25.452717 v -5.610305 h 15.130547 v 5.610305"
|
||||
id="path135" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#e1e1e1;stroke-width:0.44942763;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
|
||||
d="M 40.583264,50.439816 H 25.509457"
|
||||
id="path137" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#e1e1e1;stroke-width:0.44878906;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
|
||||
d="m 25.552266,44.829521 h 15.030998 v 5.610295"
|
||||
id="path139" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ff545c;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.44672814;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
|
||||
d="M 70.883907,50.439816 H 55.737538 v -5.610295 h 15.146369 v 5.610295"
|
||||
id="path141" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ff2833;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.45488474;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1"
|
||||
d="m 70.883907,50.439816 2.888885,-2.326496 v -5.810658 l -2.888885,2.320122 v 5.817032"
|
||||
id="path145" />
|
||||
<path
|
||||
id="path2041-9"
|
||||
d="M 0.23689523,6.4706772 6.0456103,1.2194547 H 51.92936 L 46.069691,6.4706772 H 0.23689523"
|
||||
style="fill:url(#linearGradient6875-35);fill-opacity:1;stroke:none;stroke-width:0.99648201"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
id="path2041-5"
|
||||
d="M 0.23689523,6.6010339 8.6205533,1.3498071 H 74.84408 L 66.386884,6.6010339 H 0.23689523"
|
||||
style="fill:url(#linearGradient6875-3);fill-opacity:1;stroke:none;stroke-width:1.19714344"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.43419823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 25.4631,6.6345316 25.34143,56.257182 25.4631,6.6345316"
|
||||
id="path987"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.45158434;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 32.697436,1.4761415 25.481582,6.6155667 32.697436,1.4761415"
|
||||
id="path987-2"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.44617558;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 25.397623,28.812118 0.47800664,28.706997 25.397623,28.812118"
|
||||
id="path987-7"
|
||||
inkscape:connector-curvature="0" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:22.19543457px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#e1e1e1;fill-opacity:1;stroke:#e1e1e1;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
x="3.4368773"
|
||||
y="27.197458"
|
||||
id="text1030"
|
||||
transform="scale(1.1150382,0.89683024)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1028"
|
||||
x="3.4368773"
|
||||
y="27.197458"
|
||||
style="fill:#e1e1e1;fill-opacity:1;stroke:#e1e1e1;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1">X</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:125%;font-family:cmex10;-inkscape-font-specification:cmex10;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="-20.137201"
|
||||
y="37.709763"
|
||||
id="text1038"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1036"
|
||||
x="-20.137201"
|
||||
y="50.984001" /></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:11.4306345px;line-height:125%;font-family:cmex10;-inkscape-font-specification:cmex10;letter-spacing:0px;word-spacing:0px;fill:#e1e1e1;fill-opacity:1;stroke:#e1e1e1;stroke-width:1.10999999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
x="7.406137"
|
||||
y="41.795387"
|
||||
id="text1042"
|
||||
transform="matrix(1.2652956,0.14571288,-0.10430839,0.77831689,0,0)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan1040"
|
||||
x="7.406137"
|
||||
y="41.795387"
|
||||
style="fill:#e1e1e1;fill-opacity:1;stroke:#e1e1e1;stroke-width:1.10999999;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1">q</tspan></text>
|
||||
<path
|
||||
id="path3151"
|
||||
d="m 31.317035,20.132255 h 19.167626 v -1.277787 l 4.122053,2.556266 -4.122053,2.768616 V 22.901598 H 31.317035 Z"
|
||||
style="fill:#000000;fill-opacity:1"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#ffffff"
|
||||
d="m 31.443673,19.752306 h 18.646458 v -1.277787 l 4.009979,2.556266 -4.009979,2.768616 V 22.521649 H 31.443673 Z"
|
||||
id="path134"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
id="path3943"
|
||||
d="M 59.823791,27.288424 H 43.953868 v -1.278496 l -4.32815,2.556284 4.32815,2.769324 v -1.278478 h 15.869923 z"
|
||||
style="fill:#000000;fill-opacity:1"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#ffffff"
|
||||
d="M 60.077102,26.781838 H 44.207179 v -1.278496 l -4.32815,2.556283 4.32815,2.769325 v -1.278478 h 15.869923 z"
|
||||
id="path136"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#ffffff"
|
||||
d="m 67.290672,40.200944 -2.679324,3.40859 -9.686817,-8.09495 2.679307,-3.620941 z"
|
||||
id="path142"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.27946547"
|
||||
d="m 67.290672,40.200944 -2.679324,3.40859 -9.686817,-8.09495 2.679307,-3.620941 9.686834,8.307301"
|
||||
id="path144"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#ffffff"
|
||||
d="M 32.253177,22.308554 C 31.428756,30.615855 37.199634,38.070849 45.0316,38.923174 53.069574,39.987867 60.283198,34.023737 61.313751,25.716436 62.138084,17.409117 56.367259,9.9541413 48.329196,9.1018153 40.497354,8.0371403 33.077616,14.001236 32.253177,22.308554 l 2.061053,0.213095 c 0.824439,-7.029531 7.007457,-12.141354 13.80887,-11.289738 7.007545,0.63923 11.954002,7.242608 11.129563,14.271431 -0.824404,7.029549 -7.00751,12.141354 -14.014967,11.502814 C 38.436283,36.153832 33.489809,29.550472 34.31423,22.521649 Z"
|
||||
id="path146"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.27946547"
|
||||
d="M 32.253177,22.308554 C 31.428756,30.615855 37.199634,38.070849 45.0316,38.923174 53.069574,39.987867 60.283198,34.023737 61.313751,25.716436 62.138084,17.409117 56.367259,9.9541413 48.329196,9.1018153 40.497354,8.0371403 33.077616,14.001236 32.253177,22.308554"
|
||||
id="path148"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.27946547"
|
||||
d="m 34.31423,22.521649 c 0.824439,-7.029531 7.007457,-12.141354 13.80887,-11.289738 7.007545,0.63923 11.954002,7.242608 11.129563,14.271431 -0.824404,7.029549 -7.00751,12.141354 -14.014967,11.502814 C 38.436283,36.153832 33.489809,29.550472 34.31423,22.521649"
|
||||
id="path150"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#ffffff"
|
||||
d="M 30.398291,22.947802 C 29.573887,31.255103 35.344766,38.71008 43.38274,39.77479 51.214688,40.627115 58.634356,34.662985 59.458794,26.355684 60.283198,18.048365 54.718417,10.593389 46.680372,9.7410633 38.642397,8.6763713 31.428756,14.640501 30.398291,22.947802 l 2.061,0.212368 c 0.824421,-7.028804 7.007528,-12.141318 14.014984,-11.289029 6.801413,0.639248 11.74787,7.241917 10.923466,14.271449 C 56.573373,33.172139 50.390285,38.283926 43.588854,37.644696 36.581327,36.79308 31.634852,30.402779 32.459291,23.16017 Z"
|
||||
id="path152"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.27946547"
|
||||
d="M 30.398291,22.947802 C 29.573887,31.255103 35.344766,38.71008 43.38274,39.77479 51.214688,40.627115 58.634356,34.662985 59.458794,26.355684 60.283198,18.048365 54.718417,10.593389 46.680372,9.7410633 38.642397,8.6763713 31.428756,14.640501 30.398291,22.947802"
|
||||
id="path154"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.27946547"
|
||||
d="m 32.459291,23.16017 c 0.824421,-7.028804 7.007528,-12.141318 14.014984,-11.289029 6.801413,0.639248 11.74787,7.241917 10.923466,14.271449 C 56.573373,33.172139 50.390285,38.283926 43.588854,37.644696 36.581327,36.79308 31.634852,30.402779 32.459291,23.16017"
|
||||
id="path156"
|
||||
inkscape:connector-curvature="0" />
|
||||
</svg>
|
After Width: | Height: | Size: 22 KiB |
244
gns3server/custom_symbols/cisco-ise.svg
Normal file
After Width: | Height: | Size: 216 KiB |
38
gns3server/custom_symbols/csr1000v_bybaro.svg
Normal file
@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<svg id="svg1998" width="66.000435" height="44.5159" version="1.0" xmlns="http://www.w3.org/2000/svg">
|
||||
<defs id="defs2001">
|
||||
<marker orient="auto" refY="0" refX="0" id="Arrow2Lstart" style="overflow:visible">
|
||||
<path id="path11918" style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " transform="matrix(1.1,0,0,1.1,1.1,0)"/>
|
||||
</marker>
|
||||
<marker orient="auto" refY="0" refX="0" id="Arrow1Send" style="overflow:visible">
|
||||
<path id="path11921" d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z " style="fill-rule:evenodd;stroke:black;stroke-width:1pt;marker-start:none" transform="matrix(-0.2,0,0,-0.2,-1.2,0)"/>
|
||||
</marker>
|
||||
<marker orient="auto" refY="0" refX="0" id="Arrow1Lstart" style="overflow:visible">
|
||||
<path id="path11936" d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z " style="fill-rule:evenodd;stroke:black;stroke-width:1pt;marker-start:none" transform="matrix(0.8,0,0,0.8,10,0)"/>
|
||||
</marker>
|
||||
<linearGradient id="linearGradient2216" gradientUnits="userSpaceOnUse" gradientTransform="matrix(15.252829,0,0,14.082619,53.467529,3.4188377)" x1="-1.0929121" y1="0.63145506" x2="-4.5832458" y2="0.070047863">
|
||||
<stop style="stop-opacity: 1; stop-color: rgb(68, 70, 84);" offset="0" id="stop9314"/>
|
||||
<stop style="stop-color:#ffffff;stop-opacity:0.94117647;" offset="1" id="stop9316"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<rect style="opacity:1;fill:#000000;fill-opacity:0.39215687;fill-rule:evenodd;stroke:none;stroke-width:0.2;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" id="rect4558" width="64.552505" height="41.53862" x="1.4479325" y="2.9772801" ry="11.631706" rx="32.212925"/>
|
||||
<rect style="opacity: 1; fill-opacity: 1; fill-rule: evenodd; stroke: none; stroke-width: 0.015; stroke-linecap: square; stroke-linejoin: miter; stroke-miterlimit: 4; stroke-dasharray: none; stroke-opacity: 1; fill: rgb(68, 70, 84);" id="rect9971" width="64.499474" height="42.154343" x="0.0625" y="0.18084908" ry="11.557454" rx="32.249737"/>
|
||||
<g id="g4160">
|
||||
<path id="path4815" d="M 64.514069,11.541297 L 64.457031,10.955643 L 64.342949,10.36999 L 64.152814,9.8038604 L 63.867612,9.2182077 L 63.487345,8.6520765 L 63.050034,8.0859452 L 62.517657,7.5393369 L 61.909226,7.0122499 L 61.224742,6.4851607 L 60.464203,5.9775955 L 59.646626,5.4700289 L 58.752993,4.9819859 L 57.783307,4.4939413 L 56.75658,4.0644625 L 55.6538,3.6349838 L 54.493981,3.2055052 L 53.296132,2.8150692 L 52.022232,2.4636777 L 50.710303,2.1122862 L 49.341334,1.7999375 L 47.934339,1.5071117 L 46.489316,1.2338059 L 45.006267,0.99954576 L 43.504204,0.76528425 L 41.964114,0.58958842 L 40.385997,0.43341443 L 38.788867,0.29676153 L 37.191738,0.19915292 L 35.575597,0.12106555 L 33.940437,0.06250017 L 32.324296,0.06250017 L 32.324296,0.06250017 L 30.689136,0.06250017 L 29.053981,0.12106555 L 27.45685,0.19915292 L 25.840705,0.29676153 L 24.243576,0.43341443 L 22.684472,0.58958842 L 21.125372,0.76528425 L 19.623307,0.99954576 L 18.140258,1.2338059 L 16.695234,1.5071117 L 15.28824,1.7999375 L 13.919273,2.1122862 L 12.607342,2.4636777 L 11.333442,2.8150692 L 10.135592,3.2055052 L 8.9757693,3.6349838 L 7.8729941,4.0644625 L 6.8462664,4.4939413 L 5.8765785,4.9819859 L 4.9829488,5.4700289 L 4.1653682,5.9775955 L 3.4048335,6.4851607 L 2.7203448,7.0122499 L 2.1309311,7.5393369 L 1.5795405,8.0859452 L 1.1422325,8.6520765 L 0.76195982,9.2182077 L 0.47676065,9.8038604 L 0.26760898,10.36999 L 0.15353084,10.955643 L 0.11550327,11.541297 L 0.11550327,11.541297 L 0.15353084,12.12695 L 0.26760898,12.693081 L 0.47676065,13.278734 L 0.76195982,13.825344 L 1.1422325,14.410996 L 1.5795405,14.957605 L 2.1309311,15.523736 L 2.7203448,16.070348 L 3.4048335,16.597435 L 4.1653682,17.085479 L 4.9829488,17.593043 L 5.8765785,18.100608 L 6.8462664,18.549609 L 7.8729941,18.998611 L 8.9757693,19.447613 L 10.135592,19.857571 L 11.333442,20.248007 L 12.607342,20.599396 L 13.919273,20.950787 L 15.28824,21.263135 L 16.695234,21.575486 L 18.140258,21.829265 L 19.623307,22.083049 L 21.125372,22.297787 L 22.684472,22.473485 L 24.243576,22.629661 L 25.840705,22.766312 L 27.45685,22.863921 L 29.053981,22.942009 L 30.689136,23.000574 L 32.324296,23.000574 L 32.324296,23.000574 L 33.940437,23.000574 L 35.575597,22.942009 L 37.191738,22.863921 L 38.788867,22.766312 L 40.385997,22.629661 L 41.964114,22.473485 L 43.504204,22.297787 L 45.006267,22.083049 L 46.489316,21.829265 L 47.934339,21.575486 L 49.341334,21.263135 L 50.710303,20.950787 L 52.022232,20.599396 L 53.296132,20.248007 L 54.493981,19.857571 L 55.6538,19.447613 L 56.75658,18.998611 L 57.783307,18.549609 L 58.752993,18.100608 L 59.646626,17.593043 L 60.464203,17.085479 L 61.224742,16.597435 L 61.909226,16.070348 L 62.517657,15.523736 L 63.050034,14.957605 L 63.487345,14.410996 L 63.867612,13.825344 L 64.152814,13.278734 L 64.342949,12.693081 L 64.457031,12.12695 L 64.514069,11.541297" style="fill:url(#linearGradient2216);fill-opacity:1;stroke:none;stroke-width:0.01928605;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/>
|
||||
<path id="path4819" d="M 33.023738,8.6936939 L 37.664889,10.327433 L 48.909313,5.4458969 L 53.946665,7.0599533 L 51.229891,3.0248142 L 38.061087,3.0248142 L 43.475766,4.225514 L 33.023738,8.6936939" style="fill:#000000;stroke:none;stroke-width:0.001"/>
|
||||
<path id="path4821" d="M 31.08049,13.161874 L 26.439334,11.528132 L 15.591104,16.429352 L 10.176425,14.775929 L 12.874332,19.244109 L 26.439334,19.244109 L 20.628458,17.630052 L 31.08049,13.161874" style="fill:#000000;stroke:none;stroke-width:0.001"/>
|
||||
<path id="path4823" d="M 11.327278,4.225514 L 15.968435,2.611458 L 27.212859,7.0599533 L 32.25021,5.8592533 L 29.552303,9.8943939 L 16.364632,9.8943939 L 21.779313,8.6936939 L 11.327278,4.225514" style="fill:#000000;stroke:none;stroke-width:0.001"/>
|
||||
<path id="path4825" d="M 53.154272,18.023723 L 48.513117,19.657467 L 37.664889,14.775929 L 32.25021,16.429352 L 34.966985,12.33516 L 48.513117,12.33516 L 42.70224,13.555544 L 53.154272,18.023723" style="fill:#000000;stroke:none;stroke-width:0.001"/>
|
||||
<path id="path4827" d="M 33.419936,9.1070493 L 38.061087,10.721105 L 49.286643,5.8592533 L 54.323994,7.4929926 L 51.60722,3.4184854 L 38.438415,3.4184854 L 43.871962,4.6191872 L 33.419936,9.1070493" style="fill:#ffffff;stroke:none;stroke-width:0.001"/>
|
||||
<path id="path4829" d="M 31.476681,13.555544 L 26.816665,11.941487 L 15.968435,16.803341 L 10.553753,15.189284 L 13.25166,19.657467 L 26.816665,19.657467 L 21.005786,18.023723 L 31.476681,13.555544" style="fill:#ffffff;stroke:none;stroke-width:0.001"/>
|
||||
<path id="path4831" d="M 11.723476,4.6191872 L 16.364632,3.0248142 L 27.609055,7.4929926 L 32.627541,6.2529266 L 29.929634,10.327433 L 16.741963,10.327433 L 22.175509,9.1070493 L 11.723476,4.6191872" style="fill:#ffffff;stroke:none;stroke-width:0.001"/>
|
||||
<path id="path4833" d="M 53.531602,18.43708 L 48.909313,20.070823 L 38.061087,15.189284 L 32.627541,16.803341 L 35.344315,12.7682 L 48.909313,12.7682 L 43.098437,13.9689 L 53.531602,18.43708" style="fill:#ffffff;stroke:none;stroke-width:0.001"/>
|
||||
</g>
|
||||
<g transform="matrix(0.059769, 0, 0, 0.066697, 21.302736, 26.330629)">
|
||||
<g transform="matrix(1,0,0,1,7.5,7.5)">
|
||||
<g>
|
||||
<path d="M 125.25 40.347 C 140.522 14.219 168.408 -3.654 200.529 -4.892 C 201.714 -4.938 202.904 -4.961 204.1 -4.961 L 217.098 -4.041 C 251.366 0.854 279.522 24.815 290.461 56.74 C 294.455 55.896 298.597 55.453 302.841 55.453 C 335.818 55.453 362.591 82.226 362.591 115.203 C 362.591 148.18 335.818 174.953 302.841 174.953 L 158.914 174.956 L 55.471 174.958 C 26.28 174.958 2.58 151.258 2.58 122.067 C 2.58 92.876 26.28 69.176 55.471 69.176 C 59.085 69.176 62.615 69.539 66.026 70.232 C 78.145 52.171 98.752 40.275 122.116 40.275 C 123.167 40.275 124.212 40.299 125.25 40.347 Z" style="fill: none; stroke-width: 14px; stroke: rgb(255, 255, 255);"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 7.9 KiB |
27
gns3server/custom_symbols/cumulus_bybaro.svg
Normal file
@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<svg id="svg1998" width="51.358818" height="47.630692" version="1.0" xmlns="http://www.w3.org/2000/svg">
|
||||
<defs id="defs2001">
|
||||
<marker orient="auto" refY="0" refX="0" id="Arrow2Lstart" style="overflow:visible">
|
||||
<path id="path11918" style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " transform="matrix(1.1,0,0,1.1,1.1,0)"/>
|
||||
</marker>
|
||||
<marker orient="auto" refY="0" refX="0" id="Arrow1Send" style="overflow:visible">
|
||||
<path id="path11921" d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z " style="fill-rule:evenodd;stroke:black;stroke-width:1pt;marker-start:none" transform="matrix(-0.2,0,0,-0.2,-1.2,0)"/>
|
||||
</marker>
|
||||
<marker orient="auto" refY="0" refX="0" id="Arrow1Lstart" style="overflow:visible">
|
||||
<path id="path11936" d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z " style="fill-rule:evenodd;stroke:black;stroke-width:1pt;marker-start:none" transform="matrix(0.8,0,0,0.8,10,0)"/>
|
||||
</marker>
|
||||
<linearGradient id="linearGradient9199" gradientUnits="userSpaceOnUse" gradientTransform="matrix(24.666332,1.3331909e-2,-1.2883406e-2,23.708747,-8.6563136,-4.6316275)" x1="2.1178279" y1="0.30649999" x2="-0.4954865" y2="0.30649999">
|
||||
<stop style="stop-opacity: 1; stop-color: rgb(0, 173, 105);" offset="0" id="stop8333"/>
|
||||
<stop style="stop-opacity: 1; stop-color: rgb(154, 238, 204);" offset="1" id="stop8335"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<path id="path11907" d="M 1.8402723,44.565612 L 1.8402723,47.615693 L 44.293781,47.615693 L 44.293781,44.565612 L 1.8402723,44.565612" style="fill:#000000;fill-opacity:0.39215686;stroke:none;stroke-width:0.001"/>
|
||||
<path id="path11020" d="M 44.370594,6.1851672 L 51.194316,1.0980117 L 51.358819,41.344844 L 44.266438,47.63069 L 44.370594,6.1851672" style="fill:#000000;fill-opacity:0.39215686;stroke:none;stroke-width:0.001"/>
|
||||
<path id="path2037" d="M 0.062500355,5.0439492 L 0.062500355,46.326915 L 44.31814,46.326915 L 44.31814,5.0439492 L 0.062500355,5.0439492" style="fill-opacity: 1; stroke: none; stroke-width: 0.001; fill: rgb(0, 173, 105);"/>
|
||||
<path id="path2041" d="M -0.028418806,5.1647552 L 5.5982489,0.11782966 L 50.022311,0.14184042 L 44.346312,5.1887393 L -0.028418806,5.1647552" style="fill: url(#linearGradient9199); fill-opacity: 1; stroke: none; stroke-width: 0.001;"/>
|
||||
<path id="path2045" d="M 44.228586,5.0887264 L 49.976169,0.12831483 L 49.976169,41.348635 L 44.228586,46.309047 L 44.228586,5.0887264" style="fill-opacity: 1; stroke: none; stroke-width: 0.001; fill: rgb(16, 139, 90);"/>
|
||||
<g id="Logos" transform="matrix(0.276292, 0, 0, 0.276292, -12.575964, -8.873246)">
|
||||
<path class="cls-2" d="M147,170c-25.91,0-47-20.83-47-46.43,0,0,0-2.08,0-2.48,0-2.15.48-5.87,3.18-11.35l.38-.77.14.85c1.18,7.34,2.65,14.71,2.66,14.77,4.2,20.3,21.29,35,40.64,35a36.15,36.15,0,0,0,3.45-72.14h-.12l-.07-.1A68.76,68.76,0,0,0,143.89,80c-.75-.74-1.59-1.51-2.48-2.28l-.47-.4.61-.07A46.53,46.53,0,1,1,147,170Z" transform="translate(0 1.53)" style="fill: rgb(255, 255, 255);"/>
|
||||
<path class="cls-2" d="M102.91,170a46.53,46.53,0,0,1,0-93.07c25.91,0,47,20.83,47,46.43,0,0,0,2.08,0,2.48,0,2.15-.48,5.87-3.18,11.35l-.38.77-.14-.85c-1.17-7.32-2.65-14.71-2.66-14.76-4.2-20.3-21.29-35-40.64-35a36.15,36.15,0,0,0-3.45,72.14h.12l.07.1a68.8,68.8,0,0,0,6.39,7.36c.76.75,1.59,1.52,2.48,2.28l.47.4-.61.07A46.76,46.76,0,0,1,102.91,170Z" transform="translate(0 1.53)" style="fill: rgb(255, 255, 255);"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 3.5 KiB |
1
gns3server/custom_symbols/firefox.svg
Normal file
After Width: | Height: | Size: 16 KiB |
42
gns3server/custom_symbols/fortigate_bybaro.svg
Normal file
@ -0,0 +1,42 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<svg id="svg1998" width="55.044277" height="63.620274" version="1.0" xmlns="http://www.w3.org/2000/svg">
|
||||
<title id="title3303">ASA</title>
|
||||
<defs id="defs2001">
|
||||
<marker orient="auto" refY="0" refX="0" id="Arrow2Lstart" style="overflow:visible">
|
||||
<path id="path11918" style="font-size:12px;fill-rule:evenodd;stroke-width:0.73333335;stroke-linejoin:round" d="M 11.403143,4.732916 -1.416553,0.01878889 11.403144,-4.6953372 c -2.0480517,2.7832182 -2.0362508,6.5911436 -10e-7,9.4282532 z"/>
|
||||
</marker>
|
||||
<marker orient="auto" refY="0" refX="0" id="Arrow1Send" style="overflow:visible">
|
||||
<path id="path11921" d="M -1.28,0 -2.3466667,1.0666667 1.3866667,0 -2.3466667,-1.0666667 Z" style="fill-rule:evenodd;stroke:#000000;stroke-width:0.21333334pt;marker-start:none"/>
|
||||
</marker>
|
||||
<marker orient="auto" refY="0" refX="0" id="Arrow1Lstart" style="overflow:visible">
|
||||
<path id="path11936" d="M 10.666667,0 14.933333,-4.2666667 0,0 14.933333,4.2666667 Z" style="fill-rule:evenodd;stroke:#000000;stroke-width:0.85333335pt;marker-start:none"/>
|
||||
</marker>
|
||||
<linearGradient id="linearGradient6875" gradientUnits="userSpaceOnUse" gradientTransform="matrix(26.557584,0,0,27.099161,-9.2951537,-5.3720715)" x1="2.1178279" y1="0.30649999" x2="-0.4954865" y2="0.30649999">
|
||||
<stop style="stop-opacity: 1; stop-color: rgb(239, 239, 239);" offset="0" id="stop8333"/>
|
||||
<stop style="stop-opacity: 1; stop-color: rgb(255, 255, 255);" offset="1" id="stop8335"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<path id="path11907" d="m 2.277686,60.343382 v 3.25342 h 45.379267 v -3.25342 H 2.277686" style="fill:#000000;fill-opacity:0.39215686;stroke:none;stroke-width:1.06666672"/>
|
||||
<path id="path11020" d="M 47.765643,8.1809483 55.044279,1.3761504 55.028695,57.643455 47.654539,63.62027 47.765638,8.1809483" style="fill:#000000;fill-opacity:0.39215686;stroke:none;stroke-width:1.06666672"/>
|
||||
<path id="path2037" d="M 0.47692057,5.3149867 V 49.230745 H 47.778461 V 5.3149867 H 0.47692057" style="fill-opacity: 1; stroke: none; stroke-width: 1.06667; fill: rgb(239, 239, 239);"/>
|
||||
<path id="path2041" d="M 0,5.8198859 6.0551291,0.04776213 H 53.885337 L 47.777093,5.8198859 H 0" style="fill:url(#linearGradient6875);fill-opacity:1;stroke:none;stroke-width:1.06666672"/>
|
||||
<path id="path2045" d="M 47.635174,5.2911061 53.670405,0 v 43.968341 l -6.035231,5.291106 V 5.2911061" style="fill-opacity: 1; stroke: none; stroke-width: 1.06667; fill: rgb(223, 223, 223);"/>
|
||||
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06040335" d="m 68.017411,-124.00618 h 32.336679 v -2.5979 l 6.95208,5.19579 -6.95208,5.62568 v -2.59789 H 68.017411 v -5.62568" id="path39"/>
|
||||
<path style="fill:#000000;stroke:#ffffff;stroke-width:1.06040335;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="M 56.893321,-121.40829 H 70.452314" id="path61"/>
|
||||
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06040335" d="M 16.19484,61.82555 H 0.42243277 V 55.665507 H 16.19484 v 6.160043" id="path99"/>
|
||||
<path style="fill:#000000;stroke:#e1e1e1;stroke-width:0.47963932;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="M 16.19484,61.82555 H 0.57567743" id="path101"/>
|
||||
<path style="fill:#000000;stroke:#e1e1e1;stroke-width:0.47819233;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="M 0.66977537,55.665507 H 16.19484 v 6.160043" id="path103"/>
|
||||
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.47819233;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="M 47.780883,61.82555 H 31.991982 v -6.160043 h 15.788901 v 6.160043" id="path105"/>
|
||||
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.47819233;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="M 40.280128,61.82555 H 24.474743 v -6.160043 h 15.805385 v 6.160043" id="path107"/>
|
||||
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.47819233;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="M 24.474743,61.82555 H 8.6940847 V 55.665507 H 24.474743 v 6.160043" id="path109"/>
|
||||
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.50290239;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="m 50.792321,53.512289 2.638353,-2.735375 v -6.805626 l -2.638353,2.720386 v 6.820615" id="path111"/>
|
||||
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.47819233;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="m 50.792321,59.372711 2.638353,-2.166775 v -6.166822 l -2.638353,2.160008 v 6.173589" id="path125"/>
|
||||
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.47819233;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="m 47.780883,61.82555 3.011438,-2.452839 v -6.173589 l -3.011438,2.466385 v 6.160043" id="path127"/>
|
||||
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.47819233;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="M 31.991982,55.665507 H 16.19484 v -6.166811 h 15.797142 v 6.166811" id="path133"/>
|
||||
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06040335" d="M 16.19484,55.665507 H 0.42243277 V 49.498685 H 16.19484 v 6.166822" id="path135"/>
|
||||
<path style="fill:#000000;stroke:#e1e1e1;stroke-width:0.48108193;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="M 16.19484,55.665507 H 0.48158037" id="path137"/>
|
||||
<path style="fill:#000000;stroke:#e1e1e1;stroke-width:0.48039833;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="M 0.52620409,49.498696 H 16.19484 v 6.166811" id="path139"/>
|
||||
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.47819233;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="M 47.780883,55.665507 H 31.991982 v -6.166811 h 15.788901 v 6.166811" id="path141"/>
|
||||
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.48692337;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="m 47.780883,55.665507 3.011438,-2.557269 v -6.387053 l -3.011438,2.550268 v 6.394054" id="path145"/>
|
||||
<path d="M 5.129 23.9 L 15.893 23.9 L 15.893 30.974 L 5.129 30.974 Z M 18.834 13.881 L 29.395 13.881 L 29.395 20.952 L 18.834 20.952 Z M 18.834 33.92 L 29.395 33.92 L 29.395 40.987 L 18.834 40.987 Z M 32.331 23.9 L 43.128 23.9 L 43.128 30.974 L 32.331 30.974 Z M 9.547 13.881 C 7.305 14.472 5.541 16.98 5.129 20.161 L 5.129 20.952 L 15.893 20.952 L 15.893 13.881 Z M 5.129 33.92 L 5.129 34.791 C 5.519 37.844 7.16 40.27 9.272 40.985 L 15.895 40.985 L 15.895 33.919 L 5.13 33.919 Z M 43.129 20.952 L 43.129 20.157 C 42.717 16.974 40.956 14.472 38.711 13.881 L 32.336 13.881 L 32.336 20.952 Z M 38.988 40.99 C 41.093 40.275 42.734 37.849 43.126 34.798 L 43.126 33.92 L 32.334 33.92 L 32.334 40.99 L 38.989 40.99 Z" fill="#e2231a"/>
|
||||
</svg>
|
After Width: | Height: | Size: 7.2 KiB |
72
gns3server/custom_symbols/fortinet.svg
Normal file
@ -0,0 +1,72 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) by Marsupilami -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
width="70"
|
||||
height="50"
|
||||
viewBox="-0.5330211 -0.5330211 10.665723 7.5941177"
|
||||
id="svg4441"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="Fortinet_logo.svg">
|
||||
<metadata
|
||||
id="metadata9">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="2495"
|
||||
inkscape:window-height="1056"
|
||||
id="namedview7"
|
||||
showgrid="false"
|
||||
inkscape:snap-page="true"
|
||||
inkscape:zoom="3.2924659"
|
||||
inkscape:cx="164.79393"
|
||||
inkscape:cy="31.941697"
|
||||
inkscape:window-x="1985"
|
||||
inkscape:window-y="24"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg4441" />
|
||||
<defs
|
||||
id="defs4443" />
|
||||
<rect
|
||||
style="stroke:#ffffff;stroke-width:0.15236747;stroke-opacity:1;fill:#ffffff"
|
||||
id="rect3339"
|
||||
width="10.665723"
|
||||
height="7.6183734"
|
||||
x="-0.53302109"
|
||||
y="-0.54514885" />
|
||||
<path
|
||||
d="m 8.9771066,7.0637696 c 0.5909941,-0.200745 1.0508344,-0.881137 1.1616464,-1.737115 l 0,-0.247318 -3.0299144,0 0,1.984433 1.868268,0 z m 1.1618084,-5.6233777 0,-0.223764 C 10.022751,0.32371345 9.5286497,-0.37969755 8.8985776,-0.54511155 l -1.789576,0 0,1.98550345 3.0299134,0 z m -10.66545725,3.6390517 0,0.245177 c 0.1097407,0.856513 0.5695809,1.538511 1.16218056,1.739256 l 1.85863229,0 0,-1.984433 -3.02081285,0 z m 1.23990906,-5.62428915 c -0.62900136,0.165414 -1.12470806,0.86936 -1.23980196,1.76334495 l 0,0.222158 3.02081275,0 0,-1.98550295 -1.78101079,0 z m 9.42576219,2.81198615 -3.0299134,0 0,1.9855032 3.0299134,0 0,-1.9855032 z m -6.8194454,4.79647 2.964068,0 0,-1.984432 -2.964068,0 0,1.984432 z m 2.964068,-7.60850815 -2.964068,0 0,1.98550355 2.964068,0 0,-1.98550355 z m -6.81034515,4.79754135 3.02081315,0 0,-1.9855032 -3.02081315,0 0,1.9855032 z"
|
||||
id="path4408"
|
||||
style="fill:#ee2e24;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
inkscape:connector-curvature="0" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="Logo" />
|
||||
</svg>
|
||||
<!-- version: 20110311, original size: 154.95825 17.76737, border: 3% -->
|
||||
|
After Width: | Height: | Size: 2.9 KiB |
BIN
gns3server/custom_symbols/innovaphone-ap-icon.jpg
Normal file
After Width: | Height: | Size: 46 KiB |
BIN
gns3server/custom_symbols/innovaphone-pbx-green.png
Normal file
After Width: | Height: | Size: 5.1 KiB |
284
gns3server/custom_symbols/juniper-vmx.svg
Normal file
@ -0,0 +1,284 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
id="svg1998"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.91 r13725"
|
||||
width="51.358818"
|
||||
height="47.630692"
|
||||
version="1.0"
|
||||
sodipodi:docname="vmx.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
sodipodi:modified="true">
|
||||
<metadata
|
||||
id="metadata2003">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<cc:license
|
||||
rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
|
||||
<dc:title />
|
||||
<dc:creator>
|
||||
<cc:Agent>
|
||||
<dc:title>Jeremy Grossmann</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:creator>
|
||||
<dc:description>Created for the GNS-3 project (www.gns3.net)</dc:description>
|
||||
<dc:publisher>
|
||||
<cc:Agent>
|
||||
<dc:title>GNS-3</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:publisher>
|
||||
</cc:Work>
|
||||
<cc:License
|
||||
rdf:about="http://creativecommons.org/licenses/GPL/2.0/">
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/Reproduction" />
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/Distribution" />
|
||||
<cc:requires
|
||||
rdf:resource="http://web.resource.org/cc/Notice" />
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
|
||||
<cc:requires
|
||||
rdf:resource="http://web.resource.org/cc/ShareAlike" />
|
||||
<cc:requires
|
||||
rdf:resource="http://web.resource.org/cc/SourceCode" />
|
||||
</cc:License>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs2001">
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient10123">
|
||||
<stop
|
||||
style="stop-color:#e4405c;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop10125" />
|
||||
<stop
|
||||
style="stop-color:#e4405c;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop10127" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient8331">
|
||||
<stop
|
||||
style="stop-color:#6e8caa;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop8333" />
|
||||
<stop
|
||||
style="stop-color:#dde3ef;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop8335" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient6603">
|
||||
<stop
|
||||
style="stop-color:#506eaa;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop6605" />
|
||||
<stop
|
||||
style="stop-color:#506eaa;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop6607" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient6587">
|
||||
<stop
|
||||
style="stop-color:#506eaa;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop6589" />
|
||||
<stop
|
||||
style="stop-color:#506eaa;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop6591" />
|
||||
</linearGradient>
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Lstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow2Lstart"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path11918"
|
||||
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
|
||||
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
|
||||
transform="matrix(1.1,0,0,1.1,1.1,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Send"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Send"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path11921"
|
||||
d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z "
|
||||
style="fill-rule:evenodd;stroke:black;stroke-width:1pt;marker-start:none"
|
||||
transform="matrix(-0.2,0,0,-0.2,-1.2,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Lstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Lstart"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path11936"
|
||||
d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z "
|
||||
style="fill-rule:evenodd;stroke:black;stroke-width:1pt;marker-start:none"
|
||||
transform="matrix(0.8,0,0,0.8,10,0)" />
|
||||
</marker>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6587"
|
||||
id="linearGradient6593"
|
||||
x1="3.95626"
|
||||
y1="0.64267641"
|
||||
x2="-1.2664427"
|
||||
y2="0.62730032"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.060042,0,0,1.074658,-3.942481e-3,-0.356572)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6603"
|
||||
id="linearGradient6609"
|
||||
x1="2.2801981"
|
||||
y1="1.4519272"
|
||||
x2="-0.41311559"
|
||||
y2="1.4649135"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.060042,0,0,1.074658,-3.942482e-3,-0.356572)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient10123"
|
||||
id="linearGradient10129"
|
||||
x1="1.3990936"
|
||||
y1="1.4711363"
|
||||
x2="0.49966058"
|
||||
y2="0.56367606"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.117962,0,0,1.035008,-4.0973e-2,-6.788682e-3)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient8331"
|
||||
id="linearGradient6875"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(24.897735,0,0,25.405463,-9.0988193,-4.8632254)"
|
||||
x1="2.1178279"
|
||||
y1="0.30649999"
|
||||
x2="-0.4954865"
|
||||
y2="0.30649999" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
inkscape:window-height="670"
|
||||
inkscape:window-width="1280"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
guidetolerance="10.0"
|
||||
gridtolerance="10.0"
|
||||
objecttolerance="10.0"
|
||||
borderopacity="1.0"
|
||||
bordercolor="#666666"
|
||||
pagecolor="#ffffff"
|
||||
id="base"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true"
|
||||
inkscape:zoom="2.7915987"
|
||||
inkscape:cx="23.755426"
|
||||
inkscape:cy="-42.804631"
|
||||
inkscape:window-x="77"
|
||||
inkscape:window-y="25"
|
||||
inkscape:current-layer="svg1998"
|
||||
showgrid="false"
|
||||
inkscape:window-maximized="0" />
|
||||
<path
|
||||
id="path11907"
|
||||
d="M 1.8402723,44.565612 L 1.8402723,47.615693 L 44.293781,47.615693 L 44.293781,44.565612 L 1.8402723,44.565612"
|
||||
style="fill:#000000;fill-opacity:0.39215686;stroke:none;stroke-width:0.001" />
|
||||
<path
|
||||
id="path11020"
|
||||
d="M 44.370594,6.1851672 L 51.194316,1.0980117 L 51.358819,41.344844 L 44.266438,47.63069 L 44.370594,6.1851672"
|
||||
style="fill:#000000;fill-opacity:0.39215686;stroke:none;stroke-width:0.001"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
<path
|
||||
id="path2037"
|
||||
d="m 0.31579887,5.6624885 0,41.1710225 44.34519313,0 0,-41.1710225 -44.34519313,0"
|
||||
style="fill:#6e8caa;fill-opacity:1;stroke:none;stroke-width:0.001"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
id="path2041"
|
||||
d="M -0.38461268,5.6292351 L 5.2920708,0.21786924 L 50.13289,0.21786924 L 44.406412,5.6292351 L -0.38461268,5.6292351"
|
||||
style="fill:url(#linearGradient6875);fill-opacity:1;stroke:none;stroke-width:0.001" />
|
||||
<path
|
||||
id="path2045"
|
||||
d="M 44.273363,5.1335036 L 49.931392,0.17309204 L 49.931392,41.393412 L 44.273363,46.353824 L 44.273363,5.1335036"
|
||||
style="fill:#6e8296;fill-opacity:1;stroke:none;stroke-width:0.001" />
|
||||
<g
|
||||
id="g3381"
|
||||
transform="translate(50.86691,-20.06019)">
|
||||
<g
|
||||
transform="matrix(0.1704237,0,0,0.1704237,-48.337546,-4.9946169)"
|
||||
id="shape2-2"
|
||||
v:mID="2"
|
||||
v:groupContext="shape">
|
||||
<title
|
||||
id="title14">Sheet.2</title>
|
||||
<path
|
||||
d="m 117,420.03 c 64.45,0 117,-52.56 117,-117 0,-64.45 -52.55,-117.02 -117,-117.02 -64.45,0 -117,52.57 -117,117.02 0,64.44 52.55,117 117,117 z"
|
||||
class="st1"
|
||||
id="path16"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#12537c;stroke:none;stroke-width:0.75;stroke-linecap:butt" />
|
||||
</g>
|
||||
<g
|
||||
style="stroke:#84b2dd;stroke-width:2.40000153;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
transform="matrix(0.1704237,0,0,0.1704237,-48.337546,-4.9946169)"
|
||||
id="shape3-4"
|
||||
v:mID="3"
|
||||
v:groupContext="shape">
|
||||
<title
|
||||
id="title19">Sheet.3</title>
|
||||
<path
|
||||
d="m 117,420.03 c 64.45,0 117,-52.56 117,-117 0,-64.45 -52.55,-117.02 -117,-117.02 -64.45,0 -117,52.57 -117,117.02 0,64.44 52.55,117 117,117 z"
|
||||
class="st2"
|
||||
id="path21"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none;stroke:#84b2dd;stroke-width:2.40000153;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
</g>
|
||||
<g
|
||||
style="stroke:#32425f;stroke-width:1.52000105;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="shape4-6"
|
||||
v:mID="4"
|
||||
v:groupContext="shape"
|
||||
transform="matrix(0.1704237,0,0,0.1704237,-43.935853,-8.9257283)">
|
||||
<title
|
||||
id="title24">Sheet.4</title>
|
||||
<path
|
||||
d="m 82.44,318.48 -6.36,0 -72.74,0 0,-17.52 63.98,0 0,-37.34 -9.38,0 9.13,-15.81 7.06,-12.21 2.07,-3.59 9.14,15.8 9.12,15.81 -4.16,0 -5.46,0 0,46.09 0,8.77 -2.4,0 z m 73.95,5.68 0,-5.68 -45.5,0 -8.76,0 0,-2.41 0,-6.36 0,-72.21 17.52,0 0,63.45 36.73,0 0.01,-9.15 15.81,9.14 12.2,7.04 -1.2,2.09 1.2,-2.09 3.6,2.08 -15.8,9.13 -15.82,9.11 0,-4.14 0.01,0 z m -86.67,93.62 0,-2.4 2.4,0 -2.4,0 0,2.4 -2.4,0 0,-63.46 -35.71,0 0,9.59 -15.81,-9.13 -15.8,-9.12 15.8,-9.14 15.81,-9.12 0,4.16 0,5.25 44.47,0 8.76,0 0,2.4 0,6.36 0,72.21 -15.12,0 z m 41.16,-2.56 2.08,-1.2 -2.08,1.2 z m -9.13,-11 -9.12,-15.81 4.16,0 5.34,-0.01 0,-42.83 0,-8.76 2.4,0 6.36,0 72.73,0 0,17.51 -63.96,0 0,34.09 9.48,0 -9.13,15.82 -7.04,12.2 -2.08,3.6 -9.14,-15.81 z"
|
||||
class="st3"
|
||||
id="path26"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff;stroke:#32425f;stroke-width:1.52000105;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 10 KiB |
324
gns3server/custom_symbols/juniper-vqfx.svg
Normal file
@ -0,0 +1,324 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
id="svg1998"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.91 r13725"
|
||||
width="51.358818"
|
||||
height="47.630692"
|
||||
version="1.0"
|
||||
sodipodi:docname="juniper-vqfx.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
sodipodi:modified="true">
|
||||
<metadata
|
||||
id="metadata2003">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<cc:license
|
||||
rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
|
||||
<dc:title />
|
||||
<dc:creator>
|
||||
<cc:Agent>
|
||||
<dc:title>Jeremy Grossmann</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:creator>
|
||||
<dc:description>Created for the GNS-3 project (www.gns3.net)</dc:description>
|
||||
<dc:publisher>
|
||||
<cc:Agent>
|
||||
<dc:title>GNS-3</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:publisher>
|
||||
</cc:Work>
|
||||
<cc:License
|
||||
rdf:about="http://creativecommons.org/licenses/GPL/2.0/">
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/Reproduction" />
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/Distribution" />
|
||||
<cc:requires
|
||||
rdf:resource="http://web.resource.org/cc/Notice" />
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
|
||||
<cc:requires
|
||||
rdf:resource="http://web.resource.org/cc/ShareAlike" />
|
||||
<cc:requires
|
||||
rdf:resource="http://web.resource.org/cc/SourceCode" />
|
||||
</cc:License>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs2001">
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient10123">
|
||||
<stop
|
||||
style="stop-color:#e4405c;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop10125" />
|
||||
<stop
|
||||
style="stop-color:#e4405c;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop10127" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
id="linearGradient8331">
|
||||
<stop
|
||||
style="stop-color:#6e8caa;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop8333" />
|
||||
<stop
|
||||
style="stop-color:#dde3ef;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop8335" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient6603">
|
||||
<stop
|
||||
style="stop-color:#506eaa;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop6605" />
|
||||
<stop
|
||||
style="stop-color:#506eaa;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop6607" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient6587">
|
||||
<stop
|
||||
style="stop-color:#506eaa;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop6589" />
|
||||
<stop
|
||||
style="stop-color:#506eaa;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop6591" />
|
||||
</linearGradient>
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Lstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow2Lstart"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path11918"
|
||||
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
|
||||
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
|
||||
transform="matrix(1.1,0,0,1.1,1.1,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Send"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Send"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path11921"
|
||||
d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z "
|
||||
style="fill-rule:evenodd;stroke:black;stroke-width:1pt;marker-start:none"
|
||||
transform="matrix(-0.2,0,0,-0.2,-1.2,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Lstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Lstart"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path11936"
|
||||
d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z "
|
||||
style="fill-rule:evenodd;stroke:black;stroke-width:1pt;marker-start:none"
|
||||
transform="matrix(0.8,0,0,0.8,10,0)" />
|
||||
</marker>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6587"
|
||||
id="linearGradient6593"
|
||||
x1="3.95626"
|
||||
y1="0.64267641"
|
||||
x2="-1.2664427"
|
||||
y2="0.62730032"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.060042,0,0,1.074658,-3.942481e-3,-0.356572)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient6603"
|
||||
id="linearGradient6609"
|
||||
x1="2.2801981"
|
||||
y1="1.4519272"
|
||||
x2="-0.41311559"
|
||||
y2="1.4649135"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.060042,0,0,1.074658,-3.942482e-3,-0.356572)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient10123"
|
||||
id="linearGradient10129"
|
||||
x1="1.3990936"
|
||||
y1="1.4711363"
|
||||
x2="0.49966058"
|
||||
y2="0.56367606"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.117962,0,0,1.035008,-4.0973e-2,-6.788682e-3)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient8331"
|
||||
id="linearGradient6875"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(24.897735,0,0,25.405463,-9.0988193,-4.8632254)"
|
||||
x1="2.1178279"
|
||||
y1="0.30649999"
|
||||
x2="-0.4954865"
|
||||
y2="0.30649999" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
inkscape:window-height="719"
|
||||
inkscape:window-width="1366"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
guidetolerance="10.0"
|
||||
gridtolerance="10.0"
|
||||
objecttolerance="10.0"
|
||||
borderopacity="1.0"
|
||||
bordercolor="#666666"
|
||||
pagecolor="#ffffff"
|
||||
id="base"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true"
|
||||
inkscape:zoom="3.9479168"
|
||||
inkscape:cx="55.736282"
|
||||
inkscape:cy="27.781894"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="25"
|
||||
inkscape:current-layer="svg1998"
|
||||
showgrid="false"
|
||||
inkscape:window-maximized="1" />
|
||||
<path
|
||||
id="path11907"
|
||||
d="M 1.8402723,44.565612 L 1.8402723,47.615693 L 44.293781,47.615693 L 44.293781,44.565612 L 1.8402723,44.565612"
|
||||
style="fill:#000000;fill-opacity:0.39215686;stroke:none;stroke-width:0.001" />
|
||||
<path
|
||||
id="path11020"
|
||||
d="M 44.370594,6.1851672 L 51.194316,1.0980117 L 51.358819,41.344844 L 44.266438,47.63069 L 44.370594,6.1851672"
|
||||
style="fill:#000000;fill-opacity:0.39215686;stroke:none;stroke-width:0.001"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
<path
|
||||
id="path2037"
|
||||
d="m 0.31579887,5.6624885 0,41.1710225 44.34519313,0 0,-41.1710225 -44.34519313,0"
|
||||
style="fill:#6e8caa;fill-opacity:1;stroke:none;stroke-width:0.001"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
id="path2041"
|
||||
d="M -0.38461268,5.6292351 L 5.2920708,0.21786924 L 50.13289,0.21786924 L 44.406412,5.6292351 L -0.38461268,5.6292351"
|
||||
style="fill:url(#linearGradient6875);fill-opacity:1;stroke:none;stroke-width:0.001" />
|
||||
<path
|
||||
id="path2045"
|
||||
d="M 44.273363,5.1335036 L 49.931392,0.17309204 L 49.931392,41.393412 L 44.273363,46.353824 L 44.273363,5.1335036"
|
||||
style="fill:#6e8296;fill-opacity:1;stroke:none;stroke-width:0.001" />
|
||||
<g
|
||||
id="shape7-14"
|
||||
v:mID="7"
|
||||
v:groupContext="shape"
|
||||
transform="matrix(1.5233208,0,0,1.3864459,3.6924384,-5.7637956)">
|
||||
<title
|
||||
id="title45">Sheet.7</title>
|
||||
<rect
|
||||
x="0"
|
||||
y="10.973"
|
||||
width="24.75"
|
||||
height="24.75"
|
||||
class="st5"
|
||||
id="rect47"
|
||||
style="fill:#12537c;stroke:none;stroke-width:0.75;stroke-linecap:butt" />
|
||||
</g>
|
||||
<g
|
||||
id="shape8-16"
|
||||
v:mID="8"
|
||||
v:groupContext="shape"
|
||||
transform="matrix(1.5233208,0,0,1.3864459,3.6924384,-5.7637956)">
|
||||
<title
|
||||
id="title50">Sheet.8</title>
|
||||
<rect
|
||||
x="0"
|
||||
y="10.973"
|
||||
width="24.75"
|
||||
height="24.75"
|
||||
class="st6"
|
||||
id="rect52"
|
||||
style="fill:none;stroke:#bcbec0;stroke-width:1.125;stroke-linecap:butt" />
|
||||
</g>
|
||||
<g
|
||||
id="shape9-18"
|
||||
v:mID="9"
|
||||
v:groupContext="shape"
|
||||
transform="matrix(1.5233208,0,0,1.3864459,20.985782,-28.936572)">
|
||||
<title
|
||||
id="title55">Sheet.9</title>
|
||||
<path
|
||||
d="m 7.38,34.34 -7.38,0 0,-1.49 7.38,0 0,-1.3 1.81,1.04 1.8,1.05 -1.8,1.04 -1.81,1.04 0,-1.38 z"
|
||||
class="st7"
|
||||
id="path57"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff;stroke:none;stroke-width:0.75;stroke-linecap:butt" />
|
||||
</g>
|
||||
<g
|
||||
id="shape10-20"
|
||||
v:mID="10"
|
||||
v:groupContext="shape"
|
||||
transform="matrix(1.5233208,0,0,1.3864459,20.985782,-18.328835)">
|
||||
<title
|
||||
id="title60">Sheet.10</title>
|
||||
<path
|
||||
d="m 7.38,34.34 -7.38,0 0,-1.49 7.38,0 0,-1.3 1.81,1.04 1.8,1.05 -1.8,1.04 -1.81,1.04 0,-1.38 z"
|
||||
class="st7"
|
||||
id="path62"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff;stroke:none;stroke-width:0.75;stroke-linecap:butt" />
|
||||
</g>
|
||||
<g
|
||||
id="shape11-22"
|
||||
v:mID="11"
|
||||
v:groupContext="shape"
|
||||
transform="matrix(1.5233208,0,0,1.3864459,8.0357632,-13.02525)">
|
||||
<title
|
||||
id="title65">Sheet.11</title>
|
||||
<path
|
||||
d="m 3.61,32.93 7.38,0 0,1.5 -7.38,0 0,1.29 -1.8,-1.04 -1.81,-1.04 1.81,-1.05 1.8,-1.04 0,1.38 z"
|
||||
class="st7"
|
||||
id="path67"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff;stroke:none;stroke-width:0.75;stroke-linecap:butt" />
|
||||
</g>
|
||||
<g
|
||||
id="shape12-24"
|
||||
v:mID="12"
|
||||
v:groupContext="shape"
|
||||
transform="matrix(1.5233208,0,0,1.3864459,8.0357632,-23.633003)">
|
||||
<title
|
||||
id="title70">Sheet.12</title>
|
||||
<path
|
||||
d="m 3.61,32.93 7.38,0 0,1.5 -7.38,0 0,1.29 -1.8,-1.04 -1.81,-1.04 1.81,-1.05 1.8,-1.04 0,1.38 z"
|
||||
class="st7"
|
||||
id="path72"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#ffffff;stroke:none;stroke-width:0.75;stroke-linecap:butt" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 10 KiB |
18
gns3server/custom_symbols/junos_olive_bybaro.svg
Normal file
@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="36 365 38 38" width="38pt" height="38pt" xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<metadata> Produced by OmniGraffle 7.4
|
||||
<dc:date>2017-07-08 22:25:20 +0000</dc:date>
|
||||
</metadata>
|
||||
<defs/>
|
||||
<g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1">
|
||||
<title>Canvas 1</title>
|
||||
<rect fill="white" width="1" height="1"/>
|
||||
<g>
|
||||
<title>Layer 1</title>
|
||||
<path d="M 55.00075 402.273 C 65.065 402.273 73.2715 394.065 73.2715 384.00075 C 73.2715 373.9365 65.065 365.727 55.00075 365.727 C 44.93575 365.727 36.7285 373.9365 36.7285 384.00075 C 36.7285 394.065 44.93575 402.273 55.00075 402.273 Z" fill="#12537c"/>
|
||||
<path d="M 55.00075 402.273 C 65.065 402.273 73.2715 394.065 73.2715 384.00075 C 73.2715 373.9365 65.065 365.727 55.00075 365.727 C 44.93575 365.727 36.7285 373.9365 36.7285 384.00075 C 36.7285 394.065 44.93575 402.273 55.00075 402.273 Z" stroke="#bcbec0" stroke-linecap="butt" stroke-linejoin="miter" stroke-width="1.125"/>
|
||||
<path d="M 53.194 382.81126 L 52.201 382.81126 L 40.8415 382.81126 L 40.8415 380.07526 L 50.83375 380.07526 L 50.83375 374.24476 L 49.36825 374.24476 L 50.79475 371.775 L 51.89725 369.86926 L 52.2205 369.3075 L 53.64775 371.775 L 55.07125 374.24476 L 54.42175 374.24476 L 53.569 374.24476 L 53.569 381.4425 L 53.569 382.81126 L 53.194 382.81126 L 53.194 382.81126 Z M 64.7425 383.6985 L 64.7425 382.81126 L 57.637 382.81126 L 56.269 382.81126 L 56.269 382.43626 L 56.269 381.4425 L 56.269 370.16626 L 59.005 370.16626 L 59.005 380.07376 L 64.74175 380.07376 L 64.74325 378.645 L 67.2115 380.07226 L 69.118 381.17176 L 68.9305 381.498 L 69.118 381.17176 L 69.67975 381.4965 L 67.2115 382.923 L 64.74175 384.34576 L 64.74175 383.6985 L 64.7425 383.6985 Z M 51.20875 398.31976 L 51.20875 397.94476 L 51.58375 397.94476 L 51.20875 397.94476 L 51.20875 398.31976 L 50.83375 398.31976 L 50.83375 388.4085 L 45.25675 388.4085 L 45.25675 389.907 L 42.787 388.4805 L 40.32025 387.057 L 42.787 385.62976 L 45.25675 384.2055 L 45.25675 384.855 L 45.25675 385.67476 L 52.201 385.67476 L 53.569 385.67476 L 53.569 386.04976 L 53.569 387.042 L 53.569 398.31976 L 51.20875 398.31976 L 51.20875 398.31976 Z M 57.63625 397.92 L 57.961 397.7325 L 57.63625 397.92 L 57.63625 397.92 Z M 56.2105 396.20176 L 54.78625 393.732 L 55.435 393.732 L 56.26975 393.7305 L 56.26975 387.042 L 56.26975 385.67476 L 56.64475 385.67476 L 57.63775 385.67476 L 68.99575 385.67476 L 68.99575 388.40926 L 59.0065 388.40926 L 59.0065 393.73276 L 60.48775 393.73276 L 59.062 396.2025 L 57.96175 398.10826 L 57.637 398.67076 L 56.2105 396.20176 L 56.2105 396.20176 Z" fill="white"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.9 KiB |
1917
gns3server/custom_symbols/linux_guest.svg
Executable file
After Width: | Height: | Size: 63 KiB |
380
gns3server/custom_symbols/loadbalancer.svg
Normal file
@ -0,0 +1,380 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
id="svg1998"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.91 r13725"
|
||||
width="66.000435"
|
||||
height="44.5159"
|
||||
version="1.0"
|
||||
sodipodi:docname="loadbalancer.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
sodipodi:modified="true">
|
||||
<metadata
|
||||
id="metadata2003">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
<dc:creator>
|
||||
<cc:Agent>
|
||||
<dc:title>Jeremy Grossmann</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:creator>
|
||||
<dc:publisher>
|
||||
<cc:Agent>
|
||||
<dc:title>GNS-3</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:publisher>
|
||||
<dc:description>Created for the GNS-3 project (www.gns3.net)</dc:description>
|
||||
<cc:license
|
||||
rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
|
||||
</cc:Work>
|
||||
<cc:License
|
||||
rdf:about="http://creativecommons.org/licenses/GPL/2.0/">
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/Reproduction" />
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/Distribution" />
|
||||
<cc:requires
|
||||
rdf:resource="http://web.resource.org/cc/Notice" />
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
|
||||
<cc:requires
|
||||
rdf:resource="http://web.resource.org/cc/ShareAlike" />
|
||||
<cc:requires
|
||||
rdf:resource="http://web.resource.org/cc/SourceCode" />
|
||||
</cc:License>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs2001">
|
||||
<marker
|
||||
inkscape:stockid="TriangleOutL"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="TriangleOutL"
|
||||
style="overflow:visible"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
id="path7835"
|
||||
d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#ffffff;fill-opacity:1"
|
||||
transform="scale(0.8)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="marker8031"
|
||||
style="overflow:visible;"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
id="path8033"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#ffffff;fill-opacity:1"
|
||||
transform="scale(0.8) rotate(180) translate(12.5,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Lend"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow2Lend"
|
||||
style="overflow:visible;"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
id="path7714"
|
||||
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#ffffff;fill-opacity:1"
|
||||
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
|
||||
transform="scale(1.1) rotate(180) translate(1,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1Lend"
|
||||
style="overflow:visible;"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
id="path7696"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#ffffff;fill-opacity:1"
|
||||
transform="scale(0.8) rotate(180) translate(12.5,0)" />
|
||||
</marker>
|
||||
<inkscape:path-effect
|
||||
effect="powerstroke"
|
||||
id="path-effect7647"
|
||||
is_visible="true"
|
||||
offset_points="0,0.5"
|
||||
sort_points="true"
|
||||
interpolator_type="CubicBezierJohan"
|
||||
interpolator_beta="0.2"
|
||||
start_linecap_type="zerowidth"
|
||||
linejoin_type="round"
|
||||
miter_limit="4"
|
||||
end_linecap_type="zerowidth"
|
||||
cusp_linecap_type="round" />
|
||||
<linearGradient
|
||||
id="linearGradient9312">
|
||||
<stop
|
||||
style="stop-color:#3c8c8c;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop9314" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0.94117647;"
|
||||
offset="1"
|
||||
id="stop9316" />
|
||||
</linearGradient>
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Lstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow2Lstart"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path11918"
|
||||
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
|
||||
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
|
||||
transform="matrix(1.1,0,0,1.1,1.1,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Send"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Send"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path11921"
|
||||
d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z "
|
||||
style="fill-rule:evenodd;stroke:black;stroke-width:1pt;marker-start:none"
|
||||
transform="matrix(-0.2,0,0,-0.2,-1.2,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Lstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Lstart"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path11936"
|
||||
d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z "
|
||||
style="fill-rule:evenodd;stroke:black;stroke-width:1pt;marker-start:none"
|
||||
transform="matrix(0.8,0,0,0.8,10,0)" />
|
||||
</marker>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient9312"
|
||||
id="linearGradient2216"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(15.252829,0,0,14.082619,53.467529,3.4188377)"
|
||||
x1="-1.0929121"
|
||||
y1="0.63145506"
|
||||
x2="-4.5832458"
|
||||
y2="0.070047863" />
|
||||
<linearGradient
|
||||
id="linearGradient10123"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop10125"
|
||||
offset="0"
|
||||
style="stop-color:#e4405c;stop-opacity:1;" />
|
||||
<stop
|
||||
id="stop10127"
|
||||
offset="1"
|
||||
style="stop-color:#e4405c;stop-opacity:0;" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
y2="0.56367606"
|
||||
x2="0.49966058"
|
||||
y1="1.4711363"
|
||||
x1="1.3990936"
|
||||
gradientTransform="matrix(19.859681,0,0,16.579703,65.763316,-33.354621)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient9177"
|
||||
xlink:href="#linearGradient10123"
|
||||
inkscape:collect="always" />
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow2Lstart-4"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow2Lstart">
|
||||
<path
|
||||
transform="matrix(1.1,0,0,1.1,1.1,0)"
|
||||
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
|
||||
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
|
||||
id="path11918-6" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Send-3"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Send">
|
||||
<path
|
||||
transform="matrix(-0.2,0,0,-0.2,-1.2,0)"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
|
||||
d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z "
|
||||
id="path11921-9" />
|
||||
</marker>
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="Arrow1Lstart-2"
|
||||
refX="0"
|
||||
refY="0"
|
||||
orient="auto"
|
||||
inkscape:stockid="Arrow1Lstart">
|
||||
<path
|
||||
transform="matrix(0.8,0,0,0.8,10,0)"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
|
||||
d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z "
|
||||
id="path11936-8" />
|
||||
</marker>
|
||||
<linearGradient
|
||||
y2="0.070047863"
|
||||
x2="-4.5832458"
|
||||
y1="0.63145506"
|
||||
x1="-1.0929121"
|
||||
gradientTransform="matrix(15.252829,0,0,14.082619,53.467529,3.4188377)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient9890"
|
||||
xlink:href="#linearGradient9312"
|
||||
inkscape:collect="always" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
inkscape:window-height="1003"
|
||||
inkscape:window-width="1524"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
guidetolerance="10.0"
|
||||
gridtolerance="10.0"
|
||||
objecttolerance="10.0"
|
||||
borderopacity="1.0"
|
||||
bordercolor="#666666"
|
||||
pagecolor="#ffffff"
|
||||
id="base"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true"
|
||||
inkscape:zoom="7.8958335"
|
||||
inkscape:cx="10.561503"
|
||||
inkscape:cy="-1.722049"
|
||||
inkscape:window-x="1360"
|
||||
inkscape:window-y="0"
|
||||
inkscape:current-layer="g9892"
|
||||
showgrid="false"
|
||||
inkscape:window-maximized="0" />
|
||||
<rect
|
||||
style="opacity:1;fill:#000000;fill-opacity:0.39215687;fill-rule:evenodd;stroke:none;stroke-width:0.2;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect4558"
|
||||
width="64.552505"
|
||||
height="41.53862"
|
||||
x="1.4479325"
|
||||
y="2.9772801"
|
||||
ry="11.631706"
|
||||
rx="32.212925"
|
||||
inkscape:transform-center-x="8.4568136" />
|
||||
<rect
|
||||
style="opacity:1;fill:#3c8c8c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.015;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect9971"
|
||||
width="64.499474"
|
||||
height="42.154343"
|
||||
x="0.0625"
|
||||
y="0.18084908"
|
||||
ry="11.557454"
|
||||
rx="32.249737"
|
||||
inkscape:transform-center-x="8.2952569" />
|
||||
<g
|
||||
id="g4160"
|
||||
transform="translate(-0.05300324,0)">
|
||||
<path
|
||||
id="path4815"
|
||||
d="M 64.514069,11.541297 64.457031,10.955643 64.342949,10.36999 64.152814,9.8038604 63.867612,9.2182077 63.487345,8.6520765 63.050034,8.0859452 62.517657,7.5393369 61.909226,7.0122499 61.224742,6.4851607 60.464203,5.9775955 59.646626,5.4700289 58.752993,4.9819859 57.783307,4.4939413 56.75658,4.0644625 55.6538,3.6349838 54.493981,3.2055052 53.296132,2.8150692 52.022232,2.4636777 50.710303,2.1122862 49.341334,1.7999375 47.934339,1.5071117 46.489316,1.2338059 45.006267,0.99954576 43.504204,0.76528425 41.964114,0.58958842 40.385997,0.43341443 l -1.59713,-0.1366529 -1.597129,-0.0976086 -1.616141,-0.0780874 -1.63516,-0.05856538 -1.616141,0 0,0 -1.63516,0 -1.635155,0.05856538 -1.597131,0.0780874 -1.616145,0.0976086 -1.597129,0.1366529 -1.559104,0.15617399 -1.5591,0.17569583 -1.502065,0.23426151 -1.483049,0.23426014 -1.445024,0.2733058 -1.406994,0.2928258 -1.368967,0.3123487 -1.311931,0.3513915 -1.2739,0.3513915 -1.19785,0.390436 L 8.9757693,3.6349838 7.8729941,4.0644625 6.8462664,4.4939413 5.8765785,4.9819859 4.9829488,5.4700289 4.1653682,5.9775955 3.4048335,6.4851607 2.7203448,7.0122499 2.1309311,7.5393369 1.5795405,8.0859452 1.1422325,8.6520765 0.76195982,9.2182077 0.47676065,9.8038604 0.26760898,10.36999 l -0.11407814,0.585653 -0.0380276,0.585654 0,0 0.0380276,0.585653 0.11407814,0.566131 0.20915167,0.585653 0.28519917,0.54661 0.38027268,0.585652 0.437308,0.546609 0.5513906,0.566131 0.5894137,0.546612 0.6844887,0.527087 0.7605347,0.488044 0.8175806,0.507564 0.8936297,0.507565 0.9696879,0.449001 1.0267277,0.449002 1.1027752,0.449002 1.1598227,0.409958 1.19785,0.390436 1.2739,0.351389 1.311931,0.351391 1.368967,0.312348 1.406994,0.312351 1.445024,0.253779 1.483049,0.253784 1.502065,0.214738 1.5591,0.175698 1.559104,0.156176 1.597129,0.136651 1.616145,0.09761 1.597131,0.07809 1.635155,0.05857 1.63516,0 0,0 1.616141,0 1.63516,-0.05857 1.616141,-0.07809 1.597129,-0.09761 1.59713,-0.136651 1.578117,-0.156176 1.54009,-0.175698 1.502063,-0.214738 1.483049,-0.253784 1.445023,-0.253779 1.406995,-0.312351 1.368969,-0.312348 1.311929,-0.351391 1.2739,-0.351389 1.197849,-0.390436 1.159819,-0.409958 1.10278,-0.449002 1.026727,-0.449002 0.969686,-0.449001 0.893633,-0.507565 0.817577,-0.507564 0.760539,-0.488044 0.684484,-0.527087 0.608431,-0.546612 0.532377,-0.566131 0.437311,-0.546609 0.380267,-0.585652 0.285202,-0.54661 0.190135,-0.585653 0.114082,-0.566131 0.05704,-0.585653"
|
||||
style="fill:url(#linearGradient2216);fill-opacity:1;stroke:none;stroke-width:0.01928605;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 1.5224251,11.738982 c 22.4781589,0.179109 22.3886049,0.08956 22.3886049,0.08956 l 0,0"
|
||||
id="path7667"
|
||||
inkscape:connector-curvature="0" />
|
||||
<g
|
||||
id="g9892"
|
||||
transform="translate(-57.894994,22.707717)">
|
||||
<path
|
||||
style="fill:#000000;stroke:none;stroke-width:0.001"
|
||||
d="m 72.358817,-10.103986 9.453197,0.0146 -0.0017,1.0942609 2.902891,-2.1840409 -2.895747,-2.441693 -0.0017,1.077681 -9.453197,-0.0146 -0.0038,2.453792"
|
||||
id="path2049"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#000000;stroke:none;stroke-width:0.001"
|
||||
d="m 93.50729,-13.193692 6.83173,-5.703422 0.95326,0.812405 0,-3.249623 -3.872633,0 0.953265,0.812406 -6.831729,5.70342 1.966107,1.624814"
|
||||
id="path2055"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#000000;stroke:none;stroke-width:0.001"
|
||||
d="m 93.50729,-10.739897 9.73124,0 0,1.0776818 2.62148,-2.4372178 -2.62148,-2.188521 0,1.094262 -9.73124,0 0,2.453795"
|
||||
id="path2057"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#000000;stroke:none;stroke-width:0.001"
|
||||
d="m 91.541183,-9.1150862 6.831729,5.703419 -0.953265,0.828987 3.872633,-0.265276 0,-2.984348 -0.95326,0.812406 -6.83173,-5.7199988 -1.966107,1.6248108"
|
||||
id="path2059"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#ffffff;stroke:none;stroke-width:0.001"
|
||||
d="m 72.061358,-10.386298 9.413478,0.01454 -0.0017,1.0942579 2.922724,-2.1674299 -2.91558,-2.458303 -0.0017,1.07768 -9.413478,-0.01454 -0.0038,2.453795"
|
||||
id="path2065"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#ffffff;stroke:none;stroke-width:0.001"
|
||||
d="m 93.844905,-12.911839 6.811865,-5.72 0.97313,0.828986 0,-3.266204 -3.912358,0 0.973126,0.812407 -6.811872,5.72 1.966109,1.624811"
|
||||
id="path2071"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#ffffff;stroke:none;stroke-width:0.001"
|
||||
d="m 93.844905,-10.458041 9.711385,0 0,1.0776808 2.62148,-2.4537968 -2.62148,-2.171941 0,1.094259 -9.711385,0 0,2.453798"
|
||||
id="path2073"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#ffffff;stroke:none;stroke-width:0.001"
|
||||
d="m 91.878796,-8.8332292 6.811872,5.703419 -0.973126,0.812405 3.912358,-0.265275 0,-3.000928 -0.97313,0.812406 -6.811865,-5.6868388 -1.966109,1.6248118"
|
||||
id="path2075"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#000000;stroke:none;stroke-width:0.001"
|
||||
d="m 95.45354,-11.701521 -0.01986,-0.215535 -0.01986,-0.248695 -0.03972,-0.215536 -0.03972,-0.215537 -0.05958,-0.232115 -0.07944,-0.215538 -0.0993,-0.215536 -0.07944,-0.215536 -0.119159,-0.198957 -0.119157,-0.198956 -0.139019,-0.198957 -0.158877,-0.198957 -0.158876,-0.182376 -0.178737,-0.165797 -0.178738,-0.182378 -0.178737,-0.149215 -0.218457,-0.149218 -0.198596,-0.149218 -0.218457,-0.132636 -0.218457,-0.116059 -0.258175,-0.132639 -0.218457,-0.09948 -0.258176,-0.0829 -0.258177,-0.0829 -0.238314,-0.0829 -0.278037,-0.04974 -0.238314,-0.06632 -0.297897,-0.03316 -0.258177,-0.03316 -0.278033,-0.01658 -0.258177,0 0,0 -0.278035,0 -0.258176,0.01658 -0.278036,0.03316 -0.258176,0.03316 -0.278036,0.06632 -0.258176,0.04974 -0.258176,0.0829 -0.258175,0.0829 -0.238315,0.0829 -0.218458,0.09948 -0.258175,0.132639 -0.238316,0.116059 -0.198598,0.132636 -0.218455,0.149218 -0.198598,0.149218 -0.178736,0.149215 -0.198597,0.182378 -0.158877,0.165797 -0.158878,0.182376 -0.158877,0.198957 -0.139019,0.198957 -0.119157,0.198956 -0.11916,0.198957 -0.0993,0.215536 -0.0993,0.215536 -0.05958,0.215538 -0.05958,0.232115 -0.05958,0.215537 -0.03972,0.215536 0,0.248695 -0.01986,0.215535 0,0 0.01986,0.215537 0,0.232117 0.03972,0.232116 0.05958,0.232116 0.05958,0.215536 0.05958,0.215536 0.0993,0.215536 0.0993,0.2155358 0.11916,0.198956 0.119157,0.198956 0.139019,0.198957 0.158877,0.198957 0.158878,0.182377 0.158877,0.165797 0.198597,0.165797 0.178736,0.165798 0.198598,0.149217 0.218455,0.149217 0.198598,0.132638 0.238316,0.116058 0.258175,0.116057 0.218458,0.116058 0.238315,0.09948 0.258175,0.0829 0.258176,0.04974 0.258176,0.06632 0.278036,0.06632 0.258176,0.01658 0.278036,0.04974 0.258176,0.01658 0.278035,0 0,0 0.258177,0 0.278033,-0.01658 0.258177,-0.04974 0.297897,-0.01658 0.238314,-0.06632 0.278037,-0.06632 0.238314,-0.04974 0.258177,-0.0829 0.258176,-0.09948 0.218457,-0.116058 0.258175,-0.116057 0.218457,-0.116058 0.218457,-0.132638 0.198596,-0.149217 0.218457,-0.149217 0.178737,-0.165798 0.178738,-0.165797 0.178737,-0.165797 0.158876,-0.182377 0.158877,-0.198957 0.139019,-0.198957 0.119157,-0.198956 0.119159,-0.198956 0.07944,-0.2155358 0.0993,-0.215536 0.07944,-0.215536 0.05958,-0.215536 0.03972,-0.232116 0.03972,-0.232116 0.01986,-0.232117 0.01986,-0.215537"
|
||||
id="path2081"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:#ffffff;stroke:none;stroke-width:0.001"
|
||||
d="m 96.089049,-11.154389 -0.01986,-0.215537 -0.01986,-0.232116 -0.03972,-0.232115 -0.01986,-0.232117 -0.07944,-0.215536 -0.07944,-0.215536 -0.07944,-0.215536 -0.0993,-0.198957 -0.11916,-0.215537 -0.119156,-0.198956 -0.139018,-0.198955 -0.139018,-0.198957 -0.178738,-0.182377 -0.178736,-0.165798 -0.158877,-0.165797 -0.198597,-0.165796 -0.218457,-0.149218 -0.198595,-0.149218 -0.218458,-0.132637 -0.218457,-0.116057 -0.238315,-0.116059 -0.238318,-0.116057 -0.258175,-0.09948 -0.238316,-0.0829 -0.258175,-0.06632 -0.258176,-0.04974 -0.258178,-0.06632 -0.278033,-0.03316 -0.258177,-0.03316 -0.278036,-0.01658 -0.278035,0 0,0 -0.278036,0 -0.258175,0.01658 -0.258176,0.03316 -0.278036,0.03316 -0.258175,0.06632 -0.258177,0.04974 -0.278035,0.06632 -0.238316,0.0829 -0.238317,0.09948 -0.258176,0.116057 -0.218456,0.116059 -0.238316,0.116057 -0.218457,0.132637 -0.218457,0.149218 -0.198597,0.149218 -0.178735,0.165796 -0.198599,0.165797 -0.158876,0.165798 -0.158877,0.182377 -0.158878,0.198957 -0.139018,0.198955 -0.119156,0.198956 -0.11916,0.215537 -0.0993,0.198957 -0.07944,0.215536 -0.07944,0.215536 -0.05958,0.215536 -0.03972,0.232117 -0.03972,0.232115 -0.01986,0.232116 0,0.215537 0,0 0,0.232116 0.01986,0.232115 0.03972,0.198957 0.03972,0.232117 0.05958,0.232116 0.07944,0.2155358 0.07944,0.215536 0.0993,0.215536 0.11916,0.198956 0.119156,0.198956 0.139018,0.198957 0.158878,0.182377 0.158877,0.198956 0.158876,0.165798 0.198599,0.165797 0.178735,0.165797 0.198597,0.149217 0.218457,0.132637 0.218457,0.149219 0.238316,0.116057 0.218456,0.116058 0.258176,0.116059 0.238317,0.0829 0.238316,0.0829 0.278035,0.0829 0.258177,0.06632 0.258175,0.04974 0.278036,0.03316 0.258176,0.03316 0.258175,0.01658 0.278036,0 0,0 0.278035,0 0.278036,-0.01658 0.258177,-0.03316 0.278033,-0.03316 0.258178,-0.04974 0.258176,-0.06632 0.258175,-0.0829 0.238316,-0.0829 0.258175,-0.0829 0.238318,-0.116059 0.238315,-0.116058 0.218457,-0.116057 0.218458,-0.149219 0.198595,-0.132637 0.218457,-0.149217 0.198597,-0.165797 0.158877,-0.165797 0.178736,-0.165798 0.178738,-0.198956 0.139018,-0.182377 0.139018,-0.198957 0.119156,-0.198956 0.11916,-0.198956 0.0993,-0.215536 0.07944,-0.215536 0.07944,-0.2155358 0.07944,-0.232116 0.01986,-0.232117 0.03972,-0.198957 0.01986,-0.232115 0.01986,-0.232116"
|
||||
id="path2083"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:url(#linearGradient9177);fill-opacity:1;stroke:none;stroke-width:0.001"
|
||||
d="m 95.751434,-11.419665 -0.01986,-0.232116 0,-0.232116 -0.03972,-0.215536 -0.05958,-0.232116 -0.05958,-0.215536 -0.05958,-0.215536 -0.0993,-0.215537 -0.0993,-0.215534 -0.0993,-0.198958 -0.119148,-0.198957 -0.158878,-0.198956 -0.158878,-0.198957 -0.139019,-0.182376 -0.178736,-0.165797 -0.178738,-0.165798 -0.198596,-0.165797 -0.198597,-0.149218 -0.198596,-0.149217 -0.218457,-0.132637 -0.238318,-0.132639 -0.238314,-0.116057 -0.218458,-0.09948 -0.258175,-0.09948 -0.258176,-0.0829 -0.258176,-0.0829 -0.258176,-0.04974 -0.258175,-0.04974 -0.278036,-0.03316 -0.258176,-0.03316 -0.278035,-0.01658 -0.258175,0 0,0 -0.278037,0 -0.258175,0.01658 -0.278037,0.03316 -0.278036,0.03316 -0.258175,0.04974 -0.258176,0.04974 -0.258176,0.0829 -0.258176,0.0829 -0.238315,0.09948 -0.238318,0.09948 -0.238314,0.116057 -0.238316,0.132639 -0.198598,0.132637 -0.218455,0.149217 -0.198598,0.149218 -0.178737,0.165797 -0.198596,0.165798 -0.178738,0.165797 -0.139017,0.182376 -0.158877,0.198957 -0.158878,0.198956 -0.0993,0.198957 -0.119159,0.198958 -0.0993,0.215534 -0.0993,0.215537 -0.05958,0.215536 -0.05958,0.215536 -0.05958,0.232116 -0.03972,0.215536 0,0.232116 -0.01986,0.232116 0,0 0.01986,0.215537 0,0.232115 0.03972,0.232116 0.05958,0.215536 0.05958,0.232115 0.05958,0.215538 0.0993,0.2155368 0.0993,0.198956 0.119159,0.215536 0.0993,0.198956 0.158878,0.198958 0.158877,0.182375 0.139017,0.182378 0.178738,0.165796 0.198596,0.182377 0.178737,0.149218 0.198598,0.165797 0.218455,0.132638 0.198598,0.149216 0.238316,0.116058 0.238314,0.116059 0.238318,0.116057 0.238315,0.0829 0.258176,0.0829 0.258176,0.0829 0.258176,0.04974 0.258175,0.04974 0.278036,0.04974 0.278037,0.03316 0.258175,0 0.278037,0.01658 0,0 0.258175,-0.01658 0.278035,0 0.258176,-0.03316 0.278036,-0.04974 0.258175,-0.04974 0.258176,-0.04974 0.258176,-0.0829 0.258176,-0.0829 0.258175,-0.0829 0.218458,-0.116057 0.238314,-0.116059 0.238318,-0.116058 0.218457,-0.149216 0.198596,-0.132638 0.198597,-0.165797 0.198596,-0.149218 0.178738,-0.182377 0.178736,-0.165796 0.139019,-0.182378 0.158878,-0.182375 0.158878,-0.198958 0.119156,-0.198956 0.0993,-0.215536 0.0993,-0.198956 0.0993,-0.2155368 0.05958,-0.215538 0.05958,-0.232115 0.05958,-0.215536 0.03972,-0.232116 0,-0.232115 0.01986,-0.215537"
|
||||
id="path2085"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 22 KiB |
387
gns3server/custom_symbols/loadbalancer_docker.svg
Normal file
After Width: | Height: | Size: 57 KiB |
1967
gns3server/custom_symbols/mgmt_station.svg
Normal file
After Width: | Height: | Size: 60 KiB |
1996
gns3server/custom_symbols/mgmt_station_docker.svg
Normal file
After Width: | Height: | Size: 94 KiB |
85
gns3server/custom_symbols/microsoft.svg
Normal file
@ -0,0 +1,85 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
height="70"
|
||||
width="70"
|
||||
id="svg2"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="microsoft.svg">
|
||||
<metadata
|
||||
id="metadata18">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs16" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1056"
|
||||
id="namedview14"
|
||||
showgrid="false"
|
||||
inkscape:zoom="6.0820847"
|
||||
inkscape:cx="11.449874"
|
||||
inkscape:cy="32.506345"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="24"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg2" />
|
||||
<rect
|
||||
height="64.5785798"
|
||||
width="64.5785805"
|
||||
x="2.7154145"
|
||||
y="2.8091612"
|
||||
id="rect0"
|
||||
style="fill:#ffffff" />
|
||||
<rect
|
||||
height="30.933941"
|
||||
width="30.933941"
|
||||
x="2.7154145"
|
||||
y="2.8091612"
|
||||
id="rect6"
|
||||
style="fill:#f35325" />
|
||||
<rect
|
||||
height="30.933941"
|
||||
width="30.933941"
|
||||
x="36.360054"
|
||||
y="2.8091612"
|
||||
id="rect8"
|
||||
style="fill:#81bc06" />
|
||||
<rect
|
||||
height="30.933941"
|
||||
width="30.933941"
|
||||
x="2.7154145"
|
||||
y="36.4538"
|
||||
id="rect10"
|
||||
style="fill:#05a6f0" />
|
||||
<rect
|
||||
height="30.933941"
|
||||
width="30.933941"
|
||||
x="36.360054"
|
||||
y="36.4538"
|
||||
id="rect12"
|
||||
style="fill:#ffba08" />
|
||||
</svg>
|
After Width: | Height: | Size: 2.1 KiB |
332
gns3server/custom_symbols/multilayer_switch_docker.svg
Normal file
After Width: | Height: | Size: 53 KiB |
344
gns3server/custom_symbols/multilayer_switch_green_docker.svg
Normal file
After Width: | Height: | Size: 54 KiB |
344
gns3server/custom_symbols/multilayer_switch_red_docker.svg
Normal file
After Width: | Height: | Size: 54 KiB |
BIN
gns3server/custom_symbols/opennac.png
Normal file
After Width: | Height: | Size: 782 B |
126
gns3server/custom_symbols/opensuse.svg
Normal file
@ -0,0 +1,126 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.0"
|
||||
width="70.00013"
|
||||
height="44.285007"
|
||||
id="svg2"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="opensuse.svg">
|
||||
<metadata
|
||||
id="metadata29">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs27" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="2495"
|
||||
inkscape:window-height="1056"
|
||||
id="namedview25"
|
||||
showgrid="false"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:zoom="2.6257672"
|
||||
inkscape:cx="10.160224"
|
||||
inkscape:cy="17.860616"
|
||||
inkscape:window-x="1985"
|
||||
inkscape:window-y="24"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" />
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
inkscape:label="Logo">
|
||||
<rect
|
||||
style="fill:#ffffff;stroke:#ffffff;stroke-opacity:1"
|
||||
id="rect4169"
|
||||
width="70.265175"
|
||||
height="44.939247"
|
||||
x="0.19042054"
|
||||
y="-0.27339759" />
|
||||
<path
|
||||
d="m 61.241669,11.174955 c -1.53878,-0.05651 -2.74666,-1.3536628 -2.69527,-2.8946458 0.0237,-0.746062 0.34262,-1.435659 0.88457,-1.944803 0.54415,-0.508997 1.25487,-0.773944 2.00093,-0.745877 1.54098,0.05393 2.7492,1.348923 2.69744,2.892257 -0.0233,0.743712 -0.33788,1.433269 -0.88203,1.9446168 -0.54669,0.506794 -1.25741,0.771779 -2.00568,0.748452 l 4e-5,0 z m 0.64765,-2.5312428 c 0.68485,0 1.24065,-0.370493 1.24065,-0.825521 0,-0.457417 -0.55583,-0.828099 -1.24065,-0.828099 -0.68519,0 -1.23883,0.370682 -1.23883,0.828099 0,0.455028 0.55364,0.825521 1.23883,0.825521"
|
||||
style="fill:#73ba25;fill-rule:nonzero"
|
||||
id="path4"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 29.583689,27.224557 0.099,-0.0093 0.0161,-0.117267 c -0.0254,-0.09207 -0.0851,-0.174814 -0.17734,-1.31622 -0.0783,-1.010192 -0.23705,-3.780477 1.1573,-5.154248 0.54092,-0.536129 1.36682,-1.012503 2.01823,-1.166597 2.67143,-0.651227 6.13906,-0.200223 9.10042,3.223814 1.52805,1.769386 2.27816,2.577052 2.6532,2.938324 l 0.12872,0.119605 0.15658,0.112799 c 0.12192,0.06901 5.08971,2.356252 5.08971,2.356252 l 0.10119,-0.02536 0.003,-0.107964 c -0.0322,-0.03683 -3.14766,-4.061499 -2.59561,-7.377169 0.43723,-2.641561 2.54022,-2.404543 5.44654,-2.073291 0.9503,0.108148 2.03181,0.232405 3.15016,0.257775 3.12225,0.01843 6.48658,-0.554502 8.55987,-1.461199 1.34145,-0.586685 2.19737,-0.973367 2.73364,-1.461201 0.19304,-0.158743 0.29423,-0.420982 0.39791,-0.697174 l 0.0715,-0.186275 c 0.0873,-0.223286 0.21381,-0.701824 0.26924,-0.961904 0.0254,-0.114958 0.0368,-0.239359 -0.044,-0.301379 l -0.28747,0.0529 c -0.90882,0.545386 -3.18482,1.585453 -5.31533,1.6269 -2.63926,0.05506 -7.95921,-2.65551 -8.51375,-2.943157 l -0.0529,-0.06202 c -0.1337,-0.317667 -0.93207,-2.20681 -1.10011,-2.6047298 3.8291,2.5218068 7.00425,3.9163408 9.43651,4.1326328 2.70611,0.24152 4.81623,-1.235605 5.71824,-1.866296 0.17697,-0.119605 0.31067,-0.216291 0.36574,-0.236868 l 0.0575,-0.09438 c -0.14981,-0.9503 -1.56489,-5.5523538 -2.63244,-6.6569298 -0.29674,-0.303721 -0.53379,-0.598143 -1.0125,-0.878983 -3.86805,-2.254915 -13.05144,-3.61726601 -13.48154,-3.67928501 l -0.0737,0.02072 -0.0275,0.06436 c 0,0 -0.0347,1.90524801 -0.0393,2.11707701 -0.93888,-0.31302 -7.75649,-2.51518001 -14.14906,-2.73828401 -5.41861,-0.19096 -12.82114,-0.448735 -23.28162,5.98029301 l -0.30837,0.193229 C 8.301909,9.3132972 4.905588,13.096264 3.129245,17.495785 2.572399,18.878675 1.822322,22.001299 2.5631,24.939623 c 0.322136,1.286385 0.918119,2.574894 1.723624,3.730064 1.815516,2.609233 4.864295,4.342157 8.147825,4.634235 4.63423,0.414027 8.14566,-1.668197 9.39503,-5.566303 0.85822,-2.689846 0,-6.636023 -3.29048,-8.649421 -2.67609,-1.640665 -5.55701,-1.265625 -7.22524,-0.16339 -1.44959,0.961757 -2.27099,2.452795 -2.25492,4.093494 0.0322,2.906146 2.53807,4.452427 4.33751,4.454768 0.52448,0 1.04915,-0.08973 1.64282,-0.282961 0.20953,-0.06454 0.40957,-0.142636 0.62817,-0.278498 l 0.0669,-0.0436 0.0436,-0.02536 -0.0161,0.007 c 0.41187,-0.27619 0.66034,-0.731663 0.66034,-1.219534 0,-0.133517 -0.0207,-0.269233 -0.0575,-0.405058 -0.21165,-0.734002 -0.93888,-1.180362 -1.6936,-1.042375 l -0.10119,0.02071 -0.13803,0.04595 -0.20022,0.06685 c -0.41417,0.103501 -0.72719,0.110495 -0.79155,0.112617 -0.21165,-0.01378 -1.24956,-0.324258 -1.24956,-1.461018 l 0,-0.01375 c 0.003,-0.416521 0.17035,-0.708781 0.26242,-0.867525 0.3198,-0.50625 1.20343,-1.003203 2.39756,-0.897398 1.56488,0.133371 2.69233,0.936537 3.4401,2.450637 0.69502,1.408114 0.51325,3.138548 -0.46711,4.408641 -0.97336,1.258854 -2.70592,1.792635 -5.01162,1.541632 -2.32407,-0.255286 -4.28903,-1.592231 -5.38895,-3.674634 -1.076867,-2.034155 -1.136762,-4.447961 -0.154099,-6.302429 2.353949,-4.441006 6.797079,-4.39506 9.233979,-3.973892 3.60797,0.623516 6.88234,3.511241 8.3389,7.351799 0.2324,0.612089 0.35197,1.097582 0.45547,1.539326 l 0.15658,0.664993 4.0749,1.99033 0.0554,0.03914 1.1e-4,-3.7e-5 z M 58.548909,5.5489272 c -0.76831,0.713245 -1.20807,1.686612 -1.24491,2.735942 -0.0711,2.1628418 1.62709,3.9853128 3.78978,4.0659648 1.05399,0.03449 2.05253,-0.336085 2.81872,-1.05398 0.76619,-0.715592 1.20592,-1.6866118 1.2449,-2.7336368 0.0737,-2.165181 -1.62459,-3.989959 -3.79189,-4.06809 -1.04933,-0.03448 -2.05041,0.335905 -2.8166,1.0538"
|
||||
style="fill:#73ba25;fill-rule:evenodd"
|
||||
id="path6"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 69.880729,32.589151 -0.0455,0 c -0.0526,0 -0.0982,-0.04561 -0.0982,-0.09822 l 0,-0.704859 -0.15433,0.234949 c -0.0175,0.02452 -0.0491,0.03502 -0.0771,0.03502 l -0.0176,0 c -0.028,0 -0.0596,-0.01051 -0.0771,-0.03502 l -0.15784,-0.234949 0,0.704859 c 0,0.05261 -0.0456,0.09822 -0.10172,0.09822 l -0.0455,0 c -0.0526,0 -0.0982,-0.04561 -0.0982,-0.09822 l 0,-0.841684 -0.4735,0 0,0.841684 c 0,0.05261 -0.0491,0.09822 -0.10513,0.09822 l -0.0421,0 c -0.0526,0 -0.0982,-0.04561 -0.0982,-0.09822 l 0,-0.841684 -0.35418,0 c -0.0526,0 -0.0947,-0.03511 -0.0947,-0.09113 l 0,-0.0491 c 0,-0.05611 0.0421,-0.09122 0.0947,-0.09122 l 1.24147,0 c 0.0491,0 0.0806,0.0175 0.0982,0.04561 l 0.23494,0.35418 0.23496,-0.35418 c 0.0175,-0.0246 0.0456,-0.04561 0.0982,-0.04561 l 0.15783,0 0,1.080139 c 0,0.05261 -0.0491,0.09822 -0.10522,0.09822"
|
||||
style="fill:#73ba25"
|
||||
id="path8"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 29.287079,31.112727 c -1.69737,0 -2.63727,1.437818 -2.63727,2.433833 l 0,1.276578 c 0,1.462418 1.19586,2.370719 2.3076,2.370719 l 3.89275,0 c 0.48751,0 0.58922,0.319076 0.58922,0.589128 l 0,0.824177 c 0,0.08763 -0.014,0.880293 -0.58922,0.880293 l -5.31306,0 c -0.52611,0 -0.9083,0.364684 -0.9083,0.866189 l 0,0.227955 c 0,0.498004 0.37869,0.866282 0.9083,0.866282 l 5.60422,0 c 1.46242,0 2.40932,-1.017113 2.40932,-2.595259 l 0,-1.378208 c 0,-1.480014 -1.06613,-2.142767 -2.12176,-2.142767 l -3.82964,0 c -0.57871,0 -0.83818,-0.427891 -0.83818,-0.736464 l 0,-0.757558 c 0,-0.480409 0.31908,-0.753967 0.8802,-0.753967 l 4.24352,0 c 0.51902,0 0.9083,-0.371774 0.9083,-0.866282 l 0,-0.227952 c 0,-0.491002 -0.39629,-0.866195 -0.9258,-0.866195 l -4.5732,0"
|
||||
id="S"
|
||||
style="fill:#73ba25"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 45.219449,31.112727 c -0.50151,0 -0.9083,0.40679 -0.9083,0.908297 l 0,6.523027 c 0,0.519012 -0.42438,0.939901 -0.9399,0.939901 l -2.95994,0 c -0.51902,0 -0.93991,-0.420889 -0.93991,-0.939901 l 0,-6.523027 c 0,-0.501507 -0.40328,-0.908297 -0.9083,-0.908297 l -0.28756,0 c -0.50501,0 -0.9083,0.399788 -0.9083,0.908297 l 0,6.771984 c 0,1.574646 1.23797,2.717986 2.94585,2.717986 l 3.16338,0 c 1.70788,0 2.94585,-1.14334 2.94585,-2.717986 l 0,-6.771984 c 0,-0.508509 -0.39979,-0.908297 -0.9083,-0.908297 l -0.28757,0"
|
||||
style="fill:#73ba25"
|
||||
id="path11"
|
||||
inkscape:connector-curvature="0" />
|
||||
<use
|
||||
style=""
|
||||
transform="translate(21.601409,1.9460253e-7)"
|
||||
xlink:href="#S"
|
||||
id="use13"
|
||||
x="0"
|
||||
y="0"
|
||||
width="100%"
|
||||
height="100%" />
|
||||
<path
|
||||
d="m 59.843639,31.112727 c -0.50142,0 -0.8872,0.371687 -0.8872,0.866189 l 0,8.602683 c 0,0.491002 0.37169,0.866282 0.86969,0.866282 l 6.8562,0 c 0.52611,0 0.90839,-0.364775 0.90839,-0.866282 l 0,-0.227955 c 0,-0.498005 -0.37878,-0.866189 -0.90839,-0.866189 0,0 -5.36217,0 -5.61472,0 0,-0.22445 0,-1.967432 0,-2.191882 0.25255,0 4.11379,0 4.11379,0 0.52602,0 0.9083,-0.364772 0.9083,-0.869784 l 0,-0.224447 c 0,-0.50151 -0.38228,-0.869695 -0.9083,-0.869695 0,0 -3.86124,0 -4.11379,0 0,-0.224446 0,-2.027045 0,-2.251491 0.25255,0 5.33066,0 5.33066,0 0.52611,0 0.90839,-0.364772 0.90839,-0.866283 l 0,-0.227949 c 0,-0.50151 -0.38228,-0.866192 -0.90839,-0.866192 l -6.55103,0"
|
||||
style="fill:#73ba25"
|
||||
id="path15"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="M 1.553608,35.20533 C 0.697896,35.20533 0,35.87167 0,36.695847 l 0,3.244006 c 0,0.834679 0.673347,1.51503 1.501007,1.51503 l 2.097187,0 c 0.82766,0 1.504508,-0.680351 1.504508,-1.51503 l 0,-3.244006 c 0,-0.820674 -0.697893,-1.490517 -1.553608,-1.490517 l -1.995486,0 z m -0.452408,4.608203 0,-2.959853 c 0,-0.347267 0.284072,-0.63133 0.631267,-0.63133 l 1.634267,0 c 0.340183,0 0.631258,0.287653 0.631258,0.63133 l 0,2.959853 c 0,0.34727 -0.284063,0.631328 -0.631258,0.631328 l -1.6483,0 c -0.347195,0 -0.617234,-0.277055 -0.617234,-0.631328"
|
||||
style="fill:#73ba25"
|
||||
id="path17"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 9.858239,35.166812 c -0.60673,0 -1.05914,0.217447 -1.42738,0.392785 -0.22094,0.105135 -0.41382,0.196349 -0.56463,0.196349 -0.0631,0 -0.12274,-0.02801 -0.15431,-0.07712 l -0.13677,-0.266555 c -0.0316,-0.07012 -0.17185,-0.206939 -0.347194,-0.206939 l -0.203405,0 c -0.196393,0 -0.357718,0.175426 -0.357718,0.396282 l 0,8.223993 c 0,0.25596 0.199904,0.4594 0.45942,0.4594 l 0.178859,0 c 0.252508,0 0.459418,-0.20694 0.459418,-0.4594 l 0,-2.728494 c 0,-0.08062 0.0526,-0.164836 0.1017,-0.164836 0.15081,0 0.34369,0.08422 0.56814,0.189437 0.36473,0.164833 0.82065,0.375187 1.42738,0.375187 l 0.18934,0 c 1.06963,0 1.73598,-0.610142 1.73598,-1.592149 l 0,-3.138784 c 0,-0.967914 -0.68035,-1.595655 -1.73598,-1.595655 l -0.19285,0 0,0 0,-0.0035 z m -2.09722,4.583605 0,-2.830121 c 0,-0.389282 0.30512,-0.694443 0.69439,-0.694443 l 1.52906,0 c 0.38929,0 0.69436,0.305161 0.69436,0.694443 l 0,2.830121 c 0,0.38228 -0.30857,0.694444 -0.69436,0.694444 l -1.52906,0 c -0.38226,0 -0.69439,-0.312164 -0.69439,-0.694444"
|
||||
style="fill:#73ba25"
|
||||
id="path19"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 14.894249,35.20533 c -0.85569,0 -1.55354,0.66634 -1.55354,1.490517 l 0,3.219406 c 0,0.834678 0.67684,1.54313 1.47642,1.54313 l 2.16386,0 c 0.26647,0 0.45941,-0.182431 0.45941,-0.434891 l 0,-0.140328 c 0,-0.25246 -0.19294,-0.434798 -0.45941,-0.434798 l -1.77458,0 c -0.49801,0 -0.76106,-0.242048 -0.76106,-0.708452 0,0 0,-0.810083 0,-0.939903 0.14383,0 3.20549,0 3.20549,0 0.51201,0 0.82059,-0.315574 0.82059,-0.848684 l 0,-1.248475 c 0,-0.820676 -0.69786,-1.490432 -1.55355,-1.490432 l -2.02004,0 -0.004,-0.0071 z m -0.4524,1.634257 c 0,-0.343679 0.27006,-0.617237 0.61723,-0.617237 l 1.68687,0 c 0.34727,0 0.61724,0.270055 0.61724,0.617237 0,0 0,0.873282 0,1.003018 -0.13674,0 -2.78452,0 -2.92134,0 0,-0.129736 0,-1.003018 0,-1.003018"
|
||||
style="fill:#73ba25"
|
||||
id="path21"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 22.932389,35.166812 c -0.60322,0 -1.05913,0.213944 -1.4239,0.389285 -0.22795,0.105135 -0.4243,0.199849 -0.58213,0.199849 -0.0701,0 -0.0982,-0.007 -0.15083,-0.101723 l -0.12623,-0.231452 c -0.0701,-0.143735 -0.19285,-0.217441 -0.36118,-0.217441 l -0.17894,0 c -0.21385,0 -0.36818,0.16483 -0.36818,0.396282 l 0,5.393777 c 0,0.256053 0.20335,0.462994 0.4594,0.462994 l 0.17884,0 c 0.25255,0 0.4594,-0.206941 0.4594,-0.462994 l 0,-4.082095 c 0,-0.38228 0.31217,-0.694444 0.69445,-0.694444 l 1.52904,0 c 0.38228,0 0.69435,0.312164 0.69435,0.694444 l 0,4.082095 c 0,0.256053 0.20344,0.462994 0.45949,0.462994 l 0.17884,0 c 0.25246,0 0.45941,-0.206941 0.45941,-0.462994 l 0,-4.232926 c 0,-0.967911 -0.68035,-1.595651 -1.73598,-1.595651 l -0.19285,0"
|
||||
style="fill:#73ba25"
|
||||
id="path23"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 13 KiB |
26
gns3server/custom_symbols/openvswitch_bybaro.svg
Normal file
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<svg id="svg1998" width="51.358818" height="47.630692" version="1.0" xmlns="http://www.w3.org/2000/svg">
|
||||
<defs id="defs2001">
|
||||
<marker orient="auto" refY="0" refX="0" id="Arrow2Lstart" style="overflow:visible">
|
||||
<path id="path11918" style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round" d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " transform="matrix(1.1,0,0,1.1,1.1,0)"/>
|
||||
</marker>
|
||||
<marker orient="auto" refY="0" refX="0" id="Arrow1Send" style="overflow:visible">
|
||||
<path id="path11921" d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z " style="fill-rule:evenodd;stroke:black;stroke-width:1pt;marker-start:none" transform="matrix(-0.2,0,0,-0.2,-1.2,0)"/>
|
||||
</marker>
|
||||
<marker orient="auto" refY="0" refX="0" id="Arrow1Lstart" style="overflow:visible">
|
||||
<path id="path11936" d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z " style="fill-rule:evenodd;stroke:black;stroke-width:1pt;marker-start:none" transform="matrix(0.8,0,0,0.8,10,0)"/>
|
||||
</marker>
|
||||
<linearGradient id="linearGradient9199" gradientUnits="userSpaceOnUse" gradientTransform="matrix(24.666332,1.3331909e-2,-1.2883406e-2,23.708747,-8.6563136,-4.6316275)" x1="2.1178279" y1="0.30649999" x2="-0.4954865" y2="0.30649999">
|
||||
<stop style="stop-opacity: 1; stop-color: rgb(239, 239, 239);" offset="0" id="stop8333"/>
|
||||
<stop style="stop-opacity: 1; stop-color: rgb(255, 255, 255);" offset="1" id="stop8335"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<path id="path11907" d="M 1.8402723,44.565612 L 1.8402723,47.615693 L 44.293781,47.615693 L 44.293781,44.565612 L 1.8402723,44.565612" style="fill:#000000;fill-opacity:0.39215686;stroke:none;stroke-width:0.001"/>
|
||||
<path id="path11020" d="M 44.370594,6.1851672 L 51.194316,1.0980117 L 51.358819,41.344844 L 44.266438,47.63069 L 44.370594,6.1851672" style="fill:#000000;fill-opacity:0.39215686;stroke:none;stroke-width:0.001"/>
|
||||
<path id="path2037" d="M 0.062500355,5.0439492 L 0.062500355,46.326915 L 44.31814,46.326915 L 44.31814,5.0439492 L 0.062500355,5.0439492" style="fill-opacity: 1; stroke: none; stroke-width: 0.001; fill: rgb(239, 239, 239);"/>
|
||||
<path id="path2041" d="M -0.028418806,5.1647552 L 5.5982489,0.11782966 L 50.022311,0.14184042 L 44.346312,5.1887393 L -0.028418806,5.1647552" style="fill:url(#linearGradient9199);fill-opacity:1;stroke:none;stroke-width:0.001"/>
|
||||
<path id="path2045" d="M 44.228586,5.0887264 L 49.976169,0.12831483 L 49.976169,41.348635 L 44.228586,46.309047 L 44.228586,5.0887264" style="fill-opacity: 1; stroke: none; stroke-width: 0.001; fill: rgb(223, 223, 223);"/>
|
||||
<path id="path-1" style="fill:#231f20;fill-opacity:1;fill-rule:nonzero;stroke:none" d="M 22.02 13.392 C 18.596 13.392 15.66 14.606 13.304 16.992 C 10.94 19.354 9.744 22.31 9.744 25.78 C 9.744 29.424 10.984 32.462 13.428 34.804 C 15.862 37.152 18.706 38.342 21.89 38.342 C 25.346 38.342 28.302 37.132 30.678 34.744 C 33.052 32.326 34.256 29.34 34.256 25.87 C 34.256 22.352 33.068 19.364 30.72 16.992 C 28.39 14.606 25.464 13.392 22.02 13.392 Z M 21.824 43.716 C 17.4 43.716 13.37 42.162 9.85 39.1 C 5.966 35.706 4 31.202 4 25.714 C 4 20.886 5.794 16.684 9.332 13.218 C 12.852 9.756 17.146 8 22.09 8 C 26.972 8 31.22 9.772 34.714 13.266 C 38.22 16.758 40 21.014 40 25.91 C 40 30.842 38.214 35.086 34.69 38.518 C 31.154 41.966 26.824 43.716 21.824 43.716"/>
|
||||
<path id="path-2" style="fill:#458d3e;fill-opacity:1;fill-rule:nonzero;stroke:none" d="M 32.134 22.922 L 27.044 18.878 L 27.044 21.402 L 18.01 21.402 L 18.01 24.442 L 27.044 24.442 L 27.044 26.968 L 32.134 22.922"/>
|
||||
<path id="path-3" style="fill:#458d3e;fill-opacity:1;fill-rule:nonzero;stroke:none" d="M 11.436 28.122 L 16.532 32.168 L 16.532 29.644 L 25.564 29.644 L 25.564 26.6 L 16.532 26.6 L 16.532 24.074 L 11.436 28.122"/>
|
||||
</svg>
|
After Width: | Height: | Size: 3.8 KiB |
95
gns3server/custom_symbols/ostinato-3d-icon.svg
Normal file
After Width: | Height: | Size: 54 KiB |
BIN
gns3server/custom_symbols/packetfence2.png
Normal file
After Width: | Height: | Size: 20 KiB |
364
gns3server/custom_symbols/pan-vm-fw.svg
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
gns3server/custom_symbols/parrotlogo.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
56
gns3server/custom_symbols/qemu_guest_win10_bybaro.svg
Normal file
@ -0,0 +1,56 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<svg height="59.253815" id="Andysvg" version="1.0" width="65.414536" x="0.00000000" y="0.00000000" xmlns="http://www.w3.org/2000/svg">
|
||||
<defs id="defs3">
|
||||
<linearGradient id="linearGradient891" x1="92.437965" x2="27.674332" y1="-3.9104078" y2="91.076988" gradientTransform="matrix(0.8184166,0,0,0.530237,-9.8827678,-14.589608)" gradientUnits="userSpaceOnUse">
|
||||
<stop id="stop889" offset="0" style="stop-color:#626262;stop-opacity:1.0000000;"/>
|
||||
<stop id="stop890" offset="1" style="stop-color:#fff;stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient905" x1="-77.726181" x2="95.64444" y1="208.43991" y2="11.699047" gradientTransform="matrix(0.7314635,0,0,0.5932693,-9.8827694,-14.589616)" gradientUnits="userSpaceOnUse">
|
||||
<stop id="stop889" offset="0" style="stop-color:#626262;stop-opacity:1.0000000;"/>
|
||||
<stop id="stop890" offset="1" style="stop-color:#fff;stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<radialGradient cx="60.004654" cy="56.485935" id="radialGradient1132" r="68.589226" gradientTransform="matrix(0.8184166,0,0,0.530237,-9.8827678,-14.589608)" gradientUnits="userSpaceOnUse">
|
||||
<stop id="stop1134" offset="0" style="stop-color:#8bb7df;stop-opacity:1.0000000;"/>
|
||||
<stop id="stop1136" offset="0.7621" style="stop-color:#2a6092;stop-opacity:1.0000000;"/>
|
||||
<stop id="stop1135" offset="1" style="stop-color:#375e82;stop-opacity:1.0000000;"/>
|
||||
</radialGradient>
|
||||
<linearGradient id="linearGradient1140" x1="45.685757" x2="41.96706" y1="110.4447" y2="232.24953" gradientTransform="matrix(1.2743811,0,0,0.3405213,-9.8827694,-14.589616)" gradientUnits="userSpaceOnUse">
|
||||
<stop id="stop889" offset="0" style="stop-color:#626262;stop-opacity:1.0000000;"/>
|
||||
<stop id="stop890" offset="1" style="stop-color:#fff;stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient1144" x1="31.449743" x2="31.617281" y1="203.49899" y2="251.21892" gradientTransform="matrix(1.4044089,0,0,0.3089952,-9.8827694,-14.589616)" gradientUnits="userSpaceOnUse">
|
||||
<stop id="stop893" offset="0" style="stop-color:#ffffff;stop-opacity:0.00000000;"/>
|
||||
<stop id="stop894" offset="1" style="stop-color:#fff;stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient1146" x1="39.810947" x2="17.87653" y1="90.197021" y2="113.71949" gradientTransform="matrix(0.8811179,0,0,0.4925045,-9.8827694,-14.589616)" gradientUnits="userSpaceOnUse">
|
||||
<stop id="stop893" offset="0" style="stop-color:#ffffff;stop-opacity:0.00000000;"/>
|
||||
<stop id="stop894" offset="1" style="stop-color:#fff;stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient1156" x1="25.220816" x2="25.220816" y1="178.48862" y2="234.26866" gradientTransform="matrix(1.6156202,0,0,0.2685999,-9.8827678,-14.589608)" gradientUnits="userSpaceOnUse">
|
||||
<stop id="stop889" offset="0" style="stop-color:#626262;stop-opacity:1.0000000;"/>
|
||||
<stop id="stop890" offset="1" style="stop-color:#fff;stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient1157" x1="51.46093" x2="-16.224497" y1="269.85831" y2="176.28694" gradientTransform="matrix(1.6156202,0,0,0.2685999,-9.8827678,-14.589608)" gradientUnits="userSpaceOnUse">
|
||||
<stop id="stop889" offset="0" style="stop-color:#626262;stop-opacity:1.0000000;"/>
|
||||
<stop id="stop890" offset="1" style="stop-color:#fff;stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient2635" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.8821916,0,0,0.491702,-8.9069314,-15.277305)" x1="39.690613" y1="49.507656" x2="70.224304" y2="20.481863">
|
||||
<stop id="stop893" offset="0" style="stop-color:#ffffff;stop-opacity:0.00000000;"/>
|
||||
<stop id="stop894" offset="1" style="stop-color:#fff;stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient2637" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.8816883,0,0,0.4919824,-10.701684,-14.28309)" x1="35.190361" y1="76.277557" x2="8.3460579" y2="105.42543">
|
||||
<stop id="stop893" offset="0" style="stop-color:#ffffff;stop-opacity:0.00000000;"/>
|
||||
<stop id="stop894" offset="1" style="stop-color:#fff;stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<rect height="5.4088969" id="rect1155" style="fill:url(#linearGradient1156);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient1157);stroke-width:0.95344429pt" width="38.405891" x="12.350429" y="36.575089"/>
|
||||
<path d="M 0.19287398,54.885213 C -0.67386281,56.46268 1.5579198,59.253939 3.3933636,59.253939 L 62.069027,59.253939 C 63.628857,59.253939 65.976201,57.281205 65.269522,55.925378 L 58.655165,43.235277 C 58.145696,42.257819 57.005954,41.779036 55.881408,41.779036 L 8.9408812,41.779036 C 8.0135624,41.779036 7.0317541,42.438291 6.5938539,43.235277 L 0.19287398,54.885213 z " id="path1139" style="fill:url(#linearGradient1140);fill-opacity:1;fill-rule:evenodd;stroke-width:1.44734821pt"/>
|
||||
<rect height="39.110481" id="rect1137" rx="3.6272225" ry="3.536587" style="fill:url(#linearGradient905);fill-opacity:1;fill-rule:evenodd;stroke-width:1.62826681" width="48.220726" x="7.4732022" y="-0.010164791"/>
|
||||
<rect height="24.74659" id="rect1131" style="fill:url(#radialGradient1132);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient891);stroke-width:0.96503658pt" width="38.813015" x="12.390426" y="6.027596"/>
|
||||
<path d="M 8.5906358,19.782157 L 8.3772707,34.032521 C 8.3432557,36.304242 9.6712558,37.75887 12.004493,37.777143 L 38.568566,37.985175 L 41.128957,32.160207 L 11.471076,31.952177 L 11.257713,19.678141 L 8.5906358,19.782157 z " id="path1145" style="fill:url(#linearGradient1146);fill-opacity:1;fill-rule:evenodd;stroke-width:1pt"/>
|
||||
<path d="M 2.7205883,54.675124 C 2.1113822,55.866786 2.9089235,57.975349 4.9701318,57.975349 L 60.179981,57.975349 C 61.276346,57.975349 62.926231,56.48511 62.429524,55.460899 L 57.78047,45.874547 C 57.422369,45.136152 56.621274,44.774474 55.830865,44.774474 L 8.8693353,44.774468 C 8.2175462,44.774468 7.5274604,45.272486 7.2196723,45.874547 L 2.7205883,54.675124 z " id="path1143" style="fill:url(#linearGradient1144);fill-opacity:1;fill-rule:evenodd;stroke-width:1pt"/>
|
||||
<path d="M 19.010905,6.5904681 L 42.426675,6.2948726 C 46.041292,6.2492425 50.532134,9.8297185 50.532134,13.389152 L 50.532134,24.030571 L 18.710703,23.734975 L 19.010905,6.5904681 z " id="path1147" style="fill:url(#linearGradient2635);fill-opacity:1;fill-rule:evenodd;stroke-width:1pt"/>
|
||||
<rect x="12.664" y="6.294" width="38.092" height="24.48" style="fill: rgb(255, 255, 255);"/>
|
||||
<path d="M 41.29338,29.915511 L 20.310226,29.977799 C 17.071125,29.987414 13.079277,26.740463 13.111035,23.55121 L 13.205982,14.016504 L 41.715336,14.556637 L 41.29338,29.915511 z " id="path1149" style="fill:url(#linearGradient2637);fill-opacity:1;fill-rule:evenodd;stroke-width:1pt"/>
|
||||
<path d="M 22.129 11.703 L 29.893 10.647 L 29.896 18.134 L 22.138 18.178 Z M 29.891 18.997 L 29.895 26.494 L 22.136 25.428 L 22.135 18.948 Z M 30.832 10.507 L 41.126 9.004 L 41.126 18.039 L 30.832 18.12 Z M 41.129 19.067 L 41.126 28.063 L 30.832 26.608 L 30.818 19.05 Z" fill="#0078d6"/>
|
||||
</svg>
|
After Width: | Height: | Size: 7.0 KiB |
59
gns3server/custom_symbols/qemu_guest_win7_bybaro.svg
Normal file
@ -0,0 +1,59 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<svg height="59.253815" id="Andysvg" version="1.0" width="65.414536" x="0.00000000" y="0.00000000" xmlns="http://www.w3.org/2000/svg">
|
||||
<defs id="defs3">
|
||||
<linearGradient id="linearGradient891" x1="92.437965" x2="27.674332" y1="-3.9104078" y2="91.076988" gradientTransform="matrix(0.8184166,0,0,0.530237,-9.8827678,-14.589608)" gradientUnits="userSpaceOnUse">
|
||||
<stop id="stop889" offset="0" style="stop-color:#626262;stop-opacity:1.0000000;"/>
|
||||
<stop id="stop890" offset="1" style="stop-color:#fff;stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient905" x1="-77.726181" x2="95.64444" y1="208.43991" y2="11.699047" gradientTransform="matrix(0.7314635,0,0,0.5932693,-9.8827694,-14.589616)" gradientUnits="userSpaceOnUse">
|
||||
<stop id="stop889" offset="0" style="stop-color:#626262;stop-opacity:1.0000000;"/>
|
||||
<stop id="stop890" offset="1" style="stop-color:#fff;stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<radialGradient cx="60.004654" cy="56.485935" id="radialGradient1132" r="68.589226" gradientTransform="matrix(0.8184166,0,0,0.530237,-9.8827678,-14.589608)" gradientUnits="userSpaceOnUse">
|
||||
<stop id="stop1134" offset="0" style="stop-color:#8bb7df;stop-opacity:1.0000000;"/>
|
||||
<stop id="stop1136" offset="0.7621" style="stop-color:#2a6092;stop-opacity:1.0000000;"/>
|
||||
<stop id="stop1135" offset="1" style="stop-color:#375e82;stop-opacity:1.0000000;"/>
|
||||
</radialGradient>
|
||||
<linearGradient id="linearGradient1140" x1="45.685757" x2="41.96706" y1="110.4447" y2="232.24953" gradientTransform="matrix(1.2743811,0,0,0.3405213,-9.8827694,-14.589616)" gradientUnits="userSpaceOnUse">
|
||||
<stop id="stop889" offset="0" style="stop-color:#626262;stop-opacity:1.0000000;"/>
|
||||
<stop id="stop890" offset="1" style="stop-color:#fff;stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient1144" x1="31.449743" x2="31.617281" y1="203.49899" y2="251.21892" gradientTransform="matrix(1.4044089,0,0,0.3089952,-9.8827694,-14.589616)" gradientUnits="userSpaceOnUse">
|
||||
<stop id="stop893" offset="0" style="stop-color:#ffffff;stop-opacity:0.00000000;"/>
|
||||
<stop id="stop894" offset="1" style="stop-color:#fff;stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient1146" x1="39.810947" x2="17.87653" y1="90.197021" y2="113.71949" gradientTransform="matrix(0.8811179,0,0,0.4925045,-9.8827694,-14.589616)" gradientUnits="userSpaceOnUse">
|
||||
<stop id="stop893" offset="0" style="stop-color:#ffffff;stop-opacity:0.00000000;"/>
|
||||
<stop id="stop894" offset="1" style="stop-color:#fff;stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient1156" x1="25.220816" x2="25.220816" y1="178.48862" y2="234.26866" gradientTransform="matrix(1.6156202,0,0,0.2685999,-9.8827678,-14.589608)" gradientUnits="userSpaceOnUse">
|
||||
<stop id="stop889" offset="0" style="stop-color:#626262;stop-opacity:1.0000000;"/>
|
||||
<stop id="stop890" offset="1" style="stop-color:#fff;stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient1157" x1="51.46093" x2="-16.224497" y1="269.85831" y2="176.28694" gradientTransform="matrix(1.6156202,0,0,0.2685999,-9.8827678,-14.589608)" gradientUnits="userSpaceOnUse">
|
||||
<stop id="stop889" offset="0" style="stop-color:#626262;stop-opacity:1.0000000;"/>
|
||||
<stop id="stop890" offset="1" style="stop-color:#fff;stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient2635" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.8821916,0,0,0.491702,-8.9069314,-15.277305)" x1="39.690613" y1="49.507656" x2="70.224304" y2="20.481863">
|
||||
<stop id="stop893" offset="0" style="stop-color:#ffffff;stop-opacity:0.00000000;"/>
|
||||
<stop id="stop894" offset="1" style="stop-color:#fff;stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient2637" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.8816883,0,0,0.4919824,-10.701684,-14.28309)" x1="35.190361" y1="76.277557" x2="8.3460579" y2="105.42543">
|
||||
<stop id="stop893" offset="0" style="stop-color:#ffffff;stop-opacity:0.00000000;"/>
|
||||
<stop id="stop894" offset="1" style="stop-color:#fff;stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<rect height="5.4088969" id="rect1155" style="fill:url(#linearGradient1156);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient1157);stroke-width:0.95344429pt" width="38.405891" x="12.350429" y="36.575089"/>
|
||||
<path d="M 0.19287398,54.885213 C -0.67386281,56.46268 1.5579198,59.253939 3.3933636,59.253939 L 62.069027,59.253939 C 63.628857,59.253939 65.976201,57.281205 65.269522,55.925378 L 58.655165,43.235277 C 58.145696,42.257819 57.005954,41.779036 55.881408,41.779036 L 8.9408812,41.779036 C 8.0135624,41.779036 7.0317541,42.438291 6.5938539,43.235277 L 0.19287398,54.885213 z " id="path1139" style="fill:url(#linearGradient1140);fill-opacity:1;fill-rule:evenodd;stroke-width:1.44734821pt"/>
|
||||
<rect height="39.110481" id="rect1137" rx="3.6272225" ry="3.536587" style="fill:url(#linearGradient905);fill-opacity:1;fill-rule:evenodd;stroke-width:1.62826681" width="48.220726" x="7.4732022" y="-0.010164791"/>
|
||||
<rect height="24.74659" id="rect1131" style="fill:url(#radialGradient1132);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient891);stroke-width:0.96503658pt" width="38.813015" x="12.390426" y="6.027596"/>
|
||||
<path d="M 8.5906358,19.782157 L 8.3772707,34.032521 C 8.3432557,36.304242 9.6712558,37.75887 12.004493,37.777143 L 38.568566,37.985175 L 41.128957,32.160207 L 11.471076,31.952177 L 11.257713,19.678141 L 8.5906358,19.782157 z " id="path1145" style="fill:url(#linearGradient1146);fill-opacity:1;fill-rule:evenodd;stroke-width:1pt"/>
|
||||
<path d="M 2.7205883,54.675124 C 2.1113822,55.866786 2.9089235,57.975349 4.9701318,57.975349 L 60.179981,57.975349 C 61.276346,57.975349 62.926231,56.48511 62.429524,55.460899 L 57.78047,45.874547 C 57.422369,45.136152 56.621274,44.774474 55.830865,44.774474 L 8.8693353,44.774468 C 8.2175462,44.774468 7.5274604,45.272486 7.2196723,45.874547 L 2.7205883,54.675124 z " id="path1143" style="fill:url(#linearGradient1144);fill-opacity:1;fill-rule:evenodd;stroke-width:1pt"/>
|
||||
<path d="M 19.010905,6.5904681 L 42.426675,6.2948726 C 46.041292,6.2492425 50.532134,9.8297185 50.532134,13.389152 L 50.532134,24.030571 L 18.710703,23.734975 L 19.010905,6.5904681 z " id="path1147" style="fill:url(#linearGradient2635);fill-opacity:1;fill-rule:evenodd;stroke-width:1pt"/>
|
||||
<rect x="12.664" y="6.294" width="38.092" height="24.48"/>
|
||||
<path d="M 41.29338,29.915511 L 20.310226,29.977799 C 17.071125,29.987414 13.079277,26.740463 13.111035,23.55121 L 13.205982,14.016504 L 41.715336,14.556637 L 41.29338,29.915511 z " id="path1149" style="fill:url(#linearGradient2637);fill-opacity:1;fill-rule:evenodd;stroke-width:1pt"/>
|
||||
<path d="M 43.036 11.636 C 38.773 13.399 36.722 12.408 34.875 11.164 L 32.77 18.46 C 34.617 19.71 36.846 20.739 40.936 18.908 L 43.036 11.636 Z" style="fill:#91c300;"/>
|
||||
<path style="fill:#00b4f1;" d="M 29.175 26.303 C 27.323 25.056 25.309 24.031 21.036 25.798 L 23.128 18.489 C 27.403 16.721 29.457 17.721 31.307 18.975 L 29.175 26.303 Z"/>
|
||||
<path d="M 31.663 17.656 C 30.548 16.906 29.348 16.205 27.646 16.192 C 26.522 16.183 25.185 16.502 23.486 17.205 L 25.591 9.913 C 29.863 8.147 31.915 9.147 33.763 10.4 L 31.663 17.656 Z" style="fill:#f8682c;"/>
|
||||
<path d="M 32.417 19.679 C 34.266 20.924 36.321 21.916 40.589 20.152 L 38.485 27.419 C 34.216 29.184 32.166 28.184 30.318 26.932 L 32.417 19.679 Z" style="fill:#ffc300;"/>
|
||||
</svg>
|
After Width: | Height: | Size: 7.4 KiB |
56
gns3server/custom_symbols/qemu_guest_win8_bybaro.svg
Normal file
@ -0,0 +1,56 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<svg height="59.253815" id="Andysvg" version="1.0" width="65.414536" x="0.00000000" y="0.00000000" xmlns="http://www.w3.org/2000/svg">
|
||||
<defs id="defs3">
|
||||
<linearGradient id="linearGradient891" x1="92.437965" x2="27.674332" y1="-3.9104078" y2="91.076988" gradientTransform="matrix(0.8184166,0,0,0.530237,-9.8827678,-14.589608)" gradientUnits="userSpaceOnUse">
|
||||
<stop id="stop889" offset="0" style="stop-color:#626262;stop-opacity:1.0000000;"/>
|
||||
<stop id="stop890" offset="1" style="stop-color:#fff;stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient905" x1="-77.726181" x2="95.64444" y1="208.43991" y2="11.699047" gradientTransform="matrix(0.7314635,0,0,0.5932693,-9.8827694,-14.589616)" gradientUnits="userSpaceOnUse">
|
||||
<stop id="stop889" offset="0" style="stop-color:#626262;stop-opacity:1.0000000;"/>
|
||||
<stop id="stop890" offset="1" style="stop-color:#fff;stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<radialGradient cx="60.004654" cy="56.485935" id="radialGradient1132" r="68.589226" gradientTransform="matrix(0.8184166,0,0,0.530237,-9.8827678,-14.589608)" gradientUnits="userSpaceOnUse">
|
||||
<stop id="stop1134" offset="0" style="stop-color:#8bb7df;stop-opacity:1.0000000;"/>
|
||||
<stop id="stop1136" offset="0.7621" style="stop-color:#2a6092;stop-opacity:1.0000000;"/>
|
||||
<stop id="stop1135" offset="1" style="stop-color:#375e82;stop-opacity:1.0000000;"/>
|
||||
</radialGradient>
|
||||
<linearGradient id="linearGradient1140" x1="45.685757" x2="41.96706" y1="110.4447" y2="232.24953" gradientTransform="matrix(1.2743811,0,0,0.3405213,-9.8827694,-14.589616)" gradientUnits="userSpaceOnUse">
|
||||
<stop id="stop889" offset="0" style="stop-color:#626262;stop-opacity:1.0000000;"/>
|
||||
<stop id="stop890" offset="1" style="stop-color:#fff;stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient1144" x1="31.449743" x2="31.617281" y1="203.49899" y2="251.21892" gradientTransform="matrix(1.4044089,0,0,0.3089952,-9.8827694,-14.589616)" gradientUnits="userSpaceOnUse">
|
||||
<stop id="stop893" offset="0" style="stop-color:#ffffff;stop-opacity:0.00000000;"/>
|
||||
<stop id="stop894" offset="1" style="stop-color:#fff;stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient1146" x1="39.810947" x2="17.87653" y1="90.197021" y2="113.71949" gradientTransform="matrix(0.8811179,0,0,0.4925045,-9.8827694,-14.589616)" gradientUnits="userSpaceOnUse">
|
||||
<stop id="stop893" offset="0" style="stop-color:#ffffff;stop-opacity:0.00000000;"/>
|
||||
<stop id="stop894" offset="1" style="stop-color:#fff;stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient1156" x1="25.220816" x2="25.220816" y1="178.48862" y2="234.26866" gradientTransform="matrix(1.6156202,0,0,0.2685999,-9.8827678,-14.589608)" gradientUnits="userSpaceOnUse">
|
||||
<stop id="stop889" offset="0" style="stop-color:#626262;stop-opacity:1.0000000;"/>
|
||||
<stop id="stop890" offset="1" style="stop-color:#fff;stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient1157" x1="51.46093" x2="-16.224497" y1="269.85831" y2="176.28694" gradientTransform="matrix(1.6156202,0,0,0.2685999,-9.8827678,-14.589608)" gradientUnits="userSpaceOnUse">
|
||||
<stop id="stop889" offset="0" style="stop-color:#626262;stop-opacity:1.0000000;"/>
|
||||
<stop id="stop890" offset="1" style="stop-color:#fff;stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient2635" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.8821916,0,0,0.491702,-8.9069314,-15.277305)" x1="39.690613" y1="49.507656" x2="70.224304" y2="20.481863">
|
||||
<stop id="stop893" offset="0" style="stop-color:#ffffff;stop-opacity:0.00000000;"/>
|
||||
<stop id="stop894" offset="1" style="stop-color:#fff;stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="linearGradient2637" gradientUnits="userSpaceOnUse" gradientTransform="matrix(0.8816883,0,0,0.4919824,-10.701684,-14.28309)" x1="35.190361" y1="76.277557" x2="8.3460579" y2="105.42543">
|
||||
<stop id="stop893" offset="0" style="stop-color:#ffffff;stop-opacity:0.00000000;"/>
|
||||
<stop id="stop894" offset="1" style="stop-color:#fff;stop-opacity:1;"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<rect height="5.4088969" id="rect1155" style="fill:url(#linearGradient1156);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient1157);stroke-width:0.95344429pt" width="38.405891" x="12.350429" y="36.575089"/>
|
||||
<path d="M 0.19287398,54.885213 C -0.67386281,56.46268 1.5579198,59.253939 3.3933636,59.253939 L 62.069027,59.253939 C 63.628857,59.253939 65.976201,57.281205 65.269522,55.925378 L 58.655165,43.235277 C 58.145696,42.257819 57.005954,41.779036 55.881408,41.779036 L 8.9408812,41.779036 C 8.0135624,41.779036 7.0317541,42.438291 6.5938539,43.235277 L 0.19287398,54.885213 z " id="path1139" style="fill:url(#linearGradient1140);fill-opacity:1;fill-rule:evenodd;stroke-width:1.44734821pt"/>
|
||||
<rect height="39.110481" id="rect1137" rx="3.6272225" ry="3.536587" style="fill:url(#linearGradient905);fill-opacity:1;fill-rule:evenodd;stroke-width:1.62826681" width="48.220726" x="7.4732022" y="-0.010164791"/>
|
||||
<rect height="24.74659" id="rect1131" style="fill:url(#radialGradient1132);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient891);stroke-width:0.96503658pt" width="38.813015" x="12.390426" y="6.027596"/>
|
||||
<path d="M 8.5906358,19.782157 L 8.3772707,34.032521 C 8.3432557,36.304242 9.6712558,37.75887 12.004493,37.777143 L 38.568566,37.985175 L 41.128957,32.160207 L 11.471076,31.952177 L 11.257713,19.678141 L 8.5906358,19.782157 z " id="path1145" style="fill:url(#linearGradient1146);fill-opacity:1;fill-rule:evenodd;stroke-width:1pt"/>
|
||||
<path d="M 2.7205883,54.675124 C 2.1113822,55.866786 2.9089235,57.975349 4.9701318,57.975349 L 60.179981,57.975349 C 61.276346,57.975349 62.926231,56.48511 62.429524,55.460899 L 57.78047,45.874547 C 57.422369,45.136152 56.621274,44.774474 55.830865,44.774474 L 8.8693353,44.774468 C 8.2175462,44.774468 7.5274604,45.272486 7.2196723,45.874547 L 2.7205883,54.675124 z " id="path1143" style="fill:url(#linearGradient1144);fill-opacity:1;fill-rule:evenodd;stroke-width:1pt"/>
|
||||
<path d="M 19.010905,6.5904681 L 42.426675,6.2948726 C 46.041292,6.2492425 50.532134,9.8297185 50.532134,13.389152 L 50.532134,24.030571 L 18.710703,23.734975 L 19.010905,6.5904681 z " id="path1147" style="fill:url(#linearGradient2635);fill-opacity:1;fill-rule:evenodd;stroke-width:1pt"/>
|
||||
<rect x="12.664" y="6.294" width="38.092" height="24.48" style="fill: rgb(255, 255, 255);"/>
|
||||
<path d="M 41.29338,29.915511 L 20.310226,29.977799 C 17.071125,29.987414 13.079277,26.740463 13.111035,23.55121 L 13.205982,14.016504 L 41.715336,14.556637 L 41.29338,29.915511 z " id="path1149" style="fill:url(#linearGradient2637);fill-opacity:1;fill-rule:evenodd;stroke-width:1pt"/>
|
||||
<path style="fill:#00adef;" d="M 22.129 11.699 L 29.894 10.641 L 29.897 18.13 L 22.136 18.175 Z M 29.89 18.993 L 29.896 26.49 L 22.135 25.423 L 22.135 18.944 Z M 30.832 10.503 L 41.127 9 L 41.127 18.035 L 30.832 18.117 Z M 41.129 19.064 L 41.127 28.059 L 30.832 26.606 L 30.817 19.047 Z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 7.0 KiB |
213
gns3server/custom_symbols/router_docker.svg
Normal file
After Width: | Height: | Size: 45 KiB |
206
gns3server/custom_symbols/router_green.svg
Normal file
@ -0,0 +1,206 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
id="svg1998"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.48.5 r10040"
|
||||
width="66.000435"
|
||||
height="44.5159"
|
||||
version="1.0"
|
||||
sodipodi:docname="router-red.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
sodipodi:modified="true">
|
||||
<metadata
|
||||
id="metadata2003">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
<dc:creator>
|
||||
<cc:Agent>
|
||||
<dc:title>Jeremy Grossmann</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:creator>
|
||||
<dc:publisher>
|
||||
<cc:Agent>
|
||||
<dc:title>GNS-3</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:publisher>
|
||||
<dc:description>Created for the GNS-3 project (www.gns3.net)</dc:description>
|
||||
<cc:license
|
||||
rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
|
||||
</cc:Work>
|
||||
<cc:License
|
||||
rdf:about="http://creativecommons.org/licenses/GPL/2.0/">
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/Reproduction" />
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/Distribution" />
|
||||
<cc:requires
|
||||
rdf:resource="http://web.resource.org/cc/Notice" />
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
|
||||
<cc:requires
|
||||
rdf:resource="http://web.resource.org/cc/ShareAlike" />
|
||||
<cc:requires
|
||||
rdf:resource="http://web.resource.org/cc/SourceCode" />
|
||||
</cc:License>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs2001">
|
||||
<linearGradient
|
||||
id="linearGradient9312">
|
||||
<stop
|
||||
style="stop-color:#008f00;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop9314" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0.94117647;"
|
||||
offset="1"
|
||||
id="stop9316" />
|
||||
</linearGradient>
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Lstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow2Lstart"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path11918"
|
||||
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
|
||||
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
|
||||
transform="matrix(1.1,0,0,1.1,1.1,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Send"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Send"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path11921"
|
||||
d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z "
|
||||
style="fill-rule:evenodd;stroke:black;stroke-width:1pt;marker-start:none"
|
||||
transform="matrix(-0.2,0,0,-0.2,-1.2,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Lstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Lstart"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path11936"
|
||||
d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z "
|
||||
style="fill-rule:evenodd;stroke:black;stroke-width:1pt;marker-start:none"
|
||||
transform="matrix(0.8,0,0,0.8,10,0)" />
|
||||
</marker>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient9312"
|
||||
id="linearGradient2216"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(15.252829,0,0,14.082619,53.467529,3.4188377)"
|
||||
x1="-1.0929121"
|
||||
y1="0.63145506"
|
||||
x2="-4.5832458"
|
||||
y2="0.070047863" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
inkscape:window-height="949"
|
||||
inkscape:window-width="1280"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
guidetolerance="10.0"
|
||||
gridtolerance="10.0"
|
||||
objecttolerance="10.0"
|
||||
borderopacity="1.0"
|
||||
bordercolor="#666666"
|
||||
pagecolor="#ffffff"
|
||||
id="base"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true"
|
||||
inkscape:zoom="7.8958335"
|
||||
inkscape:cx="27.967059"
|
||||
inkscape:cy="24.784192"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="31"
|
||||
inkscape:current-layer="svg1998"
|
||||
showgrid="false"
|
||||
inkscape:window-maximized="1" />
|
||||
<rect
|
||||
style="opacity:1;fill:#000000;fill-opacity:0.39215687;fill-rule:evenodd;stroke:none;stroke-width:0.2;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect4558"
|
||||
width="64.552505"
|
||||
height="41.53862"
|
||||
x="1.4479325"
|
||||
y="2.9772801"
|
||||
ry="11.631706"
|
||||
rx="32.212925"
|
||||
inkscape:transform-center-x="8.4568136" />
|
||||
<rect
|
||||
style="opacity:1;fill:#0d8800;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.01500000000000000;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect9971"
|
||||
width="64.499474"
|
||||
height="42.154343"
|
||||
x="0.0625"
|
||||
y="0.18084908"
|
||||
ry="11.557454"
|
||||
rx="32.249737"
|
||||
inkscape:transform-center-x="8.2952569" />
|
||||
<g
|
||||
id="g4160">
|
||||
<path
|
||||
id="path4815"
|
||||
d="M 64.514069,11.541297 L 64.457031,10.955643 L 64.342949,10.36999 L 64.152814,9.8038604 L 63.867612,9.2182077 L 63.487345,8.6520765 L 63.050034,8.0859452 L 62.517657,7.5393369 L 61.909226,7.0122499 L 61.224742,6.4851607 L 60.464203,5.9775955 L 59.646626,5.4700289 L 58.752993,4.9819859 L 57.783307,4.4939413 L 56.75658,4.0644625 L 55.6538,3.6349838 L 54.493981,3.2055052 L 53.296132,2.8150692 L 52.022232,2.4636777 L 50.710303,2.1122862 L 49.341334,1.7999375 L 47.934339,1.5071117 L 46.489316,1.2338059 L 45.006267,0.99954576 L 43.504204,0.76528425 L 41.964114,0.58958842 L 40.385997,0.43341443 L 38.788867,0.29676153 L 37.191738,0.19915292 L 35.575597,0.12106555 L 33.940437,0.06250017 L 32.324296,0.06250017 L 32.324296,0.06250017 L 30.689136,0.06250017 L 29.053981,0.12106555 L 27.45685,0.19915292 L 25.840705,0.29676153 L 24.243576,0.43341443 L 22.684472,0.58958842 L 21.125372,0.76528425 L 19.623307,0.99954576 L 18.140258,1.2338059 L 16.695234,1.5071117 L 15.28824,1.7999375 L 13.919273,2.1122862 L 12.607342,2.4636777 L 11.333442,2.8150692 L 10.135592,3.2055052 L 8.9757693,3.6349838 L 7.8729941,4.0644625 L 6.8462664,4.4939413 L 5.8765785,4.9819859 L 4.9829488,5.4700289 L 4.1653682,5.9775955 L 3.4048335,6.4851607 L 2.7203448,7.0122499 L 2.1309311,7.5393369 L 1.5795405,8.0859452 L 1.1422325,8.6520765 L 0.76195982,9.2182077 L 0.47676065,9.8038604 L 0.26760898,10.36999 L 0.15353084,10.955643 L 0.11550327,11.541297 L 0.11550327,11.541297 L 0.15353084,12.12695 L 0.26760898,12.693081 L 0.47676065,13.278734 L 0.76195982,13.825344 L 1.1422325,14.410996 L 1.5795405,14.957605 L 2.1309311,15.523736 L 2.7203448,16.070348 L 3.4048335,16.597435 L 4.1653682,17.085479 L 4.9829488,17.593043 L 5.8765785,18.100608 L 6.8462664,18.549609 L 7.8729941,18.998611 L 8.9757693,19.447613 L 10.135592,19.857571 L 11.333442,20.248007 L 12.607342,20.599396 L 13.919273,20.950787 L 15.28824,21.263135 L 16.695234,21.575486 L 18.140258,21.829265 L 19.623307,22.083049 L 21.125372,22.297787 L 22.684472,22.473485 L 24.243576,22.629661 L 25.840705,22.766312 L 27.45685,22.863921 L 29.053981,22.942009 L 30.689136,23.000574 L 32.324296,23.000574 L 32.324296,23.000574 L 33.940437,23.000574 L 35.575597,22.942009 L 37.191738,22.863921 L 38.788867,22.766312 L 40.385997,22.629661 L 41.964114,22.473485 L 43.504204,22.297787 L 45.006267,22.083049 L 46.489316,21.829265 L 47.934339,21.575486 L 49.341334,21.263135 L 50.710303,20.950787 L 52.022232,20.599396 L 53.296132,20.248007 L 54.493981,19.857571 L 55.6538,19.447613 L 56.75658,18.998611 L 57.783307,18.549609 L 58.752993,18.100608 L 59.646626,17.593043 L 60.464203,17.085479 L 61.224742,16.597435 L 61.909226,16.070348 L 62.517657,15.523736 L 63.050034,14.957605 L 63.487345,14.410996 L 63.867612,13.825344 L 64.152814,13.278734 L 64.342949,12.693081 L 64.457031,12.12695 L 64.514069,11.541297"
|
||||
style="fill:url(#linearGradient2216);fill-opacity:1;stroke:none;stroke-width:0.01928605;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
id="path4819"
|
||||
d="M 33.023738,8.6936939 L 37.664889,10.327433 L 48.909313,5.4458969 L 53.946665,7.0599533 L 51.229891,3.0248142 L 38.061087,3.0248142 L 43.475766,4.225514 L 33.023738,8.6936939"
|
||||
style="fill:#000000;stroke:none;stroke-width:0.001" />
|
||||
<path
|
||||
id="path4821"
|
||||
d="M 31.08049,13.161874 L 26.439334,11.528132 L 15.591104,16.429352 L 10.176425,14.775929 L 12.874332,19.244109 L 26.439334,19.244109 L 20.628458,17.630052 L 31.08049,13.161874"
|
||||
style="fill:#000000;stroke:none;stroke-width:0.001" />
|
||||
<path
|
||||
id="path4823"
|
||||
d="M 11.327278,4.225514 L 15.968435,2.611458 L 27.212859,7.0599533 L 32.25021,5.8592533 L 29.552303,9.8943939 L 16.364632,9.8943939 L 21.779313,8.6936939 L 11.327278,4.225514"
|
||||
style="fill:#000000;stroke:none;stroke-width:0.001" />
|
||||
<path
|
||||
id="path4825"
|
||||
d="M 53.154272,18.023723 L 48.513117,19.657467 L 37.664889,14.775929 L 32.25021,16.429352 L 34.966985,12.33516 L 48.513117,12.33516 L 42.70224,13.555544 L 53.154272,18.023723"
|
||||
style="fill:#000000;stroke:none;stroke-width:0.001" />
|
||||
<path
|
||||
id="path4827"
|
||||
d="M 33.419936,9.1070493 L 38.061087,10.721105 L 49.286643,5.8592533 L 54.323994,7.4929926 L 51.60722,3.4184854 L 38.438415,3.4184854 L 43.871962,4.6191872 L 33.419936,9.1070493"
|
||||
style="fill:#ffffff;stroke:none;stroke-width:0.001" />
|
||||
<path
|
||||
id="path4829"
|
||||
d="M 31.476681,13.555544 L 26.816665,11.941487 L 15.968435,16.803341 L 10.553753,15.189284 L 13.25166,19.657467 L 26.816665,19.657467 L 21.005786,18.023723 L 31.476681,13.555544"
|
||||
style="fill:#ffffff;stroke:none;stroke-width:0.001" />
|
||||
<path
|
||||
id="path4831"
|
||||
d="M 11.723476,4.6191872 L 16.364632,3.0248142 L 27.609055,7.4929926 L 32.627541,6.2529266 L 29.929634,10.327433 L 16.741963,10.327433 L 22.175509,9.1070493 L 11.723476,4.6191872"
|
||||
style="fill:#ffffff;stroke:none;stroke-width:0.001" />
|
||||
<path
|
||||
id="path4833"
|
||||
d="M 53.531602,18.43708 L 48.909313,20.070823 L 38.061087,15.189284 L 32.627541,16.803341 L 35.344315,12.7682 L 48.909313,12.7682 L 43.098437,13.9689 L 53.531602,18.43708"
|
||||
style="fill:#ffffff;stroke:none;stroke-width:0.001" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 11 KiB |
665
gns3server/custom_symbols/router_green_docker.svg
Normal file
@ -0,0 +1,665 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
id="svg1998"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.48.5 r10040"
|
||||
width="66.000435"
|
||||
height="44.5159"
|
||||
version="1.0"
|
||||
sodipodi:docname="router-green-docker.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
sodipodi:modified="true">
|
||||
<metadata
|
||||
id="metadata2003">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
<dc:creator>
|
||||
<cc:Agent>
|
||||
<dc:title>Jeremy Grossmann</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:creator>
|
||||
<dc:publisher>
|
||||
<cc:Agent>
|
||||
<dc:title>GNS-3</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:publisher>
|
||||
<dc:description>Created for the GNS-3 project (www.gns3.net)</dc:description>
|
||||
<cc:license
|
||||
rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
|
||||
</cc:Work>
|
||||
<cc:License
|
||||
rdf:about="http://creativecommons.org/licenses/GPL/2.0/">
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/Reproduction" />
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/Distribution" />
|
||||
<cc:requires
|
||||
rdf:resource="http://web.resource.org/cc/Notice" />
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
|
||||
<cc:requires
|
||||
rdf:resource="http://web.resource.org/cc/ShareAlike" />
|
||||
<cc:requires
|
||||
rdf:resource="http://web.resource.org/cc/SourceCode" />
|
||||
</cc:License>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs2001">
|
||||
<linearGradient
|
||||
id="linearGradient9312">
|
||||
<stop
|
||||
style="stop-color:#008f00;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop9314" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0.94117647;"
|
||||
offset="1"
|
||||
id="stop9316" />
|
||||
</linearGradient>
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Lstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow2Lstart"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path11918"
|
||||
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
|
||||
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
|
||||
transform="matrix(1.1,0,0,1.1,1.1,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Send"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Send"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path11921"
|
||||
d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z "
|
||||
style="fill-rule:evenodd;stroke:black;stroke-width:1pt;marker-start:none"
|
||||
transform="matrix(-0.2,0,0,-0.2,-1.2,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Lstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Lstart"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path11936"
|
||||
d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z "
|
||||
style="fill-rule:evenodd;stroke:black;stroke-width:1pt;marker-start:none"
|
||||
transform="matrix(0.8,0,0,0.8,10,0)" />
|
||||
</marker>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient9312"
|
||||
id="linearGradient2216"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(15.252829,0,0,14.082619,53.467529,3.4188377)"
|
||||
x1="-1.0929121"
|
||||
y1="0.63145506"
|
||||
x2="-4.5832458"
|
||||
y2="0.070047863" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
inkscape:window-height="949"
|
||||
inkscape:window-width="1280"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
guidetolerance="10.0"
|
||||
gridtolerance="10.0"
|
||||
objecttolerance="10.0"
|
||||
borderopacity="1.0"
|
||||
bordercolor="#666666"
|
||||
pagecolor="#ffffff"
|
||||
id="base"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true"
|
||||
inkscape:zoom="0.98697919"
|
||||
inkscape:cx="-115.2648"
|
||||
inkscape:cy="133.9562"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="31"
|
||||
inkscape:current-layer="svg1998"
|
||||
showgrid="false"
|
||||
inkscape:window-maximized="1" />
|
||||
<rect
|
||||
style="opacity:1;fill:#000000;fill-opacity:0.39215687;fill-rule:evenodd;stroke:none;stroke-width:0.2;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect4558"
|
||||
width="64.552505"
|
||||
height="41.53862"
|
||||
x="1.4479325"
|
||||
y="2.9772801"
|
||||
ry="11.631706"
|
||||
rx="32.212925"
|
||||
inkscape:transform-center-x="8.4568136" />
|
||||
<rect
|
||||
style="opacity:1;fill:#0d8800;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.01500000000000000;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect9971"
|
||||
width="64.499474"
|
||||
height="42.154343"
|
||||
x="0.0625"
|
||||
y="0.18084908"
|
||||
ry="11.557454"
|
||||
rx="32.249737"
|
||||
inkscape:transform-center-x="8.2952569" />
|
||||
<g
|
||||
id="g4160">
|
||||
<path
|
||||
id="path4815"
|
||||
d="M 64.514069,11.541297 L 64.457031,10.955643 L 64.342949,10.36999 L 64.152814,9.8038604 L 63.867612,9.2182077 L 63.487345,8.6520765 L 63.050034,8.0859452 L 62.517657,7.5393369 L 61.909226,7.0122499 L 61.224742,6.4851607 L 60.464203,5.9775955 L 59.646626,5.4700289 L 58.752993,4.9819859 L 57.783307,4.4939413 L 56.75658,4.0644625 L 55.6538,3.6349838 L 54.493981,3.2055052 L 53.296132,2.8150692 L 52.022232,2.4636777 L 50.710303,2.1122862 L 49.341334,1.7999375 L 47.934339,1.5071117 L 46.489316,1.2338059 L 45.006267,0.99954576 L 43.504204,0.76528425 L 41.964114,0.58958842 L 40.385997,0.43341443 L 38.788867,0.29676153 L 37.191738,0.19915292 L 35.575597,0.12106555 L 33.940437,0.06250017 L 32.324296,0.06250017 L 32.324296,0.06250017 L 30.689136,0.06250017 L 29.053981,0.12106555 L 27.45685,0.19915292 L 25.840705,0.29676153 L 24.243576,0.43341443 L 22.684472,0.58958842 L 21.125372,0.76528425 L 19.623307,0.99954576 L 18.140258,1.2338059 L 16.695234,1.5071117 L 15.28824,1.7999375 L 13.919273,2.1122862 L 12.607342,2.4636777 L 11.333442,2.8150692 L 10.135592,3.2055052 L 8.9757693,3.6349838 L 7.8729941,4.0644625 L 6.8462664,4.4939413 L 5.8765785,4.9819859 L 4.9829488,5.4700289 L 4.1653682,5.9775955 L 3.4048335,6.4851607 L 2.7203448,7.0122499 L 2.1309311,7.5393369 L 1.5795405,8.0859452 L 1.1422325,8.6520765 L 0.76195982,9.2182077 L 0.47676065,9.8038604 L 0.26760898,10.36999 L 0.15353084,10.955643 L 0.11550327,11.541297 L 0.11550327,11.541297 L 0.15353084,12.12695 L 0.26760898,12.693081 L 0.47676065,13.278734 L 0.76195982,13.825344 L 1.1422325,14.410996 L 1.5795405,14.957605 L 2.1309311,15.523736 L 2.7203448,16.070348 L 3.4048335,16.597435 L 4.1653682,17.085479 L 4.9829488,17.593043 L 5.8765785,18.100608 L 6.8462664,18.549609 L 7.8729941,18.998611 L 8.9757693,19.447613 L 10.135592,19.857571 L 11.333442,20.248007 L 12.607342,20.599396 L 13.919273,20.950787 L 15.28824,21.263135 L 16.695234,21.575486 L 18.140258,21.829265 L 19.623307,22.083049 L 21.125372,22.297787 L 22.684472,22.473485 L 24.243576,22.629661 L 25.840705,22.766312 L 27.45685,22.863921 L 29.053981,22.942009 L 30.689136,23.000574 L 32.324296,23.000574 L 32.324296,23.000574 L 33.940437,23.000574 L 35.575597,22.942009 L 37.191738,22.863921 L 38.788867,22.766312 L 40.385997,22.629661 L 41.964114,22.473485 L 43.504204,22.297787 L 45.006267,22.083049 L 46.489316,21.829265 L 47.934339,21.575486 L 49.341334,21.263135 L 50.710303,20.950787 L 52.022232,20.599396 L 53.296132,20.248007 L 54.493981,19.857571 L 55.6538,19.447613 L 56.75658,18.998611 L 57.783307,18.549609 L 58.752993,18.100608 L 59.646626,17.593043 L 60.464203,17.085479 L 61.224742,16.597435 L 61.909226,16.070348 L 62.517657,15.523736 L 63.050034,14.957605 L 63.487345,14.410996 L 63.867612,13.825344 L 64.152814,13.278734 L 64.342949,12.693081 L 64.457031,12.12695 L 64.514069,11.541297"
|
||||
style="fill:url(#linearGradient2216);fill-opacity:1;stroke:none;stroke-width:0.01928605;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
id="path4819"
|
||||
d="M 33.023738,8.6936939 L 37.664889,10.327433 L 48.909313,5.4458969 L 53.946665,7.0599533 L 51.229891,3.0248142 L 38.061087,3.0248142 L 43.475766,4.225514 L 33.023738,8.6936939"
|
||||
style="fill:#000000;stroke:none;stroke-width:0.001" />
|
||||
<path
|
||||
id="path4821"
|
||||
d="M 31.08049,13.161874 L 26.439334,11.528132 L 15.591104,16.429352 L 10.176425,14.775929 L 12.874332,19.244109 L 26.439334,19.244109 L 20.628458,17.630052 L 31.08049,13.161874"
|
||||
style="fill:#000000;stroke:none;stroke-width:0.001" />
|
||||
<path
|
||||
id="path4823"
|
||||
d="M 11.327278,4.225514 L 15.968435,2.611458 L 27.212859,7.0599533 L 32.25021,5.8592533 L 29.552303,9.8943939 L 16.364632,9.8943939 L 21.779313,8.6936939 L 11.327278,4.225514"
|
||||
style="fill:#000000;stroke:none;stroke-width:0.001" />
|
||||
<path
|
||||
id="path4825"
|
||||
d="M 53.154272,18.023723 L 48.513117,19.657467 L 37.664889,14.775929 L 32.25021,16.429352 L 34.966985,12.33516 L 48.513117,12.33516 L 42.70224,13.555544 L 53.154272,18.023723"
|
||||
style="fill:#000000;stroke:none;stroke-width:0.001" />
|
||||
<path
|
||||
id="path4827"
|
||||
d="M 33.419936,9.1070493 L 38.061087,10.721105 L 49.286643,5.8592533 L 54.323994,7.4929926 L 51.60722,3.4184854 L 38.438415,3.4184854 L 43.871962,4.6191872 L 33.419936,9.1070493"
|
||||
style="fill:#ffffff;stroke:none;stroke-width:0.001" />
|
||||
<path
|
||||
id="path4829"
|
||||
d="M 31.476681,13.555544 L 26.816665,11.941487 L 15.968435,16.803341 L 10.553753,15.189284 L 13.25166,19.657467 L 26.816665,19.657467 L 21.005786,18.023723 L 31.476681,13.555544"
|
||||
style="fill:#ffffff;stroke:none;stroke-width:0.001" />
|
||||
<path
|
||||
id="path4831"
|
||||
d="M 11.723476,4.6191872 L 16.364632,3.0248142 L 27.609055,7.4929926 L 32.627541,6.2529266 L 29.929634,10.327433 L 16.741963,10.327433 L 22.175509,9.1070493 L 11.723476,4.6191872"
|
||||
style="fill:#ffffff;stroke:none;stroke-width:0.001" />
|
||||
<path
|
||||
id="path4833"
|
||||
d="M 53.531602,18.43708 L 48.909313,20.070823 L 38.061087,15.189284 L 32.627541,16.803341 L 35.344315,12.7682 L 48.909313,12.7682 L 43.098437,13.9689 L 53.531602,18.43708"
|
||||
style="fill:#ffffff;stroke:none;stroke-width:0.001" />
|
||||
</g>
|
||||
<image
|
||||
y="23.045622"
|
||||
x="14.084294"
|
||||
id="image4051"
|
||||
xlink:href="data:image/png;base64,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
|
||||
XQAAAABJRU5ErkJggg==
|
||||
"
|
||||
height="19.227247"
|
||||
width="36.265862" />
|
||||
</svg>
|
After Width: | Height: | Size: 45 KiB |
206
gns3server/custom_symbols/router_red.svg
Normal file
@ -0,0 +1,206 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
id="svg1998"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.48.5 r10040"
|
||||
width="66.000435"
|
||||
height="44.5159"
|
||||
version="1.0"
|
||||
sodipodi:docname="router.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
sodipodi:modified="true">
|
||||
<metadata
|
||||
id="metadata2003">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
<dc:creator>
|
||||
<cc:Agent>
|
||||
<dc:title>Jeremy Grossmann</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:creator>
|
||||
<dc:publisher>
|
||||
<cc:Agent>
|
||||
<dc:title>GNS-3</dc:title>
|
||||
</cc:Agent>
|
||||
</dc:publisher>
|
||||
<dc:description>Created for the GNS-3 project (www.gns3.net)</dc:description>
|
||||
<cc:license
|
||||
rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
|
||||
</cc:Work>
|
||||
<cc:License
|
||||
rdf:about="http://creativecommons.org/licenses/GPL/2.0/">
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/Reproduction" />
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/Distribution" />
|
||||
<cc:requires
|
||||
rdf:resource="http://web.resource.org/cc/Notice" />
|
||||
<cc:permits
|
||||
rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
|
||||
<cc:requires
|
||||
rdf:resource="http://web.resource.org/cc/ShareAlike" />
|
||||
<cc:requires
|
||||
rdf:resource="http://web.resource.org/cc/SourceCode" />
|
||||
</cc:License>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs2001">
|
||||
<linearGradient
|
||||
id="linearGradient9312">
|
||||
<stop
|
||||
style="stop-color:#ff2600;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop9314" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0.94117647;"
|
||||
offset="1"
|
||||
id="stop9316" />
|
||||
</linearGradient>
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Lstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow2Lstart"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path11918"
|
||||
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
|
||||
d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
|
||||
transform="matrix(1.1,0,0,1.1,1.1,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Send"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Send"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path11921"
|
||||
d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z "
|
||||
style="fill-rule:evenodd;stroke:black;stroke-width:1pt;marker-start:none"
|
||||
transform="matrix(-0.2,0,0,-0.2,-1.2,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Lstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Lstart"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path11936"
|
||||
d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z "
|
||||
style="fill-rule:evenodd;stroke:black;stroke-width:1pt;marker-start:none"
|
||||
transform="matrix(0.8,0,0,0.8,10,0)" />
|
||||
</marker>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient9312"
|
||||
id="linearGradient2216"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(15.252829,0,0,14.082619,53.467529,3.4188377)"
|
||||
x1="-1.0929121"
|
||||
y1="0.63145506"
|
||||
x2="-4.5832458"
|
||||
y2="0.070047863" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
inkscape:window-height="949"
|
||||
inkscape:window-width="1280"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
guidetolerance="10.0"
|
||||
gridtolerance="10.0"
|
||||
objecttolerance="10.0"
|
||||
borderopacity="1.0"
|
||||
bordercolor="#666666"
|
||||
pagecolor="#ffffff"
|
||||
id="base"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true"
|
||||
inkscape:zoom="7.8958335"
|
||||
inkscape:cx="27.967059"
|
||||
inkscape:cy="24.784192"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="31"
|
||||
inkscape:current-layer="g4160"
|
||||
showgrid="false"
|
||||
inkscape:window-maximized="1" />
|
||||
<rect
|
||||
style="opacity:1;fill:#000000;fill-opacity:0.39215687;fill-rule:evenodd;stroke:none;stroke-width:0.2;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect4558"
|
||||
width="64.552505"
|
||||
height="41.53862"
|
||||
x="1.4479325"
|
||||
y="2.9772801"
|
||||
ry="11.631706"
|
||||
rx="32.212925"
|
||||
inkscape:transform-center-x="8.4568136" />
|
||||
<rect
|
||||
style="opacity:1;fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.01500000000000000;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
id="rect9971"
|
||||
width="64.499474"
|
||||
height="42.154343"
|
||||
x="0.0625"
|
||||
y="0.18084908"
|
||||
ry="11.557454"
|
||||
rx="32.249737"
|
||||
inkscape:transform-center-x="8.2952569" />
|
||||
<g
|
||||
id="g4160">
|
||||
<path
|
||||
id="path4815"
|
||||
d="M 64.514069,11.541297 L 64.457031,10.955643 L 64.342949,10.36999 L 64.152814,9.8038604 L 63.867612,9.2182077 L 63.487345,8.6520765 L 63.050034,8.0859452 L 62.517657,7.5393369 L 61.909226,7.0122499 L 61.224742,6.4851607 L 60.464203,5.9775955 L 59.646626,5.4700289 L 58.752993,4.9819859 L 57.783307,4.4939413 L 56.75658,4.0644625 L 55.6538,3.6349838 L 54.493981,3.2055052 L 53.296132,2.8150692 L 52.022232,2.4636777 L 50.710303,2.1122862 L 49.341334,1.7999375 L 47.934339,1.5071117 L 46.489316,1.2338059 L 45.006267,0.99954576 L 43.504204,0.76528425 L 41.964114,0.58958842 L 40.385997,0.43341443 L 38.788867,0.29676153 L 37.191738,0.19915292 L 35.575597,0.12106555 L 33.940437,0.06250017 L 32.324296,0.06250017 L 32.324296,0.06250017 L 30.689136,0.06250017 L 29.053981,0.12106555 L 27.45685,0.19915292 L 25.840705,0.29676153 L 24.243576,0.43341443 L 22.684472,0.58958842 L 21.125372,0.76528425 L 19.623307,0.99954576 L 18.140258,1.2338059 L 16.695234,1.5071117 L 15.28824,1.7999375 L 13.919273,2.1122862 L 12.607342,2.4636777 L 11.333442,2.8150692 L 10.135592,3.2055052 L 8.9757693,3.6349838 L 7.8729941,4.0644625 L 6.8462664,4.4939413 L 5.8765785,4.9819859 L 4.9829488,5.4700289 L 4.1653682,5.9775955 L 3.4048335,6.4851607 L 2.7203448,7.0122499 L 2.1309311,7.5393369 L 1.5795405,8.0859452 L 1.1422325,8.6520765 L 0.76195982,9.2182077 L 0.47676065,9.8038604 L 0.26760898,10.36999 L 0.15353084,10.955643 L 0.11550327,11.541297 L 0.11550327,11.541297 L 0.15353084,12.12695 L 0.26760898,12.693081 L 0.47676065,13.278734 L 0.76195982,13.825344 L 1.1422325,14.410996 L 1.5795405,14.957605 L 2.1309311,15.523736 L 2.7203448,16.070348 L 3.4048335,16.597435 L 4.1653682,17.085479 L 4.9829488,17.593043 L 5.8765785,18.100608 L 6.8462664,18.549609 L 7.8729941,18.998611 L 8.9757693,19.447613 L 10.135592,19.857571 L 11.333442,20.248007 L 12.607342,20.599396 L 13.919273,20.950787 L 15.28824,21.263135 L 16.695234,21.575486 L 18.140258,21.829265 L 19.623307,22.083049 L 21.125372,22.297787 L 22.684472,22.473485 L 24.243576,22.629661 L 25.840705,22.766312 L 27.45685,22.863921 L 29.053981,22.942009 L 30.689136,23.000574 L 32.324296,23.000574 L 32.324296,23.000574 L 33.940437,23.000574 L 35.575597,22.942009 L 37.191738,22.863921 L 38.788867,22.766312 L 40.385997,22.629661 L 41.964114,22.473485 L 43.504204,22.297787 L 45.006267,22.083049 L 46.489316,21.829265 L 47.934339,21.575486 L 49.341334,21.263135 L 50.710303,20.950787 L 52.022232,20.599396 L 53.296132,20.248007 L 54.493981,19.857571 L 55.6538,19.447613 L 56.75658,18.998611 L 57.783307,18.549609 L 58.752993,18.100608 L 59.646626,17.593043 L 60.464203,17.085479 L 61.224742,16.597435 L 61.909226,16.070348 L 62.517657,15.523736 L 63.050034,14.957605 L 63.487345,14.410996 L 63.867612,13.825344 L 64.152814,13.278734 L 64.342949,12.693081 L 64.457031,12.12695 L 64.514069,11.541297"
|
||||
style="fill:url(#linearGradient2216);fill-opacity:1;stroke:none;stroke-width:0.01928605;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
|
||||
<path
|
||||
id="path4819"
|
||||
d="M 33.023738,8.6936939 L 37.664889,10.327433 L 48.909313,5.4458969 L 53.946665,7.0599533 L 51.229891,3.0248142 L 38.061087,3.0248142 L 43.475766,4.225514 L 33.023738,8.6936939"
|
||||
style="fill:#000000;stroke:none;stroke-width:0.001" />
|
||||
<path
|
||||
id="path4821"
|
||||
d="M 31.08049,13.161874 L 26.439334,11.528132 L 15.591104,16.429352 L 10.176425,14.775929 L 12.874332,19.244109 L 26.439334,19.244109 L 20.628458,17.630052 L 31.08049,13.161874"
|
||||
style="fill:#000000;stroke:none;stroke-width:0.001" />
|
||||
<path
|
||||
id="path4823"
|
||||
d="M 11.327278,4.225514 L 15.968435,2.611458 L 27.212859,7.0599533 L 32.25021,5.8592533 L 29.552303,9.8943939 L 16.364632,9.8943939 L 21.779313,8.6936939 L 11.327278,4.225514"
|
||||
style="fill:#000000;stroke:none;stroke-width:0.001" />
|
||||
<path
|
||||
id="path4825"
|
||||
d="M 53.154272,18.023723 L 48.513117,19.657467 L 37.664889,14.775929 L 32.25021,16.429352 L 34.966985,12.33516 L 48.513117,12.33516 L 42.70224,13.555544 L 53.154272,18.023723"
|
||||
style="fill:#000000;stroke:none;stroke-width:0.001" />
|
||||
<path
|
||||
id="path4827"
|
||||
d="M 33.419936,9.1070493 L 38.061087,10.721105 L 49.286643,5.8592533 L 54.323994,7.4929926 L 51.60722,3.4184854 L 38.438415,3.4184854 L 43.871962,4.6191872 L 33.419936,9.1070493"
|
||||
style="fill:#ffffff;stroke:none;stroke-width:0.001" />
|
||||
<path
|
||||
id="path4829"
|
||||
d="M 31.476681,13.555544 L 26.816665,11.941487 L 15.968435,16.803341 L 10.553753,15.189284 L 13.25166,19.657467 L 26.816665,19.657467 L 21.005786,18.023723 L 31.476681,13.555544"
|
||||
style="fill:#ffffff;stroke:none;stroke-width:0.001" />
|
||||
<path
|
||||
id="path4831"
|
||||
d="M 11.723476,4.6191872 L 16.364632,3.0248142 L 27.609055,7.4929926 L 32.627541,6.2529266 L 29.929634,10.327433 L 16.741963,10.327433 L 22.175509,9.1070493 L 11.723476,4.6191872"
|
||||
style="fill:#ffffff;stroke:none;stroke-width:0.001" />
|
||||
<path
|
||||
id="path4833"
|
||||
d="M 53.531602,18.43708 L 48.909313,20.070823 L 38.061087,15.189284 L 32.627541,16.803341 L 35.344315,12.7682 L 48.909313,12.7682 L 43.098437,13.9689 L 53.531602,18.43708"
|
||||
style="fill:#ffffff;stroke:none;stroke-width:0.001" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 11 KiB |
213
gns3server/custom_symbols/router_red_docker.svg
Normal file
After Width: | Height: | Size: 45 KiB |
BIN
gns3server/custom_symbols/rpi.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
gns3server/custom_symbols/securityonion-logo.png
Normal file
After Width: | Height: | Size: 86 KiB |
BIN
gns3server/custom_symbols/shieldedtux.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
gns3server/custom_symbols/steelhead-vcx.png
Normal file
After Width: | Height: | Size: 193 KiB |
BIN
gns3server/custom_symbols/stormshield.png
Normal file
After Width: | Height: | Size: 6.9 KiB |
1750
gns3server/custom_symbols/ubuntu.svg
Normal file
After Width: | Height: | Size: 53 KiB |
316
gns3server/custom_symbols/vRIN.svg
Normal file
@ -0,0 +1,316 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="70"
|
||||
height="70"
|
||||
viewBox="0 0 70.000002 70.000001"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="vRIN.svg">
|
||||
<defs
|
||||
id="defs4">
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Lend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="marker4924"
|
||||
style="overflow:visible"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
id="path4926"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
|
||||
inkscape:connector-curvature="0" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow2Mend"
|
||||
style="overflow:visible"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
id="path4185"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
transform="scale(-0.6,-0.6)"
|
||||
inkscape:connector-curvature="0" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="TriangleOutL"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="TriangleOutL"
|
||||
style="overflow:visible"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
id="path4300"
|
||||
d="m 5.77,0 -8.65,5 0,-10 8.65,5 z"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1pt;stroke-opacity:1"
|
||||
transform="scale(0.8,0.8)"
|
||||
inkscape:connector-curvature="0" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Lend"
|
||||
style="overflow:visible"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
id="path4161"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1pt;stroke-opacity:1"
|
||||
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||
inkscape:connector-curvature="0" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Lend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="marker4782"
|
||||
style="overflow:visible"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
id="path4784"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
|
||||
inkscape:connector-curvature="0" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Lend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow2Lend"
|
||||
style="overflow:visible"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
id="path4179"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
|
||||
inkscape:connector-curvature="0" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Lend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="marker4924-8"
|
||||
style="overflow:visible"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4926-5"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Lend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="marker4924-8-2"
|
||||
style="overflow:visible"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4926-5-7"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Lend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="marker4924-8-20"
|
||||
style="overflow:visible"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4926-5-8"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Lend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="marker4924-7"
|
||||
style="overflow:visible"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4926-7"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Lend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="marker4924-8-2-9"
|
||||
style="overflow:visible"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4926-5-7-4"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Lend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="marker4924-8-20-9"
|
||||
style="overflow:visible"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4926-5-8-8"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Lend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="marker4924-7-5"
|
||||
style="overflow:visible"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4926-7-0"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow2Lend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="marker4924-7-58"
|
||||
style="overflow:visible"
|
||||
inkscape:isstock="true">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4926-7-9"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
|
||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
||||
transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
|
||||
</marker>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="8"
|
||||
inkscape:cx="13.588207"
|
||||
inkscape:cy="41.315689"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
units="px"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0" />
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="vRIN"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
style="display:inline"
|
||||
transform="translate(0,-892.46783)">
|
||||
<circle
|
||||
style="fill:#1392e8;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
id="path3346"
|
||||
cx="35"
|
||||
cy="927.48718"
|
||||
r="35" />
|
||||
<circle
|
||||
style="display:inline;fill:#91c2fb;fill-opacity:1;stroke:none"
|
||||
id="path4149"
|
||||
r="30.676126"
|
||||
cy="927.48718"
|
||||
cx="35.233734" />
|
||||
<path
|
||||
style="display:inline;fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.93489146;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4924-7)"
|
||||
d="m 22.32053,907.09486 18.69783,0"
|
||||
id="path4152"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="display:inline;fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.93489146;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4924-8-2-9)"
|
||||
d="m 38.48734,920.78412 18.69783,0"
|
||||
id="path4152-9-9"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="display:inline;fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.93489146;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4924-8-20-9)"
|
||||
d="m 38.6042,934.69063 18.69783,0"
|
||||
id="path4152-9-91"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="display:inline;fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.93489146;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4924-7-5)"
|
||||
d="m -265.0259,179.09455 18.69783,0"
|
||||
id="path4152-1"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="display:inline;fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.93489146;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4924-7-58)"
|
||||
d="m 22.32053,947.84486 18.69783,0"
|
||||
id="path4152-2"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4924-8)"
|
||||
d="m 191.34167,32.035246 160,0"
|
||||
id="path4152-9"
|
||||
inkscape:connector-curvature="0" />
|
||||
</svg>
|
After Width: | Height: | Size: 12 KiB |
44
gns3server/custom_symbols/vsrx_bybaro.svg
Normal file
@ -0,0 +1,44 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<svg id="svg1998" width="55.044277" height="63.620274" version="1.0" xmlns="http://www.w3.org/2000/svg">
|
||||
<title id="title3303">ASA</title>
|
||||
<defs id="defs2001">
|
||||
<marker orient="auto" refY="0" refX="0" id="Arrow2Lstart" style="overflow:visible">
|
||||
<path id="path11918" style="font-size:12px;fill-rule:evenodd;stroke-width:0.73333335;stroke-linejoin:round" d="M 11.403143,4.732916 -1.416553,0.01878889 11.403144,-4.6953372 c -2.0480517,2.7832182 -2.0362508,6.5911436 -10e-7,9.4282532 z"/>
|
||||
</marker>
|
||||
<marker orient="auto" refY="0" refX="0" id="Arrow1Send" style="overflow:visible">
|
||||
<path id="path11921" d="M -1.28,0 -2.3466667,1.0666667 1.3866667,0 -2.3466667,-1.0666667 Z" style="fill-rule:evenodd;stroke:#000000;stroke-width:0.21333334pt;marker-start:none"/>
|
||||
</marker>
|
||||
<marker orient="auto" refY="0" refX="0" id="Arrow1Lstart" style="overflow:visible">
|
||||
<path id="path11936" d="M 10.666667,0 14.933333,-4.2666667 0,0 14.933333,4.2666667 Z" style="fill-rule:evenodd;stroke:#000000;stroke-width:0.85333335pt;marker-start:none"/>
|
||||
</marker>
|
||||
<linearGradient id="linearGradient6875" gradientUnits="userSpaceOnUse" gradientTransform="matrix(26.557584,0,0,27.099161,-9.2951537,-5.3720715)" x1="2.1178279" y1="0.30649999" x2="-0.4954865" y2="0.30649999">
|
||||
<stop style="stop-color:#6e8caa;stop-opacity:1;" offset="0" id="stop8333"/>
|
||||
<stop style="stop-color:#dde3ef;stop-opacity:1;" offset="1" id="stop8335"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<path id="path11907" d="m 2.277686,60.343382 v 3.25342 h 45.379267 v -3.25342 H 2.277686" style="fill:#000000;fill-opacity:0.39215686;stroke:none;stroke-width:1.06666672"/>
|
||||
<path id="path11020" d="M 47.765643,8.1809483 55.044279,1.3761504 55.028695,57.643455 47.654539,63.62027 47.765638,8.1809483" style="fill:#000000;fill-opacity:0.39215686;stroke:none;stroke-width:1.06666672"/>
|
||||
<path id="path2037" d="M 0.47692057,5.3149867 V 49.230745 H 47.778461 V 5.3149867 H 0.47692057" style="fill:#6e8caa;fill-opacity:1;stroke:none;stroke-width:1.06666672"/>
|
||||
<path id="path2041" d="M 0,5.8198859 6.0551291,0.04776213 H 53.885337 L 47.777093,5.8198859 H 0" style="fill:url(#linearGradient6875);fill-opacity:1;stroke:none;stroke-width:1.06666672"/>
|
||||
<path id="path2045" d="M 47.635174,5.2911061 53.670405,0 v 43.968341 l -6.035231,5.291106 V 5.2911061" style="fill:#6e8296;fill-opacity:1;stroke:none;stroke-width:1.06666672"/>
|
||||
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06040335" d="m 68.017411,-124.00618 h 32.336679 v -2.5979 l 6.95208,5.19579 -6.95208,5.62568 v -2.59789 H 68.017411 v -5.62568" id="path39"/>
|
||||
<path style="fill:#000000;stroke:#ffffff;stroke-width:1.06040335;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="M 56.893321,-121.40829 H 70.452314" id="path61"/>
|
||||
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06040335" d="M 16.19484,61.82555 H 0.42243277 V 55.665507 H 16.19484 v 6.160043" id="path99"/>
|
||||
<path style="fill:#000000;stroke:#e1e1e1;stroke-width:0.47963932;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="M 16.19484,61.82555 H 0.57567743" id="path101"/>
|
||||
<path style="fill:#000000;stroke:#e1e1e1;stroke-width:0.47819233;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="M 0.66977537,55.665507 H 16.19484 v 6.160043" id="path103"/>
|
||||
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.47819233;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="M 47.780883,61.82555 H 31.991982 v -6.160043 h 15.788901 v 6.160043" id="path105"/>
|
||||
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.47819233;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="M 40.280128,61.82555 H 24.474743 v -6.160043 h 15.805385 v 6.160043" id="path107"/>
|
||||
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.47819233;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="M 24.474743,61.82555 H 8.6940847 V 55.665507 H 24.474743 v 6.160043" id="path109"/>
|
||||
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.50290239;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="m 50.792321,53.512289 2.638353,-2.735375 v -6.805626 l -2.638353,2.720386 v 6.820615" id="path111"/>
|
||||
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.47819233;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="m 50.792321,59.372711 2.638353,-2.166775 v -6.166822 l -2.638353,2.160008 v 6.173589" id="path125"/>
|
||||
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.47819233;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="m 47.780883,61.82555 3.011438,-2.452839 v -6.173589 l -3.011438,2.466385 v 6.160043" id="path127"/>
|
||||
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.47819233;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="M 31.991982,55.665507 H 16.19484 v -6.166811 h 15.797142 v 6.166811" id="path133"/>
|
||||
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.06040335" d="M 16.19484,55.665507 H 0.42243277 V 49.498685 H 16.19484 v 6.166822" id="path135"/>
|
||||
<path style="fill:#000000;stroke:#e1e1e1;stroke-width:0.48108193;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="M 16.19484,55.665507 H 0.48158037" id="path137"/>
|
||||
<path style="fill:#000000;stroke:#e1e1e1;stroke-width:0.48039833;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="M 0.52620409,49.498696 H 16.19484 v 6.166811" id="path139"/>
|
||||
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.47819233;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="M 47.780883,55.665507 H 31.991982 v -6.166811 h 15.788901 v 6.166811" id="path141"/>
|
||||
<path style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#e1e1e1;stroke-width:0.48692337;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1" d="m 47.780883,55.665507 3.011438,-2.557269 v -6.387053 l -3.011438,2.550268 v 6.394054" id="path145"/>
|
||||
<path d="M 24.272 46.546 C 34.337 46.546 42.543 38.338 42.543 28.274 C 42.543 18.21 34.337 10 24.272 10 C 14.207 10 6 18.21 6 28.274 C 6 38.338 14.207 46.546 24.272 46.546 Z" fill="#12537c"/>
|
||||
<path d="M 24.001 48.003 C 35.017 48.003 44 39.018 44 28.003 C 44 16.987 35.017 8 24.001 8 C 12.984 8 4 16.987 4 28.003 C 4 39.018 12.984 48.003 24.001 48.003 Z" stroke="#bcbec0" stroke-linecap="butt" stroke-linejoin="miter" stroke-width="1.125" style="fill: rgb(18, 83, 124);"/>
|
||||
<path d="M 22.025 26.701 L 20.936 26.701 L 8.503 26.701 L 8.503 23.706 L 19.439 23.706 L 19.439 17.324 L 17.836 17.324 L 19.397 14.621 L 20.604 12.533 L 20.958 11.92 L 22.52 14.621 L 24.078 17.324 L 23.366 17.324 L 22.434 17.324 L 22.434 25.203 L 22.434 26.701 L 22.025 26.701 L 22.025 26.701 Z M 34.665 27.673 L 34.665 26.701 L 26.887 26.701 L 25.39 26.701 L 25.39 26.289 L 25.39 25.203 L 25.39 12.858 L 28.385 12.858 L 28.385 23.705 L 34.664 23.705 L 34.666 22.141 L 37.366 23.703 L 39.453 24.907 L 39.248 25.264 L 39.453 24.907 L 40.069 25.263 L 37.366 26.824 L 34.664 28.381 L 34.664 27.673 L 34.665 27.673 Z M 19.849 43.677 L 19.849 43.267 L 20.261 43.267 L 19.849 43.267 L 19.849 43.677 L 19.439 43.677 L 19.439 32.828 L 13.334 32.828 L 13.334 34.468 L 10.633 32.907 L 7.931 31.348 L 10.633 29.787 L 13.334 28.228 L 13.334 28.937 L 13.334 29.835 L 20.936 29.835 L 22.434 29.835 L 22.434 30.245 L 22.434 31.331 L 22.434 43.677 L 19.849 43.677 L 19.849 43.677 Z M 26.886 43.239 L 27.242 43.034 L 26.886 43.239 L 26.886 43.239 Z M 25.325 41.358 L 23.766 38.654 L 24.477 38.654 L 25.39 38.653 L 25.39 31.331 L 25.39 29.835 L 25.8 29.835 L 26.887 29.835 L 39.32 29.835 L 39.32 32.828 L 28.386 32.828 L 28.386 38.655 L 30.006 38.655 L 28.446 41.359 L 27.242 43.444 L 26.887 44.062 L 25.325 41.358 L 25.325 41.358 Z" fill="white"/>
|
||||
</svg>
|
After Width: | Height: | Size: 8.2 KiB |
35
gns3server/custom_symbols/vyos.svg
Normal file
@ -0,0 +1,35 @@
|
||||
<svg width="60" height="60" viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect height="60" width="60" x="0" y="0" style="fill:#ffffff" />
|
||||
<path d="M43.8 7.2H52.8V37.2H60V0H43.8V7.2Z" fill="url(#paint0_linear)"/>
|
||||
<path d="M37.2 0H0V16.2H7.2V7.2H37.2V0Z" fill="url(#paint1_linear)"/>
|
||||
<path d="M7.2 22.8H0V60H16.2V52.8H7.2V22.8Z" fill="url(#paint2_linear)"/>
|
||||
<path d="M22.8 52.8V60H60V43.8H52.8V52.8H22.8Z" fill="url(#paint3_linear)"/>
|
||||
<path d="M13.2 13.2H20.4L33.6 46.8H26.4L13.2 13.2Z" fill="url(#paint4_linear)"/>
|
||||
<path d="M46.8 13.2H39.6L26.4 46.8H33.6L46.8 13.2Z" fill="url(#paint5_linear)"/>
|
||||
<defs>
|
||||
<linearGradient id="paint0_linear" x1="0" y1="0" x2="60" y2="60" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#FFBF12"/>
|
||||
<stop offset="1" stop-color="#FF9000"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint1_linear" x1="0" y1="0" x2="60" y2="60" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#FFBF12"/>
|
||||
<stop offset="1" stop-color="#FF9000"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint2_linear" x1="0" y1="0" x2="60" y2="60" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#FFBF12"/>
|
||||
<stop offset="1" stop-color="#FF9000"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint3_linear" x1="0" y1="0" x2="60" y2="60" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#FFBF12"/>
|
||||
<stop offset="1" stop-color="#FF9000"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint4_linear" x1="0" y1="0" x2="60" y2="60" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#FFBF12"/>
|
||||
<stop offset="1" stop-color="#FF9000"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="paint5_linear" x1="0" y1="0" x2="60" y2="60" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#FFBF12"/>
|
||||
<stop offset="1" stop-color="#FF9000"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 1.7 KiB |
@ -18,7 +18,7 @@
|
||||
import os
|
||||
|
||||
from typing import Optional, List
|
||||
from sqlalchemy import select, delete
|
||||
from sqlalchemy import select, delete, update
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
from .base import BaseRepository
|
||||
@ -103,6 +103,22 @@ class ImagesRepository(BaseRepository):
|
||||
await self._db_session.refresh(db_image)
|
||||
return db_image
|
||||
|
||||
async def update_image(self, image_path: str, checksum: str, checksum_algorithm: str) -> models.Image:
|
||||
"""
|
||||
Update an image.
|
||||
"""
|
||||
|
||||
query = update(models.Image).\
|
||||
where(models.Image.path == image_path).\
|
||||
values(checksum=checksum, checksum_algorithm=checksum_algorithm)
|
||||
|
||||
await self._db_session.execute(query)
|
||||
await self._db_session.commit()
|
||||
image_db = await self.get_image_by_checksum(checksum)
|
||||
if image_db:
|
||||
await self._db_session.refresh(image_db) # force refresh of updated_at value
|
||||
return image_db
|
||||
|
||||
async def delete_image(self, image_path: str) -> bool:
|
||||
"""
|
||||
Delete an image.
|
||||
@ -119,7 +135,7 @@ class ImagesRepository(BaseRepository):
|
||||
await self._db_session.commit()
|
||||
return result.rowcount > 0
|
||||
|
||||
async def prune_images(self) -> int:
|
||||
async def prune_images(self, skip_images: list[str] = None) -> int:
|
||||
"""
|
||||
Prune images not attached to any template.
|
||||
"""
|
||||
@ -130,12 +146,15 @@ class ImagesRepository(BaseRepository):
|
||||
images = result.scalars().all()
|
||||
images_deleted = 0
|
||||
for image in images:
|
||||
if skip_images and image.filename in skip_images:
|
||||
log.debug(f"Skipping image '{image.path}' for pruning")
|
||||
continue
|
||||
try:
|
||||
log.debug(f"Deleting image '{image.path}'")
|
||||
os.remove(image.path)
|
||||
except OSError:
|
||||
log.warning(f"Could not delete image file {image.path}")
|
||||
if await self.delete_image(image.filename):
|
||||
if await self.delete_image(image.path):
|
||||
images_deleted += 1
|
||||
log.info(f"{images_deleted} image(s) have been deleted")
|
||||
return images_deleted
|
||||
|
@ -170,3 +170,14 @@ class TemplatesRepository(BaseRepository):
|
||||
await self._db_session.commit()
|
||||
await self._db_session.refresh(template_in_db)
|
||||
return template_in_db
|
||||
|
||||
async def get_template_images(self, template_id: UUID) -> List[models.Image]:
|
||||
"""
|
||||
Return all images attached to a template.
|
||||
"""
|
||||
|
||||
query = select(models.Image).\
|
||||
join(models.Image.templates).\
|
||||
filter(models.Template.template_id == template_id)
|
||||
result = await self._db_session.execute(query)
|
||||
return result.scalars().all()
|
||||
|
@ -16,13 +16,11 @@
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import asyncio
|
||||
import signal
|
||||
import time
|
||||
import os
|
||||
|
||||
from fastapi import FastAPI
|
||||
from pydantic import ValidationError
|
||||
from watchfiles import awatch, Change
|
||||
|
||||
from typing import List
|
||||
from sqlalchemy import event
|
||||
from sqlalchemy.engine import Engine
|
||||
@ -32,10 +30,13 @@ from alembic import command, config
|
||||
from alembic.script import ScriptDirectory
|
||||
from alembic.runtime.migration import MigrationContext
|
||||
from alembic.util.exc import CommandError
|
||||
from watchdog.observers import Observer
|
||||
from watchdog.events import FileSystemEvent, PatternMatchingEventHandler
|
||||
|
||||
from gns3server.db.repositories.computes import ComputesRepository
|
||||
from gns3server.db.repositories.images import ImagesRepository
|
||||
from gns3server.utils.images import discover_images, check_valid_image_header, read_image_info, default_images_directory, InvalidImageError
|
||||
from gns3server.utils.images import md5sum, discover_images, read_image_info, InvalidImageError
|
||||
from gns3server.utils.asyncio import wait_run_in_executor
|
||||
from gns3server import schemas
|
||||
|
||||
from .models import Base
|
||||
@ -130,81 +131,7 @@ async def get_computes(app: FastAPI) -> List[dict]:
|
||||
return computes
|
||||
|
||||
|
||||
def image_filter(change: Change, path: str) -> bool:
|
||||
|
||||
if change == Change.added and os.path.isfile(path):
|
||||
if path.endswith(".tmp") or path.endswith(".md5sum") or path.startswith("."):
|
||||
return False
|
||||
if "/lib/" in path or "/lib64/" in path:
|
||||
# ignore custom IOU libraries
|
||||
return False
|
||||
header_magic_len = 7
|
||||
with open(path, "rb") as f:
|
||||
image_header = f.read(header_magic_len) # read the first 7 bytes of the file
|
||||
if len(image_header) >= header_magic_len:
|
||||
try:
|
||||
check_valid_image_header(image_header)
|
||||
except InvalidImageError as e:
|
||||
log.debug(f"New image '{path}': {e}")
|
||||
return False
|
||||
else:
|
||||
log.debug(f"New image '{path}': size is too small to be valid")
|
||||
return False
|
||||
return True
|
||||
# FIXME: should we support image deletion?
|
||||
# elif change == Change.deleted:
|
||||
# return True
|
||||
return False
|
||||
|
||||
|
||||
async def monitor_images_on_filesystem(app: FastAPI):
|
||||
|
||||
directories_to_monitor = []
|
||||
for image_type in ("qemu", "ios", "iou"):
|
||||
image_dir = default_images_directory(image_type)
|
||||
if os.path.isdir(image_dir):
|
||||
log.debug(f"Monitoring for new images in '{image_dir}'")
|
||||
directories_to_monitor.append(image_dir)
|
||||
|
||||
try:
|
||||
async for changes in awatch(
|
||||
*directories_to_monitor,
|
||||
watch_filter=image_filter,
|
||||
raise_interrupt=True
|
||||
):
|
||||
async with AsyncSession(app.state._db_engine) as db_session:
|
||||
images_repository = ImagesRepository(db_session)
|
||||
for change in changes:
|
||||
change_type, image_path = change
|
||||
if change_type == Change.added:
|
||||
try:
|
||||
image = await read_image_info(image_path)
|
||||
except InvalidImageError as e:
|
||||
log.warning(str(e))
|
||||
continue
|
||||
try:
|
||||
if await images_repository.get_image(image_path):
|
||||
continue
|
||||
await images_repository.add_image(**image)
|
||||
log.info(f"Discovered image '{image_path}' has been added to the database")
|
||||
except SQLAlchemyError as e:
|
||||
log.warning(f"Error while adding image '{image_path}' to the database: {e}")
|
||||
# if change_type == Change.deleted:
|
||||
# try:
|
||||
# if await images_repository.get_image(image_path):
|
||||
# success = await images_repository.delete_image(image_path)
|
||||
# if not success:
|
||||
# log.warning(f"Could not delete image '{image_path}' from the database")
|
||||
# else:
|
||||
# log.info(f"Image '{image_path}' has been deleted from the database")
|
||||
# except SQLAlchemyError as e:
|
||||
# log.warning(f"Error while deleting image '{image_path}' from the database: {e}")
|
||||
except KeyboardInterrupt:
|
||||
# send SIGTERM to the server PID so uvicorn can shutdown the process
|
||||
os.kill(os.getpid(), signal.SIGTERM)
|
||||
|
||||
|
||||
async def discover_images_on_filesystem(app: FastAPI):
|
||||
async def discover_images_on_filesystem(app: FastAPI) -> None:
|
||||
|
||||
async with AsyncSession(app.state._db_engine) as db_session:
|
||||
images_repository = ImagesRepository(db_session)
|
||||
@ -228,3 +155,117 @@ async def discover_images_on_filesystem(app: FastAPI):
|
||||
|
||||
# monitor if images have been manually added
|
||||
asyncio.create_task(monitor_images_on_filesystem(app))
|
||||
|
||||
|
||||
async def update_disk_checksums(updated_disks: List[str]) -> None:
|
||||
"""
|
||||
Update the checksum of a list of disks in the database.
|
||||
|
||||
:param updated_disks: list of updated disks
|
||||
"""
|
||||
|
||||
from gns3server.api.server import app
|
||||
async with AsyncSession(app.state._db_engine) as db_session:
|
||||
images_repository = ImagesRepository(db_session)
|
||||
for path in updated_disks:
|
||||
image = await images_repository.get_image(path)
|
||||
if image:
|
||||
log.info(f"Updating image '{path}' in the database")
|
||||
checksum = await wait_run_in_executor(md5sum, path, cache_to_md5file=False)
|
||||
if image.checksum != checksum:
|
||||
await images_repository.update_image(path, checksum, "md5")
|
||||
|
||||
class EventHandler(PatternMatchingEventHandler):
|
||||
"""
|
||||
Watchdog event handler.
|
||||
"""
|
||||
|
||||
def __init__(self, queue: asyncio.Queue, loop: asyncio.BaseEventLoop, **kwargs):
|
||||
|
||||
self._loop = loop
|
||||
self._queue = queue
|
||||
|
||||
# ignore temporary files, md5sum files, hidden files and directories
|
||||
super().__init__(ignore_patterns=["*.tmp", "*.md5sum", ".*"], ignore_directories = True, **kwargs)
|
||||
|
||||
def on_closed(self, event: FileSystemEvent) -> None:
|
||||
# monitor for closed files (e.g. when a file has finished to be copied)
|
||||
if "/lib/" in event.src_path or "/lib64/" in event.src_path:
|
||||
return # ignore custom IOU libraries
|
||||
self._loop.call_soon_threadsafe(self._queue.put_nowait, event)
|
||||
|
||||
class EventIterator(object):
|
||||
"""
|
||||
Watchdog Event iterator.
|
||||
"""
|
||||
|
||||
def __init__(self, queue: asyncio.Queue):
|
||||
self.queue = queue
|
||||
|
||||
def __aiter__(self):
|
||||
return self
|
||||
|
||||
async def __anext__(self):
|
||||
|
||||
item = await self.queue.get()
|
||||
if item is None:
|
||||
raise StopAsyncIteration
|
||||
return item
|
||||
|
||||
async def monitor_images_on_filesystem(app: FastAPI):
|
||||
|
||||
def watchdog(
|
||||
path: str,
|
||||
queue: asyncio.Queue,
|
||||
loop: asyncio.BaseEventLoop,
|
||||
app: FastAPI, recursive: bool = False
|
||||
) -> None:
|
||||
"""
|
||||
Thread to monitor a directory for new images.
|
||||
"""
|
||||
|
||||
handler = EventHandler(queue, loop)
|
||||
observer = Observer()
|
||||
observer.schedule(handler, str(path), recursive=recursive)
|
||||
observer.start()
|
||||
log.info(f"Monitoring for new images in '{path}'")
|
||||
while True:
|
||||
time.sleep(1)
|
||||
# stop when the app is exiting
|
||||
if app.state.exiting:
|
||||
observer.stop()
|
||||
observer.join(10)
|
||||
log.info(f"Stopping monitoring for new images in '{path}'")
|
||||
loop.call_soon_threadsafe(queue.put_nowait, None)
|
||||
break
|
||||
|
||||
queue = asyncio.Queue()
|
||||
loop = asyncio.get_event_loop()
|
||||
server_config = Config.instance().settings.Server
|
||||
image_dir = os.path.expanduser(server_config.images_path)
|
||||
asyncio.get_event_loop().run_in_executor(None, watchdog,image_dir, queue, loop, app, True)
|
||||
|
||||
async for filesystem_event in EventIterator(queue):
|
||||
# read the file system event from the queue
|
||||
image_path = filesystem_event.src_path
|
||||
expected_image_type = None
|
||||
if "IOU" in image_path:
|
||||
expected_image_type = "iou"
|
||||
elif "QEMU" in image_path:
|
||||
expected_image_type = "qemu"
|
||||
elif "IOS" in image_path:
|
||||
expected_image_type = "ios"
|
||||
async with AsyncSession(app.state._db_engine) as db_session:
|
||||
images_repository = ImagesRepository(db_session)
|
||||
try:
|
||||
image = await read_image_info(image_path, expected_image_type)
|
||||
except InvalidImageError as e:
|
||||
log.warning(str(e))
|
||||
continue
|
||||
try:
|
||||
if await images_repository.get_image(image_path):
|
||||
continue
|
||||
await images_repository.add_image(**image)
|
||||
log.info(f"Discovered image '{image_path}' has been added to the database")
|
||||
except SQLAlchemyError as e:
|
||||
log.warning(f"Error while adding image '{image_path}' to the database: {e}")
|
||||
|
@ -30,6 +30,7 @@ import gns3server.utils.get_resource
|
||||
import os
|
||||
import sys
|
||||
import asyncio
|
||||
import argparse
|
||||
|
||||
|
||||
def daemonize():
|
||||
@ -59,6 +60,42 @@ def daemonize():
|
||||
print("Second fork failed: %d (%s)\n" % (e.errno, e.strerror), file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
def parse_arguments(argv):
|
||||
"""
|
||||
Parse command line arguments
|
||||
|
||||
:param argv: Array of command line arguments
|
||||
"""
|
||||
from gns3server.version import __version__
|
||||
parser = argparse.ArgumentParser(description=f"GNS3 server version {__version__}")
|
||||
parser.add_argument("-v", "--version", help="show the version", action="version", version=__version__)
|
||||
parser.add_argument("--host", help="run on the given host/IP address")
|
||||
parser.add_argument("--port", help="run on the given port", type=int)
|
||||
parser.add_argument("--ssl", action="store_true", help="run in SSL mode")
|
||||
parser.add_argument("--config", help="Configuration file")
|
||||
parser.add_argument("--certfile", help="SSL cert file")
|
||||
parser.add_argument("--certkey", help="SSL key file")
|
||||
parser.add_argument("-L", "--local", action="store_true", help="local mode (allows some insecure operations)")
|
||||
parser.add_argument(
|
||||
"-A", "--allow", action="store_true", help="allow remote connections to local console ports"
|
||||
)
|
||||
parser.add_argument("-q", "--quiet", default=False, action="store_true", help="do not show logs on stdout")
|
||||
parser.add_argument("-d", "--debug", default=False, action="store_true", help="show debug logs")
|
||||
parser.add_argument("--logfile", "--log", help="send output to logfile instead of console")
|
||||
parser.add_argument("--logmaxsize", default=10000000, help="maximum logfile size in bytes (default is 10MB)")
|
||||
parser.add_argument(
|
||||
"--logbackupcount", default=10, help="number of historical log files to keep (default is 10)"
|
||||
)
|
||||
parser.add_argument(
|
||||
"--logcompression", default=False, action="store_true", help="compress inactive (historical) logs"
|
||||
)
|
||||
parser.add_argument("--daemon", action="store_true", help="start as a daemon")
|
||||
parser.add_argument("--pid", help="store process pid")
|
||||
parser.add_argument("--profile", help="Settings profile (blank will use default settings files)")
|
||||
|
||||
args = parser.parse_args(argv)
|
||||
return parser, args
|
||||
|
||||
|
||||
def main():
|
||||
"""
|
||||
@ -69,10 +106,11 @@ def main():
|
||||
raise SystemExit("Windows is not a supported platform to run the GNS3 server")
|
||||
if "--daemon" in sys.argv:
|
||||
daemonize()
|
||||
from gns3server.server import Server
|
||||
|
||||
try:
|
||||
asyncio.run(Server().run())
|
||||
parser, args = parse_arguments(sys.argv[1:])
|
||||
from gns3server.server import Server
|
||||
asyncio.run(Server().run(parser, args))
|
||||
except KeyboardInterrupt:
|
||||
pass
|
||||
|
||||
|
@ -43,8 +43,8 @@ class DockerBase(BaseModel):
|
||||
environment: Optional[str] = Field(None, description="Docker environment variables")
|
||||
extra_hosts: Optional[str] = Field(None, description="Docker extra hosts (added to /etc/hosts)")
|
||||
extra_volumes: Optional[List[str]] = Field(None, description="Additional directories to make persistent")
|
||||
memory: Optional[int] = Field(None, description="Maximum amount of memory the container can use in MB")
|
||||
cpus: Optional[float] = Field(None, description="Maximum amount of CPU resources the container can use")
|
||||
memory: Optional[int] = Field(None, ge=0, description="Maximum amount of memory the container can use in MB")
|
||||
cpus: Optional[float] = Field(None, ge=0, description="Maximum amount of CPU resources the container can use")
|
||||
custom_adapters: Optional[List[CustomAdapter]] = Field(None, description="Custom adapters")
|
||||
|
||||
|
||||
|
@ -124,8 +124,8 @@ class DynamipsBase(BaseModel):
|
||||
name: Optional[str] = None
|
||||
dynamips_id: Optional[int] = Field(None, description="Dynamips internal ID")
|
||||
platform: Optional[DynamipsPlatform] = Field(None, description="Cisco router platform")
|
||||
ram: Optional[int] = Field(None, description="Amount of RAM in MB")
|
||||
nvram: Optional[int] = Field(None, description="Amount of NVRAM in KB")
|
||||
ram: Optional[int] = Field(None, gt=0, description="Amount of RAM in MB")
|
||||
nvram: Optional[int] = Field(None, gt=0, description="Amount of NVRAM in KB")
|
||||
image: Optional[str] = Field(None, description="Path to the IOS image")
|
||||
image_md5sum: Optional[str] = Field(None, description="Checksum of the IOS image")
|
||||
usage: Optional[str] = Field(None, description="How to use the Dynamips VM")
|
||||
@ -139,8 +139,8 @@ class DynamipsBase(BaseModel):
|
||||
idlemax: Optional[int] = Field(None, description="Idlemax value")
|
||||
idlesleep: Optional[int] = Field(None, description="Idlesleep value")
|
||||
exec_area: Optional[int] = Field(None, description="Exec area value")
|
||||
disk0: Optional[int] = Field(None, description="Disk0 size in MB")
|
||||
disk1: Optional[int] = Field(None, description="Disk1 size in MB")
|
||||
disk0: Optional[int] = Field(None, ge=0, description="Disk0 size in MB")
|
||||
disk1: Optional[int] = Field(None, ge=0, description="Disk1 size in MB")
|
||||
auto_delete_disks: Optional[bool] = Field(None, description="Automatically delete nvram and disk files")
|
||||
console: Optional[int] = Field(None, gt=0, le=65535, description="Console TCP port")
|
||||
console_type: Optional[DynamipsConsoleType] = Field(None, description="Console type")
|
||||
@ -176,7 +176,7 @@ class DynamipsCreate(DynamipsBase):
|
||||
name: str
|
||||
platform: str = Field(..., description="Cisco router platform", pattern="^c[0-9]{4}$")
|
||||
image: str = Field(..., description="Path to the IOS image")
|
||||
ram: int = Field(..., description="Amount of RAM in MB")
|
||||
ram: int = Field(..., gt=0, description="Amount of RAM in MB")
|
||||
|
||||
|
||||
class DynamipsUpdate(DynamipsBase):
|
||||
|
@ -36,8 +36,8 @@ class IOUBase(BaseModel):
|
||||
md5sum: Optional[str] = Field(None, description="IOU executable checksum")
|
||||
serial_adapters: Optional[int] = Field(None, description="How many serial adapters are connected to IOU")
|
||||
ethernet_adapters: Optional[int] = Field(None, description="How many Ethernet adapters are connected to IOU")
|
||||
ram: Optional[int] = Field(None, description="Amount of RAM in MB")
|
||||
nvram: Optional[int] = Field(None, description="Amount of NVRAM in KB")
|
||||
ram: Optional[int] = Field(None, gt=0, description="Amount of RAM in MB")
|
||||
nvram: Optional[int] = Field(None, gt=0, description="Amount of NVRAM in KB")
|
||||
l1_keepalives: Optional[bool] = Field(None, description="Use default IOU values")
|
||||
use_default_iou_values: Optional[bool] = Field(None, description="Always up Ethernet interfaces")
|
||||
startup_config_content: Optional[str] = Field(None, description="Content of IOU startup configuration file")
|
||||
|
@ -49,8 +49,8 @@ class DockerTemplate(TemplateBase):
|
||||
)
|
||||
extra_hosts: Optional[str] = Field("", description="Docker extra hosts (added to /etc/hosts)")
|
||||
extra_volumes: Optional[List] = Field([], description="Additional directories to make persistent")
|
||||
memory: Optional[int] = Field(0, description="Maximum amount of memory the container can use in MB")
|
||||
cpus: Optional[float] = Field(0, description="Maximum amount of CPU resources the container can use")
|
||||
memory: Optional[int] = Field(0, ge=0, description="Maximum amount of memory the container can use in MB")
|
||||
cpus: Optional[float] = Field(0, ge=0, description="Maximum amount of CPU resources the container can use")
|
||||
custom_adapters: Optional[List[CustomAdapter]] = Field(default_factory=list, description="Custom adapters")
|
||||
|
||||
|
||||
|
@ -37,7 +37,7 @@ class DynamipsTemplate(TemplateBase):
|
||||
symbol: Optional[str] = "router"
|
||||
platform: DynamipsPlatform = Field(..., description="Cisco router platform")
|
||||
image: str = Field(..., description="Path to the IOS image")
|
||||
exec_area: Optional[int] = Field(64, description="Exec area value")
|
||||
exec_area: Optional[int] = Field(64, ge=0, description="Exec area value")
|
||||
mmap: Optional[bool] = Field(True, description="MMAP feature")
|
||||
mac_addr: Optional[str] = Field(
|
||||
"", description="Base MAC address", pattern="^([0-9a-fA-F]{4}\\.){2}[0-9a-fA-F]{4}$|^$"
|
||||
@ -46,10 +46,10 @@ class DynamipsTemplate(TemplateBase):
|
||||
startup_config: Optional[str] = Field("ios_base_startup-config.txt", description="IOS startup configuration file")
|
||||
private_config: Optional[str] = Field("", description="IOS private configuration file")
|
||||
idlepc: Optional[str] = Field("", description="Idle-PC value", pattern="^(0x[0-9a-fA-F]+)?$|^$")
|
||||
idlemax: Optional[int] = Field(500, description="Idlemax value")
|
||||
idlesleep: Optional[int] = Field(30, description="Idlesleep value")
|
||||
disk0: Optional[int] = Field(0, description="Disk0 size in MB")
|
||||
disk1: Optional[int] = Field(0, description="Disk1 size in MB")
|
||||
idlemax: Optional[int] = Field(500, ge=0, description="Idlemax value")
|
||||
idlesleep: Optional[int] = Field(30, ge=0, description="Idlesleep value")
|
||||
disk0: Optional[int] = Field(0, ge=0, description="Disk0 size in MB")
|
||||
disk1: Optional[int] = Field(0, ge=0, description="Disk1 size in MB")
|
||||
auto_delete_disks: Optional[bool] = Field(False, description="Automatically delete nvram and disk files")
|
||||
console_type: Optional[DynamipsConsoleType] = Field(DynamipsConsoleType.telnet, description="Console type")
|
||||
console_auto_start: Optional[bool] = Field(
|
||||
@ -70,8 +70,8 @@ class DynamipsTemplate(TemplateBase):
|
||||
|
||||
class C7200DynamipsTemplate(DynamipsTemplate):
|
||||
|
||||
ram: Optional[int] = Field(512, description="Amount of RAM in MB")
|
||||
nvram: Optional[int] = Field(512, description="Amount of NVRAM in KB")
|
||||
ram: Optional[int] = Field(512, gt=0, description="Amount of RAM in MB")
|
||||
nvram: Optional[int] = Field(512, gt=0, description="Amount of NVRAM in KB")
|
||||
npe: Optional[DynamipsNPE] = Field(DynamipsNPE.npe_400, description="NPE model")
|
||||
midplane: Optional[DynamipsMidplane] = Field(DynamipsMidplane.vxr, description="Midplane model")
|
||||
sparsemem: Optional[bool] = Field(True, description="Sparse memory feature")
|
||||
@ -85,8 +85,8 @@ class C7200DynamipsTemplateUpdate(C7200DynamipsTemplate):
|
||||
|
||||
class C3725DynamipsTemplate(DynamipsTemplate):
|
||||
|
||||
ram: Optional[int] = Field(128, description="Amount of RAM in MB")
|
||||
nvram: Optional[int] = Field(256, description="Amount of NVRAM in KB")
|
||||
ram: Optional[int] = Field(128, gt=0, description="Amount of RAM in MB")
|
||||
nvram: Optional[int] = Field(256, gt=0, description="Amount of NVRAM in KB")
|
||||
iomem: Optional[int] = Field(5, ge=0, le=100, description="I/O memory percentage")
|
||||
sparsemem: Optional[bool] = Field(True, description="Sparse memory feature")
|
||||
|
||||
@ -99,8 +99,8 @@ class C3725DynamipsTemplateUpdate(C3725DynamipsTemplate):
|
||||
|
||||
class C3745DynamipsTemplate(DynamipsTemplate):
|
||||
|
||||
ram: Optional[int] = Field(256, description="Amount of RAM in MB")
|
||||
nvram: Optional[int] = Field(256, description="Amount of NVRAM in KB")
|
||||
ram: Optional[int] = Field(256, gt=0, description="Amount of RAM in MB")
|
||||
nvram: Optional[int] = Field(256, gt=0, description="Amount of NVRAM in KB")
|
||||
iomem: Optional[int] = Field(5, ge=0, le=100, description="I/O memory percentage")
|
||||
sparsemem: Optional[bool] = Field(True, description="Sparse memory feature")
|
||||
|
||||
@ -121,8 +121,8 @@ class C3600ChassisType(str, Enum):
|
||||
class C3600DynamipsTemplate(DynamipsTemplate):
|
||||
|
||||
chassis: Optional[C3600ChassisType] = Field("c3660", description="Chassis type")
|
||||
ram: Optional[int] = Field(192, description="Amount of RAM in MB")
|
||||
nvram: Optional[int] = Field(128, description="Amount of NVRAM in KB")
|
||||
ram: Optional[int] = Field(192, gt=0, description="Amount of RAM in MB")
|
||||
nvram: Optional[int] = Field(128, gt=0, description="Amount of NVRAM in KB")
|
||||
iomem: Optional[int] = Field(5, ge=0, le=100, description="I/O memory percentage")
|
||||
sparsemem: Optional[bool] = Field(True, description="Sparse memory feature")
|
||||
|
||||
@ -135,8 +135,8 @@ class C3600DynamipsTemplateUpdate(C3600DynamipsTemplate):
|
||||
|
||||
class C2691DynamipsTemplate(DynamipsTemplate):
|
||||
|
||||
ram: Optional[int] = Field(192, description="Amount of RAM in MB")
|
||||
nvram: Optional[int] = Field(256, description="Amount of NVRAM in KB")
|
||||
ram: Optional[int] = Field(192, gt=0, description="Amount of RAM in MB")
|
||||
nvram: Optional[int] = Field(256, gt=0, description="Amount of NVRAM in KB")
|
||||
iomem: Optional[int] = Field(5, ge=0, le=100, description="I/O memory percentage")
|
||||
sparsemem: Optional[bool] = Field(True, description="Sparse memory feature")
|
||||
|
||||
@ -163,8 +163,8 @@ class C2600ChassisType(str, Enum):
|
||||
class C2600DynamipsTemplate(DynamipsTemplate):
|
||||
|
||||
chassis: Optional[C2600ChassisType] = Field("2651XM", description="Chassis type")
|
||||
ram: Optional[int] = Field(160, description="Amount of RAM in MB")
|
||||
nvram: Optional[int] = Field(128, description="Amount of NVRAM in KB")
|
||||
ram: Optional[int] = Field(160, gt=0, description="Amount of RAM in MB")
|
||||
nvram: Optional[int] = Field(128, gt=0, description="Amount of NVRAM in KB")
|
||||
iomem: Optional[int] = Field(15, ge=0, le=100, description="I/O memory percentage")
|
||||
sparsemem: Optional[bool] = Field(True, description="Sparse memory feature")
|
||||
|
||||
@ -187,8 +187,8 @@ class C1700ChassisType(str, Enum):
|
||||
class C1700DynamipsTemplate(DynamipsTemplate):
|
||||
|
||||
chassis: Optional[C1700ChassisType] = Field("1760", description="Chassis type")
|
||||
ram: Optional[int] = Field(160, description="Amount of RAM in MB")
|
||||
nvram: Optional[int] = Field(128, description="Amount of NVRAM in KB")
|
||||
ram: Optional[int] = Field(160, gt=0, description="Amount of RAM in MB")
|
||||
nvram: Optional[int] = Field(128, gt=0, description="Amount of NVRAM in KB")
|
||||
iomem: Optional[int] = Field(15, ge=0, le=100, description="I/O memory percentage")
|
||||
sparsemem: Optional[bool] = Field(False, description="Sparse memory feature")
|
||||
|
||||
|
@ -28,10 +28,10 @@ class IOUTemplate(TemplateBase):
|
||||
default_name_format: Optional[str] = "IOU{0}"
|
||||
symbol: Optional[str] = "multilayer_switch"
|
||||
path: str = Field(..., description="Path of IOU executable")
|
||||
ethernet_adapters: Optional[int] = Field(2, description="Number of ethernet adapters")
|
||||
serial_adapters: Optional[int] = Field(2, description="Number of serial adapters")
|
||||
ram: Optional[int] = Field(256, description="Amount of RAM in MB")
|
||||
nvram: Optional[int] = Field(128, description="Amount of NVRAM in KB")
|
||||
ethernet_adapters: Optional[int] = Field(2, ge=0, description="Number of ethernet adapters")
|
||||
serial_adapters: Optional[int] = Field(2, ge=0, description="Number of serial adapters")
|
||||
ram: Optional[int] = Field(256, gt=0, description="Amount of RAM in MB")
|
||||
nvram: Optional[int] = Field(128, gt=0, description="Amount of NVRAM in KB")
|
||||
use_default_iou_values: Optional[bool] = Field(True, description="Use default IOU values")
|
||||
startup_config: Optional[str] = Field("iou_l3_base_startup-config.txt", description="Startup-config of IOU")
|
||||
private_config: Optional[str] = Field("", description="Private-config of IOU")
|
||||
|
@ -39,7 +39,7 @@ class QemuTemplate(TemplateBase):
|
||||
qemu_path: Optional[str] = Field("", description="Qemu executable path")
|
||||
platform: Optional[QemuPlatform] = Field(QemuPlatform.x86_64, description="Platform to emulate")
|
||||
linked_clone: Optional[bool] = Field(True, description="Whether the VM is a linked clone or not")
|
||||
ram: Optional[int] = Field(256, description="Amount of RAM in MB")
|
||||
ram: Optional[int] = Field(256, gt=0, description="Amount of RAM in MB")
|
||||
cpus: Optional[int] = Field(1, ge=1, le=255, description="Number of vCPUs")
|
||||
maxcpus: Optional[int] = Field(1, ge=1, le=255, description="Maximum number of hotpluggable vCPUs")
|
||||
adapters: Optional[int] = Field(1, ge=0, le=275, description="Number of adapters")
|
||||
|
@ -39,7 +39,7 @@ class UserCreate(UserBase):
|
||||
"""
|
||||
|
||||
username: str = Field(..., min_length=3, pattern="[a-zA-Z0-9_-]+$")
|
||||
password: SecretStr = Field(..., min_length=6, max_length=100)
|
||||
password: SecretStr = Field(..., min_length=8, max_length=100)
|
||||
|
||||
|
||||
class UserUpdate(UserBase):
|
||||
@ -47,7 +47,7 @@ class UserUpdate(UserBase):
|
||||
Properties to update a user.
|
||||
"""
|
||||
|
||||
password: Optional[SecretStr] = Field(None, min_length=6, max_length=100)
|
||||
password: Optional[SecretStr] = Field(None, min_length=8, max_length=100)
|
||||
|
||||
|
||||
class LoggedInUserUpdate(BaseModel):
|
||||
@ -55,7 +55,7 @@ class LoggedInUserUpdate(BaseModel):
|
||||
Properties to update a logged-in user.
|
||||
"""
|
||||
|
||||
password: Optional[SecretStr] = Field(None, min_length=6, max_length=100)
|
||||
password: Optional[SecretStr] = Field(None, min_length=8, max_length=100)
|
||||
email: Optional[EmailStr] = None
|
||||
full_name: Optional[str] = None
|
||||
|
||||
|
@ -23,7 +23,6 @@ Start the program. Use main.py to load it.
|
||||
import os
|
||||
import datetime
|
||||
import locale
|
||||
import argparse
|
||||
import psutil
|
||||
import sys
|
||||
import asyncio
|
||||
@ -33,13 +32,10 @@ import uvicorn
|
||||
import secrets
|
||||
import string
|
||||
|
||||
from gns3server.controller import Controller
|
||||
from gns3server.compute.port_manager import PortManager
|
||||
from gns3server.logger import init_logger
|
||||
from gns3server.version import __version__
|
||||
from gns3server.config import Config
|
||||
from gns3server.crash_report import CrashReport
|
||||
from gns3server.api.server import app
|
||||
from pydantic import ValidationError, SecretStr
|
||||
|
||||
import logging
|
||||
@ -90,40 +86,13 @@ class Server:
|
||||
else:
|
||||
log.info(f"Current locale is {language}.{encoding}")
|
||||
|
||||
def _parse_arguments(self, argv):
|
||||
def _setup_logging(self, args):
|
||||
"""
|
||||
Parse command line arguments and override local configuration
|
||||
Setup logging.
|
||||
|
||||
:params args: Array of command line arguments
|
||||
:param args: command line arguments
|
||||
"""
|
||||
|
||||
parser = argparse.ArgumentParser(description=f"GNS3 server version {__version__}")
|
||||
parser.add_argument("-v", "--version", help="show the version", action="version", version=__version__)
|
||||
parser.add_argument("--host", help="run on the given host/IP address")
|
||||
parser.add_argument("--port", help="run on the given port", type=int)
|
||||
parser.add_argument("--ssl", action="store_true", help="run in SSL mode")
|
||||
parser.add_argument("--config", help="Configuration file")
|
||||
parser.add_argument("--certfile", help="SSL cert file")
|
||||
parser.add_argument("--certkey", help="SSL key file")
|
||||
parser.add_argument("-L", "--local", action="store_true", help="local mode (allows some insecure operations)")
|
||||
parser.add_argument(
|
||||
"-A", "--allow", action="store_true", help="allow remote connections to local console ports"
|
||||
)
|
||||
parser.add_argument("-q", "--quiet", default=False, action="store_true", help="do not show logs on stdout")
|
||||
parser.add_argument("-d", "--debug", default=False, action="store_true", help="show debug logs")
|
||||
parser.add_argument("--logfile", "--log", help="send output to logfile instead of console")
|
||||
parser.add_argument("--logmaxsize", default=10000000, help="maximum logfile size in bytes (default is 10MB)")
|
||||
parser.add_argument(
|
||||
"--logbackupcount", default=10, help="number of historical log files to keep (default is 10)"
|
||||
)
|
||||
parser.add_argument(
|
||||
"--logcompression", default=False, action="store_true", help="compress inactive (historical) logs"
|
||||
)
|
||||
parser.add_argument("--daemon", action="store_true", help="start as a daemon")
|
||||
parser.add_argument("--pid", help="store process pid")
|
||||
parser.add_argument("--profile", help="Settings profile (blank will use default settings files)")
|
||||
|
||||
args = parser.parse_args(argv)
|
||||
level = logging.INFO
|
||||
if args.debug:
|
||||
level = logging.DEBUG
|
||||
@ -137,6 +106,15 @@ class Server:
|
||||
quiet=args.quiet,
|
||||
)
|
||||
|
||||
@staticmethod
|
||||
def _load_config_and_set_defaults(parser, args, argv=None):
|
||||
"""
|
||||
Parse command line arguments and override local configuration
|
||||
|
||||
:param parser: ArgumentParser instance
|
||||
:param args: command line arguments
|
||||
"""
|
||||
|
||||
try:
|
||||
if args.config:
|
||||
Config.instance(files=[args.config], profile=args.profile)
|
||||
@ -157,7 +135,10 @@ class Server:
|
||||
}
|
||||
|
||||
parser.set_defaults(**defaults)
|
||||
return parser.parse_args(argv)
|
||||
if argv is None:
|
||||
argv = sys.argv[1:]
|
||||
args = parser.parse_args(argv)
|
||||
return args
|
||||
|
||||
@staticmethod
|
||||
def _set_config_defaults_from_command_line(args):
|
||||
@ -174,6 +155,8 @@ class Server:
|
||||
config.Server.enable_ssl = args.ssl
|
||||
|
||||
def _signal_handling(self):
|
||||
|
||||
from gns3server.controller import Controller
|
||||
def signal_handler(signame, *args):
|
||||
|
||||
try:
|
||||
@ -239,9 +222,10 @@ class Server:
|
||||
log.critical("Can't write pid file %s: %s", path, str(e))
|
||||
sys.exit(1)
|
||||
|
||||
async def run(self):
|
||||
async def run(self, parser, args):
|
||||
|
||||
args = self._parse_arguments(sys.argv[1:])
|
||||
self._setup_logging(args)
|
||||
args = self._load_config_and_set_defaults(parser, args)
|
||||
|
||||
if args.pid:
|
||||
self._pid_lock(args.pid)
|
||||
@ -256,7 +240,6 @@ class Server:
|
||||
|
||||
self._set_config_defaults_from_command_line(args)
|
||||
config = Config.instance().settings
|
||||
|
||||
if not config.Server.compute_password.get_secret_value():
|
||||
alphabet = string.ascii_letters + string.digits + string.punctuation
|
||||
generated_password = ''.join(secrets.choice(alphabet) for _ in range(16))
|
||||
@ -267,9 +250,9 @@ class Server:
|
||||
else:
|
||||
log.info(f"Compute authentication is enabled with username '{config.Server.compute_username}'")
|
||||
|
||||
# we only support Python 3 version >= 3.8
|
||||
if sys.version_info < (3, 8, 0):
|
||||
raise SystemExit("Python 3.8 or higher is required")
|
||||
# we only support Python 3 version >= 3.9
|
||||
if sys.version_info < (3, 9, 0):
|
||||
raise SystemExit("Python 3.9 or higher is required")
|
||||
|
||||
log.info(
|
||||
"Running with Python {major}.{minor}.{micro} and has PID {pid}".format(
|
||||
@ -297,11 +280,13 @@ class Server:
|
||||
host = config.Server.host
|
||||
port = config.Server.port
|
||||
|
||||
from gns3server.compute.port_manager import PortManager
|
||||
PortManager.instance().console_host = host
|
||||
self._signal_handling()
|
||||
|
||||
try:
|
||||
log.info(f"Starting server on {host}:{port}")
|
||||
from gns3server.api.server import app
|
||||
|
||||
# only show uvicorn access logs in debug mode
|
||||
access_log = False
|
||||
|
@ -14,8 +14,9 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
from jose import JWTError, jwt
|
||||
from joserfc import jwt
|
||||
from joserfc.jwk import OctKey
|
||||
from joserfc.errors import JoseError
|
||||
from datetime import datetime, timedelta, timezone
|
||||
import bcrypt
|
||||
|
||||
@ -56,7 +57,8 @@ class AuthService:
|
||||
secret_key = DEFAULT_JWT_SECRET_KEY
|
||||
log.error("A JWT secret key must be configured to secure the server, using an unsecured default key!")
|
||||
algorithm = Config.instance().settings.Controller.jwt_algorithm
|
||||
encoded_jwt = jwt.encode(to_encode, secret_key, algorithm=algorithm)
|
||||
key = OctKey.import_key(secret_key)
|
||||
encoded_jwt = jwt.encode({"alg": algorithm}, to_encode, key)
|
||||
return encoded_jwt
|
||||
|
||||
def get_username_from_token(self, token: str, secret_key: str = None) -> Optional[str]:
|
||||
@ -73,11 +75,12 @@ class AuthService:
|
||||
secret_key = DEFAULT_JWT_SECRET_KEY
|
||||
log.error("A JWT secret key must be configured to secure the server, using an unsecured default key!")
|
||||
algorithm = Config.instance().settings.Controller.jwt_algorithm
|
||||
payload = jwt.decode(token, secret_key, algorithms=[algorithm])
|
||||
username: str = payload.get("sub")
|
||||
key = OctKey.import_key(secret_key)
|
||||
payload = jwt.decode(token, key, algorithms=[algorithm])
|
||||
username: str = payload.claims.get("sub")
|
||||
if username is None:
|
||||
raise credentials_exception
|
||||
token_data = TokenData(username=username)
|
||||
except (JWTError, ValidationError):
|
||||
except (JoseError, ValidationError, ValueError):
|
||||
raise credentials_exception
|
||||
return token_data.username
|
||||
|
@ -46,6 +46,6 @@
|
||||
|
||||
gtag('config', 'G-0BT7QQV1W1');
|
||||
</script>
|
||||
<script src="runtime.24fa95b7061d7056.js" type="module"></script><script src="polyfills.319c79dd175e50d0.js" type="module"></script><script src="main.e55eeff5c0ba1cf4.js" type="module"></script>
|
||||
<script src="runtime.24fa95b7061d7056.js" type="module"></script><script src="polyfills.319c79dd175e50d0.js" type="module"></script><script src="main.87178dd64c9c79ba.js" type="module"></script>
|
||||
|
||||
</body></html>
|