- 
+    {{ $currentPage := . }}
+    {{ range .Site.Menus.main }}
+    
+    {{end}}
+  
 
diff --git a/.github/workflows/jekyll-gh-pages.yml b/.github/workflows/jekyll-gh-pages.yml deleted file mode 100644 index e31d81c..0000000 --- a/.github/workflows/jekyll-gh-pages.yml +++ /dev/null @@ -1,51 +0,0 @@ -# Sample workflow for building and deploying a Jekyll site to GitHub Pages -name: Deploy Jekyll with GitHub Pages dependencies preinstalled - -on: - # Runs on pushes targeting the default branch - push: - branches: ["main"] - - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: - -# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages -permissions: - contents: read - pages: write - id-token: write - -# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. -# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. -concurrency: - group: "pages" - cancel-in-progress: false - -jobs: - # Build job - build: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Setup Pages - uses: actions/configure-pages@v5 - - name: Build with Jekyll - uses: actions/jekyll-build-pages@v1 - with: - source: ./ - destination: ./_site - - name: Upload artifact - uses: actions/upload-pages-artifact@v3 - - # Deployment job - deploy: - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - runs-on: ubuntu-latest - needs: build - steps: - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v4 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c0e0fcb --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.idea +themes +public +resources diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..affee54 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "themes/hugo-whisper-theme"] + path = themes/hugo-whisper-theme + url = https://github.com/zerostaticthemes/hugo-whisper-theme.git diff --git a/.hugo_build.lock b/.hugo_build.lock new file mode 100644 index 0000000..e69de29 diff --git a/archetypes/default.md b/archetypes/default.md new file mode 100644 index 0000000..00e77bd --- /dev/null +++ b/archetypes/default.md @@ -0,0 +1,6 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +--- + diff --git a/archetypes/docs.md b/archetypes/docs.md new file mode 100644 index 0000000..68a01b5 --- /dev/null +++ b/archetypes/docs.md @@ -0,0 +1,10 @@ +--- +title: "{{ replace .TranslationBaseName "-" " " | title }}" +date: {{ .Date }} +draft: false +weight: 100 +--- + +Lorem markdownum aequalis strigis. Saetigeri iubeas, vultu huic alvum nondum +de obside ut laniavit arbor palmis, cum quin. Rupes vetat videndo, armigerae +crimen habet Priamum nec. diff --git a/assets/scss/_bootstrap-variables.scss b/assets/scss/_bootstrap-variables.scss new file mode 100755 index 0000000..3b2439f --- /dev/null +++ b/assets/scss/_bootstrap-variables.scss @@ -0,0 +1,65 @@ +$grid-breakpoints: ( + xs: 0, + sm: 576px, + md: 768px, + lg: 992px, + xl: 1300px, +); + +$container-max-widths: ( + sm: 540px, + md: 720px, + lg: 960px, + xl: 1140px, +); + +$grid-gutter-width: 20px; + +$primary: #1de9b6 !default; +$secondary: #ffca28 !default; +$black: #212529 !default; + +// Links +$link-color: $primary; +$link-decoration: none; +$link-hover-color: lighten($primary, 20%); +$link-hover-decoration: underline; + +// Fonts +$font-size-base: 1rem; // Assumes the browser default, typically `16px` +$font-family-base: 'Roboto', Arial, sans-serif, -apple-system; +$font-family-serif: 'Lora', Arial, sans-serif, -apple-system; +$font-family-mono: 'Roboto Mono', monospace; +$line-height-base: 1.4; + +// Headings & Paragraph +$paragraph-color: #333; + +$spacer: 1rem; +$spacers: (); +$spacers: map-merge( + ( + 0: 0, + 1: 10px, + 2: 20px, + 3: 30px, + 4: 40px, + 5: 50px, + 6: 60px, + 7: 70px, + 8: 80px, + 9: 90px, + 10: 100px, + 11: 110px, + 12: 120px, + 13: 130px, + 14: 140px, + 15: 150px, + 16: 160px, + 17: 170px, + 18: 180px, + 19: 190px, + 20: 200px, + ), + $spacers +); diff --git a/assets/scss/pages/_home.scss b/assets/scss/pages/_home.scss new file mode 100644 index 0000000..7c45f9f --- /dev/null +++ b/assets/scss/pages/_home.scss @@ -0,0 +1,19 @@ +.page-home { + text-align: left; + .title { + font-weight: lighter; + font-family: $font-family-base; + } + p { + margin: 0 auto; + font-size: 1.2rem; + font-weight: lighter; + margin-bottom: 40px; + @include media-breakpoint-up(md) { + width: 80%; + } + @include media-breakpoint-up(lg) { + width: 100%; + } + } +} diff --git a/config.toml b/config.toml new file mode 100644 index 0000000..1231090 --- /dev/null +++ b/config.toml @@ -0,0 +1,52 @@ +baseURL = "/" +theme = "hugo-whisper-theme" +languageCode = "en-us" +title = "Privacy-Enhancing Technologies (PETS)" + +pygmentsCodeFences = true +pygmentsCodefencesGuessSyntax = true +pygmentsUseClasses = true + +[module] + [module.hugoVersion] + extended = true + min = "0.55.0" + +# Controls how many words are printed in the content summary on the docs homepage. +# See https://gohugo.io/content-management/summaries/ +summaryLength = 30 + +[[menu.main]] + name = "Home" + url = "/" + weight = 1 + +[[menu.main]] + name = "Material" + url = "/material/" + weight = 2 + +[params] + google_analytics_id="" + homepage_button_link = '/material' + homepage_button_text = 'Material' + homepage_intro = 'Privacy-Enhancing Techologies lecture material.' + homepage_image = '' + + ## You can enable to add anchor links to header elements + # enable_anchor_link = true + + [params.homepage_meta_tags] + meta_description = "Lecture material for Privacy-Enhancing Technologies (PETS)." + meta_og_title = "Privacy-Enhancing Technologies (PETS)" + meta_og_type = "website" + meta_og_image = "https://avatars.githubusercontent.com/u/182622536?" + meta_og_description = "Lecture notes and challenges for Privacy-Enhancing Technologies." + meta_twitter_card = "summary" + + [params.logo] + mobile = "/images/logo-mobile.svg" + standard = "/images/logo.svg" + + [params.footer] + copyright_text = 'Created with Hugo.' diff --git a/content/_index.md b/content/_index.md new file mode 100644 index 0000000..488f16c --- /dev/null +++ b/content/_index.md @@ -0,0 +1,15 @@ +--- +title: 'Privacy-Enhancing Technologies' +date: 2024-09-24 +--- + + +Privacy-Enhancing Technologies (`PETS`) was a lecture by [Markus Donko-Huber](), [Martin Schmiedecker](), [Wilfried Mayer]() at [TU Wien](https://tiss.tuwien.ac.at/course/courseDetails.xhtml?dswid=4760&dsrid=60&courseNr=194144) from `2014 - 2023`. +In this lecture, students explored the fundamental concepts and practical applications of privacy-enhancing technologies. The course was designed to achieve the following learning goals. + +1. Name **basic privacy-enhancing technologies:** Students became familiar with essential tools and methods used to protect privacy in digital environments. +2. **Apply theoretical knowledge to practical assignments:** Through hands-on exercises, students implemented privacy-enhancing technologies in real-world scenarios. +3. Understand the **pros and cons of different privacy-enhancing methods:** The lecture covered various techniques, highlighting their advantages and limitations to help students make informed decisions. +4. Analyze current internet services regarding privacy and suggest **effective technical protection measures:** Students critically evaluated existing online services and proposed robust privacy solutions. + +All material is licensed under: ... diff --git a/content/material/_index.md b/content/material/_index.md new file mode 100644 index 0000000..55e3e19 --- /dev/null +++ b/content/material/_index.md @@ -0,0 +1,8 @@ +--- +title: 'Lecture Material' +date: 2018-11-28T15:14:39+10:00 +weight: 1 +--- + + + diff --git a/content/material/challenges/index.md b/content/material/challenges/index.md new file mode 100644 index 0000000..9a54938 --- /dev/null +++ b/content/material/challenges/index.md @@ -0,0 +1,8 @@ +--- +title: 'PETS Challenges' +date: 2024-09-24 +weight: 3 +--- + +## Challenge Source +TBA \ No newline at end of file diff --git a/content/material/slides/index.md b/content/material/slides/index.md new file mode 100644 index 0000000..7f897c9 --- /dev/null +++ b/content/material/slides/index.md @@ -0,0 +1,28 @@ +--- +title: 'PETS Slides' +date: 2024-09-24 +weight: 2 +--- + +## Slides +#### [01_Introduction.pdf](/slides/01_Introduction.pdf) +Introduction and motivation for PET + +#### [02_Anonymity.pdf](/slides/02_Anonymity.pdf) +Systems for online anonymity (remailer, dining cryptographers, mix networks) + +#### [03_Censorship.pdf](/slides/03_Censorship.pdf) +Internet censorship (technologies, measurements, circumvention, Great Firewall of China) + +#### [04_Messaging.pdf](/slides/04_Messaging.pdf) +Secure Messaging (PGP, OTR, ZRTP, mobile messaging, Signal) + +#### [05_TLS.pdf](/slides/05_TLS.pdf) +Transport Layer Security (TLS, PKI, Implementations, Crypto, HTTPS, attacks, incidents, HSTS, CT, DNS over TLS/HTTPS) + +#### [06_Tor.pdf](/slides/06_Tor.pdf) +Tor (onion routing, functionality, onion services, attacks, usage) + +#### [07_WebPrivacy.pdf](/slides/07_WebPrivacy.pdf) +Web Privacy (web tracking, fingerprinting, anti tracking) + diff --git a/data/social.json b/data/social.json new file mode 100644 index 0000000..5235c07 --- /dev/null +++ b/data/social.json @@ -0,0 +1,7 @@ +[ + { + "name": "Github", + "link": "https://github.com/pets-lecture", + "image": "images/social/github.svg" + } +] diff --git a/layouts/404.html b/layouts/404.html new file mode 100644 index 0000000..b8d4c59 --- /dev/null +++ b/layouts/404.html @@ -0,0 +1,13 @@ +{{ define "header_css" }}{{ end }} +{{ define "body_classes" }}{{ end }} +{{ define "header_classes" }}{{ end }} + +{{ define "main" }} +
{{ .Site.Params.homepage_intro }}
+ {{ end }} +