gns3-server 3.0.4__py3-none-any.whl → 3.0.5__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of gns3-server might be problematic. Click here for more details.
- gns3_server-3.0.5.dist-info/METADATA +202 -0
- {gns3_server-3.0.4.dist-info → gns3_server-3.0.5.dist-info}/RECORD +38 -33
- {gns3_server-3.0.4.dist-info → gns3_server-3.0.5.dist-info}/WHEEL +1 -1
- gns3server/api/routes/compute/cloud_nodes.py +1 -1
- gns3server/api/routes/controller/images.py +0 -5
- gns3server/api/routes/controller/links.py +52 -1
- gns3server/appliances/almalinux.gns3a +30 -0
- gns3server/appliances/arista-veos.gns3a +15 -15
- gns3server/appliances/aruba-arubaoscx.gns3a +39 -0
- gns3server/appliances/asterfusion-vAsterNOS-campus.gns3a +50 -0
- gns3server/appliances/asterfusion-vAsterNOS.gns3a +1 -1
- gns3server/appliances/centos-cloud.gns3a +24 -54
- gns3server/appliances/exos.gns3a +13 -0
- gns3server/appliances/fedora-cloud.gns3a +30 -0
- gns3server/appliances/infix.gns3a +48 -5
- gns3server/appliances/juniper-vJunos-router.gns3a +75 -0
- gns3server/appliances/nethsecurity.gns3a +44 -0
- gns3server/appliances/oracle-linux-cloud.gns3a +31 -1
- gns3server/appliances/rhel.gns3a +57 -1
- gns3server/appliances/rockylinux.gns3a +15 -0
- gns3server/compute/builtin/nodes/nat.py +1 -1
- gns3server/compute/docker/__init__.py +8 -9
- gns3server/compute/docker/docker_vm.py +2 -1
- gns3server/compute/qemu/qemu_vm.py +69 -28
- gns3server/controller/compute.py +4 -3
- gns3server/controller/gns3vm/virtualbox_gns3_vm.py +55 -28
- gns3server/crash_report.py +1 -1
- gns3server/disks/OVMF_CODE_4M.fd +0 -0
- gns3server/disks/OVMF_VARS_4M.fd +0 -0
- gns3server/schemas/__init__.py +1 -1
- gns3server/schemas/controller/links.py +21 -0
- gns3server/static/web-ui/index.html +1 -1
- gns3server/static/web-ui/main.fd9d76d279fa7d5e.js +1 -0
- gns3server/utils/images.py +10 -0
- gns3server/version.py +2 -2
- gns3_server-3.0.4.dist-info/METADATA +0 -869
- gns3server/static/web-ui/main.87178dd64c9c79ba.js +0 -1
- {gns3_server-3.0.4.dist-info → gns3_server-3.0.5.dist-info}/entry_points.txt +0 -0
- {gns3_server-3.0.4.dist-info → gns3_server-3.0.5.dist-info/licenses}/LICENSE +0 -0
- {gns3_server-3.0.4.dist-info → gns3_server-3.0.5.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: gns3-server
|
|
3
|
+
Version: 3.0.5
|
|
4
|
+
Summary: GNS3 graphical interface for the GNS3 server.
|
|
5
|
+
Author-email: Jeremy Grossmann <developers@gns3.com>
|
|
6
|
+
Project-URL: Homepage, http://gns3.com
|
|
7
|
+
Project-URL: Repository, http://github.com/GNS3/gns3-server
|
|
8
|
+
Project-URL: Bug tracker, http://github.com/GNS3/gns3-server/issues
|
|
9
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
10
|
+
Classifier: Environment :: Console
|
|
11
|
+
Classifier: Framework :: FastAPI
|
|
12
|
+
Classifier: Intended Audience :: Information Technology
|
|
13
|
+
Classifier: Topic :: System :: Networking
|
|
14
|
+
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
|
|
15
|
+
Classifier: Natural Language :: English
|
|
16
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
17
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
23
|
+
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
24
|
+
Requires-Python: >=3.9
|
|
25
|
+
Description-Content-Type: text/markdown
|
|
26
|
+
License-File: LICENSE
|
|
27
|
+
Requires-Dist: uvicorn==0.34.2
|
|
28
|
+
Requires-Dist: pydantic==2.11.4
|
|
29
|
+
Requires-Dist: fastapi==0.115.12
|
|
30
|
+
Requires-Dist: python-multipart==0.0.20
|
|
31
|
+
Requires-Dist: websockets==15.0.1
|
|
32
|
+
Requires-Dist: aiohttp<3.12,>=3.11.16
|
|
33
|
+
Requires-Dist: async-timeout==5.0.1; python_version < "3.11"
|
|
34
|
+
Requires-Dist: aiofiles<25.0,>=24.1.0
|
|
35
|
+
Requires-Dist: Jinja2<3.2,>=3.1.6
|
|
36
|
+
Requires-Dist: sentry-sdk<2.27,>=2.26.1
|
|
37
|
+
Requires-Dist: psutil>=7.0.0
|
|
38
|
+
Requires-Dist: async-timeout<5.1,>=5.0.1
|
|
39
|
+
Requires-Dist: distro>=1.9.0
|
|
40
|
+
Requires-Dist: py-cpuinfo<10.0,>=9.0.0
|
|
41
|
+
Requires-Dist: greenlet==3.2.0
|
|
42
|
+
Requires-Dist: sqlalchemy==2.0.40
|
|
43
|
+
Requires-Dist: aiosqlite==0.21.0
|
|
44
|
+
Requires-Dist: alembic==1.15.2
|
|
45
|
+
Requires-Dist: bcrypt==4.3.0
|
|
46
|
+
Requires-Dist: joserfc==1.0.4
|
|
47
|
+
Requires-Dist: email-validator==2.2.0
|
|
48
|
+
Requires-Dist: watchdog==6.0.0
|
|
49
|
+
Requires-Dist: zstandard==0.23.0
|
|
50
|
+
Requires-Dist: platformdirs<3,>=2.4.0
|
|
51
|
+
Requires-Dist: importlib-resources>=1.3; python_version <= "3.9"
|
|
52
|
+
Requires-Dist: truststore>=0.10.1; python_version >= "3.10"
|
|
53
|
+
Provides-Extra: dev
|
|
54
|
+
Requires-Dist: pytest==8.3.4; extra == "dev"
|
|
55
|
+
Requires-Dist: flake8==7.1.1; extra == "dev"
|
|
56
|
+
Requires-Dist: pytest-timeout==2.3.1; extra == "dev"
|
|
57
|
+
Requires-Dist: pytest-asyncio==0.25.2; extra == "dev"
|
|
58
|
+
Requires-Dist: requests==2.32.3; extra == "dev"
|
|
59
|
+
Requires-Dist: httpx==0.28.1; extra == "dev"
|
|
60
|
+
Requires-Dist: httpx_ws==0.7.1; extra == "dev"
|
|
61
|
+
Dynamic: license-file
|
|
62
|
+
|
|
63
|
+
# GNS3 server repository
|
|
64
|
+
|
|
65
|
+
[](https://github.com/psf/black)
|
|
66
|
+
[](https://github.com/GNS3/gns3-server/actions?query=workflow%3Atesting+branch%3A3.0)
|
|
67
|
+
[](https://pypi.python.org/pypi/gns3-server)
|
|
68
|
+
[](https://snyk.io/test/github/GNS3/gns3-server)
|
|
69
|
+
|
|
70
|
+
The GNS3 server manages emulators and other virtualization software such as Dynamips, Qemu/KVM, Docker, VPCS, VirtualBox and VMware Workstation.
|
|
71
|
+
Clients like the [GNS3 GUI](https://github.com/GNS3/gns3-gui/) and the [GNS3 Web UI](https://github.com/GNS3/gns3-web-ui/) control the server using a HTTP REST API.
|
|
72
|
+
|
|
73
|
+
## Installation
|
|
74
|
+
|
|
75
|
+
These instructions are for using GNS3, please see below for development.
|
|
76
|
+
|
|
77
|
+
### Windows & macOS
|
|
78
|
+
|
|
79
|
+
Please use our [Windows installer or DMG package](https://gns3.com/software/download) to install the stable build along with the GNS3 VM.
|
|
80
|
+
Note that as of GNS3 version above 3.0, you must run the server using the GNS3 VM or on a Linux system (remote, cloud or virtual machine).
|
|
81
|
+
|
|
82
|
+
### Linux
|
|
83
|
+
|
|
84
|
+
#### Ubuntu based distributions
|
|
85
|
+
|
|
86
|
+
We build and test packages for actively supported Ubuntu versions.
|
|
87
|
+
Other distros based on Ubuntu, like Mint, should also be supported.
|
|
88
|
+
|
|
89
|
+
Packages can be installed from our Personal Package Archives (PPA) repository:
|
|
90
|
+
|
|
91
|
+
```shell
|
|
92
|
+
sudo apt update
|
|
93
|
+
sudo apt install software-properties-common
|
|
94
|
+
sudo add-apt-repository ppa:gns3/ppa
|
|
95
|
+
sudo apt update
|
|
96
|
+
sudo apt install gns3-gui gns3-server
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
#### Other Linux distributions
|
|
100
|
+
|
|
101
|
+
GNS3 is often packaged for other distributions by third-parties:
|
|
102
|
+
|
|
103
|
+
* [Gentoo](https://packages.gentoo.org/package/net-misc/gns3-server)
|
|
104
|
+
* [Alpine](https://pkgs.alpinelinux.org/package/v3.10/community/x86_64/gns3-server)
|
|
105
|
+
* [NixOS](https://search.nixos.org/packages?channel=21.11&from=0&size=50&sort=relevance&type=packages&query=gns3-server)
|
|
106
|
+
|
|
107
|
+
#### PyPi
|
|
108
|
+
|
|
109
|
+
You may use PyPi in case no package is provided, or you would like to do a manual installation:
|
|
110
|
+
|
|
111
|
+
* https://pypi.org/project/gns3-server/
|
|
112
|
+
* https://pypi.org/project/gns3-gui/
|
|
113
|
+
|
|
114
|
+
```shell
|
|
115
|
+
python3 -m pip install gns3-gui
|
|
116
|
+
python3 -m pip install gns3-server
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
The downside of this method is you will have to manually install all dependencies (see below).
|
|
120
|
+
|
|
121
|
+
Please see our [documentation](https://docs.gns3.com/docs/getting-started/installation/linux) for more details.
|
|
122
|
+
|
|
123
|
+
### Software dependencies
|
|
124
|
+
|
|
125
|
+
In addition to Python dependencies, other software may be required, recommended or optional.
|
|
126
|
+
|
|
127
|
+
* [uBridge](https://github.com/GNS3/ubridge/) is required, it interconnects the nodes.
|
|
128
|
+
* [Dynamips](https://github.com/GNS3/dynamips/) is required for running IOS routers (using real IOS images) as well as the internal switches and hubs.
|
|
129
|
+
* [VPCS](https://github.com/GNS3/vpcs/) is recommended, it is a builtin node simulating a very simple computer to perform connectivity tests using ping, traceroute etc.
|
|
130
|
+
* Qemu is strongly recommended as most node types are based on Qemu, for example Cisco IOSv and Arista vEOS.
|
|
131
|
+
* libvirt is recommended as it's needed for the NAT cloud.
|
|
132
|
+
* Docker is optional, some nodes are based on Docker.
|
|
133
|
+
* mtools is recommended to support data transfer to/from QEMU VMs using virtual disks.
|
|
134
|
+
* i386-libraries of libc and libcrypto are optional, they are only needed to run IOU based nodes.
|
|
135
|
+
|
|
136
|
+
Note that Docker needs the script program (`bsdutils` or `util-linux` package), when running a Docker VM and a static busybox during installation (python3 setup.py install / pip3 install / package creation).
|
|
137
|
+
|
|
138
|
+
## Development
|
|
139
|
+
|
|
140
|
+
### Setting up
|
|
141
|
+
|
|
142
|
+
These commands will install the server as well as all Python dependencies:
|
|
143
|
+
|
|
144
|
+
```shell
|
|
145
|
+
git clone https://github.com/GNS3/gns3-server
|
|
146
|
+
cd gns3-server
|
|
147
|
+
git checkout 3.0
|
|
148
|
+
python3 -m venv venv-gns3server
|
|
149
|
+
source venv-gns3server/bin/activate
|
|
150
|
+
python3 -m pip install .
|
|
151
|
+
python3 -m gns3server
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
You will have to manually install other software dependencies (see above), for Dynamips, VPCS and uBridge the easiest is to install from our PPA.
|
|
155
|
+
|
|
156
|
+
### Docker container
|
|
157
|
+
|
|
158
|
+
Alternatively, you can run the GNS3 server in a container
|
|
159
|
+
|
|
160
|
+
```shell
|
|
161
|
+
bash scripts/docker_dev_server.sh
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
#### use Docker Compose
|
|
165
|
+
|
|
166
|
+
``` {.bash}
|
|
167
|
+
docker compose up -d
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### Running tests
|
|
171
|
+
|
|
172
|
+
First, install the development dependencies:
|
|
173
|
+
|
|
174
|
+
```shell
|
|
175
|
+
python3 -m pip install -r dev-requirements.txt
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
Then run the tests using pytest:
|
|
179
|
+
|
|
180
|
+
```shell
|
|
181
|
+
python3 -m pytest -vv tests/
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### API documentation
|
|
185
|
+
|
|
186
|
+
The API documentation can be accessed when running the server locally:
|
|
187
|
+
|
|
188
|
+
* On `http://IP:PORT/docs` to see with Swagger UI (i.e. `http://localhost:3080/docs`)
|
|
189
|
+
* On `http://IP:PORT/redoc` to see with ReDoc (i.e. `http://localhost:3080/redoc`)
|
|
190
|
+
|
|
191
|
+
The documentation can also be viewed [online](http://apiv3.gns3.net) however it may not be the most up-to-date version since it needs manually synchronization with the current code. Also, you cannot use this to interact with a GNS3 server.
|
|
192
|
+
|
|
193
|
+
### Branches
|
|
194
|
+
|
|
195
|
+
#### master
|
|
196
|
+
|
|
197
|
+
master is the next stable release, you can test it in your day-to -day activities.
|
|
198
|
+
Bug fixes or small improvements pull requests go here.
|
|
199
|
+
|
|
200
|
+
3.x development brand for the next major release.
|
|
201
|
+
|
|
202
|
+
**Never** use this branch for production. Pull requests for major new features go here.
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
+
gns3_server-3.0.5.dist-info/licenses/LICENSE,sha256=jOtLnuWt7d5Hsx6XXB2QxzrSe2sWWh3NgMfFRetluQM,35147
|
|
1
2
|
gns3server/__init__.py,sha256=7t93V0ASczMyzTR7up2g0FBQ6Rm1eC8wxyysMKUeAKE,716
|
|
2
3
|
gns3server/__main__.py,sha256=5CO8WDwpzZ2BRo3Ct95MhMGxyXQ3QsHBcWt3jPlcLb0,736
|
|
3
4
|
gns3server/alembic.ini,sha256=XWHHdJ3QOHO3NJh5LK6bMHT6kv7GzAr26X1hs43DH4o,3086
|
|
4
5
|
gns3server/config.py,sha256=3UmjwcthW-gMKbLEPzygzrEVJYza-H1IWRjJZ_L1-tg,9244
|
|
5
|
-
gns3server/crash_report.py,sha256=
|
|
6
|
+
gns3server/crash_report.py,sha256=S7obdSujdwQYlNgbT3d3csKSJlNT6ivCryq4pY1Wtas,6021
|
|
6
7
|
gns3server/logger.py,sha256=zjHjyyqK74YMVPdjjznj03xWO42Kx3RDeVnZflT-0eI,5309
|
|
7
8
|
gns3server/main.py,sha256=_bLqv2j1TqgYjDFpSCs-6cUTjJ4_fWDQEFQdGKheIeE,4392
|
|
8
9
|
gns3server/server.py,sha256=KMwIfPvYNw0He5DSyenFuLvr7mlxZlS5azDXKQIVlms,11795
|
|
9
|
-
gns3server/version.py,sha256=
|
|
10
|
+
gns3server/version.py,sha256=3xH4WBMjsDJFeMYGXvrwfqyCFbEUWzWdMOFWLrzcX9w,1462
|
|
10
11
|
gns3server/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
12
|
gns3server/api/server.py,sha256=LQAKxtBaVxylgVTqRpVhdwACdkaibDryOSUT2us5PUk,7972
|
|
12
13
|
gns3server/api/routes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -14,7 +15,7 @@ gns3server/api/routes/index.py,sha256=Zw5RerRIurKRE5773D9vvtvYjQqBtD1R_q-UiDGwwx
|
|
|
14
15
|
gns3server/api/routes/compute/__init__.py,sha256=Mccr7yhdhHtPN_5THI9Zqj0sJUKiEHm6kK0kaQpXd8I,7648
|
|
15
16
|
gns3server/api/routes/compute/atm_switch_nodes.py,sha256=pWUQszCnK0j4bfSvT90z8tcuuK-M_2f0KKvtpCPV0dM,7294
|
|
16
17
|
gns3server/api/routes/compute/capabilities.py,sha256=vCaxxzVuTKbTWwXUf_Y829XjIetONUFSlEO5w5fq-7I,1604
|
|
17
|
-
gns3server/api/routes/compute/cloud_nodes.py,sha256=
|
|
18
|
+
gns3server/api/routes/compute/cloud_nodes.py,sha256=_lv3_nVXzr8IuiT57QfwnODcjpJgq3DC622Vz8l3Fuk,7933
|
|
18
19
|
gns3server/api/routes/compute/compute.py,sha256=IPM7XA4UQZl4DVQ_eCaLKxfRU9wwm8DZI9iSnqQDez0,4478
|
|
19
20
|
gns3server/api/routes/compute/docker_nodes.py,sha256=rqtEzCGmGl1snGrF5fkRqjAnhCfL5Yi_Bs5-EiOC9qE,11221
|
|
20
21
|
gns3server/api/routes/compute/dynamips_nodes.py,sha256=tFVyF-7_D0XRHqVsB5-aurCMVwpuSRfNsoYMs-AEwfY,10432
|
|
@@ -40,8 +41,8 @@ gns3server/api/routes/controller/controller.py,sha256=6S8pMz5aj47RSrFeGP8CTuGYs8
|
|
|
40
41
|
gns3server/api/routes/controller/drawings.py,sha256=E76kffF_AqXtdY684snU507uAalLNVv-0l2eXe0b5WM,4076
|
|
41
42
|
gns3server/api/routes/controller/gns3vm.py,sha256=7uwJYx7PSkol6_trM8uN4g_XL7SNds8_r0EMC8UyNHM,2035
|
|
42
43
|
gns3server/api/routes/controller/groups.py,sha256=Haqy3lzYRS1-FcS15yXEeAPz6k7-sD1_RaPxPVZc85A,6962
|
|
43
|
-
gns3server/api/routes/controller/images.py,sha256=
|
|
44
|
-
gns3server/api/routes/controller/links.py,sha256=
|
|
44
|
+
gns3server/api/routes/controller/images.py,sha256=XTZZdILmJrPPX5ewe0kWWWhpz-kxw2KJOpCSDDPkB1c,10186
|
|
45
|
+
gns3server/api/routes/controller/links.py,sha256=ObRODK8GICsPWNxzP0IJp3IsJNmlYFBl454IoNH0KcM,10247
|
|
45
46
|
gns3server/api/routes/controller/nodes.py,sha256=WeWmKVDU7aG9GeW4ZbvD79P12Ov0jTIZ5lw4fJjWq8s,18855
|
|
46
47
|
gns3server/api/routes/controller/pools.py,sha256=FCSqEmRxRvjMKM_iGwERxUrukJEGczV_XRpa8mSZmFw,7806
|
|
47
48
|
gns3server/api/routes/controller/privileges.py,sha256=mdjt1oHg2rIGonCopFfDXr7BCa_y3ky4_pMu8no0BCQ,1011
|
|
@@ -60,16 +61,17 @@ gns3server/appliances/IPCop.gns3a,sha256=73WoeRIR56FQ_RGGEnx_euORVEgQzSa8zkugdWP
|
|
|
60
61
|
gns3server/appliances/a10-vthunder.gns3a,sha256=TyEaFP2MagSKBvRFBWB5VD6wcYG4E-jtuTca90F6i98,2639
|
|
61
62
|
gns3server/appliances/aaa.gns3a,sha256=A0ZxwwR74BlNR28Fe-tyDCdGe5widI_CceIXrAqYmU4,785
|
|
62
63
|
gns3server/appliances/alcatel-7750.gns3a,sha256=Sj1WcE--zdIWgf3-DQ-AFBTz41_p6UC9I9iZ3av6TaI,2775
|
|
63
|
-
gns3server/appliances/almalinux.gns3a,sha256=
|
|
64
|
+
gns3server/appliances/almalinux.gns3a,sha256=37ChxBunxvBXxKCIFakFfuvzHFbDhIOqtsSZKN_Nsb4,5008
|
|
64
65
|
gns3server/appliances/alpine-cloud.gns3a,sha256=V6ZQ1yiT7Ou03840aplPaWweeufmtcK3KzqpszQW_8s,2285
|
|
65
66
|
gns3server/appliances/alpine-linux-virt.gns3a,sha256=0BDnDSVRIllXk6Tpuyk1G2vWv9uiwyaCmdd_vYyBK-g,2567
|
|
66
67
|
gns3server/appliances/alpine-linux.gns3a,sha256=LZs8KQNJQtmpUn7uVOmLlb23kjQHc9Vbrhk-VzwT68o,810
|
|
67
68
|
gns3server/appliances/arista-ceos.gns3a,sha256=_N88hNErMaD4Wt7AcL4EfGpaohsMhvXWqFkvgcgPeiE,2316
|
|
68
|
-
gns3server/appliances/arista-veos.gns3a,sha256=
|
|
69
|
-
gns3server/appliances/aruba-arubaoscx.gns3a,sha256=
|
|
69
|
+
gns3server/appliances/arista-veos.gns3a,sha256=BwQ8PPYHwxwHU1Z5Va0Q8CAfrNx4DqSgdfDzYee4LLQ,3872
|
|
70
|
+
gns3server/appliances/aruba-arubaoscx.gns3a,sha256=qAgY3s7hVG0waI3h-qN3Ku6Tgx_-8cU17HrbXA1yllE,10379
|
|
70
71
|
gns3server/appliances/aruba-vgw.gns3a,sha256=r5SiuZteas6ELVyZKnZQ3HDH8KkvZv2W5XSBVApNg-0,2664
|
|
71
72
|
gns3server/appliances/aruba-vmc.gns3a,sha256=OUcQEmC8F_56AjcFDlRYgv86BJD4L4bufNhJXSahId4,1884
|
|
72
|
-
gns3server/appliances/asterfusion-vAsterNOS.gns3a,sha256=
|
|
73
|
+
gns3server/appliances/asterfusion-vAsterNOS-campus.gns3a,sha256=YRBmqQFCsWwTih637KwRDg56eCJ7BwIrSytFho3MLEY,2974
|
|
74
|
+
gns3server/appliances/asterfusion-vAsterNOS.gns3a,sha256=6PuSKTOwoO6uSZeIHf8VjLNgiekOmUST2TqQGrCdqHQ,3013
|
|
73
75
|
gns3server/appliances/asterisk.gns3a,sha256=eky7eRRE1Y6ezfzYKb5zSjmdd_vmV3T-UvAnHP5xnpc,4969
|
|
74
76
|
gns3server/appliances/bigswitch-bigcloud-fabric.gns3a,sha256=33FuU_42tptHEgkoMuvrkY6qEwUu4T7-c8cIFTJwkUs,1979
|
|
75
77
|
gns3server/appliances/bird.gns3a,sha256=YqI4UoQjwZ4aCllInRJv7l22wJqAqVppoE_TkGmIdZ4,1693
|
|
@@ -78,7 +80,7 @@ gns3server/appliances/brocade-vadx.gns3a,sha256=IQu1380-P7h5ssnpj7iQrw48APKgaL0-
|
|
|
78
80
|
gns3server/appliances/brocade-vrouter.gns3a,sha256=wQT7AkxzZRJggB6uz6Agwdualz6qvOBeovTKOt-qT_g,6428
|
|
79
81
|
gns3server/appliances/brocade-vtm.gns3a,sha256=AN3TzcWMyZYvlrGjFZciMLUs4VzhkVlDl9ruPBHKUKg,6068
|
|
80
82
|
gns3server/appliances/bsdrp.gns3a,sha256=4r3RS67IjgGo5p7H_6eEoCyiuAc7Bc7byMn4AMdI-r0,4478
|
|
81
|
-
gns3server/appliances/centos-cloud.gns3a,sha256=
|
|
83
|
+
gns3server/appliances/centos-cloud.gns3a,sha256=4L5iMzCNqsHuoWsK_IVsJ0mvq70R399ZICFeDXWdclc,3660
|
|
82
84
|
gns3server/appliances/centos7.gns3a,sha256=15Y9YALrB6kB8FCSwUoBQ-PLZjYVhCTVaNO77vxt8PE,2706
|
|
83
85
|
gns3server/appliances/checkpoint-gaia.gns3a,sha256=Cy95wWPQP17OK7reB7L19rWETvo8N_GXw6tsstRHujo,4614
|
|
84
86
|
gns3server/appliances/chromium.gns3a,sha256=B99sxN-ltBLbOHVxQD-8ipc8DExmkwd3AfixF0tN84E,623
|
|
@@ -131,11 +133,11 @@ gns3server/appliances/dell-ftos.gns3a,sha256=oE9JSZ7neGXkt-bQ0HRCGfyr8c-XRnz5gxl
|
|
|
131
133
|
gns3server/appliances/dns.gns3a,sha256=6Vl9q1WFMxmi4GCVkKDohLdHILSMEgqw6dfoK0lL42U,1281
|
|
132
134
|
gns3server/appliances/empty-vm.gns3a,sha256=xex6wEGG3Qp-3JCMLTXmQgC37R-LtCBDzX4vIYkf-ls,7465
|
|
133
135
|
gns3server/appliances/endhost.gns3a,sha256=3RUT4FVPdTje-3zChFwwuqXM6rfmg44jG2KM_prcM7Y,500
|
|
134
|
-
gns3server/appliances/exos.gns3a,sha256=
|
|
136
|
+
gns3server/appliances/exos.gns3a,sha256=vCG-ti7weMBVoFvRD65cgrCP0A3z_Yh4LzW0QR1bvHA,2116
|
|
135
137
|
gns3server/appliances/extreme-networks-voss.gns3a,sha256=4cmpuK9JUXTjuQKVWf5qxm80dFykS2eEbPqAgj2kZSU,5466
|
|
136
138
|
gns3server/appliances/f5-bigip.gns3a,sha256=n8J_srUhcjHKNo_Q8qAP80QvAwUNeErFuMR38ORkY4s,15898
|
|
137
139
|
gns3server/appliances/f5-bigiq.gns3a,sha256=NaX6ApUCAbCCxWVGIDq4AMnyP5QfEZLuMLBzwosnZJM,7892
|
|
138
|
-
gns3server/appliances/fedora-cloud.gns3a,sha256=
|
|
140
|
+
gns3server/appliances/fedora-cloud.gns3a,sha256=_HIdTgJc3FLkvqMDs5dNk1woB3GEzxasw_RDwSY7O8o,4318
|
|
139
141
|
gns3server/appliances/firefox.gns3a,sha256=SM9Id4Fu7aqwo1KKMtKmba-OQ7gtBzL16WuBqLVWFJo,2267
|
|
140
142
|
gns3server/appliances/fortiadc-manager.gns3a,sha256=avdjTSiyKI1tFZ3kyRnGlRLLm2DPmWaeIziG6bn5X-U,2185
|
|
141
143
|
gns3server/appliances/fortiadc.gns3a,sha256=nyCPOtJr0z8T3yMmCc3O3uv02hl6VhlEmbdg5ANRlFU,20115
|
|
@@ -161,13 +163,14 @@ gns3server/appliances/huawei-ar1kv.gns3a,sha256=O4pNFq11tL123Wat4CO2R0A3AB_I3TfR
|
|
|
161
163
|
gns3server/appliances/huawei-ce12800.gns3a,sha256=3vmwHdIwP6jE0hl3pFtN0eLpYj5hE4Plm9kj4766izw,1670
|
|
162
164
|
gns3server/appliances/huawei-ne40e.gns3a,sha256=PM8IyxRXCIl450LSyoPCAtNJtPLe6e5BZTim2m6Vj7I,3669
|
|
163
165
|
gns3server/appliances/huawei-usg6kv.gns3a,sha256=UK0gAqn8UlUQPzpwqU0uttoUbFLVTy4GZyYNMr3GirE,2357
|
|
164
|
-
gns3server/appliances/infix.gns3a,sha256=
|
|
166
|
+
gns3server/appliances/infix.gns3a,sha256=S-ZfDbdqiE668ORf1qdmVcEveZdRLNAc04zyUY5qyr8,4616
|
|
165
167
|
gns3server/appliances/innovaphone-app.gns3a,sha256=tzzaLqnF_K3PhFmRRSjgbhu-WCHs9dNCS3FPVtiojXA,2645
|
|
166
168
|
gns3server/appliances/innovaphone-ipva.gns3a,sha256=iMEFGOTW8xS1l5L8Xha8qGI56cBR_Y_F5c48zklhHyg,3446
|
|
167
169
|
gns3server/appliances/ipfire.gns3a,sha256=oOsJiAgTAQ9WMiVF6qSqFFeF-bMZHNUyZQF7EXzUyx4,7726
|
|
168
170
|
gns3server/appliances/ipterm.gns3a,sha256=6FGTKH-uhZxOyFgI101twv-Y8ozD5cdk_j0nV2bdBZY,763
|
|
169
171
|
gns3server/appliances/ipxe.gns3a,sha256=-bTj1C5fSFpyAeMJfxeN3YPEoKmpFtjo8NJwIMbOHa4,1705
|
|
170
172
|
gns3server/appliances/juniper-junos-space.gns3a,sha256=CvinnpTlwH4RdXZaqmNKIVL1sVkiC5EwknU1EqfC5ps,2393
|
|
173
|
+
gns3server/appliances/juniper-vJunos-router.gns3a,sha256=o3uZjFU-M4VvRsbZqBBkAG-gVfku2wUx6-VNMNVeVDg,2606
|
|
171
174
|
gns3server/appliances/juniper-vmx-legacy.gns3a,sha256=5bEZAQWnEIiWGY7V78N6ZYJG_NOILgv_KMs0GEqZYlY,2215
|
|
172
175
|
gns3server/appliances/juniper-vmx-vcp.gns3a,sha256=frcCdL-0U5IG_I5g2G3_SqLiWnfDJ8vylJ5uhLu-dOk,18531
|
|
173
176
|
gns3server/appliances/juniper-vmx-vfp.gns3a,sha256=UD1Brbnw5sBNbQPPOhE-BxlP3WQhiY9pqbsPC0KNDTA,10112
|
|
@@ -204,6 +207,7 @@ gns3server/appliances/mininet.gns3a,sha256=e1lLIU_hzKkhCFwdPYpVTLPsYLWpn5HCPS9Gz
|
|
|
204
207
|
gns3server/appliances/net_toolbox.gns3a,sha256=i0dwwoQIb4bfT18NpBYE_W3rn4kIE3KFB5G--bH1Mj4,793
|
|
205
208
|
gns3server/appliances/netapp-ontapsim.gns3a,sha256=J94_1tKGLtkCCIXjw4PlhC-zD-irELoLYzRaRm7iytU,7938
|
|
206
209
|
gns3server/appliances/netem.gns3a,sha256=_YDyQZajXeBXu1ae3ZzJnxI3Nm1v243vI90LP4TLUsE,1898
|
|
210
|
+
gns3server/appliances/nethsecurity.gns3a,sha256=i0h9gnYGpizaHHBfDGmk3pJUHGF67IJkb6Mb4zXbkZ4,2095
|
|
207
211
|
gns3server/appliances/network_automation.gns3a,sha256=k2LaeaLAeUWAGz6i6Qaa4pS28mymlv0LcAWb1s7dbf8,658
|
|
208
212
|
gns3server/appliances/nixos.gns3a,sha256=Z0aa6lKX1wjMaAE_GVZ77jwvJXZQ93tKCOMtmlm3MVc,1950
|
|
209
213
|
gns3server/appliances/nokia-vsim.gns3a,sha256=JIVhJ4-gftFdGOZnquyzWBRZOTbKZWRSYPhwso-RJa4,2078
|
|
@@ -219,7 +223,7 @@ gns3server/appliances/openvswitch.gns3a,sha256=uSt3T4x-HS_EuNAyTK1mH8JJW0LyTYQhp
|
|
|
219
223
|
gns3server/appliances/openwrt-realview.gns3a,sha256=sSKFqLRLNKxCaKIoWzL5fRYbUBZ8Dd6ZHaaSUHmVjrw,2580
|
|
220
224
|
gns3server/appliances/openwrt.gns3a,sha256=3xBQfE2EjQLFjpnBRfNiUDCjA0Z4F_TTFPqD-MdL81M,15783
|
|
221
225
|
gns3server/appliances/opnsense.gns3a,sha256=3RBqXU6MiVRSDmFb8nlq8RCkuWiBaQT5rmYG5ad-48k,4638
|
|
222
|
-
gns3server/appliances/oracle-linux-cloud.gns3a,sha256=
|
|
226
|
+
gns3server/appliances/oracle-linux-cloud.gns3a,sha256=rYCjUHsByimuKjPLsjHIKx27DRuOB43emWHzMSoO5ko,6130
|
|
223
227
|
gns3server/appliances/ostinato-wireshark.gns3a,sha256=zRhyKvfdCmISO2qASz2d0j5WfsPy7Vg2yFcK5VvTWAg,720
|
|
224
228
|
gns3server/appliances/ostinato.gns3a,sha256=4YwgibtE1Z9p9eXOaHtAooErQYoCFpCgJHDFHnj6a68,2393
|
|
225
229
|
gns3server/appliances/ovs-snmp.gns3a,sha256=df-qv6BACuNzLYiLGAV5JS_LVMLZMAHdQ-RIZhhb65Y,550
|
|
@@ -232,9 +236,9 @@ gns3server/appliances/puppy-linux.gns3a,sha256=FyqZdUkdTv7JiNwSuMGzQ56ukGmf6428R
|
|
|
232
236
|
gns3server/appliances/python-go-perl-php.gns3a,sha256=IIa_eJyzsHs35LFcjpvgKup6hVemMxDjCXQuzNsNv8I,590
|
|
233
237
|
gns3server/appliances/raspian.gns3a,sha256=E8bfibSQRc5XjYsI3dSEeMw5VHH89U-Lb9bLISYKeU0,2940
|
|
234
238
|
gns3server/appliances/reactos.gns3a,sha256=kXDfjlwn4-APJCP1VpHpU4tX1J0y4QQt6R_GqdGAV6Q,2711
|
|
235
|
-
gns3server/appliances/rhel.gns3a,sha256=
|
|
239
|
+
gns3server/appliances/rhel.gns3a,sha256=F2aTkUtjLTBiiktAFnxdyx6430eXwK2iDj6GpAWdRKY,10014
|
|
236
240
|
gns3server/appliances/riverbed-steelhead-ng-vcx.gns3a,sha256=oob4Ps3M6TTxVkhyzbMagTkp3pHQCqb2V8BQA8va9VE,2607
|
|
237
|
-
gns3server/appliances/rockylinux.gns3a,sha256=
|
|
241
|
+
gns3server/appliances/rockylinux.gns3a,sha256=TVo1SF4eEzuFnDau0TtFTgXesNBWk7ItNBQGtZ-6AS4,5110
|
|
238
242
|
gns3server/appliances/security-onion.gns3a,sha256=2JKPX_fKwzIQJxgRGHllGXoToT1s9XfBBr1TEaUCDCY,5164
|
|
239
243
|
gns3server/appliances/smoothwall.gns3a,sha256=NqzLQp_c1ujM6PH-w9JK9gwog3LnH9m6gC6AnblgIOs,2181
|
|
240
244
|
gns3server/appliances/sophos-iview.gns3a,sha256=5oTP_tQMgCRj-gwz0UyHTR5HSeOMLotuwob9wS2310E,2822
|
|
@@ -286,10 +290,10 @@ gns3server/compute/builtin/nodes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRk
|
|
|
286
290
|
gns3server/compute/builtin/nodes/cloud.py,sha256=r3tq0b-7uvM9xHRVtNx65Dv3D69_TDOPjOz6133c9Mg,18507
|
|
287
291
|
gns3server/compute/builtin/nodes/ethernet_hub.py,sha256=_aPL_bKpvYY_REHRcUlkSLMobN4ZhhGGCJLgQNHUvtc,2708
|
|
288
292
|
gns3server/compute/builtin/nodes/ethernet_switch.py,sha256=Xc59N3kM9nuzLjHlgllRI3pzXtDQdc2SsCucdZxMebs,2733
|
|
289
|
-
gns3server/compute/builtin/nodes/nat.py,sha256=
|
|
290
|
-
gns3server/compute/docker/__init__.py,sha256=
|
|
293
|
+
gns3server/compute/builtin/nodes/nat.py,sha256=0FanfJK3w_4ngYdPEHc8Gkebc-psHD0bxtne5EuRef4,3844
|
|
294
|
+
gns3server/compute/docker/__init__.py,sha256=JAny_Eui0gWPfFruzh2rGGtdcVQcyavARLwkITb5QVI,12499
|
|
291
295
|
gns3server/compute/docker/docker_error.py,sha256=Rj5QDgOFt8ENZy23nDI8J-gmtt8-lDDtlNdmK70d_tg,904
|
|
292
|
-
gns3server/compute/docker/docker_vm.py,sha256=
|
|
296
|
+
gns3server/compute/docker/docker_vm.py,sha256=eojZ9RhtWYX9n-JBdzgs6oPKLitohD-219thXk60sGc,49701
|
|
293
297
|
gns3server/compute/docker/resources/init.sh,sha256=7BxZQm5TXOmDk-TVc0zJmXOX5Jx3azOOnpbPJohF_x0,2868
|
|
294
298
|
gns3server/compute/docker/resources/run-cmd.sh,sha256=4D8GCbuNKlt-pXWml8DD1aJFCPrgy6mazzWfhXr7V9M,103
|
|
295
299
|
gns3server/compute/docker/resources/bin/udhcpc,sha256=tyKcy24adtojLKj05cTQpyBSQ82Pa79FQXAS9xSvOAE,323
|
|
@@ -366,7 +370,7 @@ gns3server/compute/nios/nio_tap.py,sha256=rf4eRum2U-MTRn7ZOalbsmDJ14jKC_Yk0J2XMt
|
|
|
366
370
|
gns3server/compute/nios/nio_udp.py,sha256=FdqaQb6HZq6f7xav7Pp3-WxuA3JWQD705HFzCrL1hHc,1764
|
|
367
371
|
gns3server/compute/qemu/__init__.py,sha256=NyXjy0_4-ELAjnhmI6KlCHQpud6S-VAyxr467dwVqfE,11188
|
|
368
372
|
gns3server/compute/qemu/qemu_error.py,sha256=9NtNUfIT_Sv8hsyC7OLiij8D9Oe__nRCLSufBHv4MAI,801
|
|
369
|
-
gns3server/compute/qemu/qemu_vm.py,sha256=
|
|
373
|
+
gns3server/compute/qemu/qemu_vm.py,sha256=7VolB84UB_dS0t64W8SJeLcDSYoAlUB3ijq9F4FwVHQ,103994
|
|
370
374
|
gns3server/compute/qemu/resources/config.img.zip,sha256=nKN7A4Y-ZYmSIAtznxR2YXo6Z14agEJT0-IHcUcppX4,1368
|
|
371
375
|
gns3server/compute/qemu/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
372
376
|
gns3server/compute/qemu/utils/guest_cid.py,sha256=YBVWlyGkZP2yc89wGnNJB3w-lbBWgdRLVMn_TogO618,1200
|
|
@@ -395,7 +399,7 @@ gns3server/controller/__init__.py,sha256=_o_3gOg_8YWoUlAFv0IAwDuQz1PYFWRCb0iGUHC
|
|
|
395
399
|
gns3server/controller/appliance.py,sha256=xxHdtgBHFN85hxeg3kS6SLyFYDJp3llTSr0LXupByr0,2128
|
|
396
400
|
gns3server/controller/appliance_manager.py,sha256=cOCHFdxFhpjnoW1de2LdcE0K_ptVw6DKPxedbXALt3A,20996
|
|
397
401
|
gns3server/controller/appliance_to_template.py,sha256=nM4PIbPxXqYUq7B1oyLhyGz3ZC2QAdk7qClMVTdlJQo,5224
|
|
398
|
-
gns3server/controller/compute.py,sha256=
|
|
402
|
+
gns3server/controller/compute.py,sha256=Q1S4zH8KcHvHzIW16gMYBQ7fN6GXlhp2IP-qtxibeNw,25559
|
|
399
403
|
gns3server/controller/controller_error.py,sha256=pYW8eY3VZeBl6nSUOUQh-47pbeKfRtSwbkLiWpleHoo,2071
|
|
400
404
|
gns3server/controller/drawing.py,sha256=yMN46Ev0dV-wBA4P4g0xzq-XU1qHVcKGmwriO_0GvsU,7179
|
|
401
405
|
gns3server/controller/export_project.py,sha256=uN5NeMCy1ajMhrEWOli6lHsJNQCI6eRatMss4_kX8vE,12917
|
|
@@ -414,7 +418,7 @@ gns3server/controller/gns3vm/base_gns3_vm.py,sha256=RlJKUldV0nCj75CI7qyqN385pyNH
|
|
|
414
418
|
gns3server/controller/gns3vm/gns3_vm_error.py,sha256=SDLXon3-1h4Ddopw0cqcB7RMnwH0q5LQLVTgCa58GO4,955
|
|
415
419
|
gns3server/controller/gns3vm/hyperv_gns3_vm.py,sha256=qavG_y_ch-3HHgqKSC7rtcEeaZWUtKrNLnRS-YUZ-FM,12361
|
|
416
420
|
gns3server/controller/gns3vm/remote_gns3_vm.py,sha256=OGBgmoMXBKAHyeYt5ugP1UilJSOOQMnpj7wv4ETlnC8,2085
|
|
417
|
-
gns3server/controller/gns3vm/virtualbox_gns3_vm.py,sha256=
|
|
421
|
+
gns3server/controller/gns3vm/virtualbox_gns3_vm.py,sha256=TW811oonkZ8ZeK55taf3mPtNIQg8EY2Zv245pNg0HPc,20362
|
|
418
422
|
gns3server/controller/gns3vm/vmware_gns3_vm.py,sha256=2TygTDgRrnp-gVTbD_d1JmhVlOWx6eBvqWFWT0yUABs,8090
|
|
419
423
|
gns3server/controller/ports/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
420
424
|
gns3server/controller/ports/atm_port.py,sha256=5dXQ-xDygjzyk9Hv_SUjuLPprgv1gEoRia10QXTW_Qo,1305
|
|
@@ -504,7 +508,9 @@ gns3server/db_migrations/versions/7ceeddd9c9a8_init.py,sha256=UPknomQhPu2kiNcPMH
|
|
|
504
508
|
gns3server/db_migrations/versions/9a5292aa4389_add_mac_address_field_in_docker_.py,sha256=6JPRoXJeK7Sjw6ISvhBmzIwjqm5xGQ3xnYlOj4boz50,517
|
|
505
509
|
gns3server/disks/OVMF.fd,sha256=-OwrYUOfa6EMWK7AyA04iz1YFPuHVflpT3AgSOfF7JQ,2097152
|
|
506
510
|
gns3server/disks/OVMF_CODE.fd,sha256=qg-YobiVMx1MrrdiWlNkQrFL0PbDcK-aVT5qMnE9H8c,3653632
|
|
511
|
+
gns3server/disks/OVMF_CODE_4M.fd,sha256=7m_EZudR-ykFjjIaWQSIGAs3apovXPh9tacguncqNRo,3653632
|
|
507
512
|
gns3server/disks/OVMF_VARS.fd,sha256=XSrDgzcbQIOYrM7n7CfIwJ6lt0oN4M7qZRM4ixW-XR4,540672
|
|
513
|
+
gns3server/disks/OVMF_VARS_4M.fd,sha256=XSrDgzcbQIOYrM7n7CfIwJ6lt0oN4M7qZRM4ixW-XR4,540672
|
|
508
514
|
gns3server/disks/empty100G.qcow2,sha256=szO0OyVI4flYHU-1L1wtYDx9Q6FLcKaJ3dPjvJE-a7Q,198656
|
|
509
515
|
gns3server/disks/empty10G.qcow2,sha256=I6Ht6slptJiHRIRjcWn9CN5Kfxj0OFlP7nEDI2ugANs,196768
|
|
510
516
|
gns3server/disks/empty150G.qcow2,sha256=vFOkEJL4NX0InGZ1XoL53iw2UkWaTEvhRSBeTFUCfok,199008
|
|
@@ -524,7 +530,7 @@ gns3server/gns3_server.egg-info/entry_points.txt,sha256=yRglpXfRnljgwASMGJuwYoMR
|
|
|
524
530
|
gns3server/gns3_server.egg-info/not-zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
525
531
|
gns3server/gns3_server.egg-info/requires.txt,sha256=Qe88BytcYyC7Y5VIC2C2p6uGkwswRg5Q2D7AHQryhiU,549
|
|
526
532
|
gns3server/gns3_server.egg-info/top_level.txt,sha256=RDXhr8McCnZQAwpsyWA2Ob6qpksfGyfsINUHMBnHYrE,17
|
|
527
|
-
gns3server/schemas/__init__.py,sha256=
|
|
533
|
+
gns3server/schemas/__init__.py,sha256=ys3ZRPt3iQGHxGEsHJpoMqOTuyzR5rUJX2e0mZGgJzs,4626
|
|
528
534
|
gns3server/schemas/common.py,sha256=Ey3u-2qJtla421XA9pAas0fl5S-jyB2aBH-JR-pIyC4,1630
|
|
529
535
|
gns3server/schemas/config.py,sha256=ijOqQgdR_5SXgV51rifub7vxFhPrbyKyJs_TRe1pBzI,6769
|
|
530
536
|
gns3server/schemas/link.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -555,7 +561,7 @@ gns3server/schemas/controller/gns3vm.py,sha256=TlyGfw_gNWKy3uN8kzMMcRbwDJyc234zG
|
|
|
555
561
|
gns3server/schemas/controller/images.py,sha256=5U4efVccEIxHs44VeSqQ6diqc3Iw3jM8b9oav7rLHH4,1431
|
|
556
562
|
gns3server/schemas/controller/iou_license.py,sha256=HckRCk1mB3XP3baXYuYaGe_G0sEkmCGp6Rr2UB-PwpY,921
|
|
557
563
|
gns3server/schemas/controller/labels.py,sha256=2lk-wiLn7K7zqaRshcgqFjAo0Sg1-xDL8b97GO4dSLo,1239
|
|
558
|
-
gns3server/schemas/controller/links.py,sha256=
|
|
564
|
+
gns3server/schemas/controller/links.py,sha256=2QINx2O-Z_xo92LDzA84kk8EYGNgk_fht8Tj1OO9nFs,2704
|
|
559
565
|
gns3server/schemas/controller/nodes.py,sha256=UY3AbTjNkuhrQ1gjT8yy5FH4pKgAscXEgYr5Oa2omwM,5355
|
|
560
566
|
gns3server/schemas/controller/pools.py,sha256=DduyxJuWves_PEdV1rhU3c3LLCjTjyh8of5RAa5FFIE,1848
|
|
561
567
|
gns3server/schemas/controller/projects.py,sha256=_ptGszAjwcDyFkeCX8UoFnaHWmtazMAO-2z7uMRlXrk,3723
|
|
@@ -612,8 +618,8 @@ gns3server/static/web-ui/NotoSans-Regular.bb384defbe36eaec.svg,sha256=uECuQtpAPz
|
|
|
612
618
|
gns3server/static/web-ui/NotoSans-Regular.e6139cb1663a1c57.ttf,sha256=NPyxxROGVf4PlLBl3aiZC8bvHIpeR0bbt37H7hWtNGI,512588
|
|
613
619
|
gns3server/static/web-ui/ReleaseNotes.txt,sha256=uag7ABM-yXleLBxhtetbpVOCssZPXcd_lLMyUAdQsn4,5527
|
|
614
620
|
gns3server/static/web-ui/favicon.ico,sha256=ucy7cQDhOulawYo6ntAIV_MhtjtJjx-3q6tQb8HEDpk,5430
|
|
615
|
-
gns3server/static/web-ui/index.html,sha256=
|
|
616
|
-
gns3server/static/web-ui/main.
|
|
621
|
+
gns3server/static/web-ui/index.html,sha256=7pAStdbcYtz6lNT3T2rxvJOFnjg2NJG1bp-7-2FuzdI,11546
|
|
622
|
+
gns3server/static/web-ui/main.fd9d76d279fa7d5e.js,sha256=UldR9nkWEigrntL5Nw4eMRd512NK6s_liUjQ2nksUmI,4340477
|
|
617
623
|
gns3server/static/web-ui/polyfills.319c79dd175e50d0.js,sha256=sQPX0SyLyUHk_0gvODKsdL3-lQsQ_whJeMgxx6tO04A,38362
|
|
618
624
|
gns3server/static/web-ui/roboto-latin-100.539f0a96b40596f7.woff2,sha256=EoI9WFYFI4EhVUr_i7BgojXcNvN-_Z-x5-bqGpYivDU,15808
|
|
619
625
|
gns3server/static/web-ui/roboto-latin-100.5ba994dac3e79ea8.woff,sha256=xOrU3p96_yN9BrUw6thBPRNXQn9qkllENCu04rHc5tA,20368
|
|
@@ -1277,7 +1283,7 @@ gns3server/utils/file_watcher.py,sha256=CF-5dB-RVSj8xuVxJ9siSpf3QOnXpw3n2IkjCzRg
|
|
|
1277
1283
|
gns3server/utils/get_resource.py,sha256=WWW4mejsye6Tpw5UmIT6drfcUDqs-YhLxSlQaNboRDg,1534
|
|
1278
1284
|
gns3server/utils/hostname.py,sha256=XUswUi47n-LfUbMiZ5AOs_Crl6lln606nhttEaJanpA,3342
|
|
1279
1285
|
gns3server/utils/http_client.py,sha256=MD-yZA2VjQonqOlPiU4SXo9AjQWDYFFP0ZeZzz680EI,2318
|
|
1280
|
-
gns3server/utils/images.py,sha256=
|
|
1286
|
+
gns3server/utils/images.py,sha256=zTXazWlr2CK08em5Q7iIRDVqEdxQWd7puUru-wCUvmE,15204
|
|
1281
1287
|
gns3server/utils/interfaces.py,sha256=DwsZXwPxmc5E-QwquzMqAfQRLrrt-GyYUjUDxFKqEZo,8981
|
|
1282
1288
|
gns3server/utils/notification_queue.py,sha256=EO2vHr_Lkxiq9NP-6u6eDsVvFNKbe-QSZqHADU-Ynss,2688
|
|
1283
1289
|
gns3server/utils/path.py,sha256=m4kj9NoFMLQfMAEG1HJ97x-zAdw0bxq-14tCwaIOSKc,2348
|
|
@@ -1295,9 +1301,8 @@ gns3server/utils/asyncio/telnet_server.py,sha256=dteUIryUX25iRr5-dMkdBYSTNZQZfLK
|
|
|
1295
1301
|
gns3server/utils/zipfile_zstd/__init__.py,sha256=QXfnwyxx_CDJdAgOzqqBAD_7WDudc9VN03U0Gfccr5I,163
|
|
1296
1302
|
gns3server/utils/zipfile_zstd/_patcher.py,sha256=RCMj1y8OrIJheEGnuERDH0l2hvLaFl5wa_IZNiTpBbU,380
|
|
1297
1303
|
gns3server/utils/zipfile_zstd/_zipfile.py,sha256=KvAeNmWZHu2LHuUOZ8_Tnu_dRi3NOIWM6I3hg_c7NsQ,2189
|
|
1298
|
-
gns3_server-3.0.
|
|
1299
|
-
gns3_server-3.0.
|
|
1300
|
-
gns3_server-3.0.
|
|
1301
|
-
gns3_server-3.0.
|
|
1302
|
-
gns3_server-3.0.
|
|
1303
|
-
gns3_server-3.0.4.dist-info/RECORD,,
|
|
1304
|
+
gns3_server-3.0.5.dist-info/METADATA,sha256=X_O6HueMFYgjCJdY5Uu-VFwjGTLNAvQ_S7B-NuEL7lE,7903
|
|
1305
|
+
gns3_server-3.0.5.dist-info/WHEEL,sha256=DnLRTWE75wApRYVsjgc6wsVswC54sMSJhAEd4xhDpBk,91
|
|
1306
|
+
gns3_server-3.0.5.dist-info/entry_points.txt,sha256=kgHc6rA0RfDOTAkTDSwgWXKHWG4r5mQ-SsmpCHNgXPI,92
|
|
1307
|
+
gns3_server-3.0.5.dist-info/top_level.txt,sha256=GvKJnXIKLBmewtHjQXkvmtz79ZW51IsfCoPMbHoWehQ,11
|
|
1308
|
+
gns3_server-3.0.5.dist-info/RECORD,,
|
|
@@ -232,7 +232,7 @@ async def stop_cloud_capture(
|
|
|
232
232
|
await node.stop_capture(port_number)
|
|
233
233
|
|
|
234
234
|
|
|
235
|
-
@router.get("/{node_id}/adapters/{adapter_number}/ports/{port_number}/
|
|
235
|
+
@router.get("/{node_id}/adapters/{adapter_number}/ports/{port_number}/capture/stream")
|
|
236
236
|
async def stream_pcap_file(
|
|
237
237
|
*,
|
|
238
238
|
adapter_number: int = Path(..., ge=0, le=0),
|
|
@@ -148,11 +148,6 @@ async def upload_image(
|
|
|
148
148
|
if os.path.commonprefix([base_images_directory, full_path]) != base_images_directory:
|
|
149
149
|
raise ControllerForbiddenError(f"Cannot write image, '{image_path}' is forbidden")
|
|
150
150
|
|
|
151
|
-
image = await images_repo.get_image(image_path)
|
|
152
|
-
if image:
|
|
153
|
-
log.warning(f"Image '{image_path}' already exists")
|
|
154
|
-
return image
|
|
155
|
-
|
|
156
151
|
try:
|
|
157
152
|
allow_raw_image = Config.instance().settings.Server.allow_raw_images
|
|
158
153
|
image = await write_image(image_path, full_path, request.stream(), images_repo, allow_raw_image=allow_raw_image)
|
|
@@ -24,7 +24,7 @@ import aiohttp
|
|
|
24
24
|
from fastapi import APIRouter, Depends, Request, status
|
|
25
25
|
from fastapi.responses import StreamingResponse
|
|
26
26
|
from fastapi.encoders import jsonable_encoder
|
|
27
|
-
from typing import List
|
|
27
|
+
from typing import List, Union
|
|
28
28
|
from uuid import UUID
|
|
29
29
|
|
|
30
30
|
from gns3server.controller import Controller
|
|
@@ -285,3 +285,54 @@ async def stream_pcap(request: Request, link: Link = Depends(dep_link)) -> Strea
|
|
|
285
285
|
raise ControllerError(f"Client error received when receiving pcap stream from compute: {e}")
|
|
286
286
|
|
|
287
287
|
return StreamingResponse(compute_pcap_stream(), media_type="application/vnd.tcpdump.pcap")
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
@router.get(
|
|
291
|
+
"/{link_id}/iface",
|
|
292
|
+
response_model=Union[schemas.UDPPortInfo, schemas.EthernetPortInfo],
|
|
293
|
+
dependencies=[Depends(has_privilege("Link.Audit"))]
|
|
294
|
+
)
|
|
295
|
+
async def get_iface(link: Link = Depends(dep_link)) -> Union[schemas.UDPPortInfo, schemas.EthernetPortInfo]:
|
|
296
|
+
"""
|
|
297
|
+
Return iface info for links to Cloud or NAT devices.
|
|
298
|
+
|
|
299
|
+
Required privilege: Link.Audit
|
|
300
|
+
"""
|
|
301
|
+
|
|
302
|
+
ifaces_info = {}
|
|
303
|
+
for node_data in link._nodes:
|
|
304
|
+
node = node_data["node"]
|
|
305
|
+
if node.node_type not in ("cloud", "nat"):
|
|
306
|
+
continue
|
|
307
|
+
|
|
308
|
+
port_number = node_data["port_number"]
|
|
309
|
+
compute = node.compute
|
|
310
|
+
project_id = link.project.id
|
|
311
|
+
response = await compute.get(f"/projects/{project_id}/{node.node_type}/nodes/{node.id}")
|
|
312
|
+
if "ports_mapping" not in response.json:
|
|
313
|
+
continue
|
|
314
|
+
ports_mapping = response.json["ports_mapping"]
|
|
315
|
+
|
|
316
|
+
for port in ports_mapping:
|
|
317
|
+
port_num = port.get("port_number")
|
|
318
|
+
|
|
319
|
+
if port_num and int(port_num) == int(port_number):
|
|
320
|
+
port_type = port.get("type", "")
|
|
321
|
+
if "udp" in port_type.lower():
|
|
322
|
+
ifaces_info = {
|
|
323
|
+
"node_id": node.id,
|
|
324
|
+
"type": f"{port_type}",
|
|
325
|
+
"lport": port["lport"],
|
|
326
|
+
"rhost": port["rhost"],
|
|
327
|
+
"rport": port["rport"]
|
|
328
|
+
}
|
|
329
|
+
else:
|
|
330
|
+
ifaces_info = {
|
|
331
|
+
"node_id": node.id,
|
|
332
|
+
"type": f"{port_type}",
|
|
333
|
+
"interface": port["interface"],
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
if not ifaces_info:
|
|
337
|
+
raise ControllerError("Link not connected to Cloud/NAT")
|
|
338
|
+
return ifaces_info
|
|
@@ -25,6 +25,14 @@
|
|
|
25
25
|
"options": "-cpu host -nographic"
|
|
26
26
|
},
|
|
27
27
|
"images": [
|
|
28
|
+
{
|
|
29
|
+
"filename": "AlmaLinux-9-GenericCloud-9.4-20240805.x86_64.qcow2",
|
|
30
|
+
"version": "9.4",
|
|
31
|
+
"md5sum": "7c5040c044a989c524d40824cebb4a4d",
|
|
32
|
+
"filesize": 591724544,
|
|
33
|
+
"download_url": "https://vault.almalinux.org/9.4/cloud/x86_64/images/",
|
|
34
|
+
"direct_download_url": "https://vault.almalinux.org/9.4/cloud/x86_64/images/AlmaLinux-9-GenericCloud-9.4-20240805.x86_64.qcow2"
|
|
35
|
+
},
|
|
28
36
|
{
|
|
29
37
|
"filename": "AlmaLinux-9-GenericCloud-9.2-20230513.x86_64.qcow2",
|
|
30
38
|
"version": "9.2",
|
|
@@ -33,6 +41,14 @@
|
|
|
33
41
|
"download_url": "https://vault.almalinux.org/9.2/cloud/x86_64/images/",
|
|
34
42
|
"direct_download_url": "https://vault.almalinux.org/9.2/cloud/x86_64/images/AlmaLinux-9-GenericCloud-9.2-20230513.x86_64.qcow2"
|
|
35
43
|
},
|
|
44
|
+
{
|
|
45
|
+
"filename": "AlmaLinux-8-GenericCloud-8.9-20231128.x86_64.qcow2",
|
|
46
|
+
"version": "8.9",
|
|
47
|
+
"md5sum": "1afc48c798960f0c6ebb65428c0ea973",
|
|
48
|
+
"filesize": 697434112,
|
|
49
|
+
"download_url": "https://vault.almalinux.org/8.9/cloud/x86_64/images/",
|
|
50
|
+
"direct_download_url": "https://vault.almalinux.org/8.9/cloud/x86_64/images/AlmaLinux-8-GenericCloud-8.9-20231128.x86_64.qcow2"
|
|
51
|
+
},
|
|
36
52
|
{
|
|
37
53
|
"filename": "AlmaLinux-8-GenericCloud-8.8-20230524.x86_64.qcow2",
|
|
38
54
|
"version": "8.8",
|
|
@@ -59,6 +75,13 @@
|
|
|
59
75
|
}
|
|
60
76
|
],
|
|
61
77
|
"versions": [
|
|
78
|
+
{
|
|
79
|
+
"name": "9.4",
|
|
80
|
+
"images": {
|
|
81
|
+
"hda_disk_image": "AlmaLinux-9-GenericCloud-9.4-20240805.x86_64.qcow2",
|
|
82
|
+
"cdrom_image": "almalinux-cloud-init-data.iso"
|
|
83
|
+
}
|
|
84
|
+
},
|
|
62
85
|
{
|
|
63
86
|
"name": "9.2",
|
|
64
87
|
"images": {
|
|
@@ -66,6 +89,13 @@
|
|
|
66
89
|
"cdrom_image": "almalinux-cloud-init-data.iso"
|
|
67
90
|
}
|
|
68
91
|
},
|
|
92
|
+
{
|
|
93
|
+
"name": "8.9",
|
|
94
|
+
"images": {
|
|
95
|
+
"hda_disk_image": "AlmaLinux-8-GenericCloud-8.9-20231128.x86_64.qcow2",
|
|
96
|
+
"cdrom_image": "almalinux-cloud-init-data.iso"
|
|
97
|
+
}
|
|
98
|
+
},
|
|
69
99
|
{
|
|
70
100
|
"name": "8.8",
|
|
71
101
|
"images": {
|