├── .gitignore ├── com.cisco.PacketTracer.png ├── Makefile ├── com.cisco.PacketTracer.url.desktop ├── com.cisco.PacketTracer.desktop ├── com.cisco.PacketTracer.appdata.xml ├── LICENSE.txt ├── check-updates.sh ├── .github └── workflows │ └── main.yml ├── README.md └── com.cisco.PacketTracer.yml /.gitignore: -------------------------------------------------------------------------------- 1 | *.deb 2 | build/ 3 | .flatpak-builder/ 4 | -------------------------------------------------------------------------------- /com.cisco.PacketTracer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/losuler/com.cisco.PacketTracer/HEAD/com.cisco.PacketTracer.png -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | install: 2 | flatpak-builder --delete-build-dirs --force-clean --user --install build com.cisco.PacketTracer.yml 3 | 4 | uninstall: 5 | flatpak remove --delete-data com.cisco.PacketTracer 6 | 7 | clean: 8 | rm --recursive --force build .flatpak-builder 9 | -------------------------------------------------------------------------------- /com.cisco.PacketTracer.url.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Encoding=UTF-8 3 | Type=Application 4 | 5 | Exec=/app/pt/packettracer -uri=%u 6 | Icon=com.cisco.PacketTracer 7 | 8 | Name=Packet Tracer 9 | Categories=Application;Network; 10 | NoDisplay=true 11 | 12 | MimeType=x-scheme-handler/pttp; 13 | StartupWMClass=PacketTracer 14 | -------------------------------------------------------------------------------- /com.cisco.PacketTracer.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Encoding=UTF-8 3 | Type=Application 4 | 5 | Exec=/app/pt/packettracer %F 6 | Icon=com.cisco.PacketTracer 7 | 8 | Name=Packet Tracer 9 | Categories=Application;Network; 10 | 11 | MimeType=application/x-pkt;application/x-pka;application/x-pkz;application/x-pks;application/x-pksz; 12 | StartupWMClass=PacketTracer 13 | -------------------------------------------------------------------------------- /com.cisco.PacketTracer.appdata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | com.cisco.PacketTracer 4 | 5 | Packet Tracer 6 | Powerful network simulation tool built by Cisco 7 | 8 | MIT 9 | 10 | LicenseRef-proprietary=https://www.cisco.com/c/dam/en_us/about/doing_business/legal/seula/cisco-packet-tracer-software.pdf 11 | 12 | 13 | 14 |

15 | Get real world experience with this powerful network simulation tool built by Cisco. Practice building simple and complex networks across a variety of devices and extend beyond routers and switches. Create solutions that are interconnected for smart cities, homes, and enterprises. 16 |

17 |

18 | Use it alongside instructional courses, professional training, work planning or just to have some fun. 19 |

20 |
21 | 22 | com.cisco.PacketTracer.desktop 23 |
24 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Bryce Torcello 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /check-updates.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Uncomment for debugging use 4 | # set -o xtrace 5 | set -o errexit 6 | set -o pipefail 7 | set -o nounset 8 | 9 | # The FAQ page says 8.1 but it's actually 8.2.1 10 | PREV_RELEASE="8.2" 11 | 12 | LATEST_RELEASE=$(curl --silent https://www.netacad.com/courses/packet-tracer/faq | \ 13 | grep --only-matching --perl-regexp "What’s new in Cisco Packet Tracer (\d\.\d|\.\d)" | \ 14 | head -1 | \ 15 | grep --only-matching --perl-regexp "(\d\.\d|\.\d)") 16 | 17 | function print_release { 18 | if [[ "${LATEST_RELEASE}" != "${PREV_RELEASE}" ]]; then 19 | if [[ "$1" != "version-only" ]]; then 20 | echo "There's a new release of Packet Tracer." 21 | echo "https://www.netacad.com/courses/packet-tracer/faq" 22 | fi 23 | echo "${LATEST_RELEASE} > ${PREV_RELEASE}." 24 | else 25 | if [[ "$1" != "version-only" ]]; then 26 | echo "There's no new release of Packet Tracer." 27 | echo "https://www.netacad.com/courses/packet-tracer/faq" 28 | fi 29 | echo "${LATEST_RELEASE} == ${PREV_RELEASE}." 30 | fi 31 | } 32 | 33 | case "$@" in 34 | --version-only) 35 | print_release "version-only" 36 | ;; 37 | *) 38 | print_release "" 39 | ;; 40 | esac 41 | -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: Check for updates 2 | 3 | on: 4 | schedule: 5 | # https://crontab.guru/every-day-8am 6 | - cron: 0 8 * * * 7 | workflow_dispatch: 8 | branches: 9 | - add-new-release 10 | 11 | jobs: 12 | pull-request: 13 | # https://github.com/actions/virtual-environments 14 | runs-on: ubuntu-latest 15 | steps: 16 | - uses: actions/checkout@v3 17 | 18 | - name: Run update check 19 | run: echo "version=$(bash check-updates.sh --version-only)" >> $GITHUB_ENV 20 | 21 | - name: Create new branch 22 | run: git branch add-new-release 23 | 24 | - name: Update version number 25 | run: | 26 | sed -i "s/PREV_RELEASE=.*/PREV_RELEASE=\"$(echo '${{env.version}}' | \ 27 | awk '{print $1}')\"/" \ 28 | check-updates.sh 29 | 30 | - name: Open pull request 31 | # https://docs.github.com/en/actions/learn-github-actions/expressions 32 | if: contains(env.version, '>') 33 | uses: peter-evans/create-pull-request@v4 34 | with: 35 | token: ${{ secrets.GITHUB_TOKEN }} 36 | commit-message: "feat: update release version" 37 | committer: GitHub 38 | author: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com> 39 | branch: add-new-release 40 | base: master 41 | title: "Add new release" 42 | body: "A new release of Packet Tracer has been detected." 43 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |
2 |

