mirror of
https://github.com/GNS3/gns3-server.git
synced 2024-12-21 05:43:12 +00:00
Merge branch '2.2' into 3.0
# Conflicts: # gns3server/appliances/Simulator.gns3a # gns3server/compute/docker/__init__.py # gns3server/compute/docker/docker_vm.py # gns3server/version.py
This commit is contained in:
commit
296446189f
@ -1,5 +1,10 @@
|
||||
# Change Log
|
||||
|
||||
## 2.2.27 12/11/2021
|
||||
|
||||
* Release web UI 2.2.27
|
||||
* Fix unhandled KeyError exception when starting Docker container. Ref #1991
|
||||
|
||||
## 2.2.26 08/10/2021
|
||||
|
||||
* Release web UI 2.2.26
|
||||
|
@ -1,68 +0,0 @@
|
||||
{
|
||||
"appliance_id": "2def5797-cb7d-429e-b85e-497ff4b81547",
|
||||
"name": "ParrotOS",
|
||||
"category": "guest",
|
||||
"description": " Parrot is a GNU/Linux distribution based on Debian Testing and designed with Security, Development and Privacy in mind. It includes a full portable laboratory for security and digital forensics experts, but it also includes all you need to develop your own software or protect your privacy while surfing the net.",
|
||||
"vendor_name": "Parrot Project",
|
||||
"vendor_url": "https://parrotsec.org/",
|
||||
"documentation_url": "https://docs.parrotsec.org/doku.php",
|
||||
"product_name": "ParrotOS",
|
||||
"product_url": "https://parrotsec.org/",
|
||||
"registry_version": 3,
|
||||
"status": "stable",
|
||||
"maintainer": "Brent Stewart",
|
||||
"maintainer_email": "brent@stewart.tc",
|
||||
"usage": "Passwords are set during installation.",
|
||||
"symbol": "parrotlogo.png",
|
||||
"qemu": {
|
||||
"adapter_type": "e1000",
|
||||
"adapters": 1,
|
||||
"ram": 2048,
|
||||
"hda_disk_interface": "ide",
|
||||
"arch": "x86_64",
|
||||
"console_type": "vnc",
|
||||
"kvm": "require"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "Parrot-security-4.6_amd64.iso",
|
||||
"version": "Security Build 4.6",
|
||||
"md5sum": "ead812edc83119e8bcb4ee9daabdc105",
|
||||
"filesize": 3788668928,
|
||||
"download_url": "https://www.parrotsec.org/download-security.php",
|
||||
"direct_download_url": "https://download.parrotsec.org/parrot/iso/4.6/Parrot-security-4.6_amd64.iso"
|
||||
},
|
||||
{
|
||||
"filename": "Parrot-security-3.11_amd64.iso",
|
||||
"version": "Security Build 3.11",
|
||||
"md5sum": "71c94474fb474f682da0844d95f0040b",
|
||||
"filesize": 3788668928,
|
||||
"download_url": "https://www.parrotsec.org/download.fx",
|
||||
"direct_download_url": "https://www.parrotsec.org/download-full.fx"
|
||||
},
|
||||
{
|
||||
"filename": "empty30G.qcow2",
|
||||
"version": "1.0",
|
||||
"md5sum": "3411a599e822f2ac6be560a26405821a",
|
||||
"filesize": 197120,
|
||||
"download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%30disk/",
|
||||
"direct_download_url": "https://sourceforge.net/projects/gns-3/files/Empty%20Qemu%20disk/empty30G.qcow2/download"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "Security Build 4.6",
|
||||
"images": {
|
||||
"hda_disk_image": "empty30G.qcow2",
|
||||
"cdrom_image": "Parrot-security-4.6_amd64.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Security Build 3.11",
|
||||
"images": {
|
||||
"hda_disk_image": "empty30G.qcow2",
|
||||
"cdrom_image": "Parrot-security-3.11_amd64.iso"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
52
gns3server/appliances/almalinux.gns3a
Normal file
52
gns3server/appliances/almalinux.gns3a
Normal file
@ -0,0 +1,52 @@
|
||||
{
|
||||
"appliance_id": "5c09a704-0e38-48ac-8392-52e0c5890cf3",
|
||||
"name": "AlmaLinux",
|
||||
"category": "guest",
|
||||
"description": "An Open Source, community-governed and forever-free enterprise Linux distribution, focused on long-term stability, providing a robust production-grade platform. AlmaLinux OS is 1:1 binary compatible with RHEL and pre-Stream CentOS.",
|
||||
"vendor_name": "Alma Linux",
|
||||
"vendor_url": "https://almalinux.org/",
|
||||
"documentation_url": "https://wiki.almalinux.org/",
|
||||
"product_name": "Alma Linux",
|
||||
"product_url": "https://almalinux.org/",
|
||||
"registry_version": 4,
|
||||
"status": "stable",
|
||||
"maintainer": "GNS3 Team",
|
||||
"maintainer_email": "developers@gns3.net",
|
||||
"usage": "Username:\talmalinux\nPassword:\talmalinux\nTo become root, use \"sudo su\".\n",
|
||||
"port_name_format": "eth{0}",
|
||||
"qemu": {
|
||||
"adapter_type": "virtio-net-pci",
|
||||
"adapters": 1,
|
||||
"ram": 1536,
|
||||
"hda_disk_interface": "sata",
|
||||
"arch": "x86_64",
|
||||
"console_type": "telnet",
|
||||
"kvm": "allow"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "AlmaLinux-8-GenericCloud-8.4-20210727.x86_64.qcow2",
|
||||
"version": "8.4",
|
||||
"md5sum": "999014244f676097fdeaf87612a75e81",
|
||||
"filesize": 534266880,
|
||||
"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.4-20210727.x86_64.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "almalinux-cloud-init-data.iso",
|
||||
"version": "1.0",
|
||||
"md5sum": "72fb52af76e9561d125dd99224e2c1d1",
|
||||
"filesize": 374784,
|
||||
"download_url": "https://github.com/GNS3/gns3-registry/raw/master/cloud-init/AlmaLinux/almalinux-cloud-init-data.iso"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "8.4",
|
||||
"images": {
|
||||
"hda_disk_image": "AlmaLinux-8-GenericCloud-8.4-20210727.x86_64.qcow2",
|
||||
"cdrom_image": "almalinux-cloud-init-data.iso"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
46
gns3server/appliances/citrix-sd-wan.gns3a
Normal file
46
gns3server/appliances/citrix-sd-wan.gns3a
Normal file
@ -0,0 +1,46 @@
|
||||
{
|
||||
"appliance_id": "2d5634dc-ad39-46cf-a2fd-17b291abab91",
|
||||
"name": "Citrix SD-WAN",
|
||||
"category": "router",
|
||||
"description": "A software-defined wide area network (SD-WAN) is a virtual WAN architecture, in which any blend of network transport types — not only multiprotocol label switching (MPLS) but also broadband internet, cellular, and satellite — can be virtualized and bonded then centrally managed in software, to securely connect users to applications and desktops in accordance with policy. Essentially, SD-WAN is software-defined networking (SDN) for the WAN.",
|
||||
"vendor_name": "Citrix",
|
||||
"vendor_url": "http://www.citrix.com/",
|
||||
"documentation_url": "https://docs.citrix.com/en-us/citrix-sd-wan",
|
||||
"product_name": "Citrix SD-WAN",
|
||||
"product_url": "https://docs.citrix.com/en-us/citrix-sd-wan",
|
||||
"registry_version": 4,
|
||||
"status": "stable",
|
||||
"maintainer": "Kiel Czu",
|
||||
"maintainer_email": "kielczu@gmail.com",
|
||||
"usage": "The image file is large (3GB), make sure you have enough space. Default credentials: admin/ password",
|
||||
"port_name_format": "1/{0}",
|
||||
"qemu": {
|
||||
"adapter_type": "virtio-net-pci",
|
||||
"adapters": 4,
|
||||
"ram": 4096,
|
||||
"cpus": 4,
|
||||
"hda_disk_interface": "ide",
|
||||
"arch": "x86_64",
|
||||
"console_type": "telnet",
|
||||
"boot_priority": "cd",
|
||||
"kvm": "require",
|
||||
"options": "-cpu Nehalem"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "ctx-sdw-os-11.4.1.27_kvm.qcow2",
|
||||
"version": "11.4.1.27",
|
||||
"md5sum": "e57d8fcf8c136cc3fd2359103d885462",
|
||||
"filesize": 3235315712,
|
||||
"download_url": "https://www.citrix.com/pl-pl/downloads/citrix-sd-wan/standard-premium-edition/vpx-release-114127.html"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "11.4.1.27",
|
||||
"images": {
|
||||
"hda_disk_image": "ctx-sdw-os-11.4.1.27_kvm.qcow2"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
46
gns3server/appliances/citrix-sdwan-center.gns3a
Normal file
46
gns3server/appliances/citrix-sdwan-center.gns3a
Normal file
@ -0,0 +1,46 @@
|
||||
{
|
||||
"appliance_id": "9021f581-a54d-48e0-bb84-8286ce6e08f0",
|
||||
"name": "Citrix SD-WAN Center",
|
||||
"category": "guest",
|
||||
"description": "Citrix SD-WAN Center is a centralized management system that enables you to configure, monitor, and analyze all the Citrix SD-WAN appliances on your WAN.",
|
||||
"vendor_name": "Citrix",
|
||||
"vendor_url": "http://www.citrix.com/",
|
||||
"documentation_url": "https://docs.citrix.com/en-us/citrix-sd-wan",
|
||||
"product_name": "Citrix SD-WAN Center",
|
||||
"product_url": "https://docs.citrix.com/en-us/citrix-sd-wan",
|
||||
"registry_version": 4,
|
||||
"status": "stable",
|
||||
"maintainer": "Kiel Czu",
|
||||
"maintainer_email": "kielczu@gmail.com",
|
||||
"usage": "The image file is large (1.6 GB), make sure you have enough space. Default credentials: admin/ password",
|
||||
"port_name_format": "1/{0}",
|
||||
"qemu": {
|
||||
"adapter_type": "virtio-net-pci",
|
||||
"adapters": 4,
|
||||
"ram": 8192,
|
||||
"cpus": 4,
|
||||
"hda_disk_interface": "ide",
|
||||
"arch": "x86_64",
|
||||
"console_type": "telnet",
|
||||
"boot_priority": "cd",
|
||||
"kvm": "require",
|
||||
"options": "-smbios type=2,product='440BX Desktop Reference Platform'"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "ctx-sdwc-11.4.1.27.qcow2",
|
||||
"version": "11.4.1.27",
|
||||
"md5sum": "d788035384a53a7b73c853383efae49a",
|
||||
"filesize": 1661861888,
|
||||
"download_url": "https://www.citrix.com/pl-pl/downloads/citrix-sd-wan/citrix-sd-wan-standard-premium-advance-edition/management-console-release-114127.html"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "11.4.1.27",
|
||||
"images": {
|
||||
"hda_disk_image": "ctx-sdwc-11.4.1.27.qcow2"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
@ -23,6 +23,15 @@
|
||||
"kvm": "allow"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "openwrt-21.02.1-x86-64-generic-ext4-combined.img",
|
||||
"version": "21.02.1",
|
||||
"md5sum": "75896afa8f31bacc57fd84e7b5ff03b0",
|
||||
"filesize": 126353408,
|
||||
"download_url": "https://downloads.openwrt.org/releases/21.02.1/targets/x86/64/",
|
||||
"direct_download_url": "https://downloads.openwrt.org/releases/21.02.1/targets/x86/64/openwrt-21.02.1-x86-64-generic-ext4-combined.img.gz",
|
||||
"compression": "gzip"
|
||||
},
|
||||
{
|
||||
"filename": "openwrt-21.02.0-x86-64-generic-ext4-combined.img",
|
||||
"version": "21.02.0",
|
||||
@ -187,6 +196,12 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "21.02.1",
|
||||
"images": {
|
||||
"hda_disk_image": "openwrt-21.02.1-x86-64-generic-ext4-combined.img"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "21.02.0",
|
||||
"images": {
|
||||
|
@ -13,7 +13,7 @@
|
||||
"symbol": "linux_guest.svg",
|
||||
"docker": {
|
||||
"adapters": 1,
|
||||
"image": "gns3/ubuntu:xenial",
|
||||
"image": "gns3/ubuntu:focal",
|
||||
"console_type": "telnet"
|
||||
}
|
||||
}
|
||||
|
@ -110,7 +110,7 @@ class Docker(BaseManager):
|
||||
body = await response.read()
|
||||
response.close()
|
||||
if body and len(body):
|
||||
if response.headers["CONTENT-TYPE"] == "application/json":
|
||||
if response.headers.get('CONTENT-TYPE') == 'application/json':
|
||||
body = json.loads(body.decode("utf-8"))
|
||||
else:
|
||||
body = body.decode("utf-8")
|
||||
|
@ -114,7 +114,7 @@ class DockerVM(BaseNode):
|
||||
self._extra_volumes = extra_volumes or []
|
||||
self._memory = memory
|
||||
self._cpus = cpus
|
||||
self._permissions_fixed = False
|
||||
self._permissions_fixed = True
|
||||
self._display = None
|
||||
self._closing = False
|
||||
|
||||
|
@ -59,7 +59,7 @@ class CrashReport:
|
||||
Report crash to a third party service
|
||||
"""
|
||||
|
||||
DSN = "https://959feb527c7441068b1bf80301b6e2c4:efa6d99da4c64faa8a7d929360765b40@o19455.ingest.sentry.io/38482"
|
||||
DSN = "https://3d11e6bad51c40d68083139bc90131a5:329b1a884f54494fad42c8a770fd2c27@o19455.ingest.sentry.io/38482"
|
||||
_instance = None
|
||||
|
||||
def __init__(self):
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
gns3server/static/web-ui/main.7d1b537c34b9425ec8c8.js
Normal file
1
gns3server/static/web-ui/main.7d1b537c34b9425ec8c8.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
||||
!function(){"use strict";var e,v={},g={};function n(e){var u=g[e];if(void 0!==u)return u.exports;var t=g[e]={id:e,loaded:!1,exports:{}};return v[e](t,t.exports,n),t.loaded=!0,t.exports}n.m=v,e=[],n.O=function(u,t,a,o){if(!t){var r=1/0;for(i=0;i<e.length;i++){t=e[i][0],a=e[i][1],o=e[i][2];for(var l=!0,f=0;f<t.length;f++)(!1&o||r>=o)&&Object.keys(n.O).every(function(b){return n.O[b](t[f])})?t.splice(f--,1):(l=!1,o<r&&(r=o));if(l){e.splice(i--,1);var s=a();void 0!==s&&(u=s)}}return u}o=o||0;for(var i=e.length;i>0&&e[i-1][2]>o;i--)e[i]=e[i-1];e[i]=[t,a,o]},n.n=function(e){var u=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(u,{a:u}),u},n.d=function(e,u){for(var t in u)n.o(u,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:u[t]})},n.f={},n.e=function(e){return Promise.all(Object.keys(n.f).reduce(function(u,t){return n.f[t](e,u),u},[]))},n.u=function(e){return e+".eace20bb0639f4909f27.js"},n.miniCssF=function(e){return"styles.bf28628fcb2844ad74bd.css"},n.hmd=function(e){return(e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:function(){throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e},n.o=function(e,u){return Object.prototype.hasOwnProperty.call(e,u)},function(){var e={},u="gns3-web-ui:";n.l=function(t,a,o,i){if(e[t])e[t].push(a);else{var r,l;if(void 0!==o)for(var f=document.getElementsByTagName("script"),s=0;s<f.length;s++){var c=f[s];if(c.getAttribute("src")==t||c.getAttribute("data-webpack")==u+o){r=c;break}}r||(l=!0,(r=document.createElement("script")).charset="utf-8",r.timeout=120,n.nc&&r.setAttribute("nonce",n.nc),r.setAttribute("data-webpack",u+o),r.src=n.tu(t)),e[t]=[a];var d=function(h,b){r.onerror=r.onload=null,clearTimeout(p);var _=e[t];if(delete e[t],r.parentNode&&r.parentNode.removeChild(r),_&&_.forEach(function(m){return m(b)}),h)return h(b)},p=setTimeout(d.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=d.bind(null,r.onerror),r.onload=d.bind(null,r.onload),l&&document.head.appendChild(r)}}}(),n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},function(){var e;n.tu=function(u){return void 0===e&&(e={createScriptURL:function(t){return t}},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e.createScriptURL(u)}}(),n.p="",function(){var e={666:0};n.f.j=function(a,o){var i=n.o(e,a)?e[a]:void 0;if(0!==i)if(i)o.push(i[2]);else if(666!=a){var r=new Promise(function(c,d){i=e[a]=[c,d]});o.push(i[2]=r);var l=n.p+n.u(a),f=new Error;n.l(l,function(c){if(n.o(e,a)&&(0!==(i=e[a])&&(e[a]=void 0),i)){var d=c&&("load"===c.type?"missing":c.type),p=c&&c.target&&c.target.src;f.message="Loading chunk "+a+" failed.\n("+d+": "+p+")",f.name="ChunkLoadError",f.type=d,f.request=p,i[1](f)}},"chunk-"+a,a)}else e[a]=0},n.O.j=function(a){return 0===e[a]};var u=function(a,o){var f,s,i=o[0],r=o[1],l=o[2],c=0;for(f in r)n.o(r,f)&&(n.m[f]=r[f]);if(l)var d=l(n);for(a&&a(o);c<i.length;c++)n.o(e,s=i[c])&&e[s]&&e[s][0](),e[i[c]]=0;return n.O(d)},t=self.webpackChunkgns3_web_ui=self.webpackChunkgns3_web_ui||[];t.forEach(u.bind(null,0)),t.push=u.bind(null,t.push.bind(t))}()}();
|
1
gns3server/static/web-ui/runtime.8e6e40ddbc153287073b.js
Normal file
1
gns3server/static/web-ui/runtime.8e6e40ddbc153287073b.js
Normal file
@ -0,0 +1 @@
|
||||
!function(){"use strict";var e,v={},g={};function n(e){var a=g[e];if(void 0!==a)return a.exports;var t=g[e]={id:e,loaded:!1,exports:{}};return v[e](t,t.exports,n),t.loaded=!0,t.exports}n.m=v,e=[],n.O=function(a,t,u,o){if(!t){var r=1/0;for(i=0;i<e.length;i++){t=e[i][0],u=e[i][1],o=e[i][2];for(var l=!0,f=0;f<t.length;f++)(!1&o||r>=o)&&Object.keys(n.O).every(function(b){return n.O[b](t[f])})?t.splice(f--,1):(l=!1,o<r&&(r=o));if(l){e.splice(i--,1);var s=u();void 0!==s&&(a=s)}}return a}o=o||0;for(var i=e.length;i>0&&e[i-1][2]>o;i--)e[i]=e[i-1];e[i]=[t,u,o]},n.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(a,{a:a}),a},n.d=function(e,a){for(var t in a)n.o(a,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},n.f={},n.e=function(e){return Promise.all(Object.keys(n.f).reduce(function(a,t){return n.f[t](e,a),a},[]))},n.u=function(e){return e+".85045f210dd0225cbaad.js"},n.miniCssF=function(e){return"styles.f8555f2eecf8cf87f666.css"},n.hmd=function(e){return(e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:function(){throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e},n.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},function(){var e={},a="gns3-web-ui:";n.l=function(t,u,o,i){if(e[t])e[t].push(u);else{var r,l;if(void 0!==o)for(var f=document.getElementsByTagName("script"),s=0;s<f.length;s++){var c=f[s];if(c.getAttribute("src")==t||c.getAttribute("data-webpack")==a+o){r=c;break}}r||(l=!0,(r=document.createElement("script")).charset="utf-8",r.timeout=120,n.nc&&r.setAttribute("nonce",n.nc),r.setAttribute("data-webpack",a+o),r.src=n.tu(t)),e[t]=[u];var d=function(h,b){r.onerror=r.onload=null,clearTimeout(p);var _=e[t];if(delete e[t],r.parentNode&&r.parentNode.removeChild(r),_&&_.forEach(function(m){return m(b)}),h)return h(b)},p=setTimeout(d.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=d.bind(null,r.onerror),r.onload=d.bind(null,r.onload),l&&document.head.appendChild(r)}}}(),n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},function(){var e;n.tu=function(a){return void 0===e&&(e={createScriptURL:function(t){return t}},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e.createScriptURL(a)}}(),n.p="",function(){var e={666:0};n.f.j=function(u,o){var i=n.o(e,u)?e[u]:void 0;if(0!==i)if(i)o.push(i[2]);else if(666!=u){var r=new Promise(function(c,d){i=e[u]=[c,d]});o.push(i[2]=r);var l=n.p+n.u(u),f=new Error;n.l(l,function(c){if(n.o(e,u)&&(0!==(i=e[u])&&(e[u]=void 0),i)){var d=c&&("load"===c.type?"missing":c.type),p=c&&c.target&&c.target.src;f.message="Loading chunk "+u+" failed.\n("+d+": "+p+")",f.name="ChunkLoadError",f.type=d,f.request=p,i[1](f)}},"chunk-"+u,u)}else e[u]=0},n.O.j=function(u){return 0===e[u]};var a=function(u,o){var f,s,i=o[0],r=o[1],l=o[2],c=0;for(f in r)n.o(r,f)&&(n.m[f]=r[f]);if(l)var d=l(n);for(u&&u(o);c<i.length;c++)n.o(e,s=i[c])&&e[s]&&e[s][0](),e[i[c]]=0;return n.O(d)},t=self.webpackChunkgns3_web_ui=self.webpackChunkgns3_web_ui||[];t.forEach(a.bind(null,0)),t.push=a.bind(null,t.push.bind(t))}()}();
|
File diff suppressed because one or more lines are too long
11
gns3server/static/web-ui/styles.f8555f2eecf8cf87f666.css
Normal file
11
gns3server/static/web-ui/styles.f8555f2eecf8cf87f666.css
Normal file
File diff suppressed because one or more lines are too long
@ -4,17 +4,9 @@ Wants=network-online.target
|
||||
After=network.target network-online.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
User=gns3
|
||||
Group=gns3
|
||||
PermissionsStartOnly=true
|
||||
ExecStartPre=/bin/mkdir -p /var/log/gns3 /var/run/gns3
|
||||
ExecStartPre=/bin/chown -R gns3:gns3 /var/log/gns3 /var/run/gns3
|
||||
ExecStart=/usr/local/bin/gns3server --log /var/log/gns3/gns3.log \
|
||||
--pid /var/run/gns3/gns3.pid --daemon
|
||||
ExecReload=/bin/kill -s HUP $MAINPID
|
||||
Restart=on-abort
|
||||
PIDFile=/var/run/gns3/gns3.pid
|
||||
ExecStart=/usr/bin/gns3server
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
Loading…
Reference in New Issue
Block a user