mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-11-15 03:15:14 +02:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
469bd692a0 | ||
|
|
d34c3a0ac7 | ||
|
|
fb3409c1a1 | ||
|
|
08693871ae | ||
|
|
f5ea20347e | ||
|
|
ac4c5f5985 | ||
|
|
e17a79e261 | ||
|
|
4758431c76 | ||
|
|
b472f6dbf8 | ||
|
|
b39c7541fb | ||
|
|
82779d816f | ||
|
|
96c6805ace | ||
|
|
efb84b3063 | ||
|
|
0be45c7da2 | ||
|
|
a4222b4d03 | ||
|
|
5f75fc7573 | ||
|
|
5269d4386c | ||
|
|
9d6cea665a | ||
|
|
8b57fbaa0a | ||
|
|
d4a9a21af9 | ||
|
|
8a900588ca | ||
|
|
8ed1fa6ad5 | ||
|
|
a689a55937 | ||
|
|
1c0b0ae423 | ||
|
|
ad7813d04b | ||
|
|
654b84cb7b | ||
|
|
fc1acc58de | ||
|
|
07ac4f5834 | ||
|
|
249bf89b7e | ||
|
|
efc3ff62b5 | ||
|
|
a521e61efc | ||
|
|
9492fd0671 | ||
|
|
512407939d | ||
|
|
685bf88005 | ||
|
|
a1090a3da8 | ||
|
|
c8e5b41f39 | ||
|
|
94b5d3e636 | ||
|
|
d54e6babe2 | ||
|
|
a9b7869e04 | ||
|
|
72838a8108 | ||
|
|
7229707746 | ||
|
|
c9694a4e1d | ||
|
|
a792792128 | ||
|
|
eca502c49c | ||
|
|
0ee73605c0 | ||
|
|
648ae231ef | ||
|
|
0dd53d3178 | ||
|
|
09d67ec1a8 | ||
|
|
c820a807ad | ||
|
|
014d3f2ad9 | ||
|
|
5e1b8814b6 | ||
|
|
df56955bf0 | ||
|
|
b84bedffec | ||
|
|
423d3fd82b | ||
|
|
e1b4d74f1e | ||
|
|
86fbae00e1 | ||
|
|
f38efd311a | ||
|
|
91e9fa1cbc | ||
|
|
db067579db | ||
|
|
6314dd3c35 | ||
|
|
4e41aefbdb | ||
|
|
bbff6974e6 | ||
|
|
c05dcef54f | ||
|
|
b7d43b29cd | ||
|
|
cbaa563996 | ||
|
|
e94b55e3bf | ||
|
|
6c521b5f7a | ||
|
|
a8014da10b | ||
|
|
f6080013e3 | ||
|
|
fc54c6e496 | ||
|
|
04cd107651 | ||
|
|
19cabdfde6 | ||
|
|
af7fbe6bb4 | ||
|
|
3d58b437b4 | ||
|
|
83921a45df | ||
|
|
b2db8896ea | ||
|
|
a22f7ac3d2 | ||
|
|
e19af851c1 | ||
|
|
a00f53fbaa | ||
|
|
8db81de153 | ||
|
|
fa0d7d7529 | ||
|
|
bd813b0a53 | ||
|
|
b37db57bb9 | ||
|
|
31a2cb998d | ||
|
|
e83e12b51a | ||
|
|
a7da814b85 | ||
|
|
11c9802268 | ||
|
|
a60e0d424d | ||
|
|
db1fb29c63 | ||
|
|
1a6a729736 | ||
|
|
77c356c82c | ||
|
|
b4819b5500 | ||
|
|
ec9dbd20b8 | ||
|
|
a5f0dba5cf | ||
|
|
11a9451098 | ||
|
|
754680d8e9 | ||
|
|
05773ce189 | ||
|
|
aeae9deb01 | ||
|
|
f3749e83ec | ||
|
|
c2db4e8542 | ||
|
|
52a7696618 | ||
|
|
7bf17392dd | ||
|
|
2718224dde | ||
|
|
0122070b29 | ||
|
|
345ecb7630 | ||
|
|
ae538dd11d | ||
|
|
ce4dd17409 | ||
|
|
8c7c17b889 | ||
|
|
1530bdfc2b | ||
|
|
74d07173c1 | ||
|
|
ec300d19d4 | ||
|
|
fb06eb3c0c | ||
|
|
7e902726bf | ||
|
|
c4fcb43e78 | ||
|
|
753135a80d | ||
|
|
c05e1cb8e7 | ||
|
|
48b7e6ca50 | ||
|
|
dbe2b8a5fb | ||
|
|
80487eb62d | ||
|
|
6e66b26b88 | ||
|
|
9990666076 | ||
|
|
97e5a5edc3 | ||
|
|
2b5c6ce8fb | ||
|
|
0aac62d03a | ||
|
|
4058abf16e | ||
|
|
4357410b10 | ||
|
|
734365b216 | ||
|
|
abb7cc2075 | ||
|
|
c273a78560 | ||
|
|
718269e5b3 | ||
|
|
19fd7d2193 | ||
|
|
e62ffb1b87 | ||
|
|
42808161bf | ||
|
|
45ee662c56 | ||
|
|
24bfc205db | ||
|
|
cb46c0fbcc | ||
|
|
35256901b5 | ||
|
|
6933c3d938 | ||
|
|
8af71ee291 | ||
|
|
c0be6875c2 | ||
|
|
a1922ef067 | ||
|
|
cafdb2522b | ||
|
|
f7996d5e98 | ||
|
|
996dad2f5c | ||
|
|
1332e940fd | ||
|
|
19bd953d31 | ||
|
|
3a896b6964 | ||
|
|
441f0fb1b5 | ||
|
|
a02b57698a | ||
|
|
7582107ae5 | ||
|
|
2dbde5df22 | ||
|
|
a7b56739a9 | ||
|
|
8ce0cbf7f7 | ||
|
|
7b5d123ad8 | ||
|
|
d1a7474ef6 | ||
|
|
af6f34b2ca | ||
|
|
d3138daa23 | ||
|
|
967c7d066d | ||
|
|
7619080a50 | ||
|
|
f1294cf267 | ||
|
|
74782d413f | ||
|
|
c41c11eb34 | ||
|
|
1f09a3e6bc | ||
|
|
22f022cc22 | ||
|
|
8429494280 | ||
|
|
a1666dd247 | ||
|
|
3214f52e9e | ||
|
|
ddd6235acd | ||
|
|
bcc148bbd2 | ||
|
|
3792901dc7 | ||
|
|
5ffe5fd9b3 | ||
|
|
9bcf26b943 | ||
|
|
b80e1f3a22 | ||
|
|
ba13b0b078 | ||
|
|
90c69d95ad | ||
|
|
69a5b16bad | ||
|
|
21a5c5d3f2 | ||
|
|
225779bc11 | ||
|
|
b1209155f5 | ||
|
|
7cebb9472a | ||
|
|
00c3b1abc1 | ||
|
|
b1c1c0520c | ||
|
|
2bb26075f0 | ||
|
|
54e436394f | ||
|
|
9046c60811 | ||
|
|
24cace8122 | ||
|
|
6746ef39be | ||
|
|
8889eaa439 | ||
|
|
95a4c284bc | ||
|
|
9a3bd2ee0c | ||
|
|
2416069a6e | ||
|
|
eefb3d87b2 | ||
|
|
999f41b03e | ||
|
|
ea339af1e9 | ||
|
|
6951137a25 | ||
|
|
cccbca3d5e | ||
|
|
8659439829 | ||
|
|
677bc389a5 | ||
|
|
3f7f5a3cda | ||
|
|
59ad5c55ec | ||
|
|
4a58ede550 | ||
|
|
3f5b0bb514 | ||
|
|
6e8e0764c1 | ||
|
|
eaa18ad624 | ||
|
|
0a32be276e | ||
|
|
271c958381 | ||
|
|
ca1d99b112 | ||
|
|
6b14abc06f | ||
|
|
6ed18c561f | ||
|
|
90dce03da2 | ||
|
|
b48bd92da3 | ||
|
|
d54c9db8c3 | ||
|
|
b194e48649 | ||
|
|
29f848d833 | ||
|
|
08154e43aa | ||
|
|
45a0644371 | ||
|
|
3a4ffb8786 | ||
|
|
84efc55d02 | ||
|
|
fec0220b55 | ||
|
|
a58fb320ac | ||
|
|
39057bd781 | ||
|
|
0f3b96f134 | ||
|
|
df210386dd | ||
|
|
3e512e650a | ||
|
|
e50e2c90bd | ||
|
|
c1f9f1111d | ||
|
|
8c1dbf0084 | ||
|
|
6f2b12c218 | ||
|
|
4b1068e02f | ||
|
|
d56acc5844 | ||
|
|
d477eb8366 | ||
|
|
35f94b0c73 | ||
|
|
b82b9a64e6 | ||
|
|
901652aaeb | ||
|
|
990dabb7e4 | ||
|
|
3ab74b8094 | ||
|
|
5cd540d94d | ||
|
|
d3860ba84b | ||
|
|
3e133eda44 | ||
|
|
e01256980c | ||
|
|
aabfe9eadc | ||
|
|
6c9a3b634b | ||
|
|
0561aba927 | ||
|
|
86a78f53cb | ||
|
|
f0bc74ff6e | ||
|
|
f81128f717 | ||
|
|
9ce505cad3 | ||
|
|
314e01d2b4 | ||
|
|
6b8635f7d5 | ||
|
|
388ffe9f00 | ||
|
|
d01129a3cf | ||
|
|
535ea0ad9f | ||
|
|
ccb5de6df1 | ||
|
|
cdcfc652db | ||
|
|
7030dadbcb | ||
|
|
46a9fdb61d | ||
|
|
9958b876cf | ||
|
|
259d3a0155 | ||
|
|
33499be425 | ||
|
|
3fd44f5260 | ||
|
|
c076275bd0 | ||
|
|
081447ba2e | ||
|
|
3df7af12e1 | ||
|
|
d9e4ce5639 | ||
|
|
689d476b71 | ||
|
|
f1701e3f09 | ||
|
|
38df4bea2e | ||
|
|
35b75f0f7f | ||
|
|
2609849507 | ||
|
|
448b94f701 | ||
|
|
18002a7580 | ||
|
|
644e659729 | ||
|
|
1c37e8bd32 | ||
|
|
1414bdcadf | ||
|
|
b6e68ba1a8 | ||
|
|
19142d97bb | ||
|
|
faf7e09ebb | ||
|
|
84f7337cb1 | ||
|
|
e11621467b | ||
|
|
123123d767 | ||
|
|
b3bdeb611e | ||
|
|
7a229e33f9 | ||
|
|
4959a51ce7 | ||
|
|
5b1ba5a57c | ||
|
|
bc1a8c99d1 | ||
|
|
ae64f15386 | ||
|
|
123b5d0800 | ||
|
|
e1d3ee12b9 | ||
|
|
998898a471 | ||
|
|
9b66d939d2 | ||
|
|
fd60bda2c2 | ||
|
|
c5f4e25756 | ||
|
|
16bad6e0b5 | ||
|
|
8e661df981 | ||
|
|
31c7fe88f1 | ||
|
|
03b491f7b1 | ||
|
|
fa41d9ba75 | ||
|
|
a80aed5420 | ||
|
|
e9827653ae | ||
|
|
9da8d1ec0f | ||
|
|
a53fd2e8b1 | ||
|
|
5bab4131e1 | ||
|
|
e8a7e80456 | ||
|
|
ab05784c33 | ||
|
|
6983e686ca | ||
|
|
3631202ce5 | ||
|
|
8d8a3247c4 | ||
|
|
d100a132d6 | ||
|
|
52638a9a8d | ||
|
|
9a5af82a28 | ||
|
|
14a618766d | ||
|
|
0137688ba7 | ||
|
|
84db3b9996 | ||
|
|
800920e3df | ||
|
|
14917580ac | ||
|
|
4c65426e97 | ||
|
|
fd85e49220 | ||
|
|
0a08031d85 | ||
|
|
1a53c9aabf | ||
|
|
1f5085608c | ||
|
|
16f72b4d3d | ||
|
|
3ced41633f | ||
|
|
4fa10be5aa | ||
|
|
f050fc7e00 | ||
|
|
c93aafc9af | ||
|
|
93520b4d6c | ||
|
|
1fb0260ae6 | ||
|
|
91fd543321 | ||
|
|
763ef24108 | ||
|
|
17aabd6cda | ||
|
|
d94adf4c8f | ||
|
|
4dd9cf2da2 | ||
|
|
d6f8069739 | ||
|
|
0037f31553 | ||
|
|
e2a3d391d8 | ||
|
|
6c5f54fe57 | ||
|
|
082fbee1bd | ||
|
|
6d97feaced | ||
|
|
8d35089661 | ||
|
|
6455f62447 | ||
|
|
2fb3b1ebab | ||
|
|
58399a9fa8 | ||
|
|
907b305ecf | ||
|
|
57f92db124 | ||
|
|
0f6f943a83 | ||
|
|
2cb76b2274 | ||
|
|
2d2db52a8b | ||
|
|
a8d0818e07 | ||
|
|
f7eb2492d9 | ||
|
|
218522b08c | ||
|
|
470f13f448 | ||
|
|
317aa669ac | ||
|
|
8d160ad5ed | ||
|
|
e3493870b2 | ||
|
|
d466c85385 | ||
|
|
35d4391fc0 | ||
|
|
eea0ab69bd | ||
|
|
22ade94118 | ||
|
|
08ee40548f | ||
|
|
7f05a06766 | ||
|
|
9fd2f58ef7 | ||
|
|
b9b802ebab | ||
|
|
1d86e322e9 | ||
|
|
8eb5f10971 | ||
|
|
cc4783ab98 | ||
|
|
19792f328d | ||
|
|
596d1274a3 | ||
|
|
2f765747b8 | ||
|
|
4fe57b6a15 | ||
|
|
1177626a53 | ||
|
|
c4cc346864 | ||
|
|
8915dfffa5 | ||
|
|
ff027ebd17 | ||
|
|
27d5ac537f | ||
|
|
fe246cd413 | ||
|
|
2bbb560b8e | ||
|
|
1624c7d6ad | ||
|
|
2a3bb81076 | ||
|
|
e0a0dd83d7 | ||
|
|
16ea395618 | ||
|
|
9dd8da4f6e | ||
|
|
54abf85523 | ||
|
|
385fffec56 | ||
|
|
ac86717bc0 | ||
|
|
7b7af33920 | ||
|
|
85fd3ef4a4 | ||
|
|
fbd8f6ce28 | ||
|
|
195da24910 | ||
|
|
b4c7609aeb | ||
|
|
cd9c4c84b6 | ||
|
|
2566de0f5a | ||
|
|
6a069d0af6 | ||
|
|
2789b3802a | ||
|
|
9e1a1337d4 | ||
|
|
466eb8128e | ||
|
|
e41227b5bd | ||
|
|
78a3b8e824 | ||
|
|
4c149e1614 | ||
|
|
473fa98eda | ||
|
|
13d9afd8bc | ||
|
|
b4edbbbaa7 | ||
|
|
02e19800fb | ||
|
|
bc1016474e | ||
|
|
24bb0ca419 | ||
|
|
42f668ffc4 | ||
|
|
646f0fd837 | ||
|
|
3d383b25f0 | ||
|
|
8d28178e56 | ||
|
|
0d63bf5128 | ||
|
|
37f720ac73 | ||
|
|
9509d3a713 | ||
|
|
061ee1491d | ||
|
|
c8245e81be | ||
|
|
ff7e10fa7f | ||
|
|
6c5f75bf43 | ||
|
|
7afdcbb3d3 | ||
|
|
de27a57a00 | ||
|
|
c88f76b740 | ||
|
|
b81cc14cef | ||
|
|
aa133c3b8a | ||
|
|
7449064ea2 | ||
|
|
db315e3c3c | ||
|
|
c437482e85 | ||
|
|
46d9ada6d8 | ||
|
|
aac6fbfc31 | ||
|
|
76bd5921c5 | ||
|
|
af3a618306 | ||
|
|
531499bbfb | ||
|
|
7ad3afbdef | ||
|
|
0e18762b36 | ||
|
|
cbc7e59d3f | ||
|
|
5a6e945db2 | ||
|
|
86c0b90951 |
No files matched your search
@@ -10,7 +10,7 @@ jobs:
|
||||
name: Add issue to project
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/add-to-project@v0.4.0
|
||||
- uses: actions/add-to-project@v1.0.1
|
||||
with:
|
||||
project-url: https://github.com/orgs/GNS3/projects/3
|
||||
github-token: ${{ secrets.ADD_NEW_ISSUES_TO_PROJECT }}
|
||||
@@ -13,58 +13,81 @@ name: "CodeQL"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches: [ "master" ]
|
||||
pull_request:
|
||||
# The branches below must be a subset of the branches above
|
||||
branches: [ master ]
|
||||
branches: [ "master" ]
|
||||
schedule:
|
||||
- cron: '44 1 * * 3'
|
||||
- cron: '21 12 * * 4'
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze
|
||||
runs-on: ubuntu-latest
|
||||
name: Analyze (${{ matrix.language }})
|
||||
# Runner size impacts CodeQL analysis time. To learn more, please see:
|
||||
# - https://gh.io/recommended-hardware-resources-for-running-codeql
|
||||
# - https://gh.io/supported-runners-and-hardware-resources
|
||||
# - https://gh.io/using-larger-runners (GitHub.com only)
|
||||
# Consider using larger runners or machines with greater resources for possible analysis time improvements.
|
||||
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
|
||||
timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }}
|
||||
permissions:
|
||||
# required for all workflows
|
||||
security-events: write
|
||||
|
||||
# required to fetch internal or private CodeQL packs
|
||||
packages: read
|
||||
|
||||
# only required for workflows in private repositories
|
||||
actions: read
|
||||
contents: read
|
||||
security-events: write
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
language: [ 'python' ]
|
||||
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
|
||||
# Learn more about CodeQL language support at https://git.io/codeql-language-support
|
||||
|
||||
include:
|
||||
- language: python
|
||||
build-mode: none
|
||||
# CodeQL supports the following values keywords for 'language': 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift'
|
||||
# Use `c-cpp` to analyze code written in C, C++ or both
|
||||
# Use 'java-kotlin' to analyze code written in Java, Kotlin or both
|
||||
# Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
|
||||
# To learn more about changing the languages that are analyzed or customizing the build mode for your analysis,
|
||||
# see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.
|
||||
# If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how
|
||||
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v4
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v1
|
||||
uses: github/codeql-action/init@v3
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
build-mode: ${{ matrix.build-mode }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
# By default, queries listed here will override any specified in a config file.
|
||||
# Prefix the list here with "+" to use these queries and those in the config file.
|
||||
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
||||
|
||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@v1
|
||||
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
|
||||
# queries: security-extended,security-and-quality
|
||||
|
||||
# If the analyze step fails for one of the languages you are analyzing with
|
||||
# "We were unable to automatically build your code", modify the matrix above
|
||||
# to set the build mode to "manual" for that language. Then modify this step
|
||||
# to build your code.
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 https://git.io/JvXDl
|
||||
|
||||
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
||||
# and modify them (or add more) to build your code if your project
|
||||
# uses a compiled language
|
||||
|
||||
#- run: |
|
||||
# make bootstrap
|
||||
# make release
|
||||
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
|
||||
- if: matrix.build-mode == 'manual'
|
||||
shell: bash
|
||||
run: |
|
||||
echo 'If you are using a "manual" build mode for one or more of the' \
|
||||
'languages you are analyzing, replace this with the commands to build' \
|
||||
'your code, for example:'
|
||||
echo ' make bootstrap'
|
||||
echo ' make release'
|
||||
exit 1
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v1
|
||||
uses: github/codeql-action/analyze@v3
|
||||
with:
|
||||
category: "/language:${{matrix.language}}"
|
||||
@@ -12,13 +12,13 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: "gh-pages"
|
||||
- uses: actions/setup-python@v3
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: 3.7
|
||||
python-version: 3.8
|
||||
- name: Merge changes from 3.0 branch
|
||||
run: |
|
||||
git config user.name github-actions
|
||||
|
||||
@@ -13,16 +13,21 @@ on:
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
|
||||
os: ["ubuntu-latest"]
|
||||
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
|
||||
#include:
|
||||
# only test with Python 3.10 on Windows
|
||||
# - os: windows-latest
|
||||
# python-version: "3.10"
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
- name: Set up Python ${{ matrix.python-version }}
|
||||
uses: actions/setup-python@v3
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
- name: Display Python version
|
||||
@@ -31,6 +36,14 @@ jobs:
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
python -m pip install .[dev]
|
||||
|
||||
- name: Install Windows specific dependencies
|
||||
if: runner.os == 'Windows'
|
||||
run: |
|
||||
python -m pip install -r win-requirements.txt
|
||||
curl -O "http://www.win10pcap.org/download/Win10Pcap-v10.2-5002.msi"
|
||||
msiexec /i "Win10Pcap-v10.2-5002.msi" /qn /norestart
|
||||
|
||||
- name: Lint with flake8
|
||||
run: |
|
||||
# stop the build if there are Python syntax errors or undefined names
|
||||
|
||||
@@ -1,5 +1,187 @@
|
||||
# Change Log
|
||||
|
||||
## 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
|
||||
* Allow for upgrading built-in disks
|
||||
* Fix config parsing when configuring server protocol. Fixes https://github.com/GNS3/gns3-gui/issues/3681
|
||||
* Update empty Qemu disks with correct MD5 checksums
|
||||
* Increase timeout to run compute HTTP queries. Fixes #3453
|
||||
|
||||
## 3.0.0 20/12/2024
|
||||
|
||||
* Bundle web-ui v3.0.0
|
||||
* Use static favicon for API docs. Ref #3674
|
||||
* Configure self-hosting JavaScript and CSS for docs
|
||||
* Fix project auto open feature. Fixes #2455
|
||||
* Store IOU licence in the secrets directory and disable the check by default
|
||||
* Require "Project.Audit" permission to duplicate a project and check if "Project.Allocate" permission for the destination.
|
||||
|
||||
## 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.
|
||||
* Relax setuptools requirement to allow for easier Debian packaging on Ubuntu Focal & Jammy
|
||||
|
||||
## 3.0.0rc2 20/11/2024
|
||||
|
||||
* Bundle web-ui v3.0.0rc2
|
||||
* Fix error 500 on PUT for cloud, nat, vmware and vpcs nodes. Fixes #2426
|
||||
* Add a duplicated project in the same resource pools as the original project if it is in any
|
||||
* Upgrade FastAPI to v0.115.5
|
||||
* Overwrite user resources when the originals have changed.
|
||||
* Relax setuptools requirement to allow for easier Debian packaging on Ubuntu Focal & Jammy
|
||||
* Increase SQLite timeout. Ref #2422
|
||||
* Fix test user with wrong creds
|
||||
* Upgrade dependencies and fix Pydantic warnings
|
||||
* Upgrade aiohttp to v3.10.10. Fixes #2411
|
||||
* Replace aiohttp.web.HTTPConflict()
|
||||
* Python 3.13 support
|
||||
|
||||
## 2.2.51 07/11/2024
|
||||
|
||||
* Catch error when cannot resize Docker container TTY.
|
||||
* Do not use "ide" if there is a disk image and no interface type has been explicitly configured.
|
||||
* Use @locking when sending uBridge commands. Ref https://github.com/GNS3/gns3-gui/issues/3651
|
||||
* Fix run Docker containers with user namespaces enabled. Fixes #2414
|
||||
* Python 3.13 support
|
||||
* Upgrade dependencies
|
||||
* Fix errors in init.sh. Fixes #2431
|
||||
|
||||
## 2.2.50 21/10/2024
|
||||
|
||||
* Bundle web-ui v2.2.50
|
||||
* Symbolic links support for project export/import
|
||||
* Add comment to indicate sentry-sdk is optional. Ref https://github.com/GNS3/gns3-server/issues/2423
|
||||
* Fix issues with recent busybox versions
|
||||
* Support to reset MAC addresses for Docker nodes and some adjustments for fast duplication.
|
||||
* Update README.md to change the minimum required Python version.
|
||||
* Faster project duplication for local projects (no remote compute)
|
||||
* Improve error message when a project cannot be parsed.
|
||||
* Fix for running Docker containers with user namespaces enabled
|
||||
* Support for configuring MAC address in Docker containers
|
||||
* Upgrade aiohttp to v3.10.3
|
||||
|
||||
## 3.0.0rc1 11/08/2024
|
||||
|
||||
* Bundle web-ui v3.0.0rc1
|
||||
* Convert topologies < 3.0 to have valid node hostnames
|
||||
* Fix to access resources_path and install_builtin_appliances settings
|
||||
|
||||
## 2.2.49 06/08/2024
|
||||
|
||||
* Bundle web-ui v2.2.49
|
||||
* Forbid -nic and -nicdev in Qemu additional options. Fixes https://github.com/GNS3/gns3-server/issues/2397
|
||||
* Upgrade jsonschema and sentry-sdk packages
|
||||
* Update IOU base configs to use "no ip domain lookup". Fixes #2404
|
||||
|
||||
## 2.2.48.1 12/07/2024
|
||||
|
||||
* Bundle web-ui v2.2.48.1
|
||||
|
||||
## 2.2.48 08/07/2024
|
||||
|
||||
* Bundle web-ui v2.2.48
|
||||
* Add 'install_builtin_appliances' and 'resources_path' settings in the server config
|
||||
* Option to keep the compute IDs unchanged when exporting a project
|
||||
* Forbid unsafe Qemu additional options
|
||||
* Fix error when snapshot exists with an underscore in the name
|
||||
* Upgrade sentry-sdk, psutil and aiofiles packages
|
||||
* Fix check for IPv6 enabled on host
|
||||
|
||||
## 3.0.0b3 19/05/2024
|
||||
|
||||
* Bundle web-ui v3.0.0b3
|
||||
* Fix to allow duplicating IOS routers
|
||||
* Fix to allow changing the auxiliary console for IOS router nodes.
|
||||
* Replace deprecated method datetime.utcnow()
|
||||
* Upgrade FastAPI to v0.111.0
|
||||
* Fix reset console for non running IOU devices
|
||||
* Do not allow to create a builtin template using the API.
|
||||
* Use cryptography backend for python-jose. Ref #2372
|
||||
|
||||
## 2.2.47 15/05/2024
|
||||
|
||||
* Fix update-bundled-web-ui.sh script
|
||||
* Bundle web-ui v2.2.47
|
||||
* Change sentry-sdk version
|
||||
* Upgrade aiohttp, sentry-sdk and truststore
|
||||
* Upgrade jsonschema and aiohttp
|
||||
* Drop Python 3.7
|
||||
* Remove dev requirements for Python 3.6
|
||||
* Do not run Docker VM tests on Windows
|
||||
* Do not wait for the server to close when shutting down.
|
||||
* Fix test create image with not supported characters by filesystem. Fixes #2375
|
||||
* Allow listing x86_64 IOU images. Fixes #2376
|
||||
* Upgrade Jinja2 to version 3.1.4. Fixes #2378
|
||||
* Fix link capture for ATM switch. Fixes https://github.com/GNS3/gns3-gui/issues/3570
|
||||
* Fix tests after updating error message when busybox is not installed.
|
||||
* Add more details to error message when busybox is not installed. Fixes https://github.com/GNS3/gns3-gui/issues/3569
|
||||
* Fix invalid escape sequences
|
||||
* Add NAT symbols
|
||||
* Fix cannot stop Docker VM while console connection is still active.
|
||||
* Upgrade sentry-sdk to version 1.40.6
|
||||
|
||||
## 3.0.0b2 07/04/2024
|
||||
|
||||
* Bundle web-ui v3.0.0b2
|
||||
* Fix cannot stop Docker VM while console connection is still active.
|
||||
* Support for custom Qemu path in templates and nodes
|
||||
* Fix CPU fractional values for Docker VMs.
|
||||
* Use bcrypt directly instead of passlib
|
||||
* Update CORS policy
|
||||
* Do not stop searching for Qemu binaries if one binary cannot be executed. Ref #2306
|
||||
* Fix Ethernet switch and Ethernet hub port validations. Fixes #2334
|
||||
* Update CORS policy
|
||||
|
||||
|
||||
## 2.2.46 26/02/2024
|
||||
|
||||
* Bundle web-ui v2.2.46
|
||||
* Save empty directories when exporting a project
|
||||
* Backport from v3: install Docker resources in a writable location at runtime.
|
||||
* Use Docker API v1.24 to get version.
|
||||
* Drop support for Python 3.6
|
||||
* Address the telnet console bug.
|
||||
* Update welcome.py
|
||||
* Update remote-install.sh
|
||||
* Use Python 3.8 to publish API doc
|
||||
* Upgrade sentry-sdk, psutil and distro dependencies
|
||||
|
||||
## 2.2.45 12/01/2024
|
||||
|
||||
* Bundle web-ui v2.2.45
|
||||
* Fix mouse offset issues with VNC in Qemu. Fixes #2335
|
||||
* Add project.created, project.opened and project.deleted controller notification stream. Move project.updated and project.closed from project notification to controller notification stream.
|
||||
* Do not stop searching for Qemu binaries if one binary cannot be executed. Ref #2306
|
||||
* Fix Ethernet switch and Ethernet hub port validations. Fixes #2334
|
||||
* Update CORS policy
|
||||
* Add custom executable paths on Windows
|
||||
* Upgrade sentry-sdk and aiohttp
|
||||
|
||||
## 3.0.0b1 27/11/2023
|
||||
|
||||
* Bundle web-ui v3.0.0b1
|
||||
* Upgrade sentry-sdk to v1.37.1
|
||||
* Upgrade aiohttp to v3.9.1
|
||||
* Fix bug when listing endpoints for opened project
|
||||
* Make images executable after importing a project
|
||||
* Disable IOS hostname check for Dynamips ghost instances
|
||||
|
||||
## 3.0.0a6 15/11/2023
|
||||
|
||||
* Bundle web-ui v3.0.0a6
|
||||
@@ -14,6 +196,11 @@
|
||||
* Support for web socket console over HTTPS
|
||||
* Allow disabling hardware virtualization check
|
||||
|
||||
## 2.2.44.1 07/11/2023
|
||||
|
||||
* Catch exceptions when computing image checksums. Ref https://github.com/GNS3/gns3-server/issues/2228
|
||||
* Add freeze_support() for multiprocessing
|
||||
|
||||
## 2.2.44 06/11/2023
|
||||
|
||||
* Bundle web-ui v2.2.44
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
pytest==7.4.2
|
||||
flake8==6.1.0
|
||||
pytest-timeout==2.2.0
|
||||
pytest-asyncio==0.21.1
|
||||
requests==2.31.0
|
||||
httpx==0.24.1 # version 0.24.1 is required by httpx_ws
|
||||
httpx_ws==0.4.2
|
||||
pytest==8.3.3
|
||||
flake8==7.1.1
|
||||
pytest-timeout==2.3.1
|
||||
pytest-asyncio==0.21.2
|
||||
requests==2.32.3
|
||||
httpx==0.27.2 # version 0.24.1 is required by httpx_ws
|
||||
httpx_ws==0.6.2
|
||||
@@ -85,7 +85,7 @@ def get_cloud(node: Cloud = Depends(dep_node)) -> schemas.Cloud:
|
||||
|
||||
|
||||
@router.put("/{node_id}", response_model=schemas.Cloud)
|
||||
def update_cloud(node_data: schemas.CloudUpdate, node: Cloud = Depends(dep_node)) -> schemas.Cloud:
|
||||
async def update_cloud(node_data: schemas.CloudUpdate, node: Cloud = Depends(dep_node)) -> schemas.Cloud:
|
||||
"""
|
||||
Update a cloud node.
|
||||
"""
|
||||
|
||||
@@ -69,6 +69,7 @@ async def create_docker_node(project_id: UUID, node_data: schemas.DockerCreate)
|
||||
start_command=node_data.get("start_command"),
|
||||
environment=node_data.get("environment"),
|
||||
adapters=node_data.get("adapters"),
|
||||
mac_address=node_data.get("mac_address"),
|
||||
console=node_data.get("console"),
|
||||
console_type=node_data.get("console_type"),
|
||||
console_resolution=node_data.get("console_resolution", "1024x768"),
|
||||
@@ -124,6 +125,8 @@ async def update_docker_node(node_data: schemas.DockerUpdate, node: DockerVM = D
|
||||
"start_command",
|
||||
"environment",
|
||||
"adapters",
|
||||
"mac_address",
|
||||
"custom_adapters",
|
||||
"extra_hosts",
|
||||
"extra_volumes",
|
||||
"memory",
|
||||
|
||||
@@ -20,7 +20,7 @@ API routes for Dynamips nodes.
|
||||
|
||||
import os
|
||||
|
||||
from fastapi import APIRouter, WebSocket, Depends, status
|
||||
from fastapi import APIRouter, WebSocket, Body, Depends, status
|
||||
from fastapi.encoders import jsonable_encoder
|
||||
from fastapi.responses import StreamingResponse
|
||||
from typing import List, Union
|
||||
@@ -334,7 +334,7 @@ async def get_auto_idlepc(node: Router = Depends(dep_node)) -> dict:
|
||||
status_code=status.HTTP_201_CREATED,
|
||||
dependencies=[Depends(compute_authentication)]
|
||||
)
|
||||
async def duplicate_router(destination_node_id: UUID, node: Router = Depends(dep_node)) -> schemas.Dynamips:
|
||||
async def duplicate_router(destination_node_id: UUID = Body(..., embed=True), node: Router = Depends(dep_node)) -> schemas.Dynamips:
|
||||
"""
|
||||
Duplicate a router.
|
||||
"""
|
||||
|
||||
@@ -80,7 +80,7 @@ def get_nat_node(node: Nat = Depends(dep_node)) -> schemas.NAT:
|
||||
|
||||
|
||||
@router.put("/{node_id}", response_model=schemas.NAT)
|
||||
def update_nat_node(node_data: schemas.NATUpdate, node: Nat = Depends(dep_node)) -> schemas.NAT:
|
||||
async def update_nat_node(node_data: schemas.NATUpdate, node: Nat = Depends(dep_node)) -> schemas.NAT:
|
||||
"""
|
||||
Update a NAT node.
|
||||
"""
|
||||
|
||||
@@ -50,11 +50,7 @@ async def project_ws_notifications(websocket: Union[None, WebSocket] = Depends(w
|
||||
log.info(f"Client {websocket.client.host}:{websocket.client.port} has disconnected from compute WebSocket")
|
||||
except WebSocketException as e:
|
||||
log.warning(f"Error while sending to controller event to WebSocket client: {e}")
|
||||
finally:
|
||||
try:
|
||||
await websocket.close()
|
||||
except OSError:
|
||||
pass # ignore OSError: [Errno 107] Transport endpoint is not connected
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
|
||||
@@ -97,7 +97,7 @@ def get_vmware_node(node: VMwareVM = Depends(dep_node)) -> schemas.VMware:
|
||||
response_model=schemas.VMware,
|
||||
dependencies=[Depends(compute_authentication)]
|
||||
)
|
||||
def update_vmware_node(node_data: schemas.VMwareUpdate, node: VMwareVM = Depends(dep_node)) -> schemas.VMware:
|
||||
async def update_vmware_node(node_data: schemas.VMwareUpdate, node: VMwareVM = Depends(dep_node)) -> schemas.VMware:
|
||||
"""
|
||||
Update a VMware node.
|
||||
"""
|
||||
|
||||
@@ -91,15 +91,21 @@ def get_vpcs_node(node: VPCSVM = Depends(dep_node)) -> schemas.VPCS:
|
||||
response_model=schemas.VPCS,
|
||||
dependencies=[Depends(compute_authentication)]
|
||||
)
|
||||
def update_vpcs_node(node_data: schemas.VPCSUpdate, node: VPCSVM = Depends(dep_node)) -> schemas.VPCS:
|
||||
async def update_vpcs_node(node_data: schemas.VPCSUpdate, node: VPCSVM = Depends(dep_node)) -> schemas.VPCS:
|
||||
"""
|
||||
Update a VPCS node.
|
||||
"""
|
||||
|
||||
node_data = jsonable_encoder(node_data, exclude_unset=True)
|
||||
node.name = node_data.get("name", node.name)
|
||||
node.console = node_data.get("console", node.console)
|
||||
node.console_type = node_data.get("console_type", node.console_type)
|
||||
name = node_data.get("name", node.name)
|
||||
if node.name != name:
|
||||
node.name = name
|
||||
console = node_data.get("console", node.console)
|
||||
if node.console != console:
|
||||
node.console = console
|
||||
console_type = node_data.get("console_type", node.console_type)
|
||||
if node.console_type != console_type:
|
||||
node.console_type = console_type
|
||||
node.updated()
|
||||
return node.asdict()
|
||||
|
||||
|
||||
@@ -99,8 +99,12 @@ async def endpoints(
|
||||
for link in links:
|
||||
node_id_1 = link["nodes"][0]["node_id"]
|
||||
node_id_2 = link["nodes"][1]["node_id"]
|
||||
node_name_1 = project.nodes[node_id_1]["name"]
|
||||
node_name_2 = project.nodes[node_id_2]["name"]
|
||||
node_name_1 = node_name_2 = "N/A"
|
||||
for node in nodes:
|
||||
if node["node_id"] == node_id_1:
|
||||
node_name_1 = node["name"]
|
||||
if node["node_id"] == node_id_2:
|
||||
node_name_2 = node["name"]
|
||||
add_to_endpoints(
|
||||
f"/projects/{project.id}/links/{link['link_id']}",
|
||||
f'Link from "{node_name_1}" to "{node_name_2}" in project "{project.name}"',
|
||||
|
||||
@@ -221,11 +221,6 @@ async def controller_ws_notifications(
|
||||
log.info(f"Client {websocket.client.host}:{websocket.client.port} has disconnected from controller WebSocket")
|
||||
except WebSocketException as e:
|
||||
log.warning(f"Error while sending to controller event to WebSocket client: {e}")
|
||||
finally:
|
||||
try:
|
||||
await websocket.close()
|
||||
except OSError:
|
||||
pass # ignore OSError: [Errno 107] Transport endpoint is not connected
|
||||
|
||||
|
||||
# @Route.post(
|
||||
|
||||
@@ -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,
|
||||
@@ -149,8 +148,10 @@ async def upload_image(
|
||||
if os.path.commonprefix([base_images_directory, full_path]) != base_images_directory:
|
||||
raise ControllerForbiddenError(f"Cannot write image, '{image_path}' is forbidden")
|
||||
|
||||
if await images_repo.get_image(image_path):
|
||||
raise ControllerBadRequestError(f"Image '{image_path}' already exists")
|
||||
image = await images_repo.get_image(image_path)
|
||||
if image:
|
||||
log.warning(f"Image '{image_path}' already exists")
|
||||
return image
|
||||
|
||||
try:
|
||||
allow_raw_image = Config.instance().settings.Server.allow_raw_images
|
||||
@@ -173,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,
|
||||
@@ -216,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")
|
||||
@@ -234,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()
|
||||
@@ -305,10 +305,6 @@ async def project_ws_notifications(
|
||||
except WebSocketException as e:
|
||||
log.warning(f"Error while sending to project event to WebSocket client: {e}")
|
||||
finally:
|
||||
try:
|
||||
await websocket.close()
|
||||
except OSError:
|
||||
pass # ignore OSError: [Errno 107] Transport endpoint is not connected
|
||||
if project.auto_close:
|
||||
# To avoid trouble with client connecting disconnecting we sleep few seconds before checking
|
||||
# if someone else is not connected
|
||||
@@ -324,6 +320,7 @@ async def export_project(
|
||||
include_snapshots: bool = False,
|
||||
include_images: bool = False,
|
||||
reset_mac_addresses: bool = False,
|
||||
keep_compute_ids: bool = False,
|
||||
compression: schemas.ProjectCompression = "zstd",
|
||||
compression_level: int = None,
|
||||
) -> StreamingResponse:
|
||||
@@ -370,6 +367,7 @@ async def export_project(
|
||||
tmpdir,
|
||||
include_snapshots=include_snapshots,
|
||||
include_images=include_images,
|
||||
keep_compute_ids=keep_compute_ids,
|
||||
reset_mac_addresses=reset_mac_addresses,
|
||||
)
|
||||
async for chunk in zstream:
|
||||
@@ -428,22 +426,48 @@ async def import_project(
|
||||
status_code=status.HTTP_201_CREATED,
|
||||
response_model=schemas.Project,
|
||||
responses={**responses, 409: {"model": schemas.ErrorMessage, "description": "Could not duplicate project"}},
|
||||
dependencies=[Depends(has_privilege("Project.Allocate"))]
|
||||
dependencies=[Depends(has_privilege("Project.Audit"))]
|
||||
)
|
||||
async def duplicate_project(
|
||||
project_data: schemas.ProjectDuplicate,
|
||||
project: Project = Depends(dep_project)
|
||||
project: Project = Depends(dep_project),
|
||||
current_user: schemas.User = Depends(get_current_active_user),
|
||||
rbac_repo: RbacRepository = Depends(get_repository(RbacRepository)),
|
||||
pools_repo: ResourcePoolsRepository = Depends(get_repository(ResourcePoolsRepository))
|
||||
) -> schemas.Project:
|
||||
"""
|
||||
Duplicate a project.
|
||||
|
||||
Required privilege: Project.Allocate
|
||||
Required privilege: Project.Audit
|
||||
"""
|
||||
|
||||
pool_memberships = await pools_repo.get_resource_memberships(project.id)
|
||||
|
||||
# check if the project can be duplicated somewhere (either in a pool or in the root)
|
||||
if not current_user.is_superadmin:
|
||||
can_be_duplicated_somewhere = False
|
||||
if pool_memberships:
|
||||
for pool in pool_memberships:
|
||||
if await rbac_repo.check_user_has_privilege(current_user.user_id, f"/pools/{pool.resource_pool_id}", "Project.Allocate"):
|
||||
can_be_duplicated_somewhere = True
|
||||
break
|
||||
|
||||
if not can_be_duplicated_somewhere and not await rbac_repo.check_user_has_privilege(current_user.user_id, "/projects", "Project.Allocate"):
|
||||
log.warning(f"Project {project.name} cannot be duplicated anywhere")
|
||||
raise HTTPException(status_code=status.HTTP_403_FORBIDDEN)
|
||||
|
||||
reset_mac_addresses = project_data.reset_mac_addresses
|
||||
new_project = await project.duplicate(
|
||||
name=project_data.name, reset_mac_addresses=reset_mac_addresses
|
||||
)
|
||||
|
||||
# Add the new project in the same resource pools if the duplicated project belongs to any
|
||||
if pool_memberships:
|
||||
resource_create = schemas.ResourceCreate(resource_id=new_project.id, resource_type="project", name=new_project.name)
|
||||
resource = await pools_repo.create_resource(resource_create)
|
||||
for pool in pool_memberships:
|
||||
await pools_repo.add_resource_to_pool(pool.resource_pool_id, resource)
|
||||
|
||||
return new_project.asdict()
|
||||
|
||||
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -54,7 +54,7 @@ async def login(
|
||||
) -> schemas.Token:
|
||||
"""
|
||||
Default user login method using forms (x-www-form-urlencoded).
|
||||
Example: curl http://host:port/v3/users/login -H "Content-Type: application/x-www-form-urlencoded" -d "username=admin&password=admin"
|
||||
Example: curl -X POST http://host:port/v3/access/users/login -H "Content-Type: application/x-www-form-urlencoded" -d "username=admin&password=admin"
|
||||
"""
|
||||
|
||||
user = await users_repo.authenticate_user(username=form_data.username, password=form_data.password)
|
||||
@@ -76,7 +76,7 @@ async def authenticate(
|
||||
) -> schemas.Token:
|
||||
"""
|
||||
Alternative authentication method using json.
|
||||
Example: curl http://host:port/v3/users/authenticate -d '{"username": "admin", "password": "admin"}' -H "Content-Type: application/json"
|
||||
Example: curl -X POST http://host:port/v3/access/users/authenticate -d '{"username": "admin", "password": "admin"}' -H "Content-Type: application/json"
|
||||
"""
|
||||
|
||||
user = await users_repo.authenticate_user(username=user_credentials.username, password=user_credentials.password)
|
||||
|
||||
@@ -27,20 +27,20 @@ router = APIRouter()
|
||||
templates = Jinja2Templates(directory=os.path.join("gns3server", "templates"))
|
||||
|
||||
|
||||
@router.get("/")
|
||||
@router.get("/", include_in_schema=False)
|
||||
async def root():
|
||||
|
||||
return RedirectResponse("/static/web-ui/bundled", status_code=308) # permanent redirect
|
||||
|
||||
|
||||
@router.get("/debug", response_class=HTMLResponse, deprecated=True)
|
||||
@router.get("/debug", response_class=HTMLResponse, deprecated=True, include_in_schema=False)
|
||||
def debug(request: Request):
|
||||
|
||||
kwargs = {"request": request, "gns3_version": __version__, "gns3_host": request.client.host}
|
||||
return templates.TemplateResponse("index.html", kwargs)
|
||||
|
||||
|
||||
@router.get("/static/web-ui/{file_path:path}", description="Web user interface")
|
||||
@router.get("/static/web-ui/{file_path:path}", description="Web user interface", include_in_schema=False)
|
||||
async def web_ui(file_path: str):
|
||||
|
||||
file_path = os.path.normpath(file_path).strip("/")
|
||||
|
||||
@@ -19,15 +19,20 @@
|
||||
FastAPI app
|
||||
"""
|
||||
|
||||
import time
|
||||
|
||||
from fastapi import FastAPI, Request, HTTPException, status
|
||||
from fastapi.middleware.cors import CORSMiddleware
|
||||
from fastapi.responses import JSONResponse
|
||||
from fastapi.exceptions import RequestValidationError
|
||||
from fastapi.staticfiles import StaticFiles
|
||||
from sqlalchemy.exc import SQLAlchemyError
|
||||
from uvicorn.main import Server as UvicornServer
|
||||
|
||||
from fastapi.openapi.docs import (
|
||||
get_redoc_html,
|
||||
get_swagger_ui_html,
|
||||
get_swagger_ui_oauth2_redirect_html,
|
||||
)
|
||||
|
||||
from gns3server.controller.controller_error import (
|
||||
ControllerError,
|
||||
ControllerNotFoundError,
|
||||
@@ -51,7 +56,11 @@ log = logging.getLogger(__name__)
|
||||
def get_application() -> FastAPI:
|
||||
|
||||
application = FastAPI(
|
||||
title="GNS3 controller API", description="This page describes the public controller API for GNS3", version="v3"
|
||||
title="GNS3 controller API",
|
||||
description="This page describes the public controller API for GNS3",
|
||||
version="v3",
|
||||
docs_url=None,
|
||||
redoc_url=None
|
||||
)
|
||||
|
||||
application.add_middleware(
|
||||
@@ -66,6 +75,7 @@ def get_application() -> FastAPI:
|
||||
application.add_event_handler("shutdown", tasks.create_shutdown_handler(application))
|
||||
application.include_router(index.router, tags=["Index"])
|
||||
application.include_router(controller.router, prefix="/v3")
|
||||
application.mount("/static", StaticFiles(packages=[('gns3server', 'static')]), name="static")
|
||||
application.mount("/v3/compute", compute_api, name="compute")
|
||||
|
||||
return application
|
||||
@@ -85,6 +95,31 @@ def handle_exit(*args, **kwargs):
|
||||
|
||||
UvicornServer.handle_exit = handle_exit
|
||||
|
||||
# Configure self-hosting JavaScript and CSS for docs
|
||||
@app.get("/docs", include_in_schema=False)
|
||||
async def custom_swagger_ui_html():
|
||||
return get_swagger_ui_html(
|
||||
openapi_url=app.openapi_url,
|
||||
title=app.title + " - Swagger UI",
|
||||
oauth2_redirect_url=app.swagger_ui_oauth2_redirect_url,
|
||||
swagger_js_url="/static/swagger-ui-bundle.js",
|
||||
swagger_css_url="/static/swagger-ui.css",
|
||||
swagger_favicon_url="/static/favicon.ico"
|
||||
)
|
||||
|
||||
@app.get(app.swagger_ui_oauth2_redirect_url, include_in_schema=False)
|
||||
async def swagger_ui_redirect():
|
||||
return get_swagger_ui_oauth2_redirect_html()
|
||||
|
||||
|
||||
@app.get("/redoc", include_in_schema=False)
|
||||
async def redoc_html():
|
||||
return get_redoc_html(
|
||||
openapi_url=app.openapi_url,
|
||||
title=app.title + " - ReDoc",
|
||||
redoc_js_url="/static/redoc.standalone.js",
|
||||
redoc_favicon_url="/static/favicon.ico"
|
||||
)
|
||||
|
||||
@app.exception_handler(ControllerError)
|
||||
async def controller_error_handler(request: Request, exc: ControllerError):
|
||||
|
||||
@@ -30,24 +30,24 @@
|
||||
"version": "9.2",
|
||||
"md5sum": "c5bc76e8c95ac9f810a3482c80a54cc7",
|
||||
"filesize": 563347456,
|
||||
"download_url": "https://repo.almalinux.org/almalinux/9/cloud/x86_64/images/",
|
||||
"direct_download_url": "https://repo.almalinux.org/almalinux/9/cloud/x86_64/images/AlmaLinux-9-GenericCloud-9.2-20230513.x86_64.qcow2"
|
||||
"download_url": "https://vault.almalinux.org/9.2/cloud/x86_64/images/",
|
||||
"direct_download_url": "https://vault.almalinux.org/9.2/cloud/x86_64/images/AlmaLinux-9-GenericCloud-9.2-20230513.x86_64.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "AlmaLinux-8-GenericCloud-8.8-20230524.x86_64.qcow2",
|
||||
"version": "8.8",
|
||||
"md5sum": "3958c5fc25770ef63cf97aa5d93f0a0b",
|
||||
"filesize": 565444608,
|
||||
"download_url": "https://repo.almalinux.org/almalinux/8/cloud/x86_64/images/",
|
||||
"direct_download_url": "https://repo.almalinux.org/almalinux/8/cloud/x86_64/images/AlmaLinux-8-GenericCloud-8.8-20230524.x86_64.qcow2"
|
||||
"download_url": "https://vault.almalinux.org/8.8/cloud/x86_64/images/",
|
||||
"direct_download_url": "https://vault.almalinux.org/8.8/cloud/x86_64/images/AlmaLinux-8-GenericCloud-8.8-20230524.x86_64.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "AlmaLinux-8-GenericCloud-8.7-20221111.x86_64.qcow2",
|
||||
"version": "8.7",
|
||||
"md5sum": "b2b8c7fd3b6869362f3f8ed47549c804",
|
||||
"filesize": 566231040,
|
||||
"download_url": "https://repo.almalinux.org/almalinux/8/cloud/x86_64/images/",
|
||||
"direct_download_url": "https://repo.almalinux.org/almalinux/8/cloud/x86_64/images/AlmaLinux-8-GenericCloud-8.7-20221111.x86_64.qcow2"
|
||||
"download_url": "https://vault.almalinux.org/8.7/cloud/x86_64/images/",
|
||||
"direct_download_url": "https://vault.almalinux.org/8.7/cloud/x86_64/images/AlmaLinux-8-GenericCloud-8.7-20221111.x86_64.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "almalinux-cloud-init-data.iso",
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
"appliance_id": "c90f3ff3-4ed2-4437-9afb-21232fa92015",
|
||||
"name": "Arista vEOS",
|
||||
"category": "multilayer_switch",
|
||||
"description": "Arista EOS\u00ae is the core of Arista cloud networking solutions for next-generation data centers and cloud networks. Cloud architectures built with Arista EOS scale to tens of thousands of compute and storage nodes with management and provisioning capabilities that work at scale. Through its programmability, EOS enables a set of software applications that deliver workflow automation, high availability, unprecedented network visibility and analytics and rapid integration with a wide range of third-party applications for virtualization, management, automation and orchestration services.\n\nArista Extensible Operating System (EOS) is a fully programmable and highly modular, Linux-based network operation system, using familiar industry standard CLI and runs a single binary software image across the Arista switching family. Architected for resiliency and programmability, EOS has a unique multi-process state sharing architecture that separates state information and packet forwarding from protocol processing and application logic.",
|
||||
"description": "Arista EOS is the core of Arista cloud networking solutions for next-generation data centers and cloud networks. Cloud architectures built with Arista EOS scale to tens of thousands of compute and storage nodes with management and provisioning capabilities that work at scale. Through its programmability, EOS enables a set of software applications that deliver workflow automation, high availability, unprecedented network visibility and analytics and rapid integration with a wide range of third-party applications for virtualization, management, automation and orchestration services.\n\nArista Extensible Operating System (EOS) is a fully programmable and highly modular, Linux-based network operation system, using familiar industry standard CLI and runs a single binary software image across the Arista switching family. Architected for resiliency and programmability, EOS has a unique multi-process state sharing architecture that separates state information and packet forwarding from protocol processing and application logic.",
|
||||
"vendor_name": "Arista",
|
||||
"vendor_url": "http://www.arista.com/",
|
||||
"documentation_url": "https://www.arista.com/assets/data/docs/Manuals/EOS-4.17.2F-Manual.pdf",
|
||||
"product_name": "vEOS",
|
||||
"product_url": "https://eos.arista.com/",
|
||||
"registry_version": 4,
|
||||
"status": "experimental",
|
||||
"status": "stable",
|
||||
"maintainer": "GNS3 Team",
|
||||
"maintainer_email": "developers@gns3.net",
|
||||
"usage": "The login is admin, with no password by default",
|
||||
@@ -24,378 +24,60 @@
|
||||
"hdb_disk_interface": "ide",
|
||||
"arch": "x86_64",
|
||||
"console_type": "telnet",
|
||||
"kvm": "require"
|
||||
"kvm": "require",
|
||||
"options": "-cpu host"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "vEOS-lab-4.26.2F.vmdk",
|
||||
"version": "4.26.2F",
|
||||
"md5sum": "de8ce9750fddb63bd3f71bccfcd7651e",
|
||||
"filesize": 475332608,
|
||||
"filename": "vEOS-lab-4.33.1F.qcow2",
|
||||
"version": "4.33.1F",
|
||||
"md5sum": "8f662409c0732ed9f682edce63601e8a",
|
||||
"filesize": 611909632,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS-lab-4.25.3M.vmdk",
|
||||
"version": "4.25.3M",
|
||||
"md5sum": "2f196969036b4d283e86f15118d59c26",
|
||||
"filesize": 451543040,
|
||||
"filename": "vEOS-lab-4.32.3M.qcow2",
|
||||
"version": "4.32.3M",
|
||||
"md5sum": "46fc46f5ed1da8752eed8396f08862f8",
|
||||
"filesize": 605683712,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS-lab-4.24.3M.vmdk",
|
||||
"version": "4.24.3M",
|
||||
"md5sum": "0a28e44c7ce4a8965f24a4a463a89b7d",
|
||||
"filesize": 455213056,
|
||||
"filename": "vEOS-lab-4.31.6M.qcow2",
|
||||
"version": "4.31.6M",
|
||||
"md5sum": "7410110b77472f058322ec4681f8a356",
|
||||
"filesize": 590479360,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS-lab-4.24.2.1F.vmdk",
|
||||
"version": "4.24.2.1F",
|
||||
"md5sum": "6bab8b59ce5230e243e56f4127448fc8",
|
||||
"filesize": 455213056,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS-lab-4.23.4.2M.vmdk",
|
||||
"version": "4.23.4.2M",
|
||||
"md5sum": "d21cbef4e39f1e783b13a926cb54a242",
|
||||
"filesize": 454295552,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS-lab-4.23.0.1F.vmdk",
|
||||
"version": "4.23.0.1F",
|
||||
"md5sum": "08d52154aa11a834aef9f42bbf29f977",
|
||||
"filesize": 439484416,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS-lab-4.22.2.1F.vmdk",
|
||||
"version": "4.22.2.1F",
|
||||
"md5sum": "2a425bf8efe569a2bdf0e328f240cd16",
|
||||
"filesize": 426377216,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS-lab-4.22.0F.vmdk",
|
||||
"version": "4.22.0F",
|
||||
"md5sum": "cfcc75c2b8176cfd819afcfd6799b74c",
|
||||
"filesize": 414121984,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS-lab-4.21.1.1F.vmdk",
|
||||
"version": "4.21.1F",
|
||||
"md5sum": "02bfb7e53781fd44ff02357f201586d9",
|
||||
"filesize": 358809600,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS-lab-4.20.10M-combined.vmdk",
|
||||
"version": "4.20.10M-combined",
|
||||
"md5sum": "d1f2d650f93dbf24e04fdd2c9d62bd62",
|
||||
"filesize": 334626816,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS-lab-4.20.1F.vmdk",
|
||||
"version": "4.20.1F",
|
||||
"md5sum": "aadb6f3dbff28317f68cb4c4502d0db8",
|
||||
"filesize": 662044672,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS-lab-4.19.10M-combined.vmdk",
|
||||
"version": "4.19.10M-combined",
|
||||
"md5sum": "103daa45c33be4584cbe6adc60de46a3",
|
||||
"filesize": 324141056,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS-lab-4.19.10M.vmdk",
|
||||
"version": "4.19.10M",
|
||||
"md5sum": "665ed14389411ae5f16ba0a2ff84240a",
|
||||
"filesize": 637337600,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS-lab-4.18.10M-combined.vmdk",
|
||||
"version": "4.18.10M-combined",
|
||||
"md5sum": "e33e0ef5b8cecc84c5bb57569b36b9c6",
|
||||
"filesize": 317652992,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS-lab-4.18.10M.vmdk",
|
||||
"version": "4.18.10M",
|
||||
"md5sum": "1d87e9ace37fe3706dbf3e49c8d4d231",
|
||||
"filesize": 624427008,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS-lab-4.18.5M.vmdk",
|
||||
"version": "4.18.5M",
|
||||
"md5sum": "b1ee6268dbaf2b2276fd7a5286c7ce2b",
|
||||
"filesize": 623116288,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS-lab-4.18.1F.vmdk",
|
||||
"version": "4.18.1F",
|
||||
"md5sum": "9648c63185f3b793b47528a858ca4364",
|
||||
"filesize": 620625920,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS-lab-4.17.8M.vmdk",
|
||||
"version": "4.17.8M",
|
||||
"md5sum": "afc79a06f930ea2cc0ae3e03cbfd3f23",
|
||||
"filesize": 608829440,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS-lab-4.17.2F.vmdk",
|
||||
"version": "4.17.2F",
|
||||
"md5sum": "3b4845edfa77cf9aaeb9c0a005d3e277",
|
||||
"filesize": 609615872,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS-lab-4.16.13M.vmdk",
|
||||
"version": "4.16.13M",
|
||||
"md5sum": "4d0facf90140fc3aab031f0f8f88a32f",
|
||||
"filesize": 521404416,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS-lab-4.16.6M.vmdk",
|
||||
"version": "4.16.6M",
|
||||
"md5sum": "b3f7b7cee17f2e66bb38b453a4939fef",
|
||||
"filesize": 519962624,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS-lab-4.15.10M.vmdk",
|
||||
"version": "4.15.10M",
|
||||
"md5sum": "98e08281a9c48ddf6f3c5d62a124a20f",
|
||||
"filesize": 517079040,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS-lab-4.15.5M.vmdk",
|
||||
"version": "4.15.5M",
|
||||
"md5sum": "cd74bb69c7ee905ac3d33c4d109f3ab7",
|
||||
"filesize": 516030464,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS-lab-4.14.14M.vmdk",
|
||||
"version": "4.14.14M",
|
||||
"md5sum": "d81ba0522f4d7838d96f7985e41cdc47",
|
||||
"filesize": 422641664,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS-lab-4.13.16M.vmdk",
|
||||
"version": "4.13.16M",
|
||||
"md5sum": "5763b2c043830c341c8b1009f4ea9a49",
|
||||
"filesize": 404684800,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "vEOS-lab-4.13.8M.vmdk",
|
||||
"version": "4.13.8M",
|
||||
"md5sum": "a47145b9e6e7a24171c0850f8755535e",
|
||||
"filesize": 409010176,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
},
|
||||
{
|
||||
"filename": "Aboot-veos-serial-8.0.0.iso",
|
||||
"version": "8.0.0",
|
||||
"md5sum": "488ad1c435d18c69bb8d69c7806457c9",
|
||||
"filesize": 5242880,
|
||||
"filename": "Aboot-veos-serial-8.0.2.iso",
|
||||
"version": "8.0.2",
|
||||
"md5sum": "8d7e754efebca1930a93a2587ff7606c",
|
||||
"filesize": 6291456,
|
||||
"download_url": "https://www.arista.com/en/support/software-download"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "4.26.2F",
|
||||
"name": "4.33.1F",
|
||||
"images": {
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.0.iso",
|
||||
"hdb_disk_image": "vEOS-lab-4.26.2F.vmdk"
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.2.iso",
|
||||
"hdb_disk_image": "vEOS-lab-4.33.1F.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.25.3M",
|
||||
"name": "4.32.3M",
|
||||
"images": {
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.0.iso",
|
||||
"hdb_disk_image": "vEOS-lab-4.25.3M.vmdk"
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.2.iso",
|
||||
"hdb_disk_image": "vEOS-lab-4.32.3M.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.24.3M",
|
||||
"name": "4.31.6M",
|
||||
"images": {
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.0.iso",
|
||||
"hdb_disk_image": "vEOS-lab-4.24.3M.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.24.2.1F",
|
||||
"images": {
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.0.iso",
|
||||
"hdb_disk_image": "vEOS-lab-4.24.2.1F.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.23.4.2M",
|
||||
"images": {
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.0.iso",
|
||||
"hdb_disk_image": "vEOS-lab-4.23.4.2M.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.23.0.1F",
|
||||
"images": {
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.0.iso",
|
||||
"hdb_disk_image": "vEOS-lab-4.23.0.1F.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.22.2.1F",
|
||||
"images": {
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.0.iso",
|
||||
"hdb_disk_image": "vEOS-lab-4.22.2.1F.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.22.0F",
|
||||
"images": {
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.0.iso",
|
||||
"hdb_disk_image": "vEOS-lab-4.22.0F.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.21.1F",
|
||||
"images": {
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.0.iso",
|
||||
"hdb_disk_image": "vEOS-lab-4.21.1.1F.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.20.10M-combined",
|
||||
"images": {
|
||||
"hda_disk_image": "vEOS-lab-4.20.10M-combined.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.20.1F",
|
||||
"images": {
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.0.iso",
|
||||
"hdb_disk_image": "vEOS-lab-4.20.1F.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.19.10M-combined",
|
||||
"images": {
|
||||
"hda_disk_image": "vEOS-lab-4.19.10M-combined.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.19.10M",
|
||||
"images": {
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.0.iso",
|
||||
"hdb_disk_image": "vEOS-lab-4.19.10M.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.18.10M-combined",
|
||||
"images": {
|
||||
"hda_disk_image": "vEOS-lab-4.18.10M-combined.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.18.10M",
|
||||
"images": {
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.0.iso",
|
||||
"hdb_disk_image": "vEOS-lab-4.18.10M.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.18.5M",
|
||||
"images": {
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.0.iso",
|
||||
"hdb_disk_image": "vEOS-lab-4.18.5M.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.18.1F",
|
||||
"images": {
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.0.iso",
|
||||
"hdb_disk_image": "vEOS-lab-4.18.1F.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.17.8M",
|
||||
"images": {
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.0.iso",
|
||||
"hdb_disk_image": "vEOS-lab-4.17.8M.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.17.2F",
|
||||
"images": {
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.0.iso",
|
||||
"hdb_disk_image": "vEOS-lab-4.17.2F.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.16.13M",
|
||||
"images": {
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.0.iso",
|
||||
"hdb_disk_image": "vEOS-lab-4.16.13M.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.16.6M",
|
||||
"images": {
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.0.iso",
|
||||
"hdb_disk_image": "vEOS-lab-4.16.6M.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.15.10M",
|
||||
"images": {
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.0.iso",
|
||||
"hdb_disk_image": "vEOS-lab-4.15.10M.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.15.5M",
|
||||
"images": {
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.0.iso",
|
||||
"hdb_disk_image": "vEOS-lab-4.15.5M.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.14.14M",
|
||||
"images": {
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.0.iso",
|
||||
"hdb_disk_image": "vEOS-lab-4.14.14M.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.13.16M",
|
||||
"images": {
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.0.iso",
|
||||
"hdb_disk_image": "vEOS-lab-4.13.16M.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "4.13.8M",
|
||||
"images": {
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.0.iso",
|
||||
"hdb_disk_image": "vEOS-lab-4.13.8M.vmdk"
|
||||
"hda_disk_image": "Aboot-veos-serial-8.0.2.iso",
|
||||
"hdb_disk_image": "vEOS-lab-4.31.6M.qcow2"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -32,6 +32,27 @@
|
||||
"process_priority": "normal"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "arubaoscx-disk-image-genericx86-p4-20240129204649.vmdk",
|
||||
"version": "10.13.1000",
|
||||
"md5sum": "a1a24b15e3b8a09b0c0f14bdfacc4a75",
|
||||
"filesize": 395342848,
|
||||
"download_url": "https://networkingsupport.hpe.com"
|
||||
},
|
||||
{
|
||||
"filename": "arubaoscx-disk-image-genericx86-p4-20231110145644.vmdk",
|
||||
"version": "10.13.0005",
|
||||
"md5sum": "427fd4580e2ee3eac55a9e7d629d1375",
|
||||
"filesize": 394995200,
|
||||
"download_url": "https://networkingsupport.hpe.com"
|
||||
},
|
||||
{
|
||||
"filename": "arubaoscx-disk-image-genericx86-p4-20230810165021.vmdk",
|
||||
"version": "10.12.1000",
|
||||
"md5sum": "ea89f94dda9d28bf583dc35e0299b106",
|
||||
"filesize": 384622080,
|
||||
"download_url": "https://networkingsupport.hpe.com"
|
||||
},
|
||||
{
|
||||
"filename": "arubaoscx-disk-image-genericx86-p4-20230531220439.vmdk",
|
||||
"version": "10.12.0006",
|
||||
@@ -118,6 +139,24 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "10.13.1000",
|
||||
"images": {
|
||||
"hda_disk_image": "arubaoscx-disk-image-genericx86-p4-20240129204649.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "10.13.0005",
|
||||
"images": {
|
||||
"hda_disk_image": "arubaoscx-disk-image-genericx86-p4-20231110145644.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "10.12.1000",
|
||||
"images": {
|
||||
"hda_disk_image": "arubaoscx-disk-image-genericx86-p4-20230810165021.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "10.12.0006",
|
||||
"images": {
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
{
|
||||
"appliance_id": "e8001e2b-8ef3-44eb-ace5-79f68f3773e8",
|
||||
"name": "Asterfusion vAsterNOS",
|
||||
"category": "multilayer_switch",
|
||||
"description": "AsterNOS is the core technology of Asterfusion's one-stop turnkey SONiC solution for cloud, enterprise and AI. As an enterprise ready SONiC distribution, AsterNOS features rich functionality enhancement such as MC-LAG, VXLAN, BGP EVPN-Multihoming, RoCEv2(Easy RoCE), and more, making it powerful and easy-to-use in a variety of production scenarios. Currently, AsterNOS is compatible with top commercial switching chips (e.g. Marvell Teralynx, Prestera Falcon/Aldrin/Alleycat, Broadcom Tomahawk/Trident, Intel Tofino and some of NVIDIA's chips.)Through AsterNOS's rich L2/L3 features and enhancements in virtualization and management, cloud architecture built with Asterfusion switching families from 1G-800G (or other standard whitebox switches) can scale to tens of thousands of compute and storage nodes, working smoothly both in underlay nework and overlay cloud fabric with OpenStack integrated, supporting ultra low latency lossless RoCE network in AIGC, distributed storage , or building easily managed access clusters for campus networks.NOTICE: This appliance file is a virtualized version of AsterNOS and is intended to be used only to experience the basic functionality and industry standard CLI (Klish), not for official software testing. For more information about AsterNOS commercial version, please feel free to contact us via Email: bd@cloudswit.ch",
|
||||
"vendor_name": "Asterfusion",
|
||||
"vendor_url": "https://cloudswit.ch/",
|
||||
"vendor_logo_url": "https://raw.githubusercontent.com/GNS3/gns3-registry/master/vendor-logos/asterfusion.png",
|
||||
"documentation_url": "https://help.cloudswit.ch/portal/en/kb/articles/vasternos",
|
||||
"product_name": "vAsterNOS",
|
||||
"product_url": "https://cloudswit.ch/product/sonic-enterprise-distribution",
|
||||
"registry_version": 4,
|
||||
"status": "experimental",
|
||||
"maintainer": "Asterfusion",
|
||||
"maintainer_email": "bd@cloudswit.ch",
|
||||
"usage": "The login is admin, passwd asteros",
|
||||
"symbol": "asterfusion-vAsterNOS.svg",
|
||||
"first_port_name": "eth0",
|
||||
"port_name_format": "Ethernet{0}",
|
||||
"qemu": {
|
||||
"adapter_type": "e1000",
|
||||
"adapters": 10,
|
||||
"ram": 4096,
|
||||
"cpus": 2,
|
||||
"hda_disk_interface": "virtio",
|
||||
"arch": "x86_64",
|
||||
"console_type": "telnet",
|
||||
"boot_priority": "d",
|
||||
"kvm": "require"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "vAsterNOS-V3.1.img",
|
||||
"version": "V3.1",
|
||||
"md5sum": "c323c9c3f60e1a93eca2acdc5034b85c",
|
||||
"filesize": 2724659200,
|
||||
"download_url": "https://drive.cloudswitch.io/external/8ae2e3932ad8bb2ec30dd25be415d288ff3e4a949c557c6bd48ac6e6265bcfc1"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "V3.1",
|
||||
"images": {
|
||||
"hda_disk_image": "vAsterNOS-V3.1.img"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
"status": "stable",
|
||||
"maintainer": "GNS3 Team",
|
||||
"maintainer_email": "developers@gns3.net",
|
||||
"usage": "Configure interfaces in /opt/bootlocal.sh, BIRD configuration is done in /usr/local/etc/bird",
|
||||
"usage": "\n*** BIRD v1 is end-of-life ***\nPlease use the BIRD2 appliance.\n\nConfigure interfaces in /opt/bootlocal.sh, BIRD configuration is done in /usr/local/etc/bird",
|
||||
"qemu": {
|
||||
"adapter_type": "e1000",
|
||||
"adapters": 4,
|
||||
|
||||
@@ -23,6 +23,14 @@
|
||||
"kvm": "allow"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "bird2-debian-2.14.qcow2",
|
||||
"version": "2.14",
|
||||
"md5sum": "029cf1756201ee79497c169502b08b88",
|
||||
"filesize": 303717376,
|
||||
"download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/",
|
||||
"direct_download_url": "https://downloads.sourceforge.net/project/gns-3/Qemu%20Appliances/bird2-debian-2.14.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "bird2-debian-2.0.12.qcow2",
|
||||
"version": "2.0.12",
|
||||
@@ -33,6 +41,12 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "2.14",
|
||||
"images": {
|
||||
"hda_disk_image": "bird2-debian-2.14.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "2.0.12",
|
||||
"images": {
|
||||
|
||||
@@ -33,11 +33,23 @@
|
||||
"md5sum": "cbbbea66a253f1dac0fcf81274dc778d",
|
||||
"filesize": 87756936
|
||||
},
|
||||
{
|
||||
"filename": "c7200-adventerprisek9-mz.152-4.M11.image",
|
||||
"version": "152-4.M11",
|
||||
"md5sum": "9a2005ad09ce1ec6fe7cf9af1e9b099e",
|
||||
"filesize": 128487680
|
||||
},
|
||||
{
|
||||
"filename": "c7200-adventerprisek9-mz.124-24.T5.image",
|
||||
"version": "124-24.T5",
|
||||
"md5sum": "6b89d0d804e1f2bb5b8bda66b5692047",
|
||||
"filesize": 102345240
|
||||
},
|
||||
{
|
||||
"filename": "c7200-a3jk9s-mz.124-25g.image",
|
||||
"version": "124-25G",
|
||||
"md5sum": "9c7cc9b3f3b3571411a7f62faaa2c036",
|
||||
"filesize": 71528984
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
@@ -55,12 +67,26 @@
|
||||
"image": "c7200-advipservicesk9-mz.152-4.S5.image"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "152-4.M11",
|
||||
"idlepc": "0x6062e5c0",
|
||||
"images": {
|
||||
"image": "c7200-adventerprisek9-mz.152-4.M11.image"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "124-24.T5",
|
||||
"idlepc": "0x606df838",
|
||||
"images": {
|
||||
"image": "c7200-adventerprisek9-mz.124-24.T5.image"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "124-25G",
|
||||
"idlepc": "0x6066a998",
|
||||
"images": {
|
||||
"image": "c7200-a3jk9s-mz.124-25g.image"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -12,7 +12,7 @@
|
||||
"status": "stable",
|
||||
"maintainer": "GNS3 Team",
|
||||
"maintainer_email": "developers@gns3.net",
|
||||
"usage": "There is no default password and enable password. A default configuration is present. ASAv goes through a double-boot before becoming active. This is normal and expected.",
|
||||
"usage": "There is no default password and enable password. A default configuration is present. ASAv goes through a double-boot before becoming active. This is normal and expected. Switch to the Telnet console type after the first boot.",
|
||||
"symbol": ":/symbols/asa.svg",
|
||||
"first_port_name": "Management0/0",
|
||||
"port_name_format": "Gi0/{0}",
|
||||
@@ -26,6 +26,20 @@
|
||||
"kvm": "require"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "asav9-22-1-1.qcow2",
|
||||
"version": "9.22.1.1 CML",
|
||||
"md5sum": "250a924cdc2370208eaac9d1dc8dc9e3",
|
||||
"filesize": 379518976,
|
||||
"download_url": "https://learningnetworkstore.cisco.com/cisco-modeling-labs-personal/cisco-modeling-labs-personal/CML-PERSONAL.html"
|
||||
},
|
||||
{
|
||||
"filename": "asav9-18-2.qcow2",
|
||||
"version": "9.18.2 CML",
|
||||
"md5sum": "6f10fe106edfad9163625770a47a6b73",
|
||||
"filesize": 340262912,
|
||||
"download_url": "https://learningnetworkstore.cisco.com/cisco-modeling-labs-personal/cisco-modeling-labs-personal/CML-PERSONAL.html"
|
||||
},
|
||||
{
|
||||
"filename": "asav9-16-2.qcow2",
|
||||
"version": "9.16.2 CML",
|
||||
@@ -119,6 +133,18 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "9.22.1.1 CML",
|
||||
"images": {
|
||||
"hda_disk_image": "asav9-22-1-1.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "9.18.2 CML",
|
||||
"images": {
|
||||
"hda_disk_image": "asav9-18-2.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "9.16.2 CML",
|
||||
"images": {
|
||||
|
||||
@@ -24,6 +24,20 @@
|
||||
"kvm": "require"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "c8000v-universalk9_8G_serial.17.09.04a.qcow2",
|
||||
"version": "17.09.04a 8G",
|
||||
"md5sum": "d5dcba52b522f41648538737af80cdf9",
|
||||
"filesize": 1858142208,
|
||||
"download_url": "https://software.cisco.com/download/home/286327102/type/282046477/release/Cupertino-17.9.4a"
|
||||
},
|
||||
{
|
||||
"filename": "c8000v-universalk9_8G_serial.17.09.01a.qcow2",
|
||||
"version": "17.09.01a 8G",
|
||||
"md5sum": "a10ae2c4d71f4eb611bc4d83ad7709f0",
|
||||
"filesize": 1856634880,
|
||||
"download_url": "https://software.cisco.com/download/home/286327102/type/282046477/release/Cupertino-17.9.1a"
|
||||
},
|
||||
{
|
||||
"filename": "c8000v-universalk9_8G_serial.17.06.05.qcow2",
|
||||
"version": "17.06.05 8G",
|
||||
@@ -54,6 +68,18 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "17.09.04a 8G",
|
||||
"images": {
|
||||
"hda_disk_image": "c8000v-universalk9_8G_serial.17.09.04a.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "17.09.01a 8G",
|
||||
"images": {
|
||||
"hda_disk_image": "c8000v-universalk9_8G_serial.17.09.01a.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "17.06.05 8G",
|
||||
"images": {
|
||||
|
||||
@@ -12,20 +12,27 @@
|
||||
"status": "experimental",
|
||||
"maintainer": "GNS3 Team",
|
||||
"maintainer_email": "developers@gns3.net",
|
||||
"usage": "There is no default configuration present. Virtual Switch and Interfaces may take several minutes to be usable after appliance boot.",
|
||||
"usage": "There is no default configuration present. Virtual Switch and Interfaces may take several minutes to be usable after appliance boot.\n\nOnly has basic Layer 2 switching features. Will need to enable advance features and reboot to gain access to things like BGP, etc... \n\nconfigure terminal \nlicense boot level network-advantage addon dna-advantage \nend \nwrite memory \nreload",
|
||||
"first_port_name": "GigabitEthernet0/0",
|
||||
"port_name_format": "GigabitEthernet1/0/{port1}",
|
||||
"qemu": {
|
||||
"adapter_type": "virtio-net-pci",
|
||||
"adapters": 9,
|
||||
"ram": 16384,
|
||||
"cpus": 2,
|
||||
"ram": 24576,
|
||||
"cpus": 4,
|
||||
"hda_disk_interface": "virtio",
|
||||
"arch": "x86_64",
|
||||
"console_type": "telnet",
|
||||
"kvm": "require"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "cat9kv-prd-17.12.01prd9.qcow2",
|
||||
"version": "17.12(1)",
|
||||
"md5sum": "e587e92186f42bdf69d7fa27f34425f7",
|
||||
"filesize": 2739404800,
|
||||
"download_url": "https://learningnetworkstore.cisco.com/myaccount"
|
||||
},
|
||||
{
|
||||
"filename": "cat9kv-prd-17.10.01prd7.qcow2",
|
||||
"version": "17.10(1)",
|
||||
@@ -35,6 +42,12 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "17.12(1)",
|
||||
"images": {
|
||||
"hda_disk_image": "cat9kv-prd-17.12.01prd9.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "17.10(1)",
|
||||
"images": {
|
||||
|
||||
@@ -24,6 +24,27 @@
|
||||
"kvm": "require"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "csr1000v-universalk9.17.03.08a-serial.qcow2",
|
||||
"version": "17.03.08a",
|
||||
"md5sum": "6abece87d6db99d9fd6917203e253f91",
|
||||
"filesize": 1421410304,
|
||||
"download_url": "https://software.cisco.com/download/home/286323714/type/282046477/release/Amsterdam-17.3.8a"
|
||||
},
|
||||
{
|
||||
"filename": "csr1000v-universalk9.17.03.06-serial.qcow2",
|
||||
"version": "17.03.06",
|
||||
"md5sum": "086ab9bef6e66de847af0da3910c60e8",
|
||||
"filesize": 1422000128,
|
||||
"download_url": "https://software.cisco.com/download/home/286323714/type/282046477/release/Amsterdam-17.3.6"
|
||||
},
|
||||
{
|
||||
"filename": "csr1000v-ucmk9.16.12.5-serial.qcow2",
|
||||
"version": "16.12.05",
|
||||
"md5sum": "5c0cc217f0f0648407b34b11a1dd5b8e",
|
||||
"filesize": 844103680,
|
||||
"download_url": "https://software.cisco.com/download/home/286323714/type/286321980/release/16.12.5"
|
||||
},
|
||||
{
|
||||
"filename": "csr1000v-universalk9.16.12.03-serial.qcow2",
|
||||
"version": "16.12.3",
|
||||
@@ -159,7 +180,25 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "17.03.08a",
|
||||
"images": {
|
||||
"hda_disk_image": "csr1000v-universalk9.17.03.08a-serial.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "17.03.06",
|
||||
"images": {
|
||||
"hda_disk_image": "csr1000v-universalk9.17.03.06-serial.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "16.12.05",
|
||||
"images": {
|
||||
"hda_disk_image": "csr1000v-ucmk9.16.12.5-serial.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "16.12.3",
|
||||
"images": {
|
||||
"hda_disk_image": "csr1000v-universalk9.16.12.03-serial.qcow2"
|
||||
|
||||
@@ -32,6 +32,13 @@
|
||||
"download_url": "https://sourceforge.net/projects/gns-3/files",
|
||||
"direct_download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/IOSv_startup_config.img/download"
|
||||
},
|
||||
{
|
||||
"filename": "vios-adventerprisek9-m.spa.159-3.m8.qcow2",
|
||||
"version": "15.9(3)M8",
|
||||
"md5sum": "8d93a185c2fa778178a933f20b02150a",
|
||||
"filesize": 57319424,
|
||||
"download_url": "https://learningnetworkstore.cisco.com/myaccount"
|
||||
},
|
||||
{
|
||||
"filename": "vios-adventerprisek9-m.spa.159-3.m6.qcow2",
|
||||
"version": "15.9(3)M6",
|
||||
@@ -97,6 +104,13 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "15.9(3)M8",
|
||||
"images": {
|
||||
"hda_disk_image": "vios-adventerprisek9-m.spa.159-3.m8.qcow2",
|
||||
"hdb_disk_image": "IOSv_startup_config.img"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "15.9(3)M6",
|
||||
"images": {
|
||||
|
||||
@@ -26,6 +26,13 @@
|
||||
"options": "-smp 4 -cpu host"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"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"
|
||||
},
|
||||
{
|
||||
"filename": "xrv9k-fullk9-x-7.1.1.qcow2",
|
||||
"version": "7.1.1",
|
||||
@@ -105,6 +112,12 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "7.7.1",
|
||||
"images": {
|
||||
"hda_disk_image": "xrv9k-fullk9-x-7.7.1.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.1.1",
|
||||
"images": {
|
||||
|
||||
@@ -13,11 +13,23 @@
|
||||
"iou": {
|
||||
"ethernet_adapters": 4,
|
||||
"serial_adapters": 0,
|
||||
"nvram": 128,
|
||||
"ram": 256,
|
||||
"nvram": 512,
|
||||
"ram": 512,
|
||||
"startup_config": "iou_l2_base_startup-config.txt"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "x86_64_crb_linux_l2-adventerprisek9-ms.iol",
|
||||
"version": "17.15.1",
|
||||
"md5sum": "6c587cdfd5056078e70b3f6c26800d66",
|
||||
"filesize": 243251976
|
||||
},
|
||||
{
|
||||
"filename": "x86_64_crb_linux_l2-adventerprisek9-ms",
|
||||
"version": "17.12.1",
|
||||
"md5sum": "2b5055e4cef8fd257416d74a94adb626",
|
||||
"filesize": 240355720
|
||||
},
|
||||
{
|
||||
"filename": "i86bi-linux-l2-ipbasek9-15.1g.bin",
|
||||
"version": "15.1g",
|
||||
@@ -38,6 +50,18 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "17.15.1",
|
||||
"images": {
|
||||
"image": "x86_64_crb_linux_l2-adventerprisek9-ms.iol"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "17.12.1",
|
||||
"images": {
|
||||
"image": "x86_64_crb_linux_l2-adventerprisek9-ms"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "15.1g",
|
||||
"images": {
|
||||
|
||||
@@ -13,11 +13,23 @@
|
||||
"iou": {
|
||||
"ethernet_adapters": 2,
|
||||
"serial_adapters": 2,
|
||||
"nvram": 128,
|
||||
"ram": 256,
|
||||
"nvram": 512,
|
||||
"ram": 512,
|
||||
"startup_config": "iou_l3_base_startup-config.txt"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "x86_64_crb_linux-adventerprisek9-ms.iol",
|
||||
"version": "17.15.1",
|
||||
"md5sum": "5d584f6cfbeaadc87d55f613da1049ed",
|
||||
"filesize": 292001512
|
||||
},
|
||||
{
|
||||
"filename": "x86_64_crb_linux-adventerprisek9-ms",
|
||||
"version": "17.12.1",
|
||||
"md5sum": "4a2fce8de21d1831fbceffd155e41ae7",
|
||||
"filesize": 288947184
|
||||
},
|
||||
{
|
||||
"filename": "i86bi_LinuxL3-AdvEnterpriseK9-M2_157_3_May_2018.bin",
|
||||
"version": "15.7(3)M2",
|
||||
@@ -38,6 +50,18 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "17.15.1",
|
||||
"images": {
|
||||
"image": "x86_64_crb_linux-adventerprisek9-ms.iol"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "17.12.1",
|
||||
"images": {
|
||||
"image": "x86_64_crb_linux-adventerprisek9-ms"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "15.7(3)M2",
|
||||
"images": {
|
||||
|
||||
@@ -26,6 +26,13 @@
|
||||
"kvm": "require"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"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)"
|
||||
},
|
||||
{
|
||||
"filename": "nexus9500v64.10.1.1.qcow2",
|
||||
"version": "9500v 10.1.1",
|
||||
@@ -40,6 +47,34 @@
|
||||
"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",
|
||||
@@ -198,6 +233,13 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "9300v 10.3.1.F",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "nexus9300v64.10.3.1.F.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "9500v 10.1.1",
|
||||
"images": {
|
||||
@@ -212,6 +254,34 @@
|
||||
"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": {
|
||||
|
||||
@@ -28,7 +28,21 @@
|
||||
"options": ""
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
{
|
||||
"filename": "MFG_CTVM_8_10_196_0.iso",
|
||||
"version": "8.10.196.0",
|
||||
"md5sum": "6093aca44dcf45c999f83e62dc9aeea2",
|
||||
"filesize": 650809344,
|
||||
"download_url": "https://software.cisco.com/download/release.html?mdfid=284464214&flowid=&softwareid=280926587&release=8.10.196.0"
|
||||
},
|
||||
{
|
||||
"filename": "MFG_CTVM_8_5_182_0.iso",
|
||||
"version": "8.5.182.0",
|
||||
"md5sum": "1cf3c57c2b123e739ab4662ea0abbc34",
|
||||
"filesize": 388579328,
|
||||
"download_url": "https://software.cisco.com/download/home/284464214/type/280926587/release/8.5.182.0"
|
||||
},
|
||||
{
|
||||
"filename": "MFG_CTVM_8_3_102_0.iso",
|
||||
"version": "8.3.102.0",
|
||||
"md5sum": "7f6b7968b5bed04b5ecc119b6ba4e41c",
|
||||
@@ -73,6 +87,20 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "8.10.196.0",
|
||||
"images": {
|
||||
"hda_disk_image": "empty8G.qcow2",
|
||||
"cdrom_image": "MFG_CTVM_8_10_196_0.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "8.5.182.0",
|
||||
"images": {
|
||||
"hda_disk_image": "empty8G.qcow2",
|
||||
"cdrom_image": "MFG_CTVM_8_5_182_0.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "8.3.102.0",
|
||||
"images": {
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"description": "Clavister NetShield (cOS Stream) Virtual Appliance offers the same functionality as the Clavister NetShield physical NGappliances FWs in a virtual environment.",
|
||||
"vendor_name": "Clavister",
|
||||
"vendor_url": "https://www.clavister.com/",
|
||||
"documentation_url": "https://kb.clavister.com",
|
||||
"documentation_url": "https://docs.clavister.com",
|
||||
"product_name": "NetShield",
|
||||
"product_url": "https://www.clavister.com/products/netshield/",
|
||||
"registry_version": 4,
|
||||
@@ -13,7 +13,7 @@
|
||||
"availability": "free-to-try",
|
||||
"maintainer": "Mattias Nordlund",
|
||||
"maintainer_email": "mattias.nordlund@clavister.com",
|
||||
"usage": "No configuration by default, oen console to set IPs and activate configuration.",
|
||||
"usage": "No configuration by default, use console to set IPs and activate configuration.",
|
||||
"port_name_format": "if{0}",
|
||||
"qemu": {
|
||||
"adapter_type": "virtio-net-pci",
|
||||
@@ -27,6 +27,13 @@
|
||||
"options": "-cpu Nehalem"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "clavister-cos-stream-4.00.00.34-virtual-x64-generic.qcow2",
|
||||
"version": "cOS Stream 4.00.00",
|
||||
"md5sum": "02b480621d9bf1a9a4e116cd47bef006",
|
||||
"filesize": 132841472,
|
||||
"download_url": "https://my.clavister.com/download/86399b21-44c7-ee11-a434-005056bdfeb0"
|
||||
},
|
||||
{
|
||||
"filename": "clavister-cos-stream-3.80.09.01-virtual-x64-generic.qcow2",
|
||||
"version": "cOS Stream 3.80.09",
|
||||
@@ -36,6 +43,12 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "cOS Stream 4.00.00",
|
||||
"images": {
|
||||
"hda_disk_image": "clavister-cos-stream-4.00.00.34-virtual-x64-generic.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cOS Stream 3.80.09",
|
||||
"images": {
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"description": "Clavister NetWall (cOS Core) Virtual Appliance offers the same functionality as the Clavister NetWall physical NGFWs in a virtual environment.",
|
||||
"vendor_name": "Clavister",
|
||||
"vendor_url": "https://www.clavister.com/",
|
||||
"documentation_url": "https://kb.clavister.com",
|
||||
"documentation_url": "https://docs.clavister.com",
|
||||
"product_name": "NetWall",
|
||||
"product_url": "https://www.clavister.com/products/ngfw/",
|
||||
"registry_version": 4,
|
||||
@@ -13,7 +13,7 @@
|
||||
"availability": "free-to-try",
|
||||
"maintainer": "Mattias Nordlund",
|
||||
"maintainer_email": "mattias.nordlund@clavister.com",
|
||||
"usage": "DHCP enabled on all interfaces by default, WebUI/SSH access enabled on the local network connected to If1.",
|
||||
"usage": "DHCP & cloud-init enabled on all interfaces by default, WebUI/SSH access enabled on the local network connected to If1.",
|
||||
"port_name_format": "If{0}",
|
||||
"qemu": {
|
||||
"adapter_type": "e1000",
|
||||
@@ -26,6 +26,13 @@
|
||||
"kvm": "allow"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "clavister-cos-core-14.00.13.08-kvm-en.img",
|
||||
"version": "cOS Core 14.00.13 (x86)",
|
||||
"md5sum": "d36797077378accb2b8fc72d09d07ee1",
|
||||
"filesize": 536870912,
|
||||
"download_url": "https://my.clavister.com/download/f3f494a3-9ee7-ee11-a434-005056bdfeb0"
|
||||
},
|
||||
{
|
||||
"filename": "clavister-cos-core-14.00.01.13-kvm-en.img",
|
||||
"version": "cOS Core 14.00.01 (x86)",
|
||||
@@ -42,6 +49,12 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "cOS Core 14.00.13 (x86)",
|
||||
"images": {
|
||||
"hda_disk_image": "clavister-cos-core-14.00.13.08-kvm-en.img"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cOS Core 14.00.01 (x86)",
|
||||
"images": {
|
||||
|
||||
@@ -24,12 +24,28 @@
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "debian-12.2.qcow2",
|
||||
"version": "12.2",
|
||||
"md5sum": "adf7716ec4a4e4e9e5ccfc7a1d7bd103",
|
||||
"filesize": 286654464,
|
||||
"filename": "debian-12.6.qcow2",
|
||||
"version": "12.6",
|
||||
"md5sum": "04753ba14295c6414d49bffe27b676ae",
|
||||
"filesize": 280907776,
|
||||
"download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/",
|
||||
"direct_download_url": "https://downloads.sourceforge.net/project/gns-3/Qemu%20Appliances/debian-12.2.qcow2"
|
||||
"direct_download_url": "https://downloads.sourceforge.net/project/gns-3/Qemu%20Appliances/debian-12.6.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "debian-12.4.qcow2",
|
||||
"version": "12.4",
|
||||
"md5sum": "adcf7fdc25e10b3d2d9e2ef91168bffd",
|
||||
"filesize": 286179840,
|
||||
"download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/",
|
||||
"direct_download_url": "https://downloads.sourceforge.net/project/gns-3/Qemu%20Appliances/debian-12.4.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "debian-11.10.qcow2",
|
||||
"version": "11.10",
|
||||
"md5sum": "99a1dc8e110d641309674e69b630e732",
|
||||
"filesize": 263520256,
|
||||
"download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/",
|
||||
"direct_download_url": "https://downloads.sourceforge.net/project/gns-3/Qemu%20Appliances/debian-11.10.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "debian-11.8.qcow2",
|
||||
@@ -42,9 +58,21 @@
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "12.2",
|
||||
"name": "12.6",
|
||||
"images": {
|
||||
"hda_disk_image": "debian-12.2.qcow2"
|
||||
"hda_disk_image": "debian-12.6.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "12.4",
|
||||
"images": {
|
||||
"hda_disk_image": "debian-12.4.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "11.10",
|
||||
"images": {
|
||||
"hda_disk_image": "debian-11.10.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
@@ -11,26 +11,36 @@
|
||||
"status": "experimental",
|
||||
"maintainer": "GNS3 Team",
|
||||
"maintainer_email": "developers@gns3.net",
|
||||
"usage": "Make sure the Boot priority of the configuration template is HDD or CD.\n\nAbort the BCM process and format the flash after first boot by entering these commands:\nen\nformat flash:\n\nSometimes the flash device is not available after boot.",
|
||||
"usage": "Make sure the Boot priority of the configuration template is HDD or CD.\n\nFor FTOS 9.8, switch to vnc console, start the device, abort the BMP process and format the flash after first boot by entering these commands:\nen\nformat flash:\n\nSometimes the flash device is not available after boot.",
|
||||
"first_port_name": "Management0/0",
|
||||
"port_name_format": "fortyGigE0/{0}",
|
||||
"qemu": {
|
||||
"adapter_type": "e1000",
|
||||
"adapters": 6,
|
||||
"ram": 512,
|
||||
"ram": 1024,
|
||||
"hda_disk_interface": "ide",
|
||||
"arch": "i386",
|
||||
"console_type": "vnc",
|
||||
"console_type": "telnet",
|
||||
"boot_priority": "cd",
|
||||
"kvm": "require"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "FTOS-SI-9.13.0.0.iso",
|
||||
"version": "9.13.0",
|
||||
"md5sum": "8418049e451c76e7b85e36eca0a0a730",
|
||||
"filesize": 131278848,
|
||||
"download_url": "https://www.dell.com/support/kbdoc/en-us/000184062/ftos-for-s-series-os-emulator-current-release-evaluation-version",
|
||||
"direct_download_url": "https://downloads.dell.com/translatedpdf/force10/os9/FTOS-SI-9.13.0.0.zip",
|
||||
"compression": "zip"
|
||||
},
|
||||
{
|
||||
"filename": "FTOS-SI-9.8.0.0.iso",
|
||||
"version": "9.8.0",
|
||||
"md5sum": "b9b50eda0a73407dc381792ff7975e24",
|
||||
"filesize": 108115968,
|
||||
"download_url": "https://www.force10networks.com/CSPortal20/Software/SSeriesDownloads.aspx",
|
||||
"download_url": "https://www.dell.com/support/kbdoc/en-us/000184062/ftos-for-s-series-os-emulator-current-release-evaluation-version",
|
||||
"direct_download_url": "https://downloads.dell.com/translatedpdf/force10/os9/FTOS-SI-9.8.0.0.zip",
|
||||
"compression": "zip"
|
||||
},
|
||||
{
|
||||
@@ -43,6 +53,13 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "9.13.0",
|
||||
"images": {
|
||||
"hda_disk_image": "empty30G.qcow2",
|
||||
"cdrom_image": "FTOS-SI-9.13.0.0.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "9.8.0",
|
||||
"images": {
|
||||
|
||||
@@ -26,163 +26,25 @@
|
||||
"kvm": "allow",
|
||||
"options": "-cpu core2duo"
|
||||
},
|
||||
|
||||
"images": [
|
||||
{
|
||||
"filename": "EXOS-VM_v32.1.1.6.qcow2",
|
||||
"version": "32.1.1.6",
|
||||
"md5sum": "48868bbcb4255d6365049b5941dd2af7",
|
||||
"filesize": 231211008,
|
||||
"direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v32.1.1.6.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "EXOS-VM_v31.7.1.4.qcow2",
|
||||
"version": "31.7.1.4",
|
||||
"md5sum": "a70e4fa3bc361434237ad12937aaf0fb",
|
||||
"filesize": 458227712,
|
||||
"direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v31.7.1.4.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "EXOS-VM_v31.1.1.3.qcow2",
|
||||
"version": "31.1.1.3",
|
||||
"md5sum": "e4936ad94a5304bfeeca8dfc6f285cc0",
|
||||
"filesize": 561512448,
|
||||
"direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v31.1.1.3.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "EXOS-VM_v30.7.1.1.qcow2",
|
||||
"version": "30.7.1.1",
|
||||
"md5sum": "c6b67023945102f984b47aa67c67fe33",
|
||||
"filesize": 485687296,
|
||||
"direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v30.7.1.1.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "EXOS-VM_v30.6.1.11.qcow2",
|
||||
"version": "30.6.1.11",
|
||||
"md5sum": "bf3e13570417d7e3464165b344c196eb",
|
||||
"filesize": 475332608,
|
||||
"direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v30.6.1.11.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "EXOS-VM_v30.5.1.15.qcow2",
|
||||
"version": "30.5.1.15",
|
||||
"md5sum": "380d0c7bb8f0aa272ceb84b85f367a63",
|
||||
"filesize": 498663424,
|
||||
"direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v30.5.1.15.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "EXOS-VM_v30.4.1.2.qcow2",
|
||||
"version": "30.4.1.2",
|
||||
"md5sum": "133fa38bf80daec9e389729c96e692c0",
|
||||
"filesize": 454557696,
|
||||
"direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v30.4.1.2.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "EXOS-VM_v30.3.1.6.qcow2",
|
||||
"version": "30.3.1.6",
|
||||
"md5sum": "edb86b406efe99434c6d5366d9bfa97f",
|
||||
"filesize": 448266240,
|
||||
"direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v30.3.1.6.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "EXOS-VM_v30.2.1.8.qcow2",
|
||||
"version": "30.2.1.8",
|
||||
"md5sum": "4bdbf3ddff7a030e19c6bb71270b56d2",
|
||||
"filesize": 355205120,
|
||||
"direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v30.2.1.8.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "EXOS-VM_v30.1.1.4.qcow2",
|
||||
"version": "30.1.1.4",
|
||||
"md5sum": "92d3f9b13d750f7bfa804823fa545772",
|
||||
"filesize": 383385600,
|
||||
"direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v30.1.1.4.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "EXOS-VM_v22.7.1.2.qcow2",
|
||||
"version": "22.7.1.2",
|
||||
"md5sum": "a13e839b3fa05e8a5b0fb31f7e3dda86",
|
||||
"filesize": 180420608,
|
||||
"direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v22.7.1.2.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "EXOS-VM_v21.1.1.4-disk1.qcow2",
|
||||
"version": "21.1.1.4",
|
||||
"md5sum": "654606809b6fd3bca400377483eb4a79",
|
||||
"filesize": 117560832,
|
||||
"direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v21.1.1.4-disk1.qcow2"
|
||||
|
||||
{
|
||||
"filename": "EXOS-VM_v32.6.3.126.qcow2",
|
||||
"version": "32.6.3.126",
|
||||
"md5sum": "5856b6c427bd605fe1c7adb6ee6b2659",
|
||||
"filesize": 236716032,
|
||||
"direct_download_url": "https://akamai-ep.extremenetworks.com/Extreme_P/github-en/Virtual_EXOS/EXOS-VM_v32.6.3.126.qcow2"
|
||||
}
|
||||
|
||||
],
|
||||
|
||||
"versions": [
|
||||
|
||||
{
|
||||
"name": "32.1.1.6",
|
||||
"name": "32.6.3.126",
|
||||
"images": {
|
||||
"hda_disk_image": "EXOS-VM_v32.1.1.6.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "31.7.1.4",
|
||||
"images": {
|
||||
"hda_disk_image": "EXOS-VM_v31.7.1.4.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "31.1.1.3",
|
||||
"images": {
|
||||
"hda_disk_image": "EXOS-VM_v31.1.1.3.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "30.7.1.1",
|
||||
"images": {
|
||||
"hda_disk_image": "EXOS-VM_v30.7.1.1.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "30.6.1.11",
|
||||
"images": {
|
||||
"hda_disk_image": "EXOS-VM_v30.6.1.11.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "30.5.1.15",
|
||||
"images": {
|
||||
"hda_disk_image": "EXOS-VM_v30.5.1.15.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "30.4.1.2",
|
||||
"images": {
|
||||
"hda_disk_image": "EXOS-VM_v30.4.1.2.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "30.3.1.6",
|
||||
"images": {
|
||||
"hda_disk_image": "EXOS-VM_v30.3.1.6.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "30.2.1.8",
|
||||
"images": {
|
||||
"hda_disk_image": "EXOS-VM_v30.2.1.8.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "30.1.1.4",
|
||||
"images": {
|
||||
"hda_disk_image": "EXOS-VM_v30.1.1.4.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "22.7.1.2",
|
||||
"images": {
|
||||
"hda_disk_image": "EXOS-VM_v22.7.1.2.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "21.1.1.4",
|
||||
"images": {
|
||||
"hda_disk_image": "EXOS-VM_v21.1.1.4-disk1.qcow2"
|
||||
"hda_disk_image": "EXOS-VM_v32.6.3.126.qcow2"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@@ -26,6 +26,14 @@
|
||||
"options": "-nographic"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "Fedora-Cloud-Base-39-1.5.x86_64.qcow2",
|
||||
"version": "39-1.5",
|
||||
"md5sum": "800a10df2d369891ed65900bcacacd47",
|
||||
"filesize": 544604160,
|
||||
"download_url": "https://download.fedoraproject.org/pub/fedora/linux/releases/39/Cloud/x86_64/images",
|
||||
"direct_download_url": "https://download.fedoraproject.org/pub/fedora/linux/releases/39/Cloud/x86_64/images/Fedora-Cloud-Base-39-1.5.x86_64.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "Fedora-Cloud-Base-38-1.6.x86_64.qcow2",
|
||||
"version": "38-1.6",
|
||||
@@ -34,30 +42,6 @@
|
||||
"download_url": "https://download.fedoraproject.org/pub/fedora/linux/releases/38/Cloud/x86_64/images",
|
||||
"direct_download_url": "https://download.fedoraproject.org/pub/fedora/linux/releases/38/Cloud/x86_64/images/Fedora-Cloud-Base-38-1.6.x86_64.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "Fedora-Cloud-Base-37-1.7.x86_64.qcow2",
|
||||
"version": "37-1.7",
|
||||
"md5sum": "36f7b464b6ab46ad97c001b539495e90",
|
||||
"filesize": 492830720,
|
||||
"download_url": "https://download.fedoraproject.org/pub/fedora/linux/releases/37/Cloud/x86_64/images",
|
||||
"direct_download_url": "https://download.fedoraproject.org/pub/fedora/linux/releases/37/Cloud/x86_64/images/Fedora-Cloud-Base-37-1.7.x86_64.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "Fedora-Cloud-Base-36-1.5.x86_64.qcow2",
|
||||
"version": "36-1.5",
|
||||
"md5sum": "7f7cdad25b77f232078bf454c39529d3",
|
||||
"filesize": 448266240,
|
||||
"download_url": "https://download.fedoraproject.org/pub/fedora/linux/releases/36/Cloud/x86_64/images",
|
||||
"direct_download_url": "https://download.fedoraproject.org/pub/fedora/linux/releases/36/Cloud/x86_64/images/Fedora-Cloud-Base-36-1.5.x86_64.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "Fedora-Cloud-Base-35-1.2.x86_64.qcow2",
|
||||
"version": "35-1.2",
|
||||
"md5sum": "cfa9cdcfb946e5f4cf9dd4d7906008d0",
|
||||
"filesize": 376897536,
|
||||
"download_url": "https://download.fedoraproject.org/pub/fedora/linux/releases/35/Cloud/x86_64/images",
|
||||
"direct_download_url": "https://download.fedoraproject.org/pub/fedora/linux/releases/35/Cloud/x86_64/images/Fedora-Cloud-Base-35-1.2.x86_64.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "fedora-cloud-init-data.iso",
|
||||
"version": "1.0",
|
||||
@@ -68,33 +52,19 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "39-1.5",
|
||||
"images": {
|
||||
"hda_disk_image": "Fedora-Cloud-Base-39-1.5.x86_64.qcow2",
|
||||
"cdrom_image": "fedora-cloud-init-data.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "38-1.6",
|
||||
"images": {
|
||||
"hda_disk_image": "Fedora-Cloud-Base-38-1.6.x86_64.qcow2",
|
||||
"cdrom_image": "fedora-cloud-init-data.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "37-1.7",
|
||||
"images": {
|
||||
"hda_disk_image": "Fedora-Cloud-Base-37-1.7.x86_64.qcow2",
|
||||
"cdrom_image": "fedora-cloud-init-data.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "36-1.5",
|
||||
"images": {
|
||||
"hda_disk_image": "Fedora-Cloud-Base-36-1.5.x86_64.qcow2",
|
||||
"cdrom_image": "fedora-cloud-init-data.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "35-1.2",
|
||||
"images": {
|
||||
"hda_disk_image": "Fedora-Cloud-Base-35-1.2.x86_64.qcow2",
|
||||
"cdrom_image": "fedora-cloud-init-data.iso"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -28,10 +28,17 @@
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "FAD_KVM-FORTINET.out.kvm-data.qcow2",
|
||||
"version": "ALL",
|
||||
"md5sum": "b7500835594e62d8acb1c6ec43d597c1",
|
||||
"filesize": 30998528,
|
||||
"filename": "FAD_KVM-V7.4.4-build0347-FORTINET.out.kvm_boot.qcow2",
|
||||
"version": "7.4.4",
|
||||
"md5sum": "52fa343fd423a1a560473b8cf02f4c9c",
|
||||
"filesize": 180617216,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAD_KVM-V7.2.6-build0257-FORTINET.out.kvm_boot.qcow2",
|
||||
"version": "7.2.6",
|
||||
"md5sum": "ed8c3622b12212786c310aa94c928f06",
|
||||
"filesize": 146341888,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
@@ -41,6 +48,13 @@
|
||||
"filesize": 145817600,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAD_KVM-v7.1.4-build0138-FORTINET.out.kvm_boot.qcow2",
|
||||
"version": "7.1.4",
|
||||
"md5sum": "d4b3ff27fc9d0461199d6066174744ca",
|
||||
"filesize": 134152192,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAD_KVM-V7.1.1-build0117-FORTINET.out.kvm-boot.qcow2",
|
||||
"version": "7.1.1",
|
||||
@@ -243,9 +257,30 @@
|
||||
"md5sum": "7a71f52bde93c0000b047626731b7aef",
|
||||
"filesize": 68026368,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAD_KVM-FORTINET.out.kvm-data.qcow2",
|
||||
"version": "ALL",
|
||||
"md5sum": "b7500835594e62d8acb1c6ec43d597c1",
|
||||
"filesize": 30998528,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "7.4.4",
|
||||
"images": {
|
||||
"hda_disk_image": "FAD_KVM-V7.4.4-build0347-FORTINET.out.kvm_boot.qcow2",
|
||||
"hdb_disk_image": "FAD_KVM-FORTINET.out.kvm-data.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.2.6",
|
||||
"images": {
|
||||
"hda_disk_image": "FAD_KVM-V7.2.6-build0257-FORTINET.out.kvm_boot.qcow2",
|
||||
"hdb_disk_image": "FAD_KVM-FORTINET.out.kvm-data.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.2.0",
|
||||
"images": {
|
||||
@@ -253,6 +288,13 @@
|
||||
"hdb_disk_image": "FAD_KVM-FORTINET.out.kvm-data.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.1.4",
|
||||
"images": {
|
||||
"hda_disk_image": "FAD_KVM-v7.1.4-build0138-FORTINET.out.kvm_boot.qcow2",
|
||||
"hdb_disk_image": "FAD_KVM-FORTINET.out.kvm-data.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.1.1",
|
||||
"images": {
|
||||
|
||||
@@ -29,6 +29,20 @@
|
||||
"kvm": "allow"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "FAZ_VM64_KVM-v7.4.3-build2487-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.4.3",
|
||||
"md5sum": "c58709af18516763ed88f58621447bf6",
|
||||
"filesize": 504463360,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAZ_VM64_KVM-v7.4.2-build2397-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.4.2",
|
||||
"md5sum": "33b2938e19a6cb61d4d64e6998a54d23",
|
||||
"filesize": 480096256,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAZ_VM64_KVM-v7.4.1-build2308-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.4.1",
|
||||
@@ -36,6 +50,13 @@
|
||||
"filesize": 435310592,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAZ_VM64_KVM-v7.2.5-build1574-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.2.5",
|
||||
"md5sum": "225d7405f35f78a482cffa34ef90080d",
|
||||
"filesize": 379973632,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAZ_VM64_KVM-v7.2.4-build1460-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.2.4",
|
||||
@@ -57,6 +78,20 @@
|
||||
"filesize": 340631552,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAZ_VM64_KVM-v7.0.12-build0623-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.0.12",
|
||||
"md5sum": "a45f8987ea13da836c684b5d9850c1c2",
|
||||
"filesize": 349560832,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAZ_VM64_KVM-v7.0.11-build0595-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.0.11",
|
||||
"md5sum": "ae7ff37d00d0b518e9982a0785665fc2",
|
||||
"filesize": 349257728,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAZ_VM64_KVM-v7.0.9-build0489-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.0.9",
|
||||
@@ -78,6 +113,13 @@
|
||||
"filesize": 334184448,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAZ_VM64_KVM-v6.4.14-build2660-FORTINET.out.kvm.qcow2",
|
||||
"version": "6.4.14",
|
||||
"md5sum": "1629d76776c9d625faee0304b5840c02",
|
||||
"filesize": 300683264,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAZ_VM64_KVM-v6.4.12-build2610-FORTINET.out.kvm.qcow2",
|
||||
"version": "6.4.12",
|
||||
@@ -235,6 +277,20 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "7.4.3",
|
||||
"images": {
|
||||
"hda_disk_image": "FAZ_VM64_KVM-v7.4.3-build2487-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.4.2",
|
||||
"images": {
|
||||
"hda_disk_image": "FAZ_VM64_KVM-v7.4.2-build2397-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.4.1",
|
||||
"images": {
|
||||
@@ -242,6 +298,13 @@
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.2.5",
|
||||
"images": {
|
||||
"hda_disk_image": "FAZ_VM64_KVM-v7.2.5-build1574-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.2.4",
|
||||
"images": {
|
||||
@@ -263,6 +326,20 @@
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.12",
|
||||
"images": {
|
||||
"hda_disk_image": "FAZ_VM64_KVM-v7.0.12-build0623-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.11",
|
||||
"images": {
|
||||
"hda_disk_image": "FAZ_VM64_KVM-v7.0.11-build0595-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.9",
|
||||
"images": {
|
||||
@@ -284,6 +361,13 @@
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6.4.14",
|
||||
"images": {
|
||||
"hda_disk_image": "FAZ_VM64_KVM-v6.4.14-build2660-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6.4.12",
|
||||
"images": {
|
||||
|
||||
@@ -13,13 +13,13 @@
|
||||
"status": "stable",
|
||||
"maintainer": "GNS3 Team",
|
||||
"maintainer_email": "developers@gns3.net",
|
||||
"usage": "Default username is admin, no password is set. First book takes longer.",
|
||||
"usage": "Default username is admin, no password is set. First boot takes longer.",
|
||||
"symbol": "fortinet.svg",
|
||||
"port_name_format": "Port{port1}",
|
||||
"qemu": {
|
||||
"adapter_type": "e1000",
|
||||
"adapters": 4,
|
||||
"ram": 1024,
|
||||
"ram": 4096,
|
||||
"hda_disk_interface": "virtio",
|
||||
"hdb_disk_interface": "virtio",
|
||||
"arch": "x86_64",
|
||||
@@ -28,6 +28,27 @@
|
||||
"kvm": "allow"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "FAC_VM_KVM-v6.6.1-build1660-FORTINET.out.kvm_fackvm.qcow2",
|
||||
"version": "6.6.1",
|
||||
"md5sum": "4b2b475ac8b6f88b5033dca367d53cbb",
|
||||
"filesize": 138477584,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAC_VM_KVM-v6.5.5-build1385-FORTINET.out.kvm_fackvm.qcow2",
|
||||
"version": "6.5.5",
|
||||
"md5sum": "6850128ac51cee2577114ecd487786ff",
|
||||
"filesize": 112918544,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAC_VM_KVM-v6.4.9-build1067-FORTINET.out.kvm_fackvm.qcow2",
|
||||
"version": "6.4.9",
|
||||
"md5sum": "aee068a16fb2ca332d41e6add499b7d3",
|
||||
"filesize": 112197648,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAC_VM_KVM-v6-build0058-FORTINET.out.kvm.qcow2",
|
||||
"version": "6.0.3",
|
||||
@@ -105,6 +126,20 @@
|
||||
"filesize": 62771200,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAC_VM_KVM-v6.6.1-build1660-FORTINET.out.kvm_datadrive.qcow2",
|
||||
"version": "6.6.1",
|
||||
"md5sum": "9bbaa1ce1508b4af1f43ba00879269f9",
|
||||
"filesize": 197568,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAC_VM_KVM-v6.5.5-build1385-FORTINET.out.kvm_datadrive.qcow2",
|
||||
"version": "6.4.x, 6.5.x",
|
||||
"md5sum": "3f7173307047cf562f55ed2f99450c10",
|
||||
"filesize": 197568,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FAC_VM_KVM-ALL-DATADRIVE.qcow2",
|
||||
"version": "All",
|
||||
@@ -114,6 +149,27 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "6.6.1",
|
||||
"images": {
|
||||
"hda_disk_image": "FAC_VM_KVM-v6.6.1-build1660-FORTINET.out.kvm_fackvm.qcow2",
|
||||
"hdb_disk_image": "FAC_VM_KVM-v6.6.1-build1660-FORTINET.out.kvm_datadrive.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6.5.5",
|
||||
"images": {
|
||||
"hda_disk_image": "FAC_VM_KVM-v6.5.5-build1385-FORTINET.out.kvm_fackvm.qcow2",
|
||||
"hdb_disk_image": "FAC_VM_KVM-v6.5.5-build1385-FORTINET.out.kvm_datadrive.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6.4.9",
|
||||
"images": {
|
||||
"hda_disk_image": "FAC_VM_KVM-v6.4.9-build1067-FORTINET.out.kvm_fackvm.qcow2",
|
||||
"hdb_disk_image": "FAC_VM_KVM-v6.5.5-build1385-FORTINET.out.kvm_datadrive.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6.0.3",
|
||||
"images": {
|
||||
|
||||
@@ -28,6 +28,20 @@
|
||||
"kvm": "allow"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "FGT_VM64_KVM-v7.4.4.F-build2662-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.4.4",
|
||||
"md5sum": "dfe0e78827ec728631539669001bb23f",
|
||||
"filesize": 102170624,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FGT_VM64_KVM-v7.4.3.F-build2573-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.4.3",
|
||||
"md5sum": "e7517095c91dce1a76a9bcf114b5fa15",
|
||||
"filesize": 100728832,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FGT_VM64_KVM-v7.4.1.F-build2463-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.4.1",
|
||||
@@ -35,6 +49,20 @@
|
||||
"filesize": 116064256,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FGT_VM64_KVM-v7.2.8.M-build1639-FORTINET.out.kvm_fortios.qcow2",
|
||||
"version": "7.2.8",
|
||||
"md5sum": "5c8fd4baf80aeb2999d4be5a9c49eb3d",
|
||||
"filesize": 89980928,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FGT_VM64_KVM-v7.2.7.M-build1577-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.2.7",
|
||||
"md5sum": "752b56844e464b0b135e57f72681c288",
|
||||
"filesize": 102760448,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FGT_VM64_KVM-v7.2.6.F-build1575-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.2.6",
|
||||
@@ -63,6 +91,20 @@
|
||||
"filesize": 86704128,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FGT_VM64_KVM-v7.0.15.M-build0601-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.0.15",
|
||||
"md5sum": "423f50378b7e93098ab765c3dd3a788f",
|
||||
"filesize": 77398016,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FGT_VM64_KVM-v7.0.14.M-build0601-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.0.14",
|
||||
"md5sum": "20c855889e1117902bcf448b30746d30",
|
||||
"filesize": 77398016,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FGT_VM64_KVM-v7.0.13.M-build0566-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.0.13",
|
||||
@@ -91,6 +133,13 @@
|
||||
"filesize": 77135872,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FGT_VM64_KVM-v6.4.15.M-build2095-FORTINET.out.kvm.qcow2",
|
||||
"version": "6.4.15",
|
||||
"md5sum": "a0306a3905877de654dab7e1bb67089e",
|
||||
"filesize": 81592320,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FGT_VM64_KVM-v6.4.14.M-build2093-FORTINET.out.kvm.qcow2",
|
||||
"version": "6.4.14",
|
||||
@@ -339,6 +388,20 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "7.4.4",
|
||||
"images": {
|
||||
"hda_disk_image": "FGT_VM64_KVM-v7.4.4.F-build2662-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.4.3",
|
||||
"images": {
|
||||
"hda_disk_image": "FGT_VM64_KVM-v7.4.3.F-build2573-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.4.1",
|
||||
"images": {
|
||||
@@ -346,6 +409,20 @@
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.2.8",
|
||||
"images": {
|
||||
"hda_disk_image": "FGT_VM64_KVM-v7.2.8.M-build1639-FORTINET.out.kvm_fortios.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.2.7",
|
||||
"images": {
|
||||
"hda_disk_image": "FGT_VM64_KVM-v7.2.7.M-build1577-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.2.6",
|
||||
"images": {
|
||||
@@ -374,6 +451,20 @@
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.15",
|
||||
"images": {
|
||||
"hda_disk_image": "FGT_VM64_KVM-v7.0.15.M-build0601-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.14",
|
||||
"images": {
|
||||
"hda_disk_image": "FGT_VM64_KVM-v7.0.14.M-build0601-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.13",
|
||||
"images": {
|
||||
@@ -402,6 +493,13 @@
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6.4.15",
|
||||
"images": {
|
||||
"hda_disk_image": "FGT_VM64_KVM-v6.4.15.M-build2095-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6.4.14",
|
||||
"images": {
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
"status": "stable",
|
||||
"maintainer": "Ean Towne",
|
||||
"maintainer_email": "ean.fortinet@gmail.com",
|
||||
"usage": "Default username is admin, no password is set.\n\n- Versions lower than 7.0.x require less CPU/RAM",
|
||||
"usage": "Default username is admin, no password is set.\n\n- Versions lower than 7.0.x require less CPU/RAM\n7.4.x may require 16GB RAM.",
|
||||
"symbol": "fortinet.svg",
|
||||
"port_name_format": "Port{port1}",
|
||||
"qemu": {
|
||||
@@ -29,6 +29,20 @@
|
||||
"kvm": "allow"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "FMG_VM64_KVM-v7.4.3-build2487-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.4.23",
|
||||
"md5sum": "b01d9f86aa27c538407d518df1326863",
|
||||
"filesize": 346107904,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FMG_VM64_KVM-v7.4.2-build2397-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.4.2",
|
||||
"md5sum": "36371fbf06210ded57c00b2ff290f2c5",
|
||||
"filesize": 322514944,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FMG_VM64_KVM-v7.4.1-build2308-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.4.1",
|
||||
@@ -36,6 +50,13 @@
|
||||
"filesize": 309387264,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FMG_VM64_KVM-v7.2.5-build1574-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.2.5",
|
||||
"md5sum": "754326845096afd909ec45d98f8d5a83",
|
||||
"filesize": 278401024,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FMG_VM64_KVM-v7.2.4-build1460-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.2.4",
|
||||
@@ -57,6 +78,20 @@
|
||||
"filesize": 242814976,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FMG_VM64_KVM-v7.0.12-build0623-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.0.12",
|
||||
"md5sum": "5b6f6a2b8bc00e56337aa7023a9025cf",
|
||||
"filesize": 249520128,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FMG_VM64_KVM-v7.0.11-build0595-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.0.11",
|
||||
"md5sum": "7b166222136e26190159f37cccbaab6e",
|
||||
"filesize": 249360384,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FMG_VM64_KVM-v7.0.9-build0489-FORTINET.out.kvm.qcow2",
|
||||
"version": "7.0.9",
|
||||
@@ -78,6 +113,13 @@
|
||||
"filesize": 237535232,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FMG_VM64_KVM-v6.4.14-build2660-FORTINET.out.kvm.qcow2",
|
||||
"version": "6.4.14",
|
||||
"md5sum": "0fe56e363b166c07b710bde795e36049",
|
||||
"filesize": 219430912,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FMG_VM64_KVM-v6.4.12-build2610-FORTINET.out.kvm.qcow2",
|
||||
"version": "6.4.12",
|
||||
@@ -235,6 +277,20 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "7.4.3",
|
||||
"images": {
|
||||
"hda_disk_image": "FMG_VM64_KVM-v7.4.3-build2487-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.4.2",
|
||||
"images": {
|
||||
"hda_disk_image": "FMG_VM64_KVM-v7.4.2-build2397-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.4.1",
|
||||
"images": {
|
||||
@@ -242,6 +298,13 @@
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.2.5",
|
||||
"images": {
|
||||
"hda_disk_image": "FMG_VM64_KVM-v7.2.5-build1574-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.2.4",
|
||||
"images": {
|
||||
@@ -263,6 +326,20 @@
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.12",
|
||||
"images": {
|
||||
"hda_disk_image": "FMG_VM64_KVM-v7.0.12-build0623-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.11",
|
||||
"images": {
|
||||
"hda_disk_image": "FMG_VM64_KVM-v7.0.11-build0595-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.9",
|
||||
"images": {
|
||||
@@ -284,6 +361,13 @@
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6.4.14",
|
||||
"images": {
|
||||
"hda_disk_image": "FMG_VM64_KVM-v6.4.14-build2660-FORTINET.out.kvm.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6.4.12",
|
||||
"images": {
|
||||
|
||||
@@ -28,6 +28,27 @@
|
||||
"kvm": "allow"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "FWB_KVM-v7.6.0.F-build0962-FORTINET.out.kvm_boot.qcow2",
|
||||
"version": "7.6.0",
|
||||
"md5sum": "e94aa4af7ed0a12bd6084f0d74a2a96e",
|
||||
"filesize": 329187840,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FWB_KVM-v7.4.3-build0638-FORTINET.out.kvm_boot.qcow2",
|
||||
"version": "7.4.3",
|
||||
"md5sum": "3c0ac11a6d80a319a4fe460aff5bc66c",
|
||||
"filesize": 303497728,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FWB_KVM-v7.2.8-build0400-FORTINET.out.kvm_boot.qcow2",
|
||||
"version": "7.2.8",
|
||||
"md5sum": "367307242e6855dc190df089d196e712",
|
||||
"filesize": 257950208,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FWB_KVM-v7.2.1-build0330-FORTINET.out.kvm.boot.qcow2",
|
||||
"version": "7.2.1",
|
||||
@@ -35,6 +56,13 @@
|
||||
"filesize": 260506112,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FWB_KVM-v7.0.10-build0166-FORTINET.out.kvm_boot.qcow2",
|
||||
"version": "7.0.10",
|
||||
"md5sum": "ff9d4b827c4e41c1b38e59359ba05487",
|
||||
"filesize": 257556992,
|
||||
"download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "FWB_KVM-v7.0.6-build0140-FORTINET.out.kvm.boot.qcow2",
|
||||
"version": "7.0.6",
|
||||
@@ -150,6 +178,27 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "7.6.0",
|
||||
"images": {
|
||||
"hda_disk_image": "FWB_KVM-v7.6.0.F-build0962-FORTINET.out.kvm_boot.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.4.3",
|
||||
"images": {
|
||||
"hda_disk_image": "FWB_KVM-v7.4.3-build0638-FORTINET.out.kvm_boot.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.2.8",
|
||||
"images": {
|
||||
"hda_disk_image": "FWB_KVM-v7.2.8-build0400-FORTINET.out.kvm_boot.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.2.1",
|
||||
"images": {
|
||||
@@ -157,6 +206,13 @@
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.10",
|
||||
"images": {
|
||||
"hda_disk_image": "FWB_KVM-v7.0.10-build0166-FORTINET.out.kvm_boot.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.0.6",
|
||||
"images": {
|
||||
|
||||
@@ -24,13 +24,22 @@
|
||||
"kvm": "require"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "FreeBSD-14.0-RELEASE-amd64.qcow2",
|
||||
"version": "14.0",
|
||||
"md5sum": "87b988eaa4a8aaabea1c10649c98b3f0",
|
||||
"filesize": 3506569216,
|
||||
"download_url": "https://www.freebsd.org/where.html",
|
||||
"direct_download_url": "https://download.freebsd.org/releases/VM-IMAGES/14.0-RELEASE/amd64/Latest/FreeBSD-14.0-RELEASE-amd64.qcow2.xz",
|
||||
"compression": "xz"
|
||||
},
|
||||
{
|
||||
"filename": "FreeBSD-13.0-RELEASE-amd64.qcow2",
|
||||
"version": "13.0",
|
||||
"md5sum": "e8e598959da456c03260421b5f9890de",
|
||||
"filesize": 3466854400,
|
||||
"download_url": "https://www.freebsd.org/where.html",
|
||||
"direct_download_url": "https://download.freebsd.org/ftp/releases/VM-IMAGES/13.0-RELEASE/amd64/Latest/FreeBSD-13.0-RELEASE-amd64.qcow2.xz",
|
||||
"direct_download_url": "http://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/VM-IMAGES/13.0-RELEASE/amd64/Latest/FreeBSD-13.0-RELEASE-amd64.qcow2.xz",
|
||||
"compression": "xz"
|
||||
},
|
||||
{
|
||||
@@ -39,11 +48,17 @@
|
||||
"md5sum": "3d7d5396f3d89ed30c2bfa2ee2e6b013",
|
||||
"filesize": 3412000768,
|
||||
"download_url": "https://www.freebsd.org/where.html",
|
||||
"direct_download_url": "https://download.freebsd.org/ftp/releases/VM-IMAGES/12.3-RELEASE/amd64/Latest/FreeBSD-12.3-RELEASE-amd64.qcow2.xz",
|
||||
"direct_download_url": "http://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/VM-IMAGES/12.3-RELEASE/amd64/Latest/FreeBSD-12.3-RELEASE-amd64.qcow2.xz",
|
||||
"compression": "xz"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "14.0",
|
||||
"images": {
|
||||
"hda_disk_image": "FreeBSD-14.0-RELEASE-amd64.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "13.0",
|
||||
"images": {
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
{
|
||||
"appliance_id": "ac98ab6f-7966-444b-842f-9507c965b8b7",
|
||||
"name": "HBCD-PE",
|
||||
"category": "guest",
|
||||
"description": "Hiren’s BootCD PE (Preinstallation Environment) is a restored edition of Hiren’s BootCD based on Windows 11 PE x64. ",
|
||||
"vendor_name": "hirensbootcd.org",
|
||||
"vendor_url": "https://www.hirensbootcd.org/",
|
||||
"documentation_url": "https://www.hirensbootcd.org/howtos/",
|
||||
"product_name": "Hiren’s BootCD PE",
|
||||
"product_url": "https://www.hirensbootcd.org/",
|
||||
"registry_version": 4,
|
||||
"status": "stable",
|
||||
"maintainer": "GNS3 Team",
|
||||
"maintainer_email": "developers@gns3.net",
|
||||
"qemu": {
|
||||
"adapter_type": "e1000",
|
||||
"adapters": 1,
|
||||
"ram": 4096,
|
||||
"hda_disk_interface": "sata",
|
||||
"arch": "x86_64",
|
||||
"console_type": "vnc",
|
||||
"boot_priority": "c",
|
||||
"kvm": "require"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "HBCD_PE_x64.iso",
|
||||
"version": "1.0.8",
|
||||
"md5sum": "45baab64b088431bdf3370292e9a74b0",
|
||||
"filesize": 3291686912,
|
||||
"download_url": "https://www.hirensbootcd.org/download/",
|
||||
"direct_download_url": "https://www.hirensbootcd.org/files/HBCD_PE_x64.iso"
|
||||
},
|
||||
{
|
||||
"filename": "empty30G.qcow2",
|
||||
"version": "1.0",
|
||||
"md5sum": "3411a599e822f2ac6be560a26405821a",
|
||||
"filesize": 197120,
|
||||
"download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
|
||||
"direct_download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty30G.qcow2/download"
|
||||
},
|
||||
{
|
||||
"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"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "1.0.8",
|
||||
"images": {
|
||||
"bios_image": "OVMF-edk2-stable202305.fd",
|
||||
"hda_disk_image": "empty30G.qcow2",
|
||||
"cdrom_image": "HBCD_PE_x64.iso"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -7,16 +7,65 @@
|
||||
"vendor_url": "https://www.huawei.com",
|
||||
"product_name": "HuaWei NE40E",
|
||||
"product_url": "https://e.huawei.com/en/products/enterprise-networking/routers/ne/ne40e",
|
||||
"registry_version": 4,
|
||||
"registry_version": 6,
|
||||
"status": "experimental",
|
||||
"availability": "service-contract",
|
||||
"maintainer": "none",
|
||||
"maintainer_email": "",
|
||||
"first_port_name": "eth0",
|
||||
"port_name_format": "Ethernet1/0/{0}",
|
||||
"qemu": {
|
||||
"adapter_type": "e1000",
|
||||
"adapters": 12,
|
||||
"custom_adapters": [
|
||||
{
|
||||
"adapter_number": 0,
|
||||
"port_name": "Gi0/0/0"
|
||||
},
|
||||
{
|
||||
"adapter_number": 1,
|
||||
"port_name": "Mgmt0/0"
|
||||
},
|
||||
{
|
||||
"adapter_number": 2,
|
||||
"port_name": "Ethernet1/0/0"
|
||||
},
|
||||
{
|
||||
"adapter_number": 3,
|
||||
"port_name": "Ethernet1/0/1"
|
||||
},
|
||||
{
|
||||
"adapter_number": 4,
|
||||
"port_name": "Ethernet1/0/2"
|
||||
},
|
||||
{
|
||||
"adapter_number": 5,
|
||||
"port_name": "Ethernet1/0/3"
|
||||
},
|
||||
{
|
||||
"adapter_number": 6,
|
||||
"port_name": "Ethernet1/0/4"
|
||||
},
|
||||
{
|
||||
"adapter_number": 7,
|
||||
"port_name": "Ethernet1/0/5"
|
||||
},
|
||||
{
|
||||
"adapter_number": 8,
|
||||
"port_name": "Ethernet1/0/6"
|
||||
},
|
||||
{
|
||||
"adapter_number": 9,
|
||||
"port_name": "Ethernet1/0/7"
|
||||
},
|
||||
{
|
||||
"adapter_number": 10,
|
||||
"port_name": "Ethernet1/0/8"
|
||||
},
|
||||
{
|
||||
"adapter_number": 11,
|
||||
"port_name": "Ethernet1/0/9"
|
||||
}
|
||||
],
|
||||
"ram": 2048,
|
||||
"cpus": 2,
|
||||
"hda_disk_interface": "ide",
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"appliance_id": "92dbd0e9-144e-4c59-a4a8-97b6a1661818",
|
||||
"name": "Innovaphone App-Platform",
|
||||
"category": "guest",
|
||||
"description": "In addition to telephony, apps for Video Telephony, Chat, Conferencing, Application Sharing and many other functions have become indispensable UCC tools in the area of business communication. Based on the myApps platform and its various components, innovaphone provides a collaborative work and communication platform for enhanced corporate communications \u2013 regardless of the location and the device being used. The innovaphone platform myApps consists of many independent components that work well individually, yet unfold their remarkable performance when combined.",
|
||||
"vendor_name": "Innovaphone",
|
||||
"vendor_url": "https://www.innovaphone.com",
|
||||
"vendor_logo_url": "https://www.innovaphone.com/content/downloads/innovaphone-myapps-logo-short-without-background-screen.png",
|
||||
"documentation_url": "https://wiki.innovaphone.com/index.php?title=Reference14r2:Concept_App_Platform",
|
||||
"product_name": "App-Platform",
|
||||
"product_url": "https://www.innovaphone.com/en/products/myapps/myapps-platform.html",
|
||||
"registry_version": 4,
|
||||
"status": "experimental",
|
||||
"availability": "free-to-try",
|
||||
"maintainer": "Thomas Marchsteiner",
|
||||
"maintainer_email": "thomas.marchsteiner@acp.at",
|
||||
"usage": "Default users console:root/iplinux , ssh:admin/ipapps , Webinterface:pwd \nAfter first boot wait for automatic reboot.\nA static ip can be set via the setip utility. \nLoading another keymap can be done via the loadkeys command. \nThe app-platform-disk1.vmdk file is contained within an ova file. \nIt can be extraced with the tar utility, 7Zip or any other tool which can handle tar files.",
|
||||
"symbol": "innovaphone-ap-icon.jpg",
|
||||
"first_port_name": "eth0",
|
||||
"qemu": {
|
||||
"adapter_type": "vmxnet3",
|
||||
"adapters": 1,
|
||||
"ram": 512,
|
||||
"cpus": 1,
|
||||
"hda_disk_interface": "scsi",
|
||||
"arch": "x86_64",
|
||||
"console_type": "vnc",
|
||||
"boot_priority": "d",
|
||||
"kvm": "allow",
|
||||
"on_close": "power_off",
|
||||
"process_priority": "normal"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "app-platform-disk1_120010.vmdk",
|
||||
"version": "12.0010",
|
||||
"md5sum": "d5a5a77f682c2c988b0810935d79a787",
|
||||
"filesize": 129474560,
|
||||
"download_url": "https://store.innovaphone.com/"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"images": {
|
||||
"hda_disk_image": "app-platform-disk1_120010.vmdk"
|
||||
},
|
||||
"name": "12.0010"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
{
|
||||
"appliance_id": "ddf8f7a4-60c0-4c9d-849c-ffc3c9d1d082",
|
||||
"name": "Innovaphone IPVA",
|
||||
"category": "guest",
|
||||
"description": "The innovaphone PBX is a professional IP telephone system. The IPVA is a software-only solution. It appears as and performs as an innovaphone 'hard-box' excluding DSP-, ISDN-/AB-resources.",
|
||||
"vendor_name": "Innovaphone",
|
||||
"vendor_url": "https://www.innovaphone.com/",
|
||||
"vendor_logo_url": "https://www.innovaphone.com/content/downloads/innovaphone-myapps-logo-short-without-background-screen.png",
|
||||
"documentation_url": "https://wiki.innovaphone.com/index.php?title=Reference15r1:Concept_Innovaphone_Virtual_Appliance_(IPVA)",
|
||||
"product_name": "IPVA",
|
||||
"product_url": "https://www.innovaphone.com/en/products/innovaphone-pbx.html",
|
||||
"registry_version": 4,
|
||||
"status": "experimental",
|
||||
"availability": "free-to-try",
|
||||
"maintainer": "Thomas Marchsteiner",
|
||||
"maintainer_email": "thomas.marchsteiner@acp.at",
|
||||
"usage": "Default user admin/ipva \nDefault network configuration: DHCP client on eth0 with fallback to static address 192.168.0.1/24 after timeout. Static address 192.168.1.1/24 on eth1\n The ova in the zip file contains the disk images to run this appliance. Disableing the dhcp client and setting a static IP is possible with the following commands:\n> config change IP0 ETH0 /addr 192.168.0.1 /mask 255.255.255.0 \n> config change DHCP0 /mode off \n> config write \n> config activate \n> reset",
|
||||
"symbol": "innovaphone-pbx-green.png",
|
||||
"first_port_name": "eth0",
|
||||
"port_name_format": "eth{port1}",
|
||||
"qemu": {
|
||||
"adapter_type": "vmxnet3",
|
||||
"adapters": 2,
|
||||
"ram": 256,
|
||||
"cpus": 1,
|
||||
"hda_disk_interface": "ide",
|
||||
"hdb_disk_interface": "ide",
|
||||
"hdc_disk_interface": "ide",
|
||||
"hdd_disk_interface": "ide",
|
||||
"arch": "x86_64",
|
||||
"console_type": "vnc",
|
||||
"boot_priority": "d",
|
||||
"kvm": "allow",
|
||||
"on_close": "power_off",
|
||||
"process_priority": "normal"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "ipva-qemu-disk1-14r2.vmdk",
|
||||
"version": "14r2",
|
||||
"md5sum": "aaa1c3885eee30ca6ffa3827619e8643",
|
||||
"filesize": 6269952,
|
||||
"download_url": "https://store.innovaphone.com/"
|
||||
},
|
||||
{
|
||||
"filename": "ipva-qemu-disk2-14r2.vmdk",
|
||||
"version": "14r2",
|
||||
"md5sum": "008a8fc6b0b1e5f11a3e7fd6f22ba349",
|
||||
"filesize": 72192,
|
||||
"download_url": "https://store.innovaphone.com/"
|
||||
},
|
||||
{
|
||||
"filename": "ipva-qemu-disk3-14r2.vmdk",
|
||||
"version": "14r2",
|
||||
"md5sum": "20516731c480e2112b3fb4a4d7f514f2",
|
||||
"filesize": 68096,
|
||||
"download_url": "https://store.innovaphone.com/"
|
||||
},
|
||||
{
|
||||
"filename": "ipva-qemu-disk4-14r2.vmdk",
|
||||
"version": "14r2",
|
||||
"md5sum": "15d7d79ef8c28bd29b2eceac8405f964",
|
||||
"filesize": 68096,
|
||||
"download_url": "https://store.innovaphone.com/"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"images": {
|
||||
"hda_disk_image": "ipva-qemu-disk1-14r2.vmdk",
|
||||
"hdb_disk_image": "ipva-qemu-disk2-14r2.vmdk",
|
||||
"hdc_disk_image": "ipva-qemu-disk3-14r2.vmdk",
|
||||
"hdd_disk_image": "ipva-qemu-disk4-14r2.vmdk"
|
||||
},
|
||||
"name": "14r2"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -12,18 +12,19 @@
|
||||
"status": "stable",
|
||||
"maintainer": "GNS3 Team",
|
||||
"maintainer_email": "developers@gns3.net",
|
||||
"usage": "16 GB RAM is the bare minimum; you should use 32/64 GB in production deplyments.\nDefault credentials:\n- CLI: admin / abc123\n- WebUI: super / juniper123",
|
||||
"usage": "16 GB RAM is the bare minimum; you should use 32/64 GB in production deployments.\nDefault credentials:\n- CLI: admin / abc123\n- WebUI: super / juniper123",
|
||||
"symbol": "juniper-vqfx.svg",
|
||||
"port_name_format": "em{0}",
|
||||
"qemu": {
|
||||
"adapter_type": "e1000",
|
||||
"adapters": 4,
|
||||
"ram": 16384,
|
||||
"cpus": 4,
|
||||
"hda_disk_interface": "ide",
|
||||
"arch": "x86_64",
|
||||
"console_type": "telnet",
|
||||
"kvm": "require",
|
||||
"options": "-smp 4 -nographic"
|
||||
"options": "-nographic -machine q35,smbios-entry-point-type=32"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
"arch": "x86_64",
|
||||
"console_type": "telnet",
|
||||
"kvm": "require",
|
||||
"options": "-nographic"
|
||||
"options": "-nographic -machine q35,smbios-entry-point-type=32"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
"arch": "x86_64",
|
||||
"console_type": "telnet",
|
||||
"kvm": "require",
|
||||
"options": "-nographic -enable-kvm"
|
||||
"options": "-nographic -enable-kvm -machine q35,smbios-entry-point-type=32"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
|
||||
@@ -20,11 +20,12 @@
|
||||
"adapter_type": "virtio-net-pci",
|
||||
"adapters": 13,
|
||||
"ram": 4096,
|
||||
"cpus": 4,
|
||||
"hda_disk_interface": "ide",
|
||||
"arch": "x86_64",
|
||||
"console_type": "telnet",
|
||||
"kvm": "require",
|
||||
"options": "-nographic -enable-kvm -smp cpus=3"
|
||||
"options": "-nographic -enable-kvm -machine q35,smbios-entry-point-type=32"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
"arch": "x86_64",
|
||||
"console_type": "vnc",
|
||||
"kvm": "require",
|
||||
"options": "-nographic"
|
||||
"options": "-nographic -machine q35,smbios-entry-point-type=32"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
|
||||
@@ -19,11 +19,12 @@
|
||||
"adapter_type": "virtio-net-pci",
|
||||
"adapters": 12,
|
||||
"ram": 1024,
|
||||
"cpus": 2,
|
||||
"hda_disk_interface": "ide",
|
||||
"arch": "x86_64",
|
||||
"console_type": "telnet",
|
||||
"kvm": "require",
|
||||
"options": "-nographic -smp 2"
|
||||
"options": "-nographic -machine q35,smbios-entry-point-type=32"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
"arch": "x86_64",
|
||||
"console_type": "telnet",
|
||||
"kvm": "require",
|
||||
"options": "-nographic -enable-kvm"
|
||||
"options": "-nographic -enable-kvm -machine q35,smbios-entry-point-type=32"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
|
||||
@@ -19,11 +19,12 @@
|
||||
"adapter_type": "vmxnet3",
|
||||
"adapters": 6,
|
||||
"ram": 4096,
|
||||
"cpus": 2,
|
||||
"hda_disk_interface": "ide",
|
||||
"arch": "x86_64",
|
||||
"console_type": "telnet",
|
||||
"kvm": "require",
|
||||
"options": "-smp 2"
|
||||
"options": "-machine q35,smbios-entry-point-type=32"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
|
||||
@@ -28,140 +28,80 @@
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "chr-7.11.2.img",
|
||||
"version": "7.11.2",
|
||||
"md5sum": "fbffd097d2c5df41fc3335c3977f782c",
|
||||
"filename": "chr-7.16.img",
|
||||
"version": "7.16",
|
||||
"md5sum": "a4c2d00a87e73b3129cd66a4e0743c9a",
|
||||
"filesize": 134217728,
|
||||
"download_url": "http://www.mikrotik.com/download",
|
||||
"direct_download_url": "https://download.mikrotik.com/routeros/7.11.2/chr-7.11.2.img.zip",
|
||||
"direct_download_url": "https://download.mikrotik.com/routeros/7.16/chr-7.16.img.zip",
|
||||
"compression": "zip"
|
||||
},
|
||||
{
|
||||
"filename": "chr-7.10.1.img",
|
||||
"version": "7.10.1",
|
||||
"md5sum": "917729e79b9992562f4160d461b21cac",
|
||||
"filename": "chr-7.15.3.img",
|
||||
"version": "7.15.3",
|
||||
"md5sum": "5af8c748a0de4e8e8b303180738721a9",
|
||||
"filesize": 134217728,
|
||||
"download_url": "http://www.mikrotik.com/download",
|
||||
"direct_download_url": "https://download.mikrotik.com/routeros/7.10.1/chr-7.10.1.img.zip",
|
||||
"direct_download_url": "https://download.mikrotik.com/routeros/7.15.3/chr-7.15.3.img.zip",
|
||||
"compression": "zip"
|
||||
},
|
||||
{
|
||||
"filename": "chr-7.7.img",
|
||||
"version": "7.7",
|
||||
"md5sum": "efc4fdeb1cc06dc240a14f1215fd59b3",
|
||||
"filename": "chr-7.14.3.img",
|
||||
"version": "7.14.3",
|
||||
"md5sum": "73f527efef81b529b267a0683cb87617",
|
||||
"filesize": 134217728,
|
||||
"download_url": "http://www.mikrotik.com/download",
|
||||
"direct_download_url": "https://download.mikrotik.com/routeros/7.7/chr-7.7.img.zip",
|
||||
"direct_download_url": "https://download.mikrotik.com/routeros/7.14.3/chr-7.14.3.img.zip",
|
||||
"compression": "zip"
|
||||
},
|
||||
{
|
||||
"filename": "chr-7.6.img",
|
||||
"version": "7.6",
|
||||
"md5sum": "864482f9efaea9d40910c050318f65b9",
|
||||
"filesize": 134217728,
|
||||
"download_url": "http://www.mikrotik.com/download",
|
||||
"direct_download_url": "https://download.mikrotik.com/routeros/7.6/chr-7.6.img.zip",
|
||||
"compression": "zip"
|
||||
},
|
||||
{
|
||||
"filename": "chr-7.3.1.img",
|
||||
"version": "7.3.1",
|
||||
"md5sum": "99f8ea75f8b745a8bf5ca3cc1bd325e3",
|
||||
"filesize": 134217728,
|
||||
"download_url": "http://www.mikrotik.com/download",
|
||||
"direct_download_url": "https://download.mikrotik.com/routeros/7.3.1/chr-7.3.1.img.zip",
|
||||
"compression": "zip"
|
||||
},
|
||||
{
|
||||
"filename": "chr-7.1.5.img",
|
||||
"version": "7.1.5",
|
||||
"md5sum": "9c0be05f891df2b1400bdae5e719898e",
|
||||
"filesize": 134217728,
|
||||
"download_url": "http://www.mikrotik.com/download",
|
||||
"direct_download_url": "https://download.mikrotik.com/routeros/7.1.5/chr-7.1.5.img.zip",
|
||||
"compression": "zip"
|
||||
},
|
||||
{
|
||||
"filename": "chr-6.49.10.img",
|
||||
"version": "6.49.10",
|
||||
"md5sum": "49ae1ecfe310aea1df37b824aa13cf84",
|
||||
"filename": "chr-6.49.17.img",
|
||||
"version": "6.49.17",
|
||||
"md5sum": "ad9f4bd8cd4965a403350deeb5d35b96",
|
||||
"filesize": 67108864,
|
||||
"download_url": "http://www.mikrotik.com/download",
|
||||
"direct_download_url": "https://download.mikrotik.com/routeros/6.49.10/chr-6.49.10.img.zip",
|
||||
"direct_download_url": "https://download.mikrotik.com/routeros/6.49.17/chr-6.49.17.img.zip",
|
||||
"compression": "zip"
|
||||
},
|
||||
{
|
||||
"filename": "chr-6.49.6.img",
|
||||
"version": "6.49.6",
|
||||
"md5sum": "ae27d38acc9c4dcd875e0f97bcae8d97",
|
||||
"filename": "chr-6.49.13.img",
|
||||
"version": "6.49.13",
|
||||
"md5sum": "18349e1c3209495e571bcbee8a7e3259",
|
||||
"filesize": 67108864,
|
||||
"download_url": "http://www.mikrotik.com/download",
|
||||
"direct_download_url": "https://download.mikrotik.com/routeros/6.49.6/chr-6.49.6.img.zip",
|
||||
"compression": "zip"
|
||||
},
|
||||
{
|
||||
"filename": "chr-6.48.6.img",
|
||||
"version": "6.48.6",
|
||||
"md5sum": "875574a561570227ff8f395aabe478c6",
|
||||
"filesize": 67108864,
|
||||
"download_url": "http://www.mikrotik.com/download",
|
||||
"direct_download_url": "https://download.mikrotik.com/routeros/6.48.6/chr-6.48.6.img.zip",
|
||||
"direct_download_url": "https://download.mikrotik.com/routeros/6.49.13/chr-6.49.13.img.zip",
|
||||
"compression": "zip"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "7.11.2",
|
||||
"name": "7.16",
|
||||
"images": {
|
||||
"hda_disk_image": "chr-7.11.2.img"
|
||||
"hda_disk_image": "chr-7.16.img"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.10.1",
|
||||
"name": "7.15.3",
|
||||
"images": {
|
||||
"hda_disk_image": "chr-7.10.1.img"
|
||||
"hda_disk_image": "chr-7.15.3.img"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.7",
|
||||
"name": "7.14.3",
|
||||
"images": {
|
||||
"hda_disk_image": "chr-7.7.img"
|
||||
"hda_disk_image": "chr-7.14.3.img"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.6",
|
||||
"name": "6.49.17",
|
||||
"images": {
|
||||
"hda_disk_image": "chr-7.6.img"
|
||||
"hda_disk_image": "chr-6.49.17.img"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.3.1",
|
||||
"name": "6.49.13",
|
||||
"images": {
|
||||
"hda_disk_image": "chr-7.3.1.img"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.1.5",
|
||||
"images": {
|
||||
"hda_disk_image": "chr-7.1.5.img"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6.49.10",
|
||||
"images": {
|
||||
"hda_disk_image": "chr-6.49.10.img"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6.49.6",
|
||||
"images": {
|
||||
"hda_disk_image": "chr-6.49.6.img"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6.48.6",
|
||||
"images": {
|
||||
"hda_disk_image": "chr-6.48.6.img"
|
||||
"hda_disk_image": "chr-6.49.13.img"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
"documentation_url": "http://wiki.mikrotik.com/wiki/Manual:CHR",
|
||||
"product_name": "MikroTik RouterBOARD 1100AHx4 Dude Edition",
|
||||
"product_url": "http://www.mikrotik.com/download",
|
||||
"registry_version": 5,
|
||||
"registry_version": 4,
|
||||
"status": "stable",
|
||||
"maintainer": "Azorian Solutions",
|
||||
"maintainer_email": "help@azorian.solutions",
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
"documentation_url": "http://wiki.mikrotik.com/wiki/Manual:CHR",
|
||||
"product_name": "MikroTik RouterBOARD 450G",
|
||||
"product_url": "http://www.mikrotik.com/download",
|
||||
"registry_version": 5,
|
||||
"registry_version": 4,
|
||||
"status": "stable",
|
||||
"maintainer": "Azorian Solutions",
|
||||
"maintainer_email": "help@azorian.solutions",
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
"documentation_url": "http://wiki.mikrotik.com/wiki/Manual:CHR",
|
||||
"product_name": "MikroTik RouterBOARD 450Gx4",
|
||||
"product_url": "http://www.mikrotik.com/download",
|
||||
"registry_version": 5,
|
||||
"registry_version": 4,
|
||||
"status": "stable",
|
||||
"maintainer": "Azorian Solutions",
|
||||
"maintainer_email": "help@azorian.solutions",
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"appliance_id": "00714342-14b2-4281-aa20-9043ca8dc26e",
|
||||
"name": "NixOS",
|
||||
"category": "guest",
|
||||
"description": "NixOS QEMU Appliance for images created with nixos-generator. Automatically sets hostname based on vmname.",
|
||||
"vendor_name": "NixOS",
|
||||
"vendor_url": "https://nixos.org/",
|
||||
"vendor_logo_url": "https://avatars.githubusercontent.com/u/487568",
|
||||
"documentation_url": "https://github.com/ob7/gns3-nixos-appliance",
|
||||
"product_name": "NixOS",
|
||||
"product_url": "https://github.com/NixOS/nixpkgs",
|
||||
"registry_version": 4,
|
||||
"status": "experimental",
|
||||
"availability": "free",
|
||||
"maintainer": "ob7dev",
|
||||
"maintainer_email": "dev@ob7.us",
|
||||
"usage": "For custom NixOS images, create qcow2 VM with: nixos-generate -f qcow -c ./server.nix Import it into GNS3 as image. VM name is passed into QEMU guest with Advanced Options field entry: -fw_cfg name=opt/vm_hostname,string=%vm-name%",
|
||||
"symbol": ":/symbols/affinity/circle/gray/template.svg",
|
||||
"first_port_name": "eth0",
|
||||
"port_name_format": "eth{0}",
|
||||
"qemu": {
|
||||
"adapter_type": "e1000",
|
||||
"adapters": 4,
|
||||
"ram": 256,
|
||||
"cpus": 1,
|
||||
"hda_disk_interface": "ide",
|
||||
"arch": "x86_64",
|
||||
"console_type": "telnet",
|
||||
"kvm": "allow",
|
||||
"options": "-fw_cfg name=opt/vm_hostname,string=%vm-name%",
|
||||
"on_close": "power_off"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "nixos-24-11.qcow2",
|
||||
"version": "24.11",
|
||||
"md5sum": "2459f05136836dd430402d75cba0f205",
|
||||
"download_url": "https://github.com/nix-community/nixos-generators",
|
||||
"filesize": 1749483520,
|
||||
"download_url": "https://f.ob7.us/gns3/",
|
||||
"direct_download_url": "http://ob7.us/nixos-24-11.qcow2"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "24.11",
|
||||
"images": {
|
||||
"hda_disk_image": "nixos-24-11.qcow2"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -26,6 +26,14 @@
|
||||
"kvm": "require"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "openmediavault_7.0.32-amd64.iso",
|
||||
"version": "7.0.32",
|
||||
"md5sum": "36d1fda7de0c8dd6806a65145845d362",
|
||||
"filesize": 981467136,
|
||||
"download_url": "https://www.openmediavault.org/download.html",
|
||||
"direct_download_url": "https://sourceforge.net/projects/openmediavault/files/iso/7.0-32/openmediavault_7.0-32-amd64.iso"
|
||||
},
|
||||
{
|
||||
"filename": "openmediavault_6.5.0-amd64.iso",
|
||||
"version": "6.5.0",
|
||||
@@ -68,6 +76,14 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "7.0.32",
|
||||
"images": {
|
||||
"hda_disk_image": "empty30G.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2",
|
||||
"cdrom_image": "openmediavault_7.0.32-amd64.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "6.5.0",
|
||||
"images": {
|
||||
|
||||
@@ -16,6 +16,6 @@
|
||||
"docker": {
|
||||
"adapters": 16,
|
||||
"image": "gns3/openvswitch:latest",
|
||||
"environment": "MANAGEMENT_INTERFACE=1"
|
||||
"environment": "MANAGEMENT_INTERFACE=eth0"
|
||||
}
|
||||
}
|
||||
@@ -25,6 +25,20 @@
|
||||
"kvm": "require"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "OPNsense-24.7-nano-amd64.img",
|
||||
"version": "24.7",
|
||||
"md5sum": "4f75dc2c948b907cbf73763b1539677c",
|
||||
"filesize": 3221225472,
|
||||
"download_url": "https://opnsense.c0urier.net/releases/24.7/"
|
||||
},
|
||||
{
|
||||
"filename": "OPNsense-24.1-nano-amd64.img",
|
||||
"version": "24.1",
|
||||
"md5sum": "ea8472df2c272419b7834cddaf68048d",
|
||||
"filesize": 3221225472,
|
||||
"download_url": "https://opnsense.c0urier.net/releases/24.1/"
|
||||
},
|
||||
{
|
||||
"filename": "OPNsense-23.1-OpenSSL-nano-amd64.img",
|
||||
"version": "23.1",
|
||||
@@ -62,6 +76,18 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "24.7",
|
||||
"images": {
|
||||
"hda_disk_image": "OPNsense-24.7-nano-amd64.img"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "24.1",
|
||||
"images": {
|
||||
"hda_disk_image": "OPNsense-24.1-nano-amd64.img"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "23.1",
|
||||
"images": {
|
||||
|
||||
@@ -30,6 +30,13 @@
|
||||
"options": "-vga std -usbdevice tablet"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"version": "1.3.0",
|
||||
"filename": "ostinatostd-1.3.0-1.qcow2",
|
||||
"filesize": 173735936,
|
||||
"md5sum": "ff25fed989c43aeac84bf0d542ad43ba",
|
||||
"download_url": "https://ostinato.org/pricing/gns3"
|
||||
},
|
||||
{
|
||||
"filename": "ostinatostd-1.2.0-1.qcow2",
|
||||
"version": "1.2.0",
|
||||
@@ -46,6 +53,12 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "1.3.0",
|
||||
"images": {
|
||||
"hda_disk_image": "ostinatostd-1.3.0-1.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "1.2.0",
|
||||
"images": {
|
||||
|
||||
@@ -28,6 +28,20 @@
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "PA-VM-KVM-11.0.0.qcow2",
|
||||
"version": "11.0.0",
|
||||
"md5sum": "fc54b0e680ca2bcecb5522430e420f06",
|
||||
"filesize": 4130865152,
|
||||
"download_url": "https://support.paloaltonetworks.com/Updates/SoftwareUpdates/"
|
||||
},
|
||||
{
|
||||
"filename": "PA-VM-KVM-10.2.3.qcow2",
|
||||
"version": "10.2.3",
|
||||
"md5sum": "0e7b2a52d1447186d335ef9a1a197c6c",
|
||||
"filesize": 5298585600,
|
||||
"download_url": "https://support.paloaltonetworks.com/Updates/SoftwareUpdates/"
|
||||
},
|
||||
{
|
||||
"filename": "PA-VM-KVM-10.1.0.qcow2",
|
||||
"version": "10.1.0",
|
||||
"md5sum": "8266fd412a22694749f2cd4afcd5fa33",
|
||||
@@ -128,6 +142,18 @@
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "11.0.0",
|
||||
"images": {
|
||||
"hda_disk_image": "PA-VM-KVM-11.0.0.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "10.2.3",
|
||||
"images": {
|
||||
"hda_disk_image": "PA-VM-KVM-10.2.3.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "10.1.0",
|
||||
"images": {
|
||||
"hda_disk_image": "PA-VM-KVM-10.1.0.qcow2"
|
||||
|
||||
@@ -24,6 +24,13 @@
|
||||
"process_priority": "normal"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "pfSense-CE-2.7.2-RELEASE-amd64.iso",
|
||||
"version": "2.7.2",
|
||||
"md5sum": "50c3e723d68ec74d038041a34fa846f8",
|
||||
"filesize": 874672128,
|
||||
"download_url": "https://www.pfsense.org/download/mirror.php?section=downloads"
|
||||
},
|
||||
{
|
||||
"filename": "pfSense-CE-2.7.0-RELEASE-amd64.iso",
|
||||
"version": "2.7.0",
|
||||
@@ -76,6 +83,13 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "2.7.2",
|
||||
"images": {
|
||||
"hda_disk_image": "empty100G.qcow2",
|
||||
"cdrom_image": "pfSense-CE-2.7.2-RELEASE-amd64.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "2.7.0",
|
||||
"images": {
|
||||
|
||||
@@ -24,17 +24,17 @@
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "ReactOS-0.4.14-release-15-gb6088a6.iso",
|
||||
"version": "Installer-0.4.14-release-15",
|
||||
"md5sum": "af4be6b27463446905f155f14232d2b4",
|
||||
"filename": "ReactOS-0.4.14-release-21-g1302c1b.iso",
|
||||
"version": "Installer-0.4.14-release-21",
|
||||
"md5sum": "a30bc9143788c76ed584ffd5d25fddfe",
|
||||
"filesize": 140509184,
|
||||
"download_url": "https://reactos.org/download",
|
||||
"direct_download_url": "https://sourceforge.net/projects/reactos/files/ReactOS/0.4.14/ReactOS-0.4.14-release-21-g1302c1b-iso.zip/download"
|
||||
},
|
||||
{
|
||||
"filename": "ReactOS-0.4.14-release-15-gb6088a6-Live.iso",
|
||||
"version": "Live-0.4.14-release-15",
|
||||
"md5sum": "73c1a0169a9a3b8a4feb91f4d00f5e97",
|
||||
"filename": "ReactOS-0.4.14-release-21-g1302c1b-Live.iso",
|
||||
"version": "Live-0.4.14-release-21",
|
||||
"md5sum": "fc362820069adeea088b3a48dcfa3f9e",
|
||||
"filesize": 267386880,
|
||||
"download_url": "https://reactos.org/download",
|
||||
"direct_download_url": "https://sourceforge.net/projects/reactos/files/ReactOS/0.4.14/ReactOS-0.4.14-release-21-g1302c1b-live.zip/download"
|
||||
@@ -50,17 +50,17 @@
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "Installer-0.4.14-release-15",
|
||||
"name": "Installer-0.4.14-release-21",
|
||||
"images": {
|
||||
"hda_disk_image": "empty30G.qcow2",
|
||||
"cdrom_image": "ReactOS-0.4.14-release-15-gb6088a6.iso"
|
||||
"cdrom_image": "ReactOS-0.4.14-release-21-g1302c1b.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Live-0.4.14-release-15",
|
||||
"name": "Live-0.4.14-release-21",
|
||||
"images": {
|
||||
"hda_disk_image": "empty30G.qcow2",
|
||||
"cdrom_image": "ReactOS-0.4.14-release-15-gb6088a6-Live.iso"
|
||||
"cdrom_image": "ReactOS-0.4.14-release-21-g1302c1b-Live.iso"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@@ -11,9 +11,9 @@
|
||||
"registry_version": 4,
|
||||
"status": "stable",
|
||||
"availability": "service-contract",
|
||||
"maintainer": "Neyder Achahuanco",
|
||||
"maintainer_email": "neyder@neyder.net",
|
||||
"usage": "You should download Red Hat Enterprise Linux KVM Guest Image from https://access.redhat.com/downloads/content/479/ver=/rhel---9/9.2/x86_64/product-software attach/customize cloud-init.iso and start.\nusername: cloud-user\npassword: redhat",
|
||||
"maintainer": "Da-Geek",
|
||||
"maintainer_email": "dageek@dageeks-geeks.gg",
|
||||
"usage": "You should download Red Hat Enterprise Linux KVM Guest Image from https://access.redhat.com/downloads/content/479/ver=/rhel---9/9.3/x86_64/product-software attach/customize rhel-cloud-init.iso and start.\nusername: cloud-user\npassword: redhat",
|
||||
"qemu": {
|
||||
"adapter_type": "virtio-net-pci",
|
||||
"adapters": 1,
|
||||
@@ -26,6 +26,13 @@
|
||||
"options": "-cpu host -nographic"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "rhel-9.3-x86_64-kvm.qcow2",
|
||||
"version": "9.3",
|
||||
"md5sum": "409d8d15f5177db2617b0e3e02139b5c",
|
||||
"filesize": 858193920,
|
||||
"download_url": "https://access.redhat.com/downloads/content/479/ver=/rhel---9/9.3/x86_64/product-software"
|
||||
},
|
||||
{
|
||||
"filename": "rhel-9.2-x86_64-kvm.qcow2",
|
||||
"version": "9.2",
|
||||
@@ -112,6 +119,13 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "9.3",
|
||||
"images": {
|
||||
"hda_disk_image": "rhel-9.3-x86_64-kvm.qcow2",
|
||||
"cdrom_image": "rhel-cloud-init.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "9.2",
|
||||
"images": {
|
||||
|
||||
@@ -26,6 +26,14 @@
|
||||
"options": "-nographic -cpu host"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "Rocky-9-GenericCloud-Base-9.3-20231113.0.x86_64.qcow2",
|
||||
"version": "9.3",
|
||||
"md5sum": "48cdeb033364af5909e15ee48d0e144d",
|
||||
"filesize": 1083965440,
|
||||
"download_url": "https://download.rockylinux.org/pub/rocky/9/images/x86_64/",
|
||||
"direct_download_url": "https://download.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-GenericCloud-Base-9.3-20231113.0.x86_64.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "Rocky-9-GenericCloud-Base-9.2-20230513.0.x86_64.qcow2",
|
||||
"version": "9.2",
|
||||
@@ -34,6 +42,14 @@
|
||||
"download_url": "https://download.rockylinux.org/pub/rocky/9/images/x86_64/",
|
||||
"direct_download_url": "https://download.rockylinux.org/pub/rocky/9/images/x86_64/Rocky-9-GenericCloud-Base-9.2-20230513.0.x86_64.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "Rocky-8-GenericCloud-Base-8.9-20231119.0.x86_64.qcow2",
|
||||
"version": "8.9",
|
||||
"md5sum": "50c44d8d9c4df43694372c13768f114c",
|
||||
"filesize": 1971978240,
|
||||
"download_url": "https://download.rockylinux.org/pub/rocky/8/images/x86_64/",
|
||||
"direct_download_url": "https://download.rockylinux.org/pub/rocky/8/images/x86_64/Rocky-8-GenericCloud-Base-8.9-20231119.0.x86_64.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "Rocky-8-GenericCloud-Base-8.8-20230518.0.x86_64.qcow2",
|
||||
"version": "8.8",
|
||||
@@ -52,6 +68,13 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "9.3",
|
||||
"images": {
|
||||
"hda_disk_image": "Rocky-9-GenericCloud-Base-9.3-20231113.0.x86_64.qcow2",
|
||||
"cdrom_image": "rocky-cloud-init-data.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "9.2",
|
||||
"images": {
|
||||
@@ -59,6 +82,13 @@
|
||||
"cdrom_image": "rocky-cloud-init-data.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "8.9",
|
||||
"images": {
|
||||
"hda_disk_image": "Rocky-8-GenericCloud-Base-8.9-20231119.0.x86_64.qcow2",
|
||||
"cdrom_image": "rocky-cloud-init-data.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "8.8",
|
||||
"images": {
|
||||
|
||||
@@ -13,18 +13,27 @@
|
||||
"status": "stable",
|
||||
"maintainer": "Brent Stewart",
|
||||
"maintainer_email": "brent@stewart.tc",
|
||||
"usage": "Your default account will have sudo priviledges. Squil and Squert username and password are configured in the Setup wizard. MySQL root is set to null. For more info see https://github.com/Security-Onion-Solutions/security-onion/wiki/Passwords.",
|
||||
"usage": "Your default account will have sudo privileges. Squil and Squert username and password are configured in the Setup wizard. MySQL root is set to null. For more info see https://github.com/Security-Onion-Solutions/security-onion/wiki/Passwords.",
|
||||
"symbol": "securityonion-logo.png",
|
||||
"qemu": {
|
||||
"adapter_type": "e1000",
|
||||
"adapters": 2,
|
||||
"ram": 3072,
|
||||
"ram": 4096,
|
||||
"hda_disk_interface": "ide",
|
||||
"arch": "x86_64",
|
||||
"console_type": "vnc",
|
||||
"kvm": "allow"
|
||||
"kvm": "allow",
|
||||
"options": "-cpu host"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "securityonion-2.4.80-20240624.iso",
|
||||
"version": "2.4.80-20240624",
|
||||
"md5sum": "139f9762e926f9cb3c4a9528a3752c31",
|
||||
"filesize": 12391022592,
|
||||
"download_url": "https://github.com/Security-Onion-Solutions/securityonion/blob/2.4/main/DOWNLOAD_AND_VERIFY_ISO.md",
|
||||
"direct_download_url": "https://download.securityonion.net/file/securityonion/securityonion-2.4.80-20240624.iso"
|
||||
},
|
||||
{
|
||||
"filename": "securityonion-16.04.7.1.iso",
|
||||
"version": "16.04.7.1",
|
||||
@@ -49,6 +58,14 @@
|
||||
"download_url": "https://github.com/Security-Onion-Solutions/security-onion/releases/",
|
||||
"direct_download_url": "https://github.com/Security-Onion-Solutions/security-onion/releases/download/v14.04.5.4_20171031/securityonion-14.04.5.4.iso"
|
||||
},
|
||||
{
|
||||
"filename": "empty100G.qcow2",
|
||||
"version": "1.0",
|
||||
"md5sum": "5d9fec18a980f13002028491259f158d",
|
||||
"filesize": 198656,
|
||||
"download_url": "https://github.com/riverbed/Riverbed-Community-Toolkit/raw/master/SteelHead/GNS3",
|
||||
"direct_download_url": "https://github.com/riverbed/Riverbed-Community-Toolkit/raw/master/SteelHead/GNS3/empty100G.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "empty30G.qcow2",
|
||||
"version": "1.0",
|
||||
@@ -59,6 +76,13 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "2.4.80-20240624",
|
||||
"images": {
|
||||
"hda_disk_image": "empty100G.qcow2",
|
||||
"cdrom_image": "securityonion-2.4.80-20240624.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "16.04.7.1",
|
||||
"images": {
|
||||
|
||||
@@ -0,0 +1,104 @@
|
||||
{
|
||||
"appliance_id": "8c19ccaa-a1d0-4473-94a2-a93b64924d88",
|
||||
"name": "TrueNAS",
|
||||
"category": "guest",
|
||||
"description": "TrueNAS is a family of network-attached storage (NAS) products produced by iXsystems, incorporating both FOSS, as well as commercial offerings. Based on the OpenZFS file system, TrueNAS runs on FreeBSD as well as Linux and is available under the BSD License It is compatible with x86-64 hardware and is also available as turnkey appliances from iXsystems.",
|
||||
"vendor_name": "iXsystems",
|
||||
"vendor_url": "https://www.truenas.com/",
|
||||
"documentation_url": "https://www.truenas.com/docs/",
|
||||
"product_name": "TrueNAS",
|
||||
"product_url": "https://www.truenas.com/",
|
||||
"registry_version": 4,
|
||||
"status": "stable",
|
||||
"maintainer": "GNS3 Team",
|
||||
"maintainer_email": "developers@gns3.net",
|
||||
"usage": "To install TrueNAS SCALE you may have to select the Legacy BIOS option.",
|
||||
"port_name_format": "eth{0}",
|
||||
"qemu": {
|
||||
"adapter_type": "e1000",
|
||||
"adapters": 1,
|
||||
"ram": 8192,
|
||||
"hda_disk_interface": "ide",
|
||||
"hdb_disk_interface": "ide",
|
||||
"arch": "x86_64",
|
||||
"console_type": "vnc",
|
||||
"boot_priority": "cd",
|
||||
"kvm": "require"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "TrueNAS-13.0-U6.2.iso",
|
||||
"version": "CORE 13.0 U6.2",
|
||||
"md5sum": "8b2882b53af5e9f3ca905c6acdee1690",
|
||||
"filesize": 1049112576,
|
||||
"download_url": "https://www.truenas.com/download-truenas-core/",
|
||||
"direct_download_url": "https://download-core.sys.truenas.net/13.0/STABLE/U6.2/x64/TrueNAS-13.0-U6.2.iso"
|
||||
},
|
||||
{
|
||||
"filename": "TrueNAS-13.3-RELEASE.iso",
|
||||
"version": "CORE 13.3 RELEASE",
|
||||
"md5sum": "8bb16cfb06f3f1374a27cf6aebb14ed3",
|
||||
"filesize": 995567616,
|
||||
"download_url": "https://www.truenas.com/download-truenas-core/",
|
||||
"direct_download_url": "https://download-core.sys.truenas.net/13.3/STABLE/RELEASE/x64/TrueNAS-13.3-RELEASE.iso"
|
||||
},
|
||||
{
|
||||
"filename": "TrueNAS-SCALE-24.04.2.2.iso",
|
||||
"version": "SCALE 24.04.2.2",
|
||||
"md5sum": "47d9026254a0775800bb2b8ab6d874fd",
|
||||
"filesize": 1630355456,
|
||||
"download_url": "https://www.truenas.com/download-truenas-scale/",
|
||||
"direct_download_url": "https://download.sys.truenas.net/TrueNAS-SCALE-Dragonfish/24.04.2.2/TrueNAS-SCALE-24.04.2.2.iso"
|
||||
},
|
||||
{
|
||||
"filename": "TrueNAS-SCALE-24.10-BETA.1.iso",
|
||||
"version": "SCALE 24.10-BETA.1",
|
||||
"md5sum": "cc3d5758d1db3d55ae9c8716f5d43b88",
|
||||
"filesize": 1491378176,
|
||||
"download_url": "https://www.truenas.com/download-truenas-scale/",
|
||||
"direct_download_url": "https://download.sys.truenas.net/TrueNAS-SCALE-ElectricEel-BETA/24.10-BETA.1/TrueNAS-SCALE-24.10-BETA.1.iso"
|
||||
},
|
||||
{
|
||||
"filename": "empty30G.qcow2",
|
||||
"version": "1.0",
|
||||
"md5sum": "3411a599e822f2ac6be560a26405821a",
|
||||
"filesize": 197120,
|
||||
"download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
|
||||
"direct_download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty30G.qcow2/download"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "CORE 13.0 U6.2",
|
||||
"images": {
|
||||
"hda_disk_image": "empty30G.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2",
|
||||
"cdrom_image": "TrueNAS-13.0-U6.2.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "CORE 13.3 RELEASE",
|
||||
"images": {
|
||||
"hda_disk_image": "empty30G.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2",
|
||||
"cdrom_image": "TrueNAS-13.3-RELEASE.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "SCALE 24.04.2.2",
|
||||
"images": {
|
||||
"hda_disk_image": "empty30G.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2",
|
||||
"cdrom_image": "TrueNAS-SCALE-24.04.2.2.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "SCALE 24.10-BETA.1",
|
||||
"images": {
|
||||
"hda_disk_image": "empty30G.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2",
|
||||
"cdrom_image": "TrueNAS-SCALE-24.10-BETA.1.iso"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -28,36 +28,44 @@
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "ubuntu-23.04-server-cloudimg-arm64.img",
|
||||
"version": "Ubuntu 23.04 (Lunar Lobster)",
|
||||
"md5sum": "35fa3b31b65717af6f0520a769aac8c0",
|
||||
"filesize": 786432000,
|
||||
"download_url": "https://cloud-images.ubuntu.com/releases/23.04/release/",
|
||||
"direct_download_url": "https://cloud-images.ubuntu.com/releases/23.04/release/ubuntu-23.04-server-cloudimg-arm64.img"
|
||||
"filename": "ubuntu-24.10-server-cloudimg-amd64.img",
|
||||
"version": "Ubuntu 24.10 (Oracular Oriole)",
|
||||
"md5sum": "f2960f8743efedd0a4968bfcd9451782",
|
||||
"filesize": 627360256,
|
||||
"download_url": "https://cloud-images.ubuntu.com/releases/oracular/release-20241009/",
|
||||
"direct_download_url": "https://cloud-images.ubuntu.com/releases/oracular/release-20241009/ubuntu-24.10-server-cloudimg-amd64.img"
|
||||
},
|
||||
{
|
||||
"filename": "ubuntu-24.04-server-cloudimg-amd64.img",
|
||||
"version": "Ubuntu 24.04 LTS (Noble Numbat)",
|
||||
"md5sum": "a1c8a01953578ad432cbef03db2f3161",
|
||||
"filesize": 587241984,
|
||||
"download_url": "https://cloud-images.ubuntu.com/releases/noble/release-20241004/",
|
||||
"direct_download_url": "https://cloud-images.ubuntu.com/releases/noble/release-20241004/ubuntu-24.04-server-cloudimg-amd64.img"
|
||||
},
|
||||
{
|
||||
"filename": "ubuntu-22.04-server-cloudimg-amd64.img",
|
||||
"version": "Ubuntu 22.04 LTS (Jammy Jellyfish)",
|
||||
"md5sum": "3ce0b84f9592482fb645e8253b979827",
|
||||
"filesize": 686096384,
|
||||
"download_url": "https://cloud-images.ubuntu.com/releases/jammy/release",
|
||||
"direct_download_url": "https://cloud-images.ubuntu.com/releases/jammy/release/ubuntu-22.04-server-cloudimg-amd64.img"
|
||||
"md5sum": "8f9a70435dc5b0b86cf5d0d4716b6091",
|
||||
"filesize": 653668352,
|
||||
"download_url": "https://cloud-images.ubuntu.com/releases/jammy/release-20241002/",
|
||||
"direct_download_url": "https://cloud-images.ubuntu.com/releases/jammy/release-20241002/ubuntu-22.04-server-cloudimg-amd64.img"
|
||||
},
|
||||
{
|
||||
"filename": "ubuntu-20.04-server-cloudimg-amd64.img",
|
||||
"version": "Ubuntu 20.04 LTS (Focal Fossa)",
|
||||
"md5sum": "044bc979b2238192ee3edb44e2bb6405",
|
||||
"filesize": 552337408,
|
||||
"download_url": "https://cloud-images.ubuntu.com/releases/focal/release-20210119.1/",
|
||||
"direct_download_url": "https://cloud-images.ubuntu.com/releases/focal/release-20210119.1/ubuntu-20.04-server-cloudimg-amd64.img"
|
||||
"md5sum": "1dff90e16acb0167c27ff82e4ac1813a",
|
||||
"filesize": 627310592,
|
||||
"download_url": "https://cloud-images.ubuntu.com/releases/focal/release-20240821/",
|
||||
"direct_download_url": "https://cloud-images.ubuntu.com/releases/focal/release-20240821/ubuntu-20.04-server-cloudimg-amd64.img"
|
||||
},
|
||||
{
|
||||
"filename": "ubuntu-18.04-server-cloudimg-amd64.img",
|
||||
"version": "Ubuntu 18.04 LTS (Bionic Beaver)",
|
||||
"md5sum": "f4134e7fa16d7fa766c7467cbe25c949",
|
||||
"filesize": 336134144,
|
||||
"download_url": "https://cloud-images.ubuntu.com/releases/18.04/release-20180426.2/",
|
||||
"direct_download_url": "https://cloud-images.ubuntu.com/releases/18.04/release-20180426.2/ubuntu-18.04-server-cloudimg-amd64.img"
|
||||
"md5sum": "62fa110eeb0459c1ff166f897aeb9f78",
|
||||
"filesize": 405667840,
|
||||
"download_url": "https://cloud-images.ubuntu.com/releases/bionic/release-20230607/",
|
||||
"direct_download_url": "https://cloud-images.ubuntu.com/releases/bionic/release-20230607/ubuntu-18.04-server-cloudimg-amd64.img"
|
||||
},
|
||||
{
|
||||
"filename": "ubuntu-cloud-init-data.iso",
|
||||
@@ -70,9 +78,16 @@
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "Ubuntu 23.04 (Lunar Lobster)",
|
||||
"name": "Ubuntu 24.10 (Oracular Oriole)",
|
||||
"images": {
|
||||
"hda_disk_image": "ubuntu-23.04-server-cloudimg-arm64.img",
|
||||
"hda_disk_image": "ubuntu-24.10-server-cloudimg-amd64.img",
|
||||
"cdrom_image": "ubuntu-cloud-init-data.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Ubuntu 24.04 LTS (Noble Numbat)",
|
||||
"images": {
|
||||
"hda_disk_image": "ubuntu-24.04-server-cloudimg-amd64.img",
|
||||
"cdrom_image": "ubuntu-cloud-init-data.iso"
|
||||
}
|
||||
},
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
"symbol": "linux_guest.svg",
|
||||
"docker": {
|
||||
"adapters": 1,
|
||||
"image": "gns3/ubuntu:focal",
|
||||
"image": "gns3/ubuntu:noble",
|
||||
"console_type": "telnet"
|
||||
}
|
||||
}
|
||||
@@ -27,6 +27,13 @@
|
||||
"options": "-vga qxl"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "Ubuntu 24.04 (64bit).vmdk",
|
||||
"version": "24.04",
|
||||
"md5sum": "7709a5a1cf888c7644d245c42d217918",
|
||||
"filesize": 6432555008,
|
||||
"download_url": "https://www.osboxes.org/ubuntu/"
|
||||
},
|
||||
{
|
||||
"filename": "Ubuntu 22.04 (64bit).vmdk",
|
||||
"version": "22.04",
|
||||
@@ -57,6 +64,12 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "24.04",
|
||||
"images": {
|
||||
"hda_disk_image": "Ubuntu 24.04 (64bit).vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "22.04",
|
||||
"images": {
|
||||
|
||||
@@ -10,8 +10,8 @@
|
||||
"product_url": "http://www.cisco.com/",
|
||||
"registry_version": 4,
|
||||
"status": "experimental",
|
||||
"maintainer": "Laurent LEVIER",
|
||||
"maintainer_email": "laurent.levier@orange.com",
|
||||
"maintainer": "Christopher Uhrig",
|
||||
"maintainer_email": "christopher.uhrig@telekom.de",
|
||||
"usage": "Initial username is admin, password is admin as well.",
|
||||
"first_port_name": "Management0/0",
|
||||
"port_name_format": "Ge0/{0}",
|
||||
@@ -39,6 +39,20 @@
|
||||
"md5sum": "4aa487101d4cdc390f53a6e8b6f45ca7",
|
||||
"filesize": 328400896,
|
||||
"download_url": "http://www.cisco.com/"
|
||||
},
|
||||
{
|
||||
"filename": "viptela-edge-20.9.5.1-genericx86-64.qcow2",
|
||||
"version": "20.9.5.1",
|
||||
"md5sum": "41d9e981908fd83695de78d6ca5794bd",
|
||||
"filesize": 409468928,
|
||||
"download_url": "https://software.cisco.com/download/home/286320995/type/286321047/release/20.9.5.1"
|
||||
},
|
||||
{
|
||||
"filename": "viptela-edge-20.12.4-genericx86-64.qcow2",
|
||||
"version": "20.12.4",
|
||||
"md5sum": "9f1aedada5e632c7bc29a51c004f4486",
|
||||
"filesize": 411762688,
|
||||
"download_url": "https://software.cisco.com/download/home/286320995/type/286321047/release/20.12.4"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
@@ -53,6 +67,18 @@
|
||||
"images": {
|
||||
"hda_disk_image": "viptela-edge-genericx86-64.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "20.9.5.1",
|
||||
"images": {
|
||||
"hda_disk_image": "viptela-edge-20.9.5.1-genericx86-64.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "20.12.4",
|
||||
"images": {
|
||||
"hda_disk_image": "viptela-edge-20.12.4-genericx86-64.qcow2"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -24,6 +24,20 @@
|
||||
"options": "-smp 2,maxcpus=2 -cpu host"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "viptela-smart-20.12.4-genericx86-64.qcow2",
|
||||
"version": "20.12.4",
|
||||
"md5sum": "0e7b6468498a89195ab815260bc4cfb6",
|
||||
"filesize": 411762688,
|
||||
"download_url": "https://software.cisco.com/download/home/286320995/type/286321043/release/20.12.4"
|
||||
},
|
||||
{
|
||||
"filename": "viptela-smart-20.9.5.1-genericx86-64.qcow2",
|
||||
"version": "20.9.5.1",
|
||||
"md5sum": "08e105778bb68f8f24f323dfd263a91a",
|
||||
"filesize": 409468928,
|
||||
"download_url": "https://software.cisco.com/download/home/286320995/type/286321043/release/20.9.5.1"
|
||||
},
|
||||
{
|
||||
"filename": "viptela-smart-19.2.0-genericx86-64.qcow2",
|
||||
"version": "19.2.0",
|
||||
@@ -31,7 +45,7 @@
|
||||
"filesize": 328400896,
|
||||
"download_url": "http://www.cisco.com/"
|
||||
},
|
||||
{
|
||||
{
|
||||
"filename": "viptela-smart-genericx86-64-disk1.vmdk",
|
||||
"version": "18.3.7",
|
||||
"md5sum": "ab9b06c212319336810a4b336ec3dd96",
|
||||
@@ -51,6 +65,18 @@
|
||||
"images": {
|
||||
"hda_disk_image": "viptela-smart-19.2.0-genericx86-64.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "20.9.5.1",
|
||||
"images": {
|
||||
"hda_disk_image": "viptela-smart-20.9.5.1-genericx86-64.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "20.12.4",
|
||||
"images": {
|
||||
"hda_disk_image": "viptela-smart-20.12.4-genericx86-64.qcow2"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -10,8 +10,8 @@
|
||||
"product_url": "http://www.cisco.com/",
|
||||
"registry_version": 4,
|
||||
"status": "experimental",
|
||||
"maintainer": "Laurent LEVIER",
|
||||
"maintainer_email": "laurent.levier@orange.com",
|
||||
"maintainer": "Christopher Uhrig",
|
||||
"maintainer_email": "christopher.uhrig@telekom.de",
|
||||
"usage": "Initial username is admin, password is admin as well.",
|
||||
"qemu": {
|
||||
"adapter_type": "vmxnet3",
|
||||
@@ -25,14 +25,28 @@
|
||||
"options": "-cpu host -smp 2,maxcpus=2"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
{
|
||||
"filename": "viptela-vmanage-20.12.4-genericx86-64.qcow2",
|
||||
"version": "20.12.4",
|
||||
"md5sum": "4e0d4c379623c495a0bb671a76a12f9f",
|
||||
"filesize": 4951375872,
|
||||
"download_url": "https://software.cisco.com/download/home/286320995/type/286321039/release/20.12.4"
|
||||
},
|
||||
{
|
||||
"filename": "viptela-vmanage-20.9.5.2-genericx86-64.qcow2",
|
||||
"version": "20.9.5.2",
|
||||
"md5sum": "a8a4ebee0274541200f4fe94a739d454",
|
||||
"filesize": 3133865984,
|
||||
"download_url": "https://software.cisco.com/download/home/286320995/type/286321039/release/20.9.5.2"
|
||||
},
|
||||
{
|
||||
"filename": "viptela-vmanage-19.2.0-genericx86-64.qcow2",
|
||||
"version": "19.2.0",
|
||||
"md5sum": "27ef126f178c6c929a36ad2cf6ed8db7",
|
||||
"filesize": 1185349632,
|
||||
"download_url": "http://www.cisco.com/"
|
||||
},
|
||||
{
|
||||
{
|
||||
"filename": "viptela-vmanage-genericx86-64-disk1.vmdk",
|
||||
"version": "18.3.7",
|
||||
"md5sum": "2290c6467c907d9ca9c65793fe898716",
|
||||
@@ -55,6 +69,20 @@
|
||||
"hda_disk_image": "viptela-vmanage-19.2.0-genericx86-64.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "20.12.4",
|
||||
"images": {
|
||||
"hda_disk_image": "viptela-vmanage-20.12.4-genericx86-64.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "20.9.5.2",
|
||||
"images": {
|
||||
"hda_disk_image": "viptela-vmanage-20.9.5.2-genericx86-64.qcow2",
|
||||
"hdb_disk_image": "empty30G.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "18.3.7",
|
||||
|
||||
+103
-106
@@ -1,181 +1,178 @@
|
||||
{
|
||||
"appliance_id": "f82b74c4-0f30-456f-a582-63daca528502",
|
||||
"name": "VyOS",
|
||||
"name": "VyOS Universal Router",
|
||||
"category": "router",
|
||||
"description": "VyOS is a community fork of Vyatta, a Linux-based network operating system that provides software-based network routing, firewall, and VPN functionality.",
|
||||
"vendor_name": "Linux",
|
||||
"vendor_url": "https://vyos.net/",
|
||||
"description": "VyOS is an open-source network operating system that provides a comprehensive suite of features for routing, firewalling, and VPN functionality. VyOS offers a robust and flexible solution for both small-scale and large-scale network environments. It is designed to support enterprise-grade networking with the added benefits of community-driven development and continuous updates.\n\nThe VyOS Universal Router, when used in GNS3, brings the power and versatility of VyOS to network simulation and emulation. GNS3 users can deploy the VyOS Universal Router to create and test complex network topologies in a virtual environment. This appliance provides a rich set of features, including dynamic routing protocols, stateful firewall capabilities, various VPNs, as well as high availability configurations.\n\nThe seamless integration with GNS3 allows network engineers and architects to validate network designs, perform testing and troubleshooting, and enhance their skill sets in a controlled, risk-free environment.",
|
||||
"vendor_name": "VyOS Inc.",
|
||||
"vendor_url": "https://vyos.io/",
|
||||
"vendor_logo_url": "https://raw.githubusercontent.com/GNS3/gns3-registry/master/vendor-logos/VyOS.png",
|
||||
"documentation_url": "https://docs.vyos.io/",
|
||||
"product_name": "VyOS",
|
||||
"product_url": "https://vyos.net/",
|
||||
"product_name": "VyOS Universal Router",
|
||||
"product_url": "https://vyos.io/vyos-universal-router",
|
||||
"registry_version": 4,
|
||||
"status": "stable",
|
||||
"maintainer": "GNS3 Team",
|
||||
"maintainer_email": "developers@gns3.net",
|
||||
"usage": "Default username/password is vyos/vyos.\n\nThe -KVM versions are ready to use, no installation is required.\nThe other images will start the router from the CDROM on initial boot. Login and then type \"install image\" and follow the instructions.",
|
||||
"availability": "service-contract",
|
||||
"maintainer": "VyOS Inc.",
|
||||
"maintainer_email": "support@vyos.io",
|
||||
"usage": "\nDefault credentials:\nUser: vyos\nPassword: vyos",
|
||||
"symbol": "vyos.svg",
|
||||
"port_name_format": "eth{0}",
|
||||
"qemu": {
|
||||
"adapter_type": "e1000",
|
||||
"adapters": 3,
|
||||
"ram": 512,
|
||||
"hda_disk_interface": "scsi",
|
||||
"adapter_type": "virtio-net-pci",
|
||||
"adapters": 10,
|
||||
"ram": 2048,
|
||||
"cpus": 4,
|
||||
"hda_disk_interface": "virtio",
|
||||
"arch": "x86_64",
|
||||
"console_type": "telnet",
|
||||
"boot_priority": "cd",
|
||||
"kvm": "allow"
|
||||
"boot_priority": "c",
|
||||
"kvm": "require",
|
||||
"on_close": "shutdown_signal"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "vyos-1.3.2-amd64.iso",
|
||||
"filename": "vyos-1.4.0-kvm-amd64.qcow2",
|
||||
"version": "1.4.0",
|
||||
"md5sum": "a130e446bc5bf87391981f183ee3694b",
|
||||
"filesize": 468320256,
|
||||
"download_url": "https://support.vyos.io/"
|
||||
},
|
||||
{
|
||||
"filename": "vyos-1.3.7-qemu-amd64.qcow2",
|
||||
"version": "1.3.7",
|
||||
"md5sum": "f4663b1e2df115bfa5c7ec17584514d6",
|
||||
"filesize": 359792640,
|
||||
"download_url": "https://support.vyos.io/"
|
||||
},
|
||||
{
|
||||
"filename": "vyos-1.3.2-10G-qemu.qcow2",
|
||||
"version": "1.3.2",
|
||||
"md5sum": "070743faac800f9e5197058a8b6b3ba1",
|
||||
"filesize": 334495744,
|
||||
"download_url": "https://support.vyos.io/en/downloads/files/vyos-1-3-2-generic-iso-image"
|
||||
"md5sum": "68ad3fb530213189ac9ed496d5fe7897",
|
||||
"filesize": 326893568,
|
||||
"download_url": "https://support.vyos.io/"
|
||||
},
|
||||
{
|
||||
"filename": "vyos-1.3.1-S1-amd64.iso",
|
||||
"filename": "vyos-1.3.1-S1-10G-qemu.qcow2",
|
||||
"version": "1.3.1-S1",
|
||||
"md5sum": "781f345e8a4ab9eb9e075ce5c87c8817",
|
||||
"filesize": 351272960,
|
||||
"download_url": "https://support.vyos.io/en/downloads/files/vyos-1-3-1-s1-generic-iso-image"
|
||||
"md5sum": "d8ed9f82a983295b94b07f8e37c48ed0",
|
||||
"filesize": 343801856,
|
||||
"download_url": "https://support.vyos.io/"
|
||||
},
|
||||
{
|
||||
"filename": "vyos-1.3.1-amd64.iso",
|
||||
"filename": "vyos-1.3.1-10G-qemu.qcow2",
|
||||
"version": "1.3.1",
|
||||
"md5sum": "b6f57bd0cf9b60cdafa337b08ba4f2bc",
|
||||
"filesize": 350224384,
|
||||
"download_url": "https://support.vyos.io/en/downloads/files/vyos-1-3-1-generic-iso-image"
|
||||
"md5sum": "482367c833990fb2b9350e3708d33dc9",
|
||||
"filesize": 342556672,
|
||||
"download_url": "https://support.vyos.io/"
|
||||
},
|
||||
{
|
||||
"filename": "vyos-1.3.0-amd64.iso",
|
||||
"filename": "vyos-1.3.0-10G-qemu.qcow2",
|
||||
"version": "1.3.0",
|
||||
"md5sum": "2019bd9c5efa6194e2761de678d0073f",
|
||||
"filesize": 338690048,
|
||||
"download_url": "https://support.vyos.io/en/downloads/files/vyos-1-3-0-generic-iso-image"
|
||||
},
|
||||
{
|
||||
"filename": "vyos-1.2.9-S1-amd64.iso",
|
||||
"version": "1.2.9-S1",
|
||||
"md5sum": "3fece6363f9766f862e26d292d0ed5a3",
|
||||
"filesize": 430964736,
|
||||
"download_url": "https://support.vyos.io/en/downloads/files/vyos-1-2-9-s1-generic-iso-image",
|
||||
"direct_download_url": "https://legacy-lts-images.vyos.io/1.2.9-S1/vyos-1.2.9-S1-amd64.iso"
|
||||
"md5sum": "086e95e992e9b4d014c5f154cd01a6e6",
|
||||
"filesize": 330956800,
|
||||
"download_url": "https://support.vyos.io/"
|
||||
},
|
||||
{
|
||||
"filename": "vyos-1.2.9-S1-10G-qemu.qcow2",
|
||||
"version": "1.2.9-S1-KVM",
|
||||
"version": "1.2.9-S1",
|
||||
"md5sum": "0a70d78b80a3716d42487c02ef44f41f",
|
||||
"filesize": 426967040,
|
||||
"download_url": "https://support.vyos.io/en/downloads/files/vyos-1-2-9-s1-for-kvm",
|
||||
"direct_download_url": "https://legacy-lts-images.vyos.io/1.2.9-S1/vyos-1.2.9-S1-10G-qemu.qcow2"
|
||||
"download_url": "https://support.vyos.io/"
|
||||
},
|
||||
{
|
||||
"filename": "vyos-1.2.9-amd64.iso",
|
||||
"version": "1.2.9",
|
||||
"md5sum": "586be23b6256173e174c82d8f1f699a1",
|
||||
"filesize": 430964736,
|
||||
"download_url": "https://support.vyos.io/en/downloads/files/vyos-1-2-9-generic-iso-image",
|
||||
"direct_download_url": "https://legacy-lts-images.vyos.io/1.2.9/vyos-1.2.9-amd64.iso"
|
||||
},
|
||||
{
|
||||
"filename": "vyos-1.2.9-10G-qemu.qcow2",
|
||||
"version": "1.2.9-KVM",
|
||||
"md5sum": "76871c7b248c32f75177c419128257ac",
|
||||
"filesize": 427360256,
|
||||
"download_url": "https://support.vyos.io/en/downloads/files/vyos-1-2-9-10g-qemu-qcow2",
|
||||
"direct_download_url": "https://legacy-lts-images.vyos.io/1.2.9/vyos-1.2.9-10G-qemu.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "vyos-1.2.8-amd64.iso",
|
||||
"filename": "vyos-1.2.8-10G-qemu.qcow2",
|
||||
"version": "1.2.8",
|
||||
"md5sum": "0ad879db903efdbf1c39dc945e165931",
|
||||
"filesize": 429916160,
|
||||
"download_url": "https://support.vyos.io/en/downloads/files/vyos-1-2-8-generic-iso-image"
|
||||
"md5sum": "96c76f619d0f8ea11dc8a3a18ed67b98",
|
||||
"filesize": 425852928,
|
||||
"download_url": "https://support.vyos.io/"
|
||||
},
|
||||
{
|
||||
"filename": "vyos-1.1.8-amd64.iso",
|
||||
"version": "1.1.8",
|
||||
"md5sum": "95a141d4b592b81c803cdf7e9b11d8ea",
|
||||
"filesize": 241172480,
|
||||
"direct_download_url": "https://legacy-lts-images.vyos.io/vyos-1.1.8-amd64.iso"
|
||||
"filename": "vyos-1.2.7-qemu.qcow2",
|
||||
"version": "1.2.7",
|
||||
"md5sum": "1be4674c970fcdd65067e504baea5d74",
|
||||
"filesize": 424607744,
|
||||
"download_url": "https://support.vyos.io/"
|
||||
},
|
||||
{
|
||||
"filename": "empty8G.qcow2",
|
||||
"version": "1.0",
|
||||
"md5sum": "f1d2c25b6990f99bd05b433ab603bdb4",
|
||||
"filesize": 197120,
|
||||
"download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/",
|
||||
"direct_download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty8G.qcow2/download"
|
||||
"filename": "vyos-1.2.6-qemu.qcow2",
|
||||
"version": "1.2.6",
|
||||
"md5sum": "d8010d79889ca0ba5cb2634665e548e3",
|
||||
"filesize": 424607744,
|
||||
"download_url": "https://support.vyos.io/"
|
||||
},
|
||||
{
|
||||
"filename": "vyos-1.2.5-amd64.qcow2",
|
||||
"version": "1.2.5",
|
||||
"md5sum": "110c22309ec480600446fd2fb4f27a0d",
|
||||
"filesize": 411500544 ,
|
||||
"download_url": "https://support.vyos.io/"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "1.4.0",
|
||||
"images": {
|
||||
"hda_disk_image": "vyos-1.4.0-kvm-amd64.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "1.3.7",
|
||||
"images": {
|
||||
"hda_disk_image": "vyos-1.3.7-qemu-amd64.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "1.3.2",
|
||||
"images": {
|
||||
"hda_disk_image": "empty8G.qcow2",
|
||||
"cdrom_image": "vyos-1.3.2-amd64.iso"
|
||||
"hda_disk_image": "vyos-1.3.2-10G-qemu.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "1.3.1-S1",
|
||||
"images": {
|
||||
"hda_disk_image": "empty8G.qcow2",
|
||||
"cdrom_image": "vyos-1.3.1-S1-amd64.iso"
|
||||
"hda_disk_image": "vyos-1.3.1-S1-10G-qemu.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "1.3.1",
|
||||
"images": {
|
||||
"hda_disk_image": "empty8G.qcow2",
|
||||
"cdrom_image": "vyos-1.3.1-amd64.iso"
|
||||
"hda_disk_image": "vyos-1.3.1-10G-qemu.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "1.3.0",
|
||||
"images": {
|
||||
"hda_disk_image": "empty8G.qcow2",
|
||||
"cdrom_image": "vyos-1.3.0-amd64.iso"
|
||||
"hda_disk_image": "vyos-1.3.0-10G-qemu.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "1.2.9-S1",
|
||||
"images": {
|
||||
"hda_disk_image": "empty8G.qcow2",
|
||||
"cdrom_image": "vyos-1.2.9-S1-amd64.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "1.2.9-S1-KVM",
|
||||
"images": {
|
||||
"hda_disk_image": "vyos-1.2.9-S1-10G-qemu.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "1.2.9",
|
||||
"images": {
|
||||
"hda_disk_image": "empty8G.qcow2",
|
||||
"cdrom_image": "vyos-1.2.9-amd64.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "1.2.9-KVM",
|
||||
"images": {
|
||||
"hda_disk_image": "vyos-1.2.9-10G-qemu.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "1.2.8",
|
||||
"images": {
|
||||
"hda_disk_image": "empty8G.qcow2",
|
||||
"cdrom_image": "vyos-1.2.8-amd64.iso"
|
||||
"hda_disk_image": "vyos-1.2.8-10G-qemu.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "1.1.8",
|
||||
"name": "1.2.7",
|
||||
"images": {
|
||||
"hda_disk_image": "empty8G.qcow2",
|
||||
"cdrom_image": "vyos-1.1.8-amd64.iso"
|
||||
"hda_disk_image": "vyos-1.2.7-qemu.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "1.2.6",
|
||||
"images": {
|
||||
"hda_disk_image": "vyos-1.2.6-qemu.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "1.2.5",
|
||||
"images": {
|
||||
"hda_disk_image": "vyos-1.2.5-amd64.qcow2"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@@ -742,6 +742,7 @@ class BaseNode:
|
||||
path = shutil.which(self._manager.config.settings.Server.ubridge_path)
|
||||
return path
|
||||
|
||||
@locking
|
||||
async def _ubridge_send(self, command):
|
||||
"""
|
||||
Sends a command to uBridge hypervisor.
|
||||
|
||||
@@ -28,6 +28,7 @@ import shutil
|
||||
import platformdirs
|
||||
|
||||
from gns3server.utils import parse_version
|
||||
from gns3server.config import Config
|
||||
from gns3server.utils.asyncio import locking
|
||||
from gns3server.compute.base_manager import BaseManager
|
||||
from gns3server.compute.docker.docker_vm import DockerVM
|
||||
@@ -87,7 +88,7 @@ class Docker(BaseManager):
|
||||
f"{stdout.decode('utf-8', errors='ignore').strip()}")
|
||||
except OSError as e:
|
||||
raise DockerError(f"Could not install busybox: {e}")
|
||||
raise DockerError("No busybox executable could be found")
|
||||
raise DockerError("No busybox executable could be found, please install busybox (apt install busybox-static on Debian/Ubuntu) and make sure it is in your PATH")
|
||||
|
||||
@staticmethod
|
||||
def resources_path():
|
||||
@@ -95,8 +96,13 @@ class Docker(BaseManager):
|
||||
Get the Docker resources storage directory
|
||||
"""
|
||||
|
||||
appname = vendor = "GNS3"
|
||||
docker_resources_dir = os.path.join(platformdirs.user_data_dir(appname, vendor, roaming=True), "docker", "resources")
|
||||
resources_path = Config.instance().settings.Server.resources_path
|
||||
if not resources_path:
|
||||
appname = vendor = "GNS3"
|
||||
resources_path = platformdirs.user_data_dir(appname, vendor, roaming=True)
|
||||
else:
|
||||
resources_path = os.path.expanduser(resources_path)
|
||||
docker_resources_dir = os.path.join(resources_path, "docker")
|
||||
os.makedirs(docker_resources_dir, exist_ok=True)
|
||||
return docker_resources_dir
|
||||
|
||||
@@ -109,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}")
|
||||
@@ -193,8 +199,8 @@ class Docker(BaseManager):
|
||||
if timeout is None:
|
||||
timeout = 60 * 60 * 24 * 31 # One month timeout
|
||||
|
||||
if path == "version":
|
||||
url = "http://docker/v1.12/" + path # API of docker v1.0
|
||||
if path == 'version':
|
||||
url = "http://docker/v1.24/" + path
|
||||
else:
|
||||
url = "http://docker/v" + DOCKER_MINIMUM_API_VERSION + "/" + path
|
||||
try:
|
||||
|
||||
@@ -34,6 +34,7 @@ from gns3server.utils.asyncio import wait_for_file_creation
|
||||
from gns3server.utils.asyncio import monitor_process
|
||||
from gns3server.utils.get_resource import get_resource
|
||||
from gns3server.utils.hostname import is_rfc1123_hostname_valid
|
||||
from gns3server.utils import macaddress_to_int, int_to_macaddress
|
||||
|
||||
from gns3server.compute.ubridge.ubridge_error import UbridgeError, UbridgeNamespaceError
|
||||
from ..base_node import BaseNode
|
||||
@@ -78,6 +79,7 @@ class DockerVM(BaseNode):
|
||||
aux=None,
|
||||
start_command=None,
|
||||
adapters=None,
|
||||
mac_address="",
|
||||
environment=None,
|
||||
console_type="telnet",
|
||||
aux_type="none",
|
||||
@@ -130,6 +132,8 @@ class DockerVM(BaseNode):
|
||||
else:
|
||||
self.adapters = adapters
|
||||
|
||||
self.mac_address = mac_address
|
||||
|
||||
log.debug(
|
||||
"{module}: {name} [{image}] initialized.".format(
|
||||
module=self.manager.module_name, name=self.name, image=self._image
|
||||
@@ -145,6 +149,7 @@ class DockerVM(BaseNode):
|
||||
"project_id": self._project.id,
|
||||
"image": self._image,
|
||||
"adapters": self.adapters,
|
||||
"mac_address": self.mac_address,
|
||||
"console": self.console,
|
||||
"console_type": self.console_type,
|
||||
"console_resolution": self.console_resolution,
|
||||
@@ -190,6 +195,36 @@ class DockerVM(BaseNode):
|
||||
def ethernet_adapters(self):
|
||||
return self._ethernet_adapters
|
||||
|
||||
@property
|
||||
def mac_address(self):
|
||||
"""
|
||||
Returns the MAC address for this Docker container.
|
||||
|
||||
:returns: adapter type (string)
|
||||
"""
|
||||
|
||||
return self._mac_address
|
||||
|
||||
@mac_address.setter
|
||||
def mac_address(self, mac_address):
|
||||
"""
|
||||
Sets the MAC address for this Docker container.
|
||||
|
||||
:param mac_address: MAC address
|
||||
"""
|
||||
|
||||
if not mac_address:
|
||||
# use the node UUID to generate a random MAC address
|
||||
self._mac_address = "02:42:%s:%s:%s:00" % (self.id[2:4], self.id[4:6], self.id[6:8])
|
||||
else:
|
||||
self._mac_address = mac_address
|
||||
|
||||
log.info('Docker container "{name}" [{id}]: MAC address changed to {mac_addr}'.format(
|
||||
name=self._name,
|
||||
id=self._id,
|
||||
mac_addr=self._mac_address)
|
||||
)
|
||||
|
||||
@property
|
||||
def start_command(self):
|
||||
return self._start_command
|
||||
@@ -429,6 +464,7 @@ class DockerVM(BaseNode):
|
||||
"Mounts": self._mount_binds(image_infos),
|
||||
"Memory": self._memory * (1024 * 1024), # convert memory to bytes
|
||||
"NanoCpus": int(self._cpus * 1e9), # convert cpus to nano cpus
|
||||
"UsernsMode": "host"
|
||||
},
|
||||
"Volumes": {},
|
||||
"Env": ["container=docker"], # Systemd compliant: https://github.com/GNS3/gns3-server/issues/573
|
||||
@@ -506,6 +542,10 @@ class DockerVM(BaseNode):
|
||||
result = await self.manager.query("POST", "containers/create", data=params)
|
||||
self._cid = result["Id"]
|
||||
log.info(f"Docker container '{self._name}' [{self._id}] created")
|
||||
if self._cpus > 0:
|
||||
log.info(f"CPU limit set to {self._cpus} CPUs")
|
||||
if self._memory > 0:
|
||||
log.info(f"Memory limit set to {self._memory} MB")
|
||||
return True
|
||||
|
||||
def _format_env(self, variables, env):
|
||||
@@ -571,6 +611,9 @@ class DockerVM(BaseNode):
|
||||
await self._start_vnc_process(restart=True)
|
||||
monitor_process(self._vnc_process, self._vnc_callback)
|
||||
|
||||
if self._console_websocket:
|
||||
await self._console_websocket.close()
|
||||
self._console_websocket = None
|
||||
await self._clean_servers()
|
||||
|
||||
await self.manager.query("POST", f"containers/{self._cid}/start")
|
||||
@@ -792,7 +835,10 @@ class DockerVM(BaseNode):
|
||||
"""
|
||||
|
||||
# resize the container TTY.
|
||||
await self._manager.query("POST", f"containers/{self._cid}/resize?h={rows}&w={columns}")
|
||||
try:
|
||||
await self._manager.query("POST", f"containers/{self._cid}/resize?h={rows}&w={columns}")
|
||||
except DockerError as e:
|
||||
log.warning(f"Could not resize the container TTY: {e}")
|
||||
|
||||
async def _start_console(self):
|
||||
"""
|
||||
@@ -833,9 +879,7 @@ class DockerVM(BaseNode):
|
||||
f"containers/{self._cid}/attach/ws?stream=1&stdin=1&stdout=1&stderr=1"
|
||||
)
|
||||
input_stream.ws = self._console_websocket
|
||||
|
||||
output_stream.feed_data(self.name.encode() + b" console is now available... Press RETURN to get started.\r\n")
|
||||
|
||||
asyncio.ensure_future(self._read_console_output(self._console_websocket, output_stream))
|
||||
|
||||
async def _read_console_output(self, ws, out):
|
||||
@@ -858,13 +902,14 @@ class DockerVM(BaseNode):
|
||||
out.feed_eof()
|
||||
await ws.close()
|
||||
break
|
||||
await self.stop()
|
||||
|
||||
async def reset_console(self):
|
||||
"""
|
||||
Reset the console.
|
||||
"""
|
||||
|
||||
if self._console_websocket:
|
||||
await self._console_websocket.close()
|
||||
await self._clean_servers()
|
||||
await self._start_console()
|
||||
|
||||
@@ -908,6 +953,9 @@ class DockerVM(BaseNode):
|
||||
"""
|
||||
|
||||
try:
|
||||
if self._console_websocket:
|
||||
await self._console_websocket.close()
|
||||
self._console_websocket = None
|
||||
await self._clean_servers()
|
||||
await self._stop_ubridge()
|
||||
|
||||
@@ -1049,7 +1097,20 @@ class DockerVM(BaseNode):
|
||||
adapter_number=adapter_number, hostif=adapter.host_ifc
|
||||
)
|
||||
)
|
||||
log.debug("Move container %s adapter %s to namespace %s", self.name, adapter.host_ifc, self._namespace)
|
||||
|
||||
mac_address = int_to_macaddress(macaddress_to_int(self._mac_address) + adapter_number)
|
||||
custom_adapter = self._get_custom_adapter_settings(adapter_number)
|
||||
custom_mac_address = custom_adapter.get("mac_address")
|
||||
if custom_mac_address:
|
||||
mac_address = custom_mac_address
|
||||
|
||||
try:
|
||||
await self._ubridge_send('docker set_mac_addr {ifc} {mac}'.format(ifc=adapter.host_ifc, mac=mac_address))
|
||||
except UbridgeError:
|
||||
log.warning(f"Could not set MAC address {mac_address} on interface {adapter.host_ifc}")
|
||||
|
||||
|
||||
log.debug(f"Move container {self.name} adapter {adapter.host_ifc} to namespace {self._namespace}")
|
||||
try:
|
||||
await self._ubridge_send(
|
||||
"docker move_to_ns {ifc} {ns} eth{adapter}".format(
|
||||
@@ -1058,6 +1119,8 @@ class DockerVM(BaseNode):
|
||||
)
|
||||
except UbridgeError as e:
|
||||
raise UbridgeNamespaceError(e)
|
||||
else:
|
||||
log.info(f"Created adapter {adapter_number} with MAC address {mac_address} in namespace {self._namespace}")
|
||||
|
||||
if nio:
|
||||
await self._connect_nio(adapter_number, nio)
|
||||
|
||||
@@ -25,7 +25,10 @@ PATH=/gns3/bin:/tmp/gns3/bin:/sbin:$PATH
|
||||
# bootstrap busybox commands
|
||||
if [ ! -d /tmp/gns3/bin ]; then
|
||||
busybox mkdir -p /tmp/gns3/bin
|
||||
/gns3/bin/busybox --install -s /tmp/gns3/bin
|
||||
for applet in `busybox --list`
|
||||
do
|
||||
ln -s /gns3/bin/busybox "/tmp/gns3/bin/$applet"
|
||||
done
|
||||
fi
|
||||
|
||||
# Restore file permission and mount volumes
|
||||
@@ -75,7 +78,7 @@ ip link set dev lo up
|
||||
while true
|
||||
do
|
||||
grep $GNS3_MAX_ETHERNET /proc/net/dev > /dev/null && break
|
||||
sleep 0.5
|
||||
usleep 500000 # wait 0.5 seconds
|
||||
done
|
||||
|
||||
# activate eth interfaces
|
||||
|
||||
@@ -252,6 +252,9 @@ class Dynamips(BaseManager):
|
||||
# look for Dynamips
|
||||
dynamips_path = self.config.settings.Dynamips.dynamips_path
|
||||
if not os.path.isabs(dynamips_path):
|
||||
if sys.platform.startswith("win") and hasattr(sys, "frozen"):
|
||||
dynamips_dir = os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(sys.executable)), "dynamips"))
|
||||
os.environ["PATH"] = os.pathsep.join(dynamips_dir) + os.pathsep + os.environ.get("PATH", "")
|
||||
dynamips_path = shutil.which(dynamips_path)
|
||||
|
||||
if not dynamips_path:
|
||||
|
||||
@@ -76,7 +76,7 @@ class Router(BaseNode):
|
||||
ghost_flag=False,
|
||||
):
|
||||
|
||||
if not is_ios_hostname_valid(name):
|
||||
if not ghost_flag and not is_ios_hostname_valid(name):
|
||||
raise DynamipsError(f"{name} is an invalid name to create a Dynamips node")
|
||||
|
||||
super().__init__(
|
||||
@@ -1030,6 +1030,26 @@ class Router(BaseNode):
|
||||
self.aux = aux
|
||||
await self._hypervisor.send(f'vm set_aux_tcp_port "{self._name}" {aux}')
|
||||
|
||||
async def set_aux_type(self, aux_type):
|
||||
"""
|
||||
Sets the aux type.
|
||||
|
||||
:param aux_type: auxiliary console type
|
||||
"""
|
||||
|
||||
if self.aux_type != aux_type:
|
||||
status = await self.get_status()
|
||||
if status == "running":
|
||||
raise DynamipsError('"{name}" must be stopped to change the auxiliary console type to {aux_type}'.format(
|
||||
name=self._name,
|
||||
aux_type=aux_type)
|
||||
)
|
||||
|
||||
self.aux_type = aux_type
|
||||
|
||||
if self._aux and aux_type == "telnet":
|
||||
await self._hypervisor.send(f'vm set_aux_tcp_port "{self._name}" {self._aux}')
|
||||
|
||||
async def reset_console(self):
|
||||
"""
|
||||
Reset console
|
||||
|
||||
@@ -436,14 +436,16 @@ class IOUVM(BaseNode):
|
||||
)
|
||||
)
|
||||
|
||||
async def _check_iou_licence(self):
|
||||
def _is_iou_license_check_enabled(self):
|
||||
"""
|
||||
Checks for a valid IOU key in the iourc file (paranoid mode).
|
||||
Returns if IOU license check is enabled.
|
||||
|
||||
:return: boolean
|
||||
"""
|
||||
|
||||
# license check is sent by the controller
|
||||
if self.license_check is False:
|
||||
return
|
||||
return False
|
||||
|
||||
try:
|
||||
# we allow license check to be disabled server wide
|
||||
@@ -453,7 +455,14 @@ class IOUVM(BaseNode):
|
||||
|
||||
if server_wide_license_check is False:
|
||||
log.warning("License check is explicitly disabled on this server")
|
||||
return
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
async def _check_iou_license(self):
|
||||
"""
|
||||
Checks for a valid IOU key in the iourc file (paranoid mode).
|
||||
"""
|
||||
|
||||
config = configparser.ConfigParser()
|
||||
try:
|
||||
@@ -559,15 +568,16 @@ class IOUVM(BaseNode):
|
||||
except OSError as e:
|
||||
raise IOUError(f"Could not rename nvram files: {e}")
|
||||
|
||||
iourc_path = self.iourc_path
|
||||
if not iourc_path:
|
||||
raise IOUError("Could not find an iourc file (IOU license), please configure an IOU license")
|
||||
if not os.path.isfile(iourc_path):
|
||||
raise IOUError(f"The iourc path '{iourc_path}' is not a regular file")
|
||||
iourc_path = None
|
||||
if self._is_iou_license_check_enabled():
|
||||
iourc_path = self.iourc_path
|
||||
if not iourc_path:
|
||||
raise IOUError("Could not find an iourc file (IOU license), please configure an IOU license")
|
||||
if not os.path.isfile(iourc_path):
|
||||
raise IOUError(f"The iourc path '{iourc_path}' is not a regular file")
|
||||
await self._check_iou_license()
|
||||
|
||||
await self._check_iou_licence()
|
||||
await self._start_ubridge()
|
||||
|
||||
self._create_netmap_config()
|
||||
if self.use_default_iou_values:
|
||||
# make sure we have the default nvram amount to correctly push the configs
|
||||
@@ -579,7 +589,7 @@ class IOUVM(BaseNode):
|
||||
|
||||
self._nvram_watcher = FileWatcher(self._nvram_file(), self._nvram_changed, delay=2)
|
||||
|
||||
# created a environment variable pointing to the iourc file.
|
||||
# created an environment variable pointing to the iourc file.
|
||||
env = os.environ.copy()
|
||||
if "IOURC" not in os.environ and iourc_path:
|
||||
env["IOURC"] = iourc_path
|
||||
@@ -661,7 +671,8 @@ class IOUVM(BaseNode):
|
||||
self._telnet_server.close()
|
||||
await self._telnet_server.wait_closed()
|
||||
self._telnet_server = None
|
||||
await self.start_console()
|
||||
if self.is_running():
|
||||
await self.start_console()
|
||||
|
||||
@locking
|
||||
async def _networking(self):
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
import asyncio
|
||||
from contextlib import contextmanager
|
||||
from gns3server.utils.notification_queue import NotificationQueue
|
||||
|
||||
@@ -54,7 +54,7 @@ class NotificationManager:
|
||||
"""
|
||||
|
||||
for listener in self._listeners:
|
||||
listener.put_nowait((action, event, kwargs))
|
||||
asyncio.get_running_loop().call_soon_threadsafe(listener.put_nowait, (action, event, kwargs))
|
||||
|
||||
@staticmethod
|
||||
def reset():
|
||||
|
||||
@@ -149,13 +149,20 @@ class Qemu(BaseManager):
|
||||
for arch in archs:
|
||||
if f.endswith(arch) or f.endswith(f"{arch}.exe") or f.endswith(f"{arch}w.exe"):
|
||||
qemu_path = os.path.join(path, f)
|
||||
version = await Qemu.get_qemu_version(qemu_path)
|
||||
try:
|
||||
version = await Qemu.get_qemu_version(qemu_path)
|
||||
except QemuError as e:
|
||||
log.warning(str(e))
|
||||
continue
|
||||
qemus.append({"path": qemu_path, "version": version})
|
||||
else:
|
||||
qemu_path = os.path.join(path, f)
|
||||
version = await Qemu.get_qemu_version(qemu_path)
|
||||
try:
|
||||
version = await Qemu.get_qemu_version(qemu_path)
|
||||
except QemuError as e:
|
||||
log.warning(str(e))
|
||||
continue
|
||||
qemus.append({"path": qemu_path, "version": version})
|
||||
|
||||
except OSError:
|
||||
continue
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ from ..nios.nio_tap import NIOTAP
|
||||
from ..base_node import BaseNode
|
||||
from ...utils.asyncio import monitor_process
|
||||
from ...utils.images import md5sum
|
||||
from ...utils import macaddress_to_int, int_to_macaddress
|
||||
from ...utils import macaddress_to_int, int_to_macaddress, is_ipv6_enabled
|
||||
from ...utils.hostname import is_rfc1123_hostname_valid
|
||||
|
||||
from gns3server.schemas.compute.qemu_nodes import Qemu, QemuPlatform
|
||||
@@ -54,6 +54,12 @@ import logging
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
# forbidden additional options
|
||||
FORBIDDEN_OPTIONS = {"-blockdev", "-drive", "-hda", "-hdb", "-hdc", "-hdd",
|
||||
"-fsdev", "-virtfs", "-nic", "-netdev"}
|
||||
FORBIDDEN_OPTIONS |= {"-" + opt for opt in FORBIDDEN_OPTIONS
|
||||
if opt.startswith("-") and not opt.startswith("--")}
|
||||
|
||||
|
||||
class QemuVM(BaseNode):
|
||||
module_name = "qemu"
|
||||
@@ -124,6 +130,8 @@ class QemuVM(BaseNode):
|
||||
except QemuError:
|
||||
# If the binary is not found for topologies 1.4 and later
|
||||
# search via the platform otherwise use the binary name
|
||||
log.warning(f"Could not find the QEMU binary {qemu_path} on this system, "
|
||||
f"trying to find one using platform {platform}")
|
||||
if platform:
|
||||
self.platform = platform
|
||||
else:
|
||||
@@ -242,7 +250,7 @@ class QemuVM(BaseNode):
|
||||
if qemu_path and os.pathsep not in qemu_path:
|
||||
new_qemu_path = shutil.which(qemu_path, path=os.pathsep.join(self._manager.paths_list()))
|
||||
if new_qemu_path is None:
|
||||
raise QemuError(f"QEMU binary path {qemu_path} is not found in the path")
|
||||
raise QemuError(f"QEMU binary '{qemu_path}' cannot be found on the system")
|
||||
qemu_path = new_qemu_path
|
||||
|
||||
self._check_qemu_path(qemu_path)
|
||||
@@ -289,6 +297,7 @@ class QemuVM(BaseNode):
|
||||
def platform(self, platform):
|
||||
|
||||
self._platform = platform
|
||||
log.info(f"QEMU VM '{self._name}' [{self._id}] has set the platform {platform}")
|
||||
self.qemu_path = f"qemu-system-{platform}"
|
||||
|
||||
def _disk_setter(self, variable, value):
|
||||
@@ -1852,14 +1861,17 @@ class QemuVM(BaseNode):
|
||||
if port:
|
||||
console_host = self._manager.port_manager.console_host
|
||||
if console_host == "0.0.0.0":
|
||||
if socket.has_ipv6:
|
||||
# to fix an issue with Qemu when IPv4 is not enabled
|
||||
# see https://github.com/GNS3/gns3-gui/issues/2352
|
||||
# FIXME: consider making this more global (not just for Qemu + SPICE)
|
||||
console_host = "::"
|
||||
else:
|
||||
raise QemuError("IPv6 must be enabled in order to use the SPICE console")
|
||||
return ["-spice", f"addr={console_host},port={port},disable-ticketing", "-vga", "qxl"]
|
||||
try:
|
||||
if is_ipv6_enabled():
|
||||
# to fix an issue with Qemu when IPv4 is not enabled
|
||||
# see https://github.com/GNS3/gns3-gui/issues/2352
|
||||
# FIXME: consider making this more global (not just for Qemu + SPICE)
|
||||
console_host = "::"
|
||||
except OSError as e:
|
||||
raise QemuError("Could not check if IPv6 is enabled: {}".format(e))
|
||||
return ["-spice",
|
||||
f"addr={console_host},port={port},disable-ticketing",
|
||||
"-vga", "qxl"]
|
||||
else:
|
||||
return []
|
||||
|
||||
@@ -2145,11 +2157,6 @@ class QemuVM(BaseNode):
|
||||
continue
|
||||
|
||||
interface = getattr(self, f"hd{drive}_disk_interface")
|
||||
# fail-safe: use "ide" if there is a disk image and no interface type has been explicitly configured
|
||||
if interface == "none":
|
||||
interface = "ide"
|
||||
setattr(self, f"hd{drive}_disk_interface", interface)
|
||||
|
||||
disk_name = f"hd{drive}"
|
||||
if not os.path.isfile(disk_image) or not os.path.exists(disk_image):
|
||||
if os.path.islink(disk_image):
|
||||
@@ -2637,9 +2644,19 @@ class QemuVM(BaseNode):
|
||||
command.extend(self._tpm_options())
|
||||
if additional_options:
|
||||
try:
|
||||
command.extend(shlex.split(additional_options))
|
||||
additional_opt_list = shlex.split(additional_options)
|
||||
except ValueError as e:
|
||||
raise QemuError(f"Invalid additional options: {additional_options} error {e}")
|
||||
allow_unsafe_options = self.manager.config.settings.Qemu.allow_unsafe_options
|
||||
if allow_unsafe_options is False:
|
||||
for opt in additional_opt_list:
|
||||
if opt in FORBIDDEN_OPTIONS:
|
||||
raise QemuError("Forbidden additional option: {}".format(opt))
|
||||
command.extend(additional_opt_list)
|
||||
|
||||
# avoiding mouse offset (see https://github.com/GNS3/gns3-server/issues/2335)
|
||||
if self._console_type == "vnc":
|
||||
command.extend(['-machine', 'usb=on', '-device', 'usb-tablet'])
|
||||
return command
|
||||
|
||||
def asdict(self):
|
||||
|
||||
@@ -142,6 +142,9 @@ class VPCSVM(BaseNode):
|
||||
|
||||
vpcs_path = self._manager.config.settings.VPCS.vpcs_path
|
||||
if not os.path.isabs(vpcs_path):
|
||||
if sys.platform.startswith("win") and hasattr(sys, "frozen"):
|
||||
vpcs_dir = os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(sys.executable)), "vpcs"))
|
||||
os.environ["PATH"] = os.pathsep.join(vpcs_dir) + os.pathsep + os.environ.get("PATH", "")
|
||||
vpcs_path = shutil.which(vpcs_path)
|
||||
return vpcs_path
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ enable_ssl = False
|
||||
certfile = /home/gns3/.config/GNS3/ssl/server.cert
|
||||
certkey = /home/gns3/.config/GNS3/ssl/server.key
|
||||
|
||||
; Path where devices images are stored
|
||||
; Path where binary images are stored
|
||||
images_path = /home/gns3/GNS3/images
|
||||
|
||||
; Additional paths to look for images
|
||||
@@ -43,15 +43,20 @@ additional_images_paths = /opt/images;/mnt/disk1/images
|
||||
; Path where user projects are stored
|
||||
projects_path = /home/gns3/GNS3/projects
|
||||
|
||||
; Path where user appliances are stored
|
||||
; Path where custom user appliances are stored
|
||||
appliances_path = /home/gns3/GNS3/appliances
|
||||
|
||||
; Path where custom device symbols are stored
|
||||
; Path where custom user symbols are stored
|
||||
symbols_path = /home/gns3/GNS3/symbols
|
||||
|
||||
; Path where custom configs are stored
|
||||
configs_path = /home/gns3/GNS3/configs
|
||||
|
||||
; Path where files like built-in appliances and Docker resources are stored
|
||||
; The default path is the local user data directory
|
||||
; (Linux: "~/.local/share/GNS3", macOS: "~/Library/Application Support/GNS3", Windows: "%APPDATA%\GNS3")
|
||||
; resources_path = /home/gns3/GNS3/resources
|
||||
|
||||
; Default symbol theme
|
||||
; Currently available themes are "Classic", Affinity-square-blue", "Affinity-square-red"
|
||||
; "Affinity-square-gray", "Affinity-circle-blue", "Affinity-circle-red" and "Affinity-circle-gray"
|
||||
@@ -102,6 +107,9 @@ default_nat_interface = vmnet10
|
||||
; Enable the built-in templates
|
||||
enable_builtin_templates = True
|
||||
|
||||
; Install built-in appliances
|
||||
install_builtin_appliances = True
|
||||
|
||||
; check if hardware virtualization is used by other emulators (KVM, VMware or VirtualBox)
|
||||
hardware_virtualization_check = True
|
||||
|
||||
@@ -148,3 +156,5 @@ monitor_host = 127.0.0.1
|
||||
enable_hardware_acceleration = True
|
||||
; Require hardware acceleration in order to start VMs
|
||||
require_hardware_acceleration = False
|
||||
; Allow unsafe additional command line options
|
||||
allow_unsafe_options = False
|
||||
@@ -15,7 +15,7 @@ no ip icmp rate-limit unreachable
|
||||
!
|
||||
! due to some bugs with IOU, try to change the following line to 'ip cef' if your routing does not work
|
||||
no ip cef
|
||||
no ip domain-lookup
|
||||
no ip domain lookup
|
||||
!
|
||||
!
|
||||
!
|
||||
|
||||
@@ -14,7 +14,7 @@ no ip icmp rate-limit unreachable
|
||||
!
|
||||
! due to some bugs with IOU, try to change the following line to 'ip cef' if your routing does not work
|
||||
no ip cef
|
||||
no ip domain-lookup
|
||||
no ip domain lookup
|
||||
!
|
||||
!
|
||||
ip tcp synwait-time 5
|
||||
|
||||
Loaded 100 of 212 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user