3 |

4 |

Packet Tracer Flatpak

5 |

6 | A Flatpak manifest for Cisco's Packet Tracer. 7 |

8 |

9 |

10 |
11 | 12 | ## About 13 | 14 | This is a Flatpak manifest for [Cisco's Packet Tracer](https://www.netacad.com/courses/packet-tracer). The Deb package in which Cisco distributes their binary build of Packet Tracer is not included as the download link for and use of Packet Tracer itself requires a Netacad account. 15 | 16 | This is currently based on Packet Tracer 8.2.1 and is intended to track the latest release. For previous releases see [janymal/PacketTracer7-flatpak](https://github.com/janymal/PacketTracer7-flatpak) and [rpallai/flatpak-pt](https://github.com/rpallai/flatpak-pt). 17 | 18 | ## Building 19 | 20 | 1. Clone this repository. 21 | 22 | ```bash 23 | git clone https://github.com/losuler/com.cisco.PacketTracer 24 | ``` 25 | 26 | 2. Install build dependencies (using your preferred package manager). 27 | 28 | ```bash 29 | dnf install flatpak-builder 30 | ``` 31 | 32 | 3. Install Flatpak runtime dependencies. 33 | 34 | ```bash 35 | flatpak install \ 36 | org.kde.Sdk/x86_64/5.15-22.08 \ 37 | io.qt.qtwebengine.BaseApp/x86_64/5.15-22.08 38 | ``` 39 | 40 | 4. Download the official Deb package to the cloned repository (don't rename it). 41 | 42 | https://skillsforall.com/resources/lab-downloads 43 | 44 | 5. Build and install the Flatpak. 45 | 46 | ```bash 47 | cd com.cisco.PacketTracer 48 | flatpak-builder --install --user build com.cisco.PacketTracer.yml 49 | ``` 50 | 51 | ## Notes 52 | 53 | - Do not remove the `.flatpak-builder` directory that is created during the build (while the Flatpak is installed) as it serves as the local Flatpak repository. 54 | -------------------------------------------------------------------------------- /com.cisco.PacketTracer.yml: -------------------------------------------------------------------------------- 1 | app-id: com.cisco.PacketTracer 2 | runtime: org.kde.Platform 3 | runtime-version: '5.15-22.08' 4 | sdk: org.kde.Sdk 5 | base: io.qt.qtwebengine.BaseApp 6 | base-version: '5.15-22.08' 7 | command: /app/pt/packettracer 8 | separate-locales: false 9 | 10 | tags: 11 | - proprietary 12 | 13 | finish-args: 14 | - --share=ipc 15 | - --share=network 16 | - --socket=x11 17 | - --socket=pulseaudio 18 | - --device=dri 19 | - --filesystem=xdg-download 20 | - --persist=. 21 | - --env=TZ= 22 | 23 | modules: 24 | - name: packettracer 25 | buildsystem: simple 26 | build-commands: 27 | - install -D com.cisco.PacketTracer.appdata.xml /app/share/metainfo/com.cisco.PacketTracer.appdata.xml 28 | - ar x Packet_Tracer822_amd64_signed.deb 29 | - xz -d data.tar.xz 30 | - tar -xf data.tar 31 | - find opt/pt/saves opt/pt/templates opt/pt/templates/environments -type d -exec chmod 755 {} + 32 | - find opt/pt/saves opt/pt/templates opt/pt/templates/environments -type f -exec chmod 644 {} + 33 | - mv opt/pt /app 34 | - install -D /app/pt/art/app.png /app/share/icons/hicolor/48x48/apps/com.cisco.PacketTracer.png 35 | - install -D com.cisco.PacketTracer.png /app/share/icons/hicolor/128x128/apps/com.cisco.PacketTracer.png 36 | - install -D com.cisco.PacketTracer.desktop /app/share/applications/com.cisco.PacketTracer.desktop 37 | - install -D com.cisco.PacketTracer.url.desktop /app/share/applications/com.cisco.PacketTracer.url.desktop 38 | - sed -i -e 's\/opt/\/app/\g' /app/pt/packettracer /app/pt/linguist 39 | - sed -i -e 's\"$@"\-style windows "$@"\;' /app/pt/packettracer /app/pt/linguist 40 | 41 | sources: 42 | - type: file 43 | path: Packet_Tracer822_amd64_signed.deb 44 | sha256: 6cd2b8891df92d2cad8b6fdc47480fc089de085c4f3fe95eb80d5450a2a7f72d 45 | - type: file 46 | path: com.cisco.PacketTracer.appdata.xml 47 | - type: file 48 | path: com.cisco.PacketTracer.desktop 49 | - type: file 50 | path: com.cisco.PacketTracer.url.desktop 51 | - type: file 52 | path: com.cisco.PacketTracer.png 53 | --------------------------------------------------------------------------------