From d9916de2873abd9a5a722353bf41b6c2fe17e381 Mon Sep 17 00:00:00 2001 From: "Z. Cliffe Schreuders" Date: Tue, 23 Sep 2025 13:41:45 +0100 Subject: [PATCH] Update permalink structure and downgrade Jekyll version for compatibility - Changed the permalink structure in the configuration to use 'categories' instead of 'category' for lab URLs. - Downgraded Jekyll version in the Gemfile from 4.3.0 to 3.10.0 to ensure compatibility with existing plugins and workflows. - Updated GitHub Actions workflow to use Ruby 3.0 and streamlined the build command for Jekyll. - Modified lab markdown files to reflect the new 'categories' field for better organization. --- .github/workflows/deploy.yml | 8 +- Gemfile | 2 +- Gemfile.lock | 215 +----------------- _config.yml | 2 +- _labs/introducing_attacks/1_intro_linux.md | 2 +- .../2_malware_msf_payloads.md | 2 +- 6 files changed, 18 insertions(+), 213 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 23abde4..0e59a52 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -24,15 +24,19 @@ jobs: - name: Setup Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: '3.2' + ruby-version: '3.0' bundler-cache: true + - name: Install dependencies + run: | + bundle install + - name: Setup Pages uses: actions/configure-pages@v4 - name: Build with Jekyll run: | - bundle exec jekyll build --baseurl "${{ steps.page_url.outputs.base_path }}" + bundle exec jekyll build env: JEKYLL_ENV: production diff --git a/Gemfile b/Gemfile index f363d12..d02d6bc 100644 --- a/Gemfile +++ b/Gemfile @@ -1,7 +1,7 @@ source 'https://rubygems.org' # Jekyll and core dependencies -gem 'jekyll', '~> 4.3.0' +gem 'jekyll', '~> 3.10.0' gem 'jekyll-feed', '~> 0.12' gem 'jekyll-sitemap' gem 'jekyll-seo-tag' diff --git a/Gemfile.lock b/Gemfile.lock index ea703a7..2e42c56 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,109 +1,17 @@ GEM remote: https://rubygems.org/ specs: - activesupport (8.0.2.1) - base64 - benchmark (>= 0.3) - bigdecimal - concurrent-ruby (~> 1.0, >= 1.3.1) - connection_pool (>= 2.2.5) - drb - i18n (>= 1.6, < 2) - logger (>= 1.4.2) - minitest (>= 5.1) - securerandom (>= 0.3) - tzinfo (~> 2.0, >= 2.0.5) - uri (>= 0.13.1) addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) - base64 (0.3.0) - benchmark (0.4.1) - bigdecimal (3.1.3) - coffee-script (2.4.1) - coffee-script-source - execjs - coffee-script-source (1.12.2) colorator (1.1.0) - commonmarker (0.23.11) concurrent-ruby (1.3.5) - connection_pool (2.5.4) csv (3.2.6) - dnsruby (1.73.0) - base64 (>= 0.2) - logger (~> 1.6) - simpleidn (~> 0.2.1) - drb (2.2.3) em-websocket (0.5.3) eventmachine (>= 0.12.9) http_parser.rb (~> 0) - ethon (0.15.0) - ffi (>= 1.15.0) eventmachine (1.2.7) - execjs (2.10.0) - faraday (2.13.4) - faraday-net_http (>= 2.0, < 3.5) - json - logger - faraday-net_http (3.4.1) - net-http (>= 0.5.0) ffi (1.17.2-x86_64-linux-gnu) forwardable-extended (2.6.0) - gemoji (4.1.0) - github-pages (232) - github-pages-health-check (= 1.18.2) - jekyll (= 3.10.0) - jekyll-avatar (= 0.8.0) - jekyll-coffeescript (= 1.2.2) - jekyll-commonmark-ghpages (= 0.5.1) - jekyll-default-layout (= 0.1.5) - jekyll-feed (= 0.17.0) - jekyll-gist (= 1.5.0) - jekyll-github-metadata (= 2.16.1) - jekyll-include-cache (= 0.2.1) - jekyll-mentions (= 1.6.0) - jekyll-optional-front-matter (= 0.3.2) - jekyll-paginate (= 1.1.0) - jekyll-readme-index (= 0.3.0) - jekyll-redirect-from (= 0.16.0) - jekyll-relative-links (= 0.6.1) - jekyll-remote-theme (= 0.4.3) - jekyll-sass-converter (= 1.5.2) - jekyll-seo-tag (= 2.8.0) - jekyll-sitemap (= 1.4.0) - jekyll-swiss (= 1.0.0) - jekyll-theme-architect (= 0.2.0) - jekyll-theme-cayman (= 0.2.0) - jekyll-theme-dinky (= 0.2.0) - jekyll-theme-hacker (= 0.2.0) - jekyll-theme-leap-day (= 0.2.0) - jekyll-theme-merlot (= 0.2.0) - jekyll-theme-midnight (= 0.2.0) - jekyll-theme-minimal (= 0.2.0) - jekyll-theme-modernist (= 0.2.0) - jekyll-theme-primer (= 0.6.0) - jekyll-theme-slate (= 0.2.0) - jekyll-theme-tactile (= 0.2.0) - jekyll-theme-time-machine (= 0.2.0) - jekyll-titles-from-headings (= 0.5.3) - jemoji (= 0.13.0) - kramdown (= 2.4.0) - kramdown-parser-gfm (= 1.1.0) - liquid (= 4.0.4) - mercenary (~> 0.3) - minima (= 2.5.1) - nokogiri (>= 1.16.2, < 2.0) - rouge (= 3.30.0) - terminal-table (~> 1.4) - webrick (~> 1.8) - github-pages-health-check (1.18.2) - addressable (~> 2.3) - dnsruby (~> 1.60) - octokit (>= 4, < 8) - public_suffix (>= 3.0, < 6.0) - typhoeus (~> 1.3) - html-pipeline (2.14.3) - activesupport (>= 2) - nokogiri (>= 1.4) http_parser.rb (0.8.0) i18n (1.14.7) concurrent-ruby (~> 1.0) @@ -122,102 +30,16 @@ GEM rouge (>= 1.7, < 4) safe_yaml (~> 1.0) webrick (>= 1.0) - jekyll-avatar (0.8.0) - jekyll (>= 3.0, < 5.0) - jekyll-coffeescript (1.2.2) - coffee-script (~> 2.2) - coffee-script-source (~> 1.12) - jekyll-commonmark (1.4.0) - commonmarker (~> 0.22) - jekyll-commonmark-ghpages (0.5.1) - commonmarker (>= 0.23.7, < 1.1.0) - jekyll (>= 3.9, < 4.0) - jekyll-commonmark (~> 1.4.0) - rouge (>= 2.0, < 5.0) - jekyll-default-layout (0.1.5) - jekyll (>= 3.0, < 5.0) jekyll-feed (0.17.0) jekyll (>= 3.7, < 5.0) - jekyll-gist (1.5.0) - octokit (~> 4.2) - jekyll-github-metadata (2.16.1) - jekyll (>= 3.4, < 5.0) - octokit (>= 4, < 7, != 4.4.0) - jekyll-include-cache (0.2.1) - jekyll (>= 3.7, < 5.0) - jekyll-mentions (1.6.0) - html-pipeline (~> 2.3) - jekyll (>= 3.7, < 5.0) - jekyll-optional-front-matter (0.3.2) - jekyll (>= 3.0, < 5.0) - jekyll-paginate (1.1.0) - jekyll-readme-index (0.3.0) - jekyll (>= 3.0, < 5.0) - jekyll-redirect-from (0.16.0) - jekyll (>= 3.3, < 5.0) - jekyll-relative-links (0.6.1) - jekyll (>= 3.3, < 5.0) - jekyll-remote-theme (0.4.3) - addressable (~> 2.0) - jekyll (>= 3.5, < 5.0) - jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0) - rubyzip (>= 1.3.0, < 3.0) jekyll-sass-converter (1.5.2) sass (~> 3.4) jekyll-seo-tag (2.8.0) jekyll (>= 3.8, < 5.0) jekyll-sitemap (1.4.0) jekyll (>= 3.7, < 5.0) - jekyll-swiss (1.0.0) - jekyll-theme-architect (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-cayman (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-dinky (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-hacker (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-leap-day (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-merlot (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-midnight (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-minimal (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-modernist (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-primer (0.6.0) - jekyll (> 3.5, < 5.0) - jekyll-github-metadata (~> 2.9) - jekyll-seo-tag (~> 2.0) - jekyll-theme-slate (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-tactile (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-time-machine (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-titles-from-headings (0.5.3) - jekyll (>= 3.3, < 5.0) jekyll-watch (2.2.1) listen (~> 3.0) - jemoji (0.13.0) - gemoji (>= 3, < 5) - html-pipeline (~> 2.2) - jekyll (>= 3.0, < 5.0) - json (2.6.3) kramdown (2.4.0) rexml kramdown-parser-gfm (1.1.0) @@ -226,58 +48,37 @@ GEM listen (3.9.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) - logger (1.7.0) mercenary (0.3.6) - minima (2.5.1) - jekyll (>= 3.5, < 5.0) - jekyll-feed (~> 0.9) - jekyll-seo-tag (~> 2.1) - minitest (5.25.5) - net-http (0.6.0) - uri - nokogiri (1.18.10-x86_64-linux-gnu) - racc (~> 1.4) - octokit (4.25.1) - faraday (>= 1, < 3) - sawyer (~> 0.9) pathutil (0.16.2) forwardable-extended (~> 2.6) public_suffix (5.1.1) - racc (1.8.1) rb-fsevent (0.11.2) rb-inotify (0.11.1) ffi (~> 1.0) rexml (3.4.3) rouge (3.30.0) - rubyzip (2.4.1) safe_yaml (1.0.5) sass (3.7.4) sass-listen (~> 4.0.0) sass-listen (4.0.0) rb-fsevent (~> 0.9, >= 0.9.4) rb-inotify (~> 0.9, >= 0.9.7) - sawyer (0.9.2) - addressable (>= 2.3.5) - faraday (>= 0.17.3, < 3) - securerandom (0.4.1) - simpleidn (0.2.3) - terminal-table (1.8.0) - unicode-display_width (~> 1.1, >= 1.1.1) - typhoeus (1.5.0) - ethon (>= 0.9.0, < 0.16.0) - tzinfo (2.0.6) - concurrent-ruby (~> 1.0) - unicode-display_width (1.8.0) - uri (1.0.3) webrick (1.8.1) PLATFORMS x86_64-linux-gnu DEPENDENCIES - github-pages + http_parser.rb (~> 0.6.0) + jekyll (~> 3.10.0) jekyll-feed (~> 0.12) + jekyll-seo-tag jekyll-sitemap + kramdown-parser-gfm + rouge + tzinfo (>= 1, < 3) + tzinfo-data + wdm (~> 0.1.1) BUNDLED WITH 2.7.2 diff --git a/_config.yml b/_config.yml index c08a5b6..4e3417a 100644 --- a/_config.yml +++ b/_config.yml @@ -16,7 +16,7 @@ highlighter: rouge collections: labs: output: true - permalink: /:collection/:category/:name/ + permalink: /:collection/:categories/:name/ # Default settings for lab posts defaults: diff --git a/_labs/introducing_attacks/1_intro_linux.md b/_labs/introducing_attacks/1_intro_linux.md index bf8947e..1ee313a 100644 --- a/_labs/introducing_attacks/1_intro_linux.md +++ b/_labs/introducing_attacks/1_intro_linux.md @@ -8,7 +8,7 @@ overview: | Throughout this lab, you will learn how to perform various tasks, such as creating and manipulating files, exploring the Linux file system, and conducting network-related activities. You will gain hands-on experience with SSH, a secure remote shell protocol used for administration, and even attempt online brute force attacks to understand the importance of security in the digital realm. By the end of this lab, you will have honed your Linux command-line skills, developed a basic understanding of networking, and practiced using essential security tools, preparing you for more advanced challenges in the field of cyber security. tags: ["linux", "command-line", "ssh", "kali", "networking", "security"] -category: "introducing_attacks" +categories: ["introducing_attacks"] lab_sheet_url: "https://docs.google.com/document/d/1vA_Ev_GPqPg3cGZblgVclWmTU-sUEEBqwYpFH09mQjg/edit?usp=sharing" type: ["ctf-lab", "lab-sheet"] lecture_url: "http://z.cliffe.schreuders.org/presentations/slides/DSL_DS_OSPT_Lectures_1_Intro_to_Unix_FOSS_and_Linux.html" diff --git a/_labs/introducing_attacks/2_malware_msf_payloads.md b/_labs/introducing_attacks/2_malware_msf_payloads.md index ac1571d..80cd3d2 100644 --- a/_labs/introducing_attacks/2_malware_msf_payloads.md +++ b/_labs/introducing_attacks/2_malware_msf_payloads.md @@ -11,7 +11,7 @@ difficulty: "Beginner" duration: "120 minutes" prerequisites: "Basic understanding of operating systems and networking" tags: ["malware", "metasploit", "payloads", "trojan", "ethical-hacking", "penetration-testing"] -category: "introducing_attacks" +categories: ["introducing_attacks"] lab_sheet_url: "https://docs.google.com/document/d/1QsOLdqwBP6njIoKbeQRdattbLBLPFCB-eKHW0OxdE8U/edit?usp=sharing" type: ["lab-sheet"] lecture_url: "http://z.cliffe.schreuders.org/presentations/slides/DSL_DS_OSPT_Lectures_2_Malware.html"