{"id":14111229,"url":"https://github.com/GNS3/gns3-web-ui","last_synced_at":"2025-08-01T12:31:49.605Z","repository":{"id":37421247,"uuid":"104729788","full_name":"GNS3/gns3-web-ui","owner":"GNS3","description":"WebUI implementation for GNS3","archived":false,"fork":false,"pushed_at":"2025-07-01T21:57:04.000Z","size":18931,"stargazers_count":173,"open_issues_count":45,"forks_count":59,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-07-01T22:32:30.100Z","etag":null,"topics":["web-interface"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GNS3.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-09-25T09:27:22.000Z","updated_at":"2025-07-01T21:57:07.000Z","dependencies_parsed_at":"2023-11-06T06:36:08.698Z","dependency_job_id":"dc0666e6-b64e-4fa2-8330-f3154f4943ec","html_url":"https://github.com/GNS3/gns3-web-ui","commit_stats":null,"previous_names":[],"tags_count":80,"template":false,"template_full_name":null,"purl":"pkg:github/GNS3/gns3-web-ui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GNS3%2Fgns3-web-ui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GNS3%2Fgns3-web-ui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GNS3%2Fgns3-web-ui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GNS3%2Fgns3-web-ui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GNS3","download_url":"https://codeload.github.com/GNS3/gns3-web-ui/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GNS3%2Fgns3-web-ui/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268223066,"owners_count":24215710,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-01T02:00:08.611Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["web-interface"],"created_at":"2024-08-14T10:03:12.164Z","updated_at":"2025-08-01T12:31:49.111Z","avatar_url":"https://github.com/GNS3.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# gns3-web-ui\n\n[![Build](https://github.com/GNS3/gns3-web-ui/actions/workflows/main.yml/badge.svg)](https://github.com/GNS3/gns3-web-ui/actions/workflows/main.yml)\n[![Dependency](https://img.shields.io/librariesio/github/GNS3/gns3-web-ui)](https://libraries.io/github/GNS3/gns3-web-ui)\n[![Packages versions](https://repology.org/badge/latest-versions/gns3.svg)](https://repology.org/metapackage/gns3/versions)\n[![Packages](https://repology.org/badge/tiny-repos/gns3.svg)](https://repology.org/metapackage/gns3/versions)\n\n## Demo\n\nPlease use GNS3 WebUI bundled in `gns3server` and `gns3`.\n\n## Development\n\n### Branches policy\n\nOn branch `master` you can find the latest codebase including under development features. If you are looking for stable version with features promoted to be included in the current/next release please switch to `stable` branch.\n\n### Installation\n\nWe're using [yarn](https://yarnpkg.com/lang/en/) for packages installation:\n\n```\nyarn install\n```\n\n## JavaScript heap out of memory\n\nIncrease the memory allocated to Node if you get JavaScript heap out of memory errors.\n\n```\nexport NODE_OPTIONS=--max-old-space-size=8192\n```\n\n#### Run GNS3 server\n\nVisit [gns3-server](https://github.com/GNS3/gns3-server) for guide how to run GNS3 server.\n\n#### Run WebUI\n\n```\nyarn ng serve\n``` \n\nApplication is accessible on `http://127.0.0.1:4200/`. The app will automatically reload if you change any of the source files.\n\n### Docker container\n\nFor development you can also run the GNS3 Web UI in a container\n\n```\nbash scripts/docker_dev_webui.sh\n```\n\n### How to upgrade package.json?\n\n```\nyarn upgrade --latest\n```\n\n### gns3server bundled in WebUI - electron based\n\nIn special cases it's possible to build `gns3server` for GNS3 WebUI. This version is included in `electronjs` dist application.\n\n```\npython3 scripts/build.py build -b dist\n```\n\n### Code scaffolding\n\nRun `yarn ng generate component component-name` to generate a new component. You can also use `yarn ng generate directive|pipe|service|class|module`.\n\n### Build\n\nRun `yarn ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `-prod` flag for a production build.\n\n### Running unit tests\n\nRun `yarn ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).\n\n\n## Releasing\n\n### Release naming convention\n\nReleases are named by the year and quarter when release is happening, e.g. January 2020 release is named 2020.1.X.\n\n### Bumping releases\n\nWe're using [version-bump-prompt](https://www.npmjs.com/package/version-bump-prompt) for increasing version.\n\nInstall `version-bump-prompt` via:\n\n        npm install -g version-bump-prompt\n        \nIf you would like to bump prepatch just type:\n\n        bump --prepatch --tag --push\n        \n### Distribute release\n\nWe have got configured CircleCI, TravisCI and AppVeyor for distributing application for particular platform. In order to release you need to tag\u0026push your changes from master.\n\nFirst of all please remove `dev` from version in `package.json` (for instance `2019.2.0-alpha.4dev` to `2019.2.0-alpha.4`). Commit \u0026 push changes with message `Release 2019.2.0-alpha.4` . Next step is to tag repository and push to origin:\n\n\n        git tag v2019.2.0-alpha.4\n        git push origin v2019.2.0-alpha.4\n        \n\nWhen artifacts are made you can see draft release here: [gns3-web-ui releases](https://github.com/GNS3/gns3-web-ui/releases) which is waiting to be published.\nAfter release please change current version in `package.json` to `2019.2.0-alpha.5dev`'. Otherwise artifacts will be overwritten during the next commit. Don't forget to commit \u0026 push changes.\n\n#### Updating gns3server\n\nCheckout the latest master of `gns3server`. Run command `./scripts/update-bundled-web-ui.sh --tag=v2019.2.0-alpha.5`. Commit \u0026 push changes with message `Release 2019.2.0-alpha.4`.\n\n### Staging release\n\nIn case you would like to create a new staging release. Please create draft release on github, like `0.0.1-dev1`. After successful build you can find artifacts there. \n\n### Updating signing certificate for Windows\n\nPlease follow this guide: [code-signing](https://www.electron.build/code-signing), use `certmgr.msc` exporting tool to limit the size of certificate.\n\n## Further help\n\nIf you want to contribute to GNS3 Web UI feel free to reach us at `developers@gns3.net`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGNS3%2Fgns3-web-ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FGNS3%2Fgns3-web-ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGNS3%2Fgns3-web-ui/lists"}