├── .editorconfig ├── .github └── workflows │ └── fetch-videos.yml ├── .gitignore ├── .nvmrc ├── .python-version ├── .ruby-version ├── 404.html ├── Gemfile ├── Gemfile.lock ├── LICENSE ├── README.md ├── _config.yml ├── _data └── _en │ ├── affiliates │ ├── production.yml │ └── tools.yml │ ├── content.yml │ ├── faq.yml │ ├── forum │ ├── latest-surveillance-report-videos.yml │ ├── latest-techlore-clips-videos.yml │ └── latest-techlore-videos.yml │ ├── goincognitotable.yml │ ├── knowledgebase-text.yml │ ├── knowledgebase │ ├── external-resources │ │ ├── creators.yml │ │ ├── digital-rights.yml │ │ └── guides.yml │ ├── operating-systems │ │ ├── android.yml │ │ └── desktop-operating-systems.yml │ ├── other-services │ │ ├── aliasing.yml │ │ ├── cloud.yml │ │ ├── cryptocurrencies.yml │ │ ├── dns.yml │ │ ├── email.yml │ │ ├── messengers.yml │ │ ├── notes-docs-a-photos.yml │ │ ├── other-tools.yml │ │ ├── search-engines.yml │ │ └── vpns.yml │ └── software │ │ ├── 2fa.yml │ │ ├── applications.yml │ │ ├── encryption.yml │ │ ├── firewalls.yml │ │ ├── password-managers.yml │ │ └── web-browsers.yml │ ├── navigation.yml │ ├── patreons.yml │ ├── spa-quiz.yml │ ├── team.yml │ └── testimonials.yml ├── _headers ├── _includes ├── c_archive-item.html ├── c_box-footer.html ├── c_box-header.html ├── c_feature-box.html ├── c_goincognitotable-column.html ├── c_hero-banner.html ├── c_knowledgebase-item.html ├── c_knowledgebase.html ├── c_linkhub-dual-link.html ├── c_linkhub-dual-wrapper-column.html ├── c_linkhub-dual-wrapper.html ├── c_linkhub-dual.html ├── c_nojs-message.html ├── c_patreons.html ├── c_person.html ├── c_project.html ├── c_related-links.html ├── c_spa-quiz-item.html ├── c_sub-hero.html ├── c_testimonial.html ├── c_video.html ├── e_render-image.html ├── e_render-svg-icon.html ├── footer.html ├── goincognito-overview.html ├── goincognitotable.html ├── head.html ├── meta │ ├── mastodon-meta.html │ ├── og-meta.html │ ├── schema-org.html │ └── twitter-meta.html ├── nav.html ├── official-accounts.html ├── spa-quiz-sponsor-block.html ├── team.html ├── variables.html └── wave.html ├── _layouts ├── default.html ├── page.html └── post.html ├── _plugins └── filter_duration.rb ├── _redirects ├── _sass ├── _accordion.scss ├── _affiliates.scss ├── _anchor.scss ├── _archive.scss ├── _box-footer.scss ├── _box-header.scss ├── _box.scss ├── _buttons.scss ├── _coaching.scss ├── _fonts.scss ├── _footer.scss ├── _global.scss ├── _goincognitotable.scss ├── _helpers-custom.scss ├── _hero-banner.scss ├── _knowledgebase-navigation.scss ├── _knowledgebase.scss ├── _linkhub-dual.scss ├── _nav.scss ├── _no-js.scss ├── _official-accounts.scss ├── _p404.scss ├── _patreons.scss ├── _person.scss ├── _project.scss ├── _related-links.scss ├── _spa-quiz.scss ├── _sub-hero.scss ├── _support.scss ├── _svg-icon.scss ├── _tabulator-custom.scss ├── _tags.scss ├── _team.scss ├── _theme-toggle.scss ├── _themes.scss ├── _tooltip.scss ├── _topic-list.scss ├── _video.scss ├── _vpn-chart.scss ├── _vpn-modal.scss └── _wave.scss ├── about.html ├── affiliates.html ├── android-chrome-192x192.png ├── android-chrome-256x256.png ├── apple-touch-icon.png ├── assets ├── affiliates │ └── icons │ │ ├── 1password.svg │ │ ├── abine-deleteme.svg │ │ ├── artlist.svg │ │ ├── blue-yeti.svg │ │ ├── coincards.svg │ │ ├── davinci-resolve-studio.svg │ │ ├── dji-mic-2.svg │ │ ├── fairphone.svg │ │ ├── fujifilm-x100v.svg │ │ ├── google-pixel.svg │ │ ├── hetzner.svg │ │ ├── laptop.svg │ │ ├── mega.svg │ │ ├── nextdns.svg │ │ ├── omg-lol.svg │ │ ├── orangewebsite.svg │ │ ├── parallels.svg │ │ ├── prime-lens.svg │ │ ├── privacy-com.svg │ │ ├── proton-drive.svg │ │ ├── proton-mail.svg │ │ ├── proton-pass.svg │ │ ├── proton-vpn.svg │ │ ├── router.svg │ │ ├── safe.svg │ │ ├── screen-protectors.svg │ │ ├── sennheiser-hd600.svg │ │ ├── sennheiser-momentum-4.svg │ │ ├── shredder.svg │ │ ├── simplelogin.svg │ │ ├── sony-a7-iii.svg │ │ ├── startmail.svg │ │ ├── synology-nas.svg │ │ ├── tubebuddy.svg │ │ ├── tuta.svg │ │ ├── webcam-covers.svg │ │ ├── yubikey.svg │ │ └── zoom-lens.svg ├── css │ └── styles.scss ├── fonts │ ├── montserrat-v26-latin-800.woff2 │ ├── montserrat-v26-latin-italic.woff2 │ ├── montserrat-v26-latin-regular.woff2 │ ├── nunito-v26-latin-900.woff2 │ ├── nunito-v26-latin-italic.woff2 │ ├── nunito-v26-latin-regular.woff2 │ ├── source-code-pro-v23-latin-600.woff2 │ └── source-code-pro-v23-latin-regular.woff2 ├── icons │ ├── arrow-down.svg │ ├── arrow-up-right.svg │ ├── bluesky.svg │ ├── bright-star.svg │ ├── default.svg │ ├── discuss.svg │ ├── donate.svg │ ├── ente.svg │ ├── eye-solid.svg │ ├── facebook.svg │ ├── fdroid.svg │ ├── fingerprint-lock-circle.svg │ ├── github.svg │ ├── half-moon.svg │ ├── headset-help.svg │ ├── heart-solid.svg │ ├── info-circle.svg │ ├── instagram.svg │ ├── iris-scan.svg │ ├── kofi.svg │ ├── laptop-warning.svg │ ├── liberapay.svg │ ├── link.svg │ ├── linkedin.svg │ ├── list-select.svg │ ├── long-arrow-down-right.svg │ ├── mastodon.svg │ ├── matrix.svg │ ├── odysee.svg │ ├── patreon.svg │ ├── paypal.svg │ ├── peertube.svg │ ├── plexus.svg │ ├── quote-solid.svg │ ├── reddit.svg │ ├── rss.svg │ ├── send-mail.svg │ ├── server.svg │ ├── shirt.svg │ ├── signal.svg │ ├── socials-custom.svg │ ├── star-solid.svg │ ├── star.svg │ ├── sun-light.svg │ ├── techlorian.svg │ ├── telegram.svg │ ├── tv-star.svg │ ├── tv.svg │ ├── twitter.svg │ ├── video.svg │ ├── web.svg │ ├── wrench.svg │ ├── xbox-x.svg │ ├── xmr.svg │ ├── xmrchat.svg │ └── youtube.svg ├── images │ ├── avatar-default.svg │ ├── avatar-javascript.svg │ ├── github-readme-dark.png │ ├── github-readme-light.png │ ├── og-image-1200x630-about.png │ ├── og-image-1200x630-default.png │ ├── og-image-1200x630-goincognito.png │ ├── og-image-1200x630-resources.png │ ├── og-image-1200x630-spa.png │ ├── og-image-1200x630-support.png │ ├── og-image-1200x630-videos.png │ ├── og-image-1200x630-vpn.png │ ├── techlorexmr.png │ ├── thumbnail-default.png │ └── wave.svg ├── js │ ├── main.js │ ├── spa-quiz.js │ ├── textscramble.js │ └── vpn-chart.js ├── knowledgebase │ └── icons │ │ ├── 1984-hosting.svg │ │ ├── 1password.svg │ │ ├── 7-zip.svg │ │ ├── addy-io.svg │ │ ├── adguard.svg │ │ ├── aegis.svg │ │ ├── alternativeto.svg │ │ ├── altstore.svg │ │ ├── arch.svg │ │ ├── aurora-store.svg │ │ ├── bisq-network.svg │ │ ├── bitwarden.svg │ │ ├── bleachbit.svg │ │ ├── brave-search.svg │ │ ├── brave.svg │ │ ├── briar.svg │ │ ├── cake-wallet.svg │ │ ├── calyx-institute.svg │ │ ├── calyxos.svg │ │ ├── coincards.svg │ │ ├── control-d.svg │ │ ├── cr-security-planner.svg │ │ ├── cromite.svg │ │ ├── cryptee.svg │ │ ├── cryptomator.svg │ │ ├── cryptpad.svg │ │ ├── dangerzone.svg │ │ ├── debian.svg │ │ ├── duckduckgo.svg │ │ ├── easyoptouts.svg │ │ ├── eff-surveillance-self-defense.svg │ │ ├── electronic-privacy-information-center-epic.svg │ │ ├── ente-auth.svg │ │ ├── ente.svg │ │ ├── european-digital-rights-edri.svg │ │ ├── exodus-privacy.svg │ │ ├── f-droid.svg │ │ ├── fastmail.svg │ │ ├── fedora.svg │ │ ├── filen.svg │ │ ├── firefox-focus.svg │ │ ├── firefox.svg │ │ ├── firewalls-don-t-stop-dragons.svg │ │ ├── fotp-guides-training.svg │ │ ├── gnu-privacy-guard.svg │ │ ├── grapheneos.svg │ │ ├── guerrilla-mail.svg │ │ ├── haveno.svg │ │ ├── hitchhiker-s-guide.svg │ │ ├── ivpn.svg │ │ ├── kagi.svg │ │ ├── keepass.svg │ │ ├── keepassdx-client.svg │ │ ├── keepassium-client.svg │ │ ├── keepassxc-client.svg │ │ ├── librewolf.svg │ │ ├── lineageos.svg │ │ ├── linux.svg │ │ ├── lulu.svg │ │ ├── macos.svg │ │ ├── mailbox-org.svg │ │ ├── matrix.svg │ │ ├── mega.svg │ │ ├── microg.svg │ │ ├── molly.svg │ │ ├── monero.svg │ │ ├── mullvad-browser.svg │ │ ├── mullvad-dns.svg │ │ ├── mullvad-leta.svg │ │ ├── mullvad-vpn.svg │ │ ├── mysudo.svg │ │ ├── naomi-brockwell.svg │ │ ├── netguard.svg │ │ ├── nextcloud.svg │ │ ├── nextdns.svg │ │ ├── nitrokey.svg │ │ ├── njalla.svg │ │ ├── notesnook.svg │ │ ├── noyb.svg │ │ ├── objective-see.svg │ │ ├── obtainium.svg │ │ ├── onion-browser.svg │ │ ├── onionshare.svg │ │ ├── opt-out.svg │ │ ├── optery.svg │ │ ├── orangewebsite.svg │ │ ├── orbot.svg │ │ ├── plexus.svg │ │ ├── portmaster.svg │ │ ├── privacy-com.svg │ │ ├── privacy-guides.svg │ │ ├── privacy-international.svg │ │ ├── privacy-not-included.svg │ │ ├── proton-drive.svg │ │ ├── proton-mail.svg │ │ ├── proton-pass.svg │ │ ├── proton-vpn.svg │ │ ├── quad-9.svg │ │ ├── qubesos.svg │ │ ├── rethinkdns.svg │ │ ├── safari.svg │ │ ├── searxng.svg │ │ ├── self-host.svg │ │ ├── session.svg │ │ ├── signal.svg │ │ ├── simplelogin.svg │ │ ├── simplex.svg │ │ ├── solokeys.svg │ │ ├── standard-notes.svg │ │ ├── startmail.svg │ │ ├── startpage.svg │ │ ├── strongbox-client.svg │ │ ├── surveillance-report.svg │ │ ├── syncthing.svg │ │ ├── tailsos.svg │ │ ├── the-electronic-frontier-foundation-eff.svg │ │ ├── the-linux-experiment.svg │ │ ├── the-new-oil.svg │ │ ├── threema.svg │ │ ├── tor-browser.svg │ │ ├── tuta.svg │ │ ├── ublock-origin.svg │ │ ├── veracrypt.svg │ │ ├── whonix.svg │ │ ├── windscribe.svg │ │ ├── yubikey.svg │ │ └── zcash.svg ├── logos │ ├── techlore-logo-edit-by-figma.svg │ ├── techlore-logo-incognito-v5.svg │ ├── techlore-logo-white.svg │ └── techlore-logo.svg ├── team │ ├── henry-bg.jpg │ └── henry.jpg └── vendors │ ├── circle-progress │ └── circle-progress.min.js │ ├── sveltejs │ └── svelte.min.js │ └── tabulator │ ├── tabulator.min.css │ └── tabulator.min.js ├── browserconfig.xml ├── coaching.html ├── contact.html ├── contribution ├── admintool.md ├── globals.md ├── icons.md └── index.md ├── favicon-16x16.png ├── favicon-32x32.png ├── favicon.ico ├── fetch-videos.py ├── goincognito.html ├── index.html ├── mstile-150x150.png ├── package-lock.json ├── package.json ├── privacy.md ├── resources.html ├── rss.md ├── safari-pinned-tab.svg ├── security.txt ├── site.webmanifest ├── spa.html ├── support.html ├── vhelper.html ├── videos.html ├── videos └── _guides │ ├── 2020-06-30-the-complete-ios-privacy-security-guide.md │ ├── 2020-07-10-the-complete-android-privacy-security-guide.md │ ├── 2020-08-01-become-anonymous.md │ ├── 2020-12-30-go-incognito.md │ ├── 2021-05-03-the-complete-windows-privacy-security-guide.md │ ├── 2021-05-28-the-complete-macos-privacy-security-guide.md │ ├── 2021-07-02-the-complete-linux-hardening.md │ ├── 2021-12-14-how-to-properly-threat-model.md │ ├── 2023-07-03-the-ultimate-guide-to-mastering-nextdns.md │ ├── 2024-09-09-lock-down-your-signal-ultimate-hardening-guide.md │ ├── 2024-09-28-data-breaches.md │ ├── 2024-12-31-the-ultimate-windows-privacy-security-guide.md │ ├── _template-guides │ └── thumbnails │ ├── 2020-06-30-the-complete-ios-privacy-security-guide.jpg │ ├── 2020-07-10-the-complete-android-privacy-security-guide.jpg │ ├── 2020-08-01-become-anonymous.jpg │ ├── 2020-12-30-go-incognito.jpg │ ├── 2021-05-03-the-complete-windows-privacy-security-guide.jpg │ ├── 2021-05-28-the-complete-macos-privacy-security-guide.jpg │ ├── 2021-07-02-the-complete-linux-hardening.jpg │ ├── 2021-12-14-how-to-properly-threat-model.jpg │ ├── 2023-07-03-the-ultimate-guide-to-mastering-nextdns.jpg │ ├── 2024-09-09-lock-down-your-signal-ultimate-hardening-guide.jpg │ ├── 2024-09-28-data-breaches.jpg │ └── 2024-12-31-the-ultimate-windows-privacy-security-guide.jpg ├── vpn-chart ├── README.md ├── documentation.md └── vpn-chart.csv └── vpn.html /.editorconfig: -------------------------------------------------------------------------------- 1 | # This file is for unifying the coding style for different editors and IDEs 2 | # https://editorconfig.org/ 3 | 4 | root = true 5 | 6 | [*] 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | indent_style = tab 11 | indent_size = 2 12 | end_of_line = lf 13 | 14 | [*.{yml,json}] 15 | indent_style = space 16 | indent_size = 2 17 | 18 | [*.md] 19 | indent_style = space 20 | indent_size = 4 21 | trim_trailing_whitespace = false 22 | 23 | [*.csv] 24 | insert_final_newline = false 25 | -------------------------------------------------------------------------------- /.github/workflows/fetch-videos.yml: -------------------------------------------------------------------------------- 1 | name: Fetch videos 2 | 3 | on: 4 | workflow_dispatch: 5 | schedule: 6 | - cron: '0 5 * * *' 7 | 8 | permissions: write-all 9 | 10 | jobs: 11 | download: 12 | runs-on: ubuntu-latest 13 | # Disable on forks 14 | if: github.repository == 'techlore/website' 15 | steps: 16 | - name: Check out this repo 17 | uses: actions/checkout@v4 18 | 19 | - name: Set up Python 20 | uses: actions/setup-python@v5 21 | 22 | - name: Fetch forum data 23 | run: | 24 | pip install pyyaml requests 25 | python fetch-videos.py 26 | 27 | - uses: stefanzweifel/git-auto-commit-action@v5 28 | with: 29 | commit_message: "Update latest data from forum" 30 | file_pattern: _data/_en/forum/*.yml 31 | commit_user_name: GitHub Actions 32 | commit_user_email: 41898282+github-actions[bot]@users.noreply.github.com 33 | commit_author: GitHub Actions <41898282+github-actions[bot]@users.noreply.github.com> 34 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | _site 2 | .sass-cache 3 | .jekyll-cache 4 | .jekyll-metadata 5 | vendor 6 | node_modules 7 | .DS_Store -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | v22.4.1 2 | -------------------------------------------------------------------------------- /.python-version: -------------------------------------------------------------------------------- 1 | 3.11.5 2 | -------------------------------------------------------------------------------- /.ruby-version: -------------------------------------------------------------------------------- 1 | 3.2.2 2 | -------------------------------------------------------------------------------- /404.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: "404 Error: Page Not Found | Techlore" 4 | permalink: /404.html 5 | description: "Sorry, the page you were looking for couldn't be found. Explore our privacy guides and digital security resources to get back on track." 6 | sitemap: false 7 | noindex: true 8 | canonical: false 9 | --- 10 | {% include variables.html %} 11 | 12 |
13 |

{{ page.title }}

14 |
15 |

4{%- include_relative assets/logos/techlore-logo-edit-by-figma.svg -%}04

16 |
17 | 18 | {% include c_feature-box.html 19 | title=page.title 20 | desc=t.p404.text 21 | buttonText=t.global.back.backToHomepage 22 | buttonLink=site.url 23 | class="is-box-danger has-no-background has-border" 24 | buttonClass="is-danger" 25 | %} 26 |
27 | 28 | {% comment %}Safari ¯\_(ツ)_/¯ {% endcomment %} 29 | 39 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | # Hello! This is where you manage which Jekyll version is used to run. 3 | # When you want to use a different version, change it below, save the 4 | # file and run `bundle install`. Run Jekyll with `bundle exec`, like so: 5 | # 6 | # bundle exec jekyll serve 7 | # 8 | # This will help ensure the proper Jekyll version is running. 9 | # Happy Jekylling! 10 | gem "jekyll", "~> 4.3.3" 11 | 12 | # Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem 13 | # and associated library. 14 | platforms :mingw, :x64_mingw, :mswin, :jruby do 15 | gem "tzinfo", ">= 1", "< 3" 16 | gem "tzinfo-data" 17 | end 18 | 19 | # Performance-booster for watching directories on Windows 20 | gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin] 21 | 22 | # Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem 23 | # do not have a Java counterpart. 24 | gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby] 25 | 26 | gem "jekyll-sitemap", ">= 1.4.0" -------------------------------------------------------------------------------- /_data/_en/goincognitotable.yml: -------------------------------------------------------------------------------- 1 | # GoIncognito table 2 | # 3 | # The links should correspond to the one found in `_data/_en/navigation.yml` and `_content.yml` 4 | # 5 | free: 6 | icon: "tv" 7 | title: "watch FREE" 8 | desc: "Learn for free!
Get instant access to free version of the GO INCOGNITO! course" 9 | sellingPoints: ["Monetized", "Older Content", "No Extra Resources", "Lower Video Quality"] 10 | buttons: 11 | - 12 | text: "Watch on YouTube" 13 | url: "https://www.youtube.com/playlist?list=PL3KeV6Ui_4CayDGHw64OFXEPHgXLkrtJO" 14 | - 15 | text: "Watch on PeerTube" 16 | url: "https://techlore.tv/w/p/wgYcHeu5RE8tuSztdjrS3Z" 17 | premium: 18 | icon: "tv-star" 19 | title: "watch PREMIUM" 20 | desc: "Enroll in our premium course and get expert guidance on advanced strategies." 21 | sellingPoints: [ "No Ads", "Quizzes & Guides", "Checklists", "2021 Updates", "Best Video Quality", "Certificate" ] 22 | buttons: 23 | - text: "Enroll now!" 24 | url: "https://techlore.teachable.com/p/go-incognito" 25 | note: "Go Incognito v2 is being produced now. All premium students will be grandfathered into future versions of the project." 26 | -------------------------------------------------------------------------------- /_data/_en/patreons.yml: -------------------------------------------------------------------------------- 1 | # Patreons 2 | # You can have as many patreons as you want. Just be aware about the space it will occupy on the homepage 3 | # 4 | - 5 | name: "BRIGHTSIDE" 6 | - 7 | name: "Clark" 8 | - 9 | name: "Ente" 10 | iconName: "ente" 11 | - 12 | name: "Larry" 13 | - 14 | name: "Richard" 15 | - 16 | name: "AZ" 17 | - 18 | name: "JohnnyO" -------------------------------------------------------------------------------- /_data/_en/team.yml: -------------------------------------------------------------------------------- 1 | # Team 2 | # You can have as many people as you want. It will be displayed in 3 column layout. 3 | # 4 | # Store photos in "/assets/team" 5 | - 6 | name: "Henry" 7 | fullName: "Henry Fisher" 8 | bio: "Henry is an avid runner, artist, musician, and digital rights activist. He's the owner of Techlore, marketing manager for Cake Wallet, and co-host of Surveillance Report.. He's developed resources for nearly a decade, using his expertise to improve people's relationship with technology and digital safety." 9 | web: "https://henryfisher.tech" 10 | photo: "henry.jpg" 11 | background: "henry-bg.jpg" 12 | -------------------------------------------------------------------------------- /_data/_en/testimonials.yml: -------------------------------------------------------------------------------- 1 | # Testimonials (Coaching page) 2 | # You can have as many testimonials as you want, just consider the overall length on the page 3 | # 4 | - 5 | name: "Matthew" 6 | position: "Educator" 7 | text: "Techlore Coaching helped me step by step in my privacy and security journey, most importantly, in helping me realize it is not an all or nothing approach and that the journey is never ending but worth pursuing." 8 | - 9 | name: "Markus" 10 | position: "Consultant" 11 | text: "I Worked with Henry over 6 sessions and enjoyed the process. I learned a lot along the journey and got a sense of where all my data is floating around and who has access to it. I work at a consulting company and wanted to be protected from competitors. Although there was a big time zone difference between us we could always find the right time. I can just recommend working with him if you want the shortcut, the faster way to a better privacy. I didn’t have that much time and the time I had while working a lot I didn’t wanna invest in researching every little detail." 12 | -------------------------------------------------------------------------------- /_headers: -------------------------------------------------------------------------------- 1 | /* 2 | X-Frame-Options: SAMEORIGIN 3 | X-XSS-Protection: 0 4 | X-Content-Type-Options: nosniff 5 | Referrer-Policy: no-referrer, strict-origin-when-cross-origin 6 | Strict-Transport-Security: max-age=63072000; includeSubDomains; preload 7 | Permissions-Policy: camera=(), microphone=(), geolocation=() 8 | 9 | https://:project.pages.dev/* 10 | X-Robots-Tag: noindex 11 | -------------------------------------------------------------------------------- /_includes/c_box-footer.html: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | BOX FOOTER ----------------------------------------- 3 | Info: 4 | Displays one/two button(s) "glued" below the right bottom corner of the box. 5 | Add the class "has-footer" to the ".box". 6 | Parameters: 7 | - title, title2 (string, optional) 8 | - link, link2 (string, optional) 9 | - class (optional): custom class 10 | {% endcomment %} 11 | 12 | {% if include.link and include.title %} 13 | 23 | {% endif %} 24 | -------------------------------------------------------------------------------- /_includes/c_box-header.html: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | BOX HEADER ----------------------------------------- 3 | Parameters: 4 | - title (optional) 5 | - links (array, optional): links with icon showed on the right side of the header 6 | - class (optional): custom class 7 | - anchor (boolean, optional): show # with link to the section on hover (à la Github) 8 | {% endcomment %} 9 | 10 |
11 |

12 | {% if include.title %} 13 | {{ include.title }} 14 | {% endif %} 15 | {% if include.anchor %} 16 | # 17 | {% endif %} 18 |

19 | 20 | {% if include.links.size > 0 %} 21 | 32 | {% endif %} 33 |
34 | -------------------------------------------------------------------------------- /_includes/c_hero-banner.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

4 | {{ site.name }} 5 | {{ site.tagline }} 6 |

7 | {% include c_patreons.html isHomepage=true %} 8 |
9 | 24 |
25 | -------------------------------------------------------------------------------- /_includes/c_knowledgebase.html: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | KNOWLEDGEBASE (grid) ----------------------------------------- 3 | Data source: _data/_en/knowledgebase/{section}.yml 4 | Parameters: 5 | - title (string, optional) 6 | - data (array) 7 | - related (array, optiona): handy links related to the particular section 8 | Info: 9 | Knowledgebase grid. For more information about individual items see "c_knowledgebase-item.html" 10 | {% endcomment %} 11 | 12 | {% if include.title %} 13 | {%- include c_box-header.html title=include.title anchor=true -%} 14 | {% endif %} 15 | 16 |
17 | {% if include.data.size > 0 %} 18 |
19 |
20 | {% for item in include.data %} 21 | {% include c_knowledgebase-item.html item=item %} 22 | {% endfor %} 23 |
24 |
25 | {% endif %} 26 | 27 | {% if include.related.size > 0 %} 28 | {% include c_related-links.html 29 | title=site.data._en.knowledgebase-text.related 30 | links=include.related 31 | %} 32 | {% endif %} 33 |
34 | -------------------------------------------------------------------------------- /_includes/c_linkhub-dual-link.html: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | LINK HUB - LINK ----------------------------------------- 3 | Info: 4 | - Item for the "linkhub" component 5 | Parameters: 6 | - links (array) 7 | - class: custom class 8 | {% endcomment %} 9 | 10 | {% if include.links.size > 0 %} 11 | {% for link in include.links %} 12 | {% assign url = link.url %} 13 | {% unless link.external %} 14 | {% assign url = link.url | relative_url %} 15 | {% endunless %} 16 | {{ link.title }} 17 | {% endfor %} 18 | {% endif %} 19 | -------------------------------------------------------------------------------- /_includes/c_linkhub-dual-wrapper-column.html: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | LINK HUB - DUAL WRAPPER - COLUMN ----------------------------------------- 3 | Info: 4 | - One column for the "linkhub-dual-wrapper" component 5 | Parameters: 6 | - title (string, optional) 7 | - desc (string, optional) 8 | - class (string, optional) 9 | {% endcomment %} 10 | 11 |
12 | {% if include.title %} 13 |

{{ include.title }}

14 | {% endif %} 15 | {% if include.desc %} 16 |

17 | {{ include.desc }} 18 |

19 | {% endif %} 20 |
21 | -------------------------------------------------------------------------------- /_includes/c_linkhub-dual-wrapper.html: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | LINK HUB - DUAL WRAPPER ----------------------------------------- 3 | Info: 4 | - Wraps "linkhub-dual" and adds text on each side 5 | Parameters: 6 | - leftTitle (optional) 7 | - leftDesc: 8 | - leftLinkArray: 9 | - rightTitle: 10 | - rightDesc: 11 | - rightLinkArray: 12 | - leftButtonsClass 13 | - rightButtonClass 14 | {% endcomment %} 15 | 16 |
17 |
18 | {%- include c_linkhub-dual-wrapper-column.html 19 | title=include.leftTitle 20 | desc=include.leftDesc 21 | class="is-on-the-left" 22 | -%} 23 | {%- include e_render-svg-icon.html inline=true class="linkhub-dual__arrow" icon="arrow-down" -%} 24 |
25 |
26 | {%- include c_linkhub-dual.html 27 | leftLinks=include.leftLinkArray 28 | rightLinks=include.rightLinkArray 29 | leftButtonClass=include.leftButtonClass 30 | rightButtonClass=include.rightButtonClass 31 | -%} 32 |
33 |
34 | {%- include c_linkhub-dual-wrapper-column.html 35 | title=include.rightTitle 36 | desc=include.rightDesc 37 | class="is-on-the-right" 38 | -%} 39 | {%- include e_render-svg-icon.html inline=true class="linkhub-dual__arrow" icon="arrow-down" -%} 40 |
41 |
42 | -------------------------------------------------------------------------------- /_includes/c_linkhub-dual.html: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | LINK HUB ----------------------------------------- 3 | Info: 4 | - Box with two columns of links. 5 | I could be used as a standalone component or inside "c_linkhub-dual-wrapper.html" 6 | Parameters: 7 | - leftLinks (array) 8 | - rightLinks (array) 9 | - leftButtonsClass 10 | - rightButtonClass 11 | {% endcomment %} 12 | 13 |
14 |
15 |
16 |
17 | {% include c_linkhub-dual-link.html class=include.leftButtonClass links=include.leftLinks %} 18 |
19 |
20 |
21 |
22 | {% include c_linkhub-dual-link.html class=include.rightButtonClass links=include.rightLinks %} 23 |
24 |
25 |
26 |
27 | -------------------------------------------------------------------------------- /_includes/c_nojs-message.html: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | NO JS MESSAGE ----------------------------------------- 3 | Info: 4 | Displays message when JavaScript is disabled. 5 | Parameters: 6 | - title (optional, string): page title, custom text 7 | {% endcomment %} 8 | 9 | 10 | {% assign title = include.title | default: "this page" %} 11 | 19 | -------------------------------------------------------------------------------- /_includes/c_patreons.html: -------------------------------------------------------------------------------- 1 | {% include variables.html %} 2 | {% assign patreons = site.data._en.patreons %} 3 | 4 | {% if patreons.size > 0 %} 5 |
6 |
7 | {% assign patreonLink = site.data._en.navigation.mainNav.support.url | relative_url | append: '#paid' %} 8 | {{ t.home.patreons.title | replace: "[[patreonLink]]", patreonLink | markdownify }} 9 |
10 |
11 | {% for patreon in patreons %} 12 | 13 | {% if patreon.iconName %} 14 | {% include e_render-svg-icon.html icon=patreon.iconName dimension=25 class="patreons__icon icon" inline=true %} 15 | {% endif %} 16 | {{ patreon.name }} 17 | 18 | {% endfor %} 19 |
20 |
21 | {% endif %} 22 | -------------------------------------------------------------------------------- /_includes/c_person.html: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | PERSON ----------------------------------------- 3 | Data source: _data/_en/team.yml (through "team.html" component) 4 | {% endcomment %} 5 | 6 |
7 |
8 | 9 | {{ include.data.fullName | prepend: 10 | 11 |

12 | {{ include.data.fullName }} 13 |

14 | {% unless include.isMini %} 15 | 16 | {{ include.data.web | remove: "https://" }} 17 | 18 |

19 | {{ include.data.bio }} 20 |

21 | {% endunless %} 22 |
23 | -------------------------------------------------------------------------------- /_includes/c_project.html: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | PROJECT (Supported projects) ----------------------------------------- 3 | Data source: _data/_en/support.yml 4 | Parameters: 5 | - project (array, required) 6 | Info: 7 | Displays logo and name of the project. Used inside the "support-proudly.html" component. 8 | {% endcomment %} 9 | 10 | {% if include.project.size > 0 %} 11 |
12 | 13 | 14 | 15 |

16 | 17 | {{- include.project.name -}} 18 | 19 |

20 |
21 | {% endif %} -------------------------------------------------------------------------------- /_includes/c_related-links.html: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | RELATED LINKS ----------------------------------------- 3 | Section (currently "May come in handy") under the content, showing 1 or more useful links 4 | 5 | Data source: _data/_en/knowledgebase/{section}/{category}.yml --> "related" 6 | Parameters: 7 | - title (optional) 8 | - links: array of links from the data source 9 | {% endcomment %} 10 | 11 | 30 | -------------------------------------------------------------------------------- /_includes/c_spa-quiz-item.html: -------------------------------------------------------------------------------- 1 | {% include variables.html %} 2 | 3 | {% assign answer = include.data %} 4 | 5 |
6 | 29 |
30 | -------------------------------------------------------------------------------- /_includes/c_sub-hero.html: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | SUB HERO ----------------------------------------- 3 | Info: 4 | Displays title and description of the page and optional quick access buttons (#anchor) 5 | Parameters: 6 | - title (string) 7 | - perex (string, optional) 8 | - buttons (array, optional): locally linked buttons with an arrow icon showed on the right side 9 | {% endcomment %} 10 |
11 |
12 |
13 | {%- if include.title -%} 14 | {% assign delimiter = "|" %} 15 | 16 | {% if include.title contains delimiter %} 17 | {% assign splitTitle = include.title | split: delimiter %} 18 | 19 |

20 | {{- splitTitle[0] -}} 21 | {{- splitTitle[1] -}} 22 |

23 | 24 | {% else %} 25 |

{{- include.title -}}

26 | 27 | {% endif %} 28 | {%- endif %} 29 | 30 | {%- if include.perex -%} 31 |

{{- include.perex -}}

32 | {%- endif -%} 33 |
34 |
35 | {%- if include.buttons -%} 36 | 44 | {%- endif -%} 45 |
46 |
47 |
48 | -------------------------------------------------------------------------------- /_includes/c_testimonial.html: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | TESTIMONIAL ----------------------------------------- 3 | Data source: _data/_en/testimonials.yml 4 | {% endcomment %} 5 | 6 |
7 |
8 |
9 |
10 | 13 |
14 |
15 |

{{- include.name -}}

16 |

{{- include.position -}}

17 |
18 |
19 | 20 |
21 | {{- include.text | prepend: '"' | append: '"' -}} 22 |
23 |
24 |
25 | -------------------------------------------------------------------------------- /_includes/e_render-image.html: -------------------------------------------------------------------------------- 1 | TODO: Image ({{ include.image }}) -------------------------------------------------------------------------------- /_includes/e_render-svg-icon.html: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | SVG ICON ----------------------------------------- 3 | Default data source: assets/icons/{*}.svg 4 | Parameters: 5 | - icon: name of the SVG file in the {data source} 6 | - path: custom path (eg. "assets/knowledgebase/icons/") 7 | - class: custom class(es); when placed inside a button use class "icon" 8 | - inline (boolean): when "true" insert the code of the SVG 9 | - dimension: size of the icon (aspect ratio 1:1) 10 | default size: 100 (100%) 11 | variant sizes: 25, 50, 75, 150, 200 12 | {% endcomment %} 13 | 14 | {% assign icon = include.icon %} 15 | {% unless include.icon %} 16 | {% assign icon = "default" %} 17 | {% endunless %} 18 | 19 | {% assign dimension = include.dimension %} 20 | {% unless include.dimension %} 21 | {% assign dimension = 100 %} 22 | {% endunless %} 23 | 24 | {% assign path = include.path %} 25 | {% unless include.path %} 26 | {% assign path = "/assets/icons/" %} 27 | {% endunless %} 28 | 29 | {% assign url = path | append: icon | append: ".svg" %} 30 | 31 | {% if include.inline %} 32 | 33 | {% include_relative {{ url }} %} 34 | 35 | {% else %} 36 | 37 | 38 | 39 | 40 | {% endif %} 41 | -------------------------------------------------------------------------------- /_includes/goincognitotable.html: -------------------------------------------------------------------------------- 1 | {% comment %} 2 | goincognitotable (Go Incognito courses) ----------------------------------------- 3 | Data source: _data/_en/goincognitotable.yml 4 | {% endcomment %} 5 | 6 | {% include variables.html %} 7 | 8 |
9 | 10 | 11 | {% assign dataFree = site.data._en.goincognitotable.free %} 12 | {%- include c_goincognitotable-column.html data=dataFree -%} 13 | 14 | {% assign dataPremium = site.data._en.goincognitotable.premium %} 15 | {%- include c_goincognitotable-column.html data=dataPremium isPremium=true -%} 16 |
17 | -------------------------------------------------------------------------------- /_includes/meta/mastodon-meta.html: -------------------------------------------------------------------------------- 1 | 2 | {% if page.mastodon.username and page.mastodon.server -%} 3 | 4 | {% elsif site.mastodon.username and site.mastodon.server -%} 5 | 6 | {%- endif %} 7 | -------------------------------------------------------------------------------- /_includes/meta/og-meta.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /_includes/meta/schema-org.html: -------------------------------------------------------------------------------- 1 | 2 | 30 | -------------------------------------------------------------------------------- /_includes/meta/twitter-meta.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /_includes/spa-quiz-sponsor-block.html: -------------------------------------------------------------------------------- 1 | {% include variables.html %} 2 | {% assign spaQuiz = site.data._en.spa-quiz.text %} 3 | 4 |
5 | {{ spaQuiz.sponsorBlock.text | markdownify }}️ 6 | 7 | 8 | {{ spaQuiz.sponsorBlock.button }}️ 9 | 10 |
11 | -------------------------------------------------------------------------------- /_includes/variables.html: -------------------------------------------------------------------------------- 1 | {% comment %}"TRANSLATIONS"{% endcomment %} 2 | {% assign t = site.data._en.content %} 3 | 4 | {% comment %}NAVIGATION{% endcomment %} 5 | {% assign nav = site.data._en.navigation %} -------------------------------------------------------------------------------- /_includes/wave.html: -------------------------------------------------------------------------------- 1 |
2 | {% include_relative assets/images/wave.svg %} 3 | {% include_relative assets/images/wave.svg %} 4 |
-------------------------------------------------------------------------------- /_layouts/default.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | {%- include head.html -%} 4 | 5 | 6 | {%- include nav.html -%} 7 | {%- include wave.html -%} 8 | 9 |
10 | {{ content }} 11 |
12 | {%- include footer.html -%} 13 | 14 | 15 | -------------------------------------------------------------------------------- /_layouts/page.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 |
5 | 6 |
7 | {{ content }} 8 |
9 | 10 |
11 | -------------------------------------------------------------------------------- /_layouts/post.html: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | --- 4 | {% include variables.html %} 5 | 6 | {% capture description %} 7 | {% if page.description %} 8 | {{ page.description | markdownify }} 9 | {% endif %} 10 | {% if page.description and page.date %} 11 |
12 | {% endif %} 13 | {% if page.date %} 14 | {% if page.author %}By: {{ page.author }} — {% endif %}{{ page.date }} 15 | {% endif %} 16 | {% endcapture %} 17 | 18 | 19 | {% include c_sub-hero.html title=page.title perex=description %} 20 | 21 |
22 | 23 |
24 |
25 | {{ content }} 26 |
27 |
28 | 29 |
30 | -------------------------------------------------------------------------------- /_plugins/filter_duration.rb: -------------------------------------------------------------------------------- 1 | module Jekyll 2 | module DurationFilter 3 | def format_duration(seconds) 4 | hours = seconds / 3600 5 | minutes = (seconds % 3600) / 60 6 | seconds = seconds % 60 7 | 8 | if hours > 0 9 | format("%d:%02d:%02d", hours, minutes, seconds) 10 | else 11 | format("%d:%02d", minutes, seconds) 12 | end 13 | end 14 | end 15 | end 16 | 17 | Liquid::Template.register_filter(Jekyll::DurationFilter) 18 | -------------------------------------------------------------------------------- /_redirects: -------------------------------------------------------------------------------- 1 | /.well-known/security.txt /security.txt 200 2 | 3 | # Other Redirects 4 | /vpnchart.html /vpn 301 5 | /vpnchart /vpn 301 6 | /affiliations /affiliates 301 7 | /sponsors https://discuss.techlore.tech/pub/sponsors 8 | -------------------------------------------------------------------------------- /_sass/_accordion.scss: -------------------------------------------------------------------------------- 1 | .accordion { 2 | // 3 | } 4 | 5 | .accordion__item { 6 | position: relative; 7 | 8 | & + & { 9 | &::after { 10 | content: ''; 11 | background-color: var(--bulma-border-weak); 12 | height: 1px; 13 | position: absolute; 14 | inset: calc(var(--bulma-size-5) * -1) 0 auto 0; 15 | } 16 | } 17 | } 18 | 19 | .accordion__label { 20 | cursor: pointer; 21 | transition: color 350ms ease-in-out; 22 | 23 | &:hover { 24 | .accordion__title { 25 | color: var(--bulma-warning); 26 | } 27 | } 28 | } 29 | 30 | .accordion__content { 31 | display: none; 32 | } 33 | 34 | .accordion__icon { 35 | rotate: 90deg; 36 | transition: rotate 350ms ease-in-out; 37 | } 38 | 39 | .accordion__checkbox { 40 | position: absolute; 41 | z-index: -1; 42 | 43 | &:target, 44 | &:checked { 45 | & ~ .accordion__content { 46 | display: block; 47 | } 48 | 49 | & ~ .accordion__label { 50 | .accordion__title { 51 | color: var(--bulma-warning); 52 | } 53 | 54 | .accordion__icon { 55 | rotate: 180deg; 56 | } 57 | } 58 | 59 | 60 | } 61 | } -------------------------------------------------------------------------------- /_sass/_affiliates.scss: -------------------------------------------------------------------------------- 1 | .affiliates__item { 2 | position: relative; 3 | 4 | @media (max-width: $tablet - 1px) { 5 | //flex-direction: column; 6 | flex-wrap: wrap; 7 | } 8 | 9 | &:target { 10 | &:after { 11 | box-shadow: 0 0 30px -5px var(--bulma-primary); 12 | border-color: var(--bulma-primary); 13 | } 14 | } 15 | 16 | &:after { 17 | content: ''; 18 | position: absolute; 19 | inset: 0 calc(var(--bulma-size-5) * -.5); 20 | border: .125rem solid transparent; 21 | box-shadow: none; 22 | border-radius: var(--bulma-radius-large); 23 | transition: box-shadow 350ms ease-in-out, border-color 1s ease-in-out; 24 | pointer-events: none; 25 | } 26 | 27 | & + & { 28 | &:after { 29 | inset: var(--bulma-size-5) calc(var(--bulma-size-5) * -.5) 0 calc(var(--bulma-size-5) * -.5); 30 | } 31 | } 32 | } 33 | 34 | .affiliates__title { 35 | position: relative; 36 | 37 | & > small { 38 | font-size: .75em; 39 | font-weight: 400; 40 | font-family: var(--bulma-family-primary); 41 | } 42 | } 43 | 44 | .affiliates__anchor { 45 | position: absolute; 46 | inset: 0 calc(var(--bulma-size-5) * -1.25) auto auto; 47 | } 48 | 49 | .affiliates__content { 50 | overflow: visible; 51 | } 52 | 53 | .affiliates__buttons { 54 | padding-block: var(--bulma-size-7); 55 | 56 | @media (max-width: $tablet - 1px) { 57 | width: 100%; 58 | } 59 | } 60 | 61 | .affiliates__logo { 62 | width: 3.75rem; 63 | } -------------------------------------------------------------------------------- /_sass/_anchor.scss: -------------------------------------------------------------------------------- 1 | .anchor { 2 | &:hover { 3 | 4 | } 5 | } 6 | 7 | .anchor__hash { 8 | display: inline-block; 9 | opacity: 0; 10 | translate: calc(var(--bulma-size-5) * -.5) 0; 11 | transition: opacity 350ms ease-in-out, translate 350ms ease-in-out; 12 | text-decoration: none !important; // because of the .message, sorry :( 13 | 14 | @media (pointer: coarse) { 15 | opacity: 1; 16 | translate: 0 0; 17 | } 18 | 19 | &:hover { 20 | color: var(--bulma-warning); 21 | } 22 | 23 | .anchor:hover & { 24 | opacity: 1; 25 | translate: 0 0; 26 | } 27 | } -------------------------------------------------------------------------------- /_sass/_archive.scss: -------------------------------------------------------------------------------- 1 | @media (max-width: 1023px) { 2 | .archive__item { 3 | display: block; 4 | } 5 | 6 | .archive__buttons { 7 | margin-top: var(--bulma-size-5); 8 | } 9 | } 10 | 11 | @media (min-width: 1024px) { 12 | .archive__buttons { 13 | justify-content: right; 14 | } 15 | } 16 | 17 | .archive__title { 18 | transition: opacity 350ms ease-in-out; 19 | } 20 | 21 | .archive__item:hover .archive__title { 22 | opacity: .65; 23 | } 24 | 25 | .archive__button { 26 | min-width: calc(var(--bulma-size-5) * 7); 27 | } 28 | -------------------------------------------------------------------------------- /_sass/_box-footer.scss: -------------------------------------------------------------------------------- 1 | .box-footer { 2 | margin-top: calc(var(--bulma-size-5) * -1.5); 3 | justify-content: center; 4 | 5 | .has-border + & { 6 | margin-top: var(--bulma-size-5); 7 | } 8 | 9 | @media (min-width: $tablet) { 10 | justify-content: flex-end; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /_sass/_box-header.scss: -------------------------------------------------------------------------------- 1 | .column:has(> .box-header), 2 | .container:has(> .box-header), 3 | .container > .is-flex:has(> .box-header){ 4 | container-type: inline-size; 5 | } 6 | 7 | .box-header { 8 | flex-direction: column; 9 | 10 | @media (min-width: $tablet) { 11 | } 12 | 13 | @container (min-width: 576px) { 14 | flex-direction: row; 15 | } 16 | 17 | &.has-order-1 { 18 | order: -1; 19 | } 20 | 21 | & + * { 22 | margin-top: var(--bulma-size-5); 23 | } 24 | 25 | &:hover { 26 | .box-header__anchor { 27 | opacity: 1; 28 | translate: 0 0; 29 | } 30 | } 31 | } 32 | 33 | .box-header__links { 34 | flex-wrap: wrap; 35 | } 36 | -------------------------------------------------------------------------------- /_sass/_box.scss: -------------------------------------------------------------------------------- 1 | .box { 2 | --bulma-box-shadow: none; 3 | --bulma-box-background-color: transparent; 4 | --bulma-box-padding: 0; 5 | 6 | p { 7 | a { 8 | text-decoration: underline; 9 | 10 | &:hover { 11 | text-decoration: none; 12 | } 13 | } 14 | } 15 | } 16 | 17 | .is-box-warning { 18 | color: var(--custom-box-warning-color); 19 | border-color: var(--custom-box-warning-border-color); 20 | background-color: var(--custom-box-warning-bg); 21 | } 22 | 23 | .is-box-success { 24 | color: var(--custom-box-success-color); 25 | border-color: var(--custom-box-success-border-color); 26 | background-color: var(--custom-box-success-bg); 27 | } 28 | 29 | .is-box-info { 30 | color: var(--custom-box-info-color); 31 | border-color: var(--custom-box-info-border-color); 32 | background-color: var(--custom-box-info-bg); 33 | } 34 | 35 | .is-box-danger { 36 | color: var(--custom-box-danger-color); 37 | border-color: var(--custom-box-danger-border-color); 38 | background-color: var(--custom-box-danger-bg); 39 | } 40 | 41 | .box-header__link { 42 | --bulma-button-padding-horizontal: .25rem; 43 | } 44 | -------------------------------------------------------------------------------- /_sass/_buttons.scss: -------------------------------------------------------------------------------- 1 | .button { 2 | --bulma-button-weight: var(--bulma-weight-bold); 3 | } 4 | 5 | // Tweak for a tooltip variant (screen readers) 6 | .button .is-sr-only + .icon:last-child:not(:first-child) { 7 | margin-inline-start: calc(var(--bulma-button-padding-horizontal)* -.5); 8 | } 9 | 10 | // Custom "mobile/touch" friendly button 11 | .button.is-touch-friendly { 12 | @extend .button; 13 | 14 | @media (pointer: coarse) { 15 | padding: calc(var(--bulma-size-5) * .5) var(--bulma-size-5); 16 | min-width: calc(var(--bulma-size-5) * 3); 17 | border-radius: var(--bulma-radius-medium); 18 | 19 | &.is-primary:not(.is-outlined) { 20 | border: 1px solid var(--bulma-primary-30); 21 | 22 | .footer & { 23 | border-color: var(--bulma-primary-10-invert); 24 | } 25 | } 26 | } 27 | } 28 | 29 | a.is-touch-friendly { 30 | @media (pointer: coarse) { 31 | display: inline-block; 32 | padding: calc(var(--bulma-size-5) * .5) 0; 33 | min-width: calc(var(--bulma-size-5) * 3); 34 | } 35 | } 36 | 37 | .button.is-danger, 38 | .button.is-info, 39 | .button.is-warning, 40 | .button.is-success, 41 | .button.is-primary { 42 | --bulma-button-color-l: var(--bulma-danger-100-l); 43 | --bulma-button-border-width: 1px; 44 | } 45 | -------------------------------------------------------------------------------- /_sass/_coaching.scss: -------------------------------------------------------------------------------- 1 | .coaching { 2 | position: relative; 3 | 4 | @media (min-width: $desktop) { 5 | --_spacer: calc(var(--bulma-size-5) * 14); 6 | .coaching__box { 7 | &:nth-child(1) { 8 | .box { 9 | padding-bottom: var(--_spacer); 10 | } 11 | } 12 | 13 | &:nth-child(2) { 14 | .box { 15 | padding-bottom: var(--_spacer); 16 | } 17 | } 18 | 19 | &:nth-child(3) { 20 | .box { 21 | padding-top: var(--_spacer); 22 | } 23 | } 24 | 25 | &:nth-child(4) { 26 | .box { 27 | padding-top: var(--_spacer); 28 | } 29 | } 30 | } 31 | 32 | .coaching__box--cta { 33 | position: absolute; 34 | inset: 50% auto auto 50%; 35 | translate: -50% -50%; 36 | z-index: 1; 37 | 38 | .box { 39 | background-color: var(--custom-coaching-cta-bg); 40 | box-shadow: var(--custom-coaching-cta-shadow, none); 41 | } 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /_sass/_footer.scss: -------------------------------------------------------------------------------- 1 | .footer { 2 | background-color: var(--bulma-primary); 3 | } 4 | 5 | .footer__logos { 6 | flex-direction: row; 7 | justify-content: center; 8 | gap: var(--bulma-size-2); 9 | border-bottom: 1px dotted var(--bulma-light); 10 | padding-bottom: var(--bulma-size-2); 11 | 12 | @media (min-width: $tablet) { 13 | justify-content: left; 14 | } 15 | 16 | @media (min-width: $desktop) { 17 | flex-direction: column; 18 | align-items: center; 19 | border-bottom: 0; 20 | } 21 | } 22 | 23 | .footer__column-title { 24 | font-weight: 900; 25 | color: var(--bulma-white); 26 | } 27 | 28 | .footer__link, 29 | .footer__button { 30 | color: var(--bulma-white); 31 | } 32 | 33 | .footer__link { 34 | &:hover { 35 | text-decoration: underline; 36 | } 37 | 38 | &[target="_blank"] { 39 | position: relative; 40 | 41 | } 42 | } 43 | 44 | .footer__list { 45 | flex-wrap: wrap; 46 | } 47 | 48 | .footer__logo { 49 | display: block; 50 | width: calc(var(--bulma-size-5) * 3); 51 | } 52 | 53 | .footer__column-wrapper { 54 | & + & { 55 | margin-top: var(--bulma-size-5); 56 | } 57 | } 58 | 59 | // --- Go TOP button 60 | .footer__top-button { 61 | position: fixed; 62 | inset: auto var(--bulma-column-gap) calc(var(--bulma-column-gap) * 3) auto; 63 | z-index: 20; 64 | border: 0; 65 | transition: opacity 350ms ease-in-out, translate 350ms ease-in-out; 66 | 67 | &[data-visibility="false"] { 68 | pointer-events: none; 69 | opacity: 0; 70 | translate: 0 25%; 71 | } 72 | 73 | &[data-visibility="true"] { 74 | opacity: 1; 75 | translate: 0 0; 76 | } 77 | 78 | .svg-icon { 79 | rotate: 180deg; 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /_sass/_global.scss: -------------------------------------------------------------------------------- 1 | html { 2 | scroll-behavior: smooth; 3 | scroll-padding: calc(var(--bulma-size-2) + var(--bulma-navbar-height)) 0 0 0; 4 | transition: background-color 250ms ease-in-out; 5 | 6 | @media (min-width: $desktop) { 7 | scroll-padding: var(--bulma-size-5) 0 0 0; 8 | } 9 | } 10 | 11 | .content { 12 | h1, 13 | h2, 14 | h3, 15 | h4, 16 | h5, 17 | h6 { 18 | font-family: $family-secondary; 19 | 20 | strong, 21 | strong & { 22 | font-weight: 900; 23 | } 24 | } 25 | 26 | h1 { 27 | font-size: $size-1; 28 | } 29 | 30 | h2 { 31 | font-size: $size-2; 32 | } 33 | 34 | h3 { 35 | font-size: $size-3; 36 | } 37 | 38 | h4 { 39 | font-size: $size-4; 40 | } 41 | 42 | h5 { 43 | font-size: $size-5; 44 | } 45 | 46 | h6 { 47 | font-size: $size-6; 48 | } 49 | } 50 | 51 | img { 52 | font-style: italic; 53 | vertical-align: middle; 54 | max-width: 100%; 55 | height: auto; 56 | background-repeat: no-repeat; 57 | background-size: cover; 58 | } 59 | 60 | p { 61 | a:not(.button) { 62 | text-decoration: underline; 63 | 64 | &:hover { 65 | text-decoration: none; 66 | } 67 | } 68 | } 69 | 70 | section, 71 | footer, 72 | .mt-custom { 73 | margin-top: calc(var(--bulma-size-1) * 2); 74 | } 75 | 76 | // FIX for Bulma columns on mobile 77 | .container { 78 | padding-inline: var(--bulma-column-gap); // .75rem 79 | } 80 | 81 | // FIX for an optical vertical alignment of media component 82 | .media + .media { 83 | padding-top: calc(var(--bulma-media-spacing) + .25rem); 84 | } 85 | -------------------------------------------------------------------------------- /_sass/_helpers-custom.scss: -------------------------------------------------------------------------------- 1 | // Responsive padding 2 | .p-6-custom-responsive { 3 | --_padding: var(--bulma-size-3); 4 | padding: var(--_padding) var(--_padding); 5 | 6 | @media (min-width: $tablet) { 7 | --_padding: var(--bulma-size-1); 8 | } 9 | } 10 | 11 | .has-text-shadow { 12 | text-shadow: 0 1px 10px var(--bulma-black-ter); 13 | } 14 | 15 | .has-text-wrap-balance { 16 | text-wrap: balance; 17 | } 18 | 19 | .has-glare { 20 | background-image: conic-gradient(from 30deg, rgb(255 255 255 / 0%), rgb(255 255 255 / 7%)); 21 | background-repeat: no-repeat; 22 | background-position: center center; 23 | } 24 | 25 | .has-no-background { 26 | background-color: transparent; 27 | } 28 | 29 | .has-border { 30 | border: 1px solid var(--bulma-border-weak); 31 | } 32 | 33 | .has-titles-counted { 34 | counter-reset: titles; 35 | 36 | h2 { 37 | counter-increment: titles; 38 | 39 | &::before { 40 | content: counter(titles, upper-roman)". "; 41 | } 42 | } 43 | } 44 | 45 | .has-content-text-align-left { 46 | .feature-box__desc { 47 | text-align: left; 48 | } 49 | } 50 | 51 | .listless { 52 | li { 53 | list-style: none; 54 | 55 | &::marker { 56 | position: absolute; 57 | display: none; 58 | content: ''; 59 | } 60 | } 61 | } 62 | 63 | .two-columns-spacer { 64 | & > .column:nth-child(1) { 65 | @media (min-width: $tablet) { 66 | margin-right: var(--bulma-size-3); 67 | } 68 | } 69 | 70 | & > .column:nth-child(2) { 71 | @media (max-width: $tablet - 1px) { 72 | margin-top: var(--bulma-size-2); 73 | } 74 | 75 | @media (min-width: $tablet) { 76 | margin-left: var(--bulma-size-3); 77 | } 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /_sass/_hero-banner.scss: -------------------------------------------------------------------------------- 1 | .hero-banner { 2 | @media (max-width: 767px) { 3 | text-align: center; 4 | margin-top: var(--bulma-size-1); 5 | } 6 | } 7 | 8 | .hero-banner__scramble { 9 | text-align: center; 10 | overflow: hidden; 11 | text-wrap: nowrap; 12 | color: var(--custom-hero-banner-text-color); 13 | animation: fadeIn 2000ms ease-in-out forwards; 14 | 15 | @media (min-width: 768px) { 16 | text-align: right; 17 | } 18 | 19 | & > span:first-child, 20 | & > span:last-child { 21 | opacity: .125; 22 | } 23 | 24 | & > span:nth-child(2), 25 | & > span:nth-last-child(2) { 26 | opacity: .25; 27 | } 28 | 29 | & > span:nth-child(3), 30 | & > span:nth-last-child(3) { 31 | opacity: .5; 32 | } 33 | } 34 | 35 | @keyframes fadeIn { 36 | from { 37 | opacity: 0; 38 | } 39 | to { 40 | opacity: var(--_fadeIn-opacity, 1); 41 | } 42 | } 43 | 44 | .hero-banner__scramble-text { 45 | font-weight: 600; 46 | padding-inline: calc(var(--bulma-column-gap) * .5); 47 | color: var(--bulma-primary); 48 | } 49 | 50 | .js-scrambled-char { 51 | opacity: .45; 52 | } 53 | -------------------------------------------------------------------------------- /_sass/_linkhub-dual.scss: -------------------------------------------------------------------------------- 1 | .linkhub-dual { 2 | // 3 | } 4 | 5 | .linkhub-dual__column { 6 | &:last-child { 7 | .linkhub-dual__list { 8 | @media (min-width: $tablet) { 9 | align-items: flex-end; 10 | } 11 | } 12 | } 13 | } 14 | 15 | .linkhub-dual-wrapper__desc { 16 | text-wrap: balance; 17 | } 18 | 19 | .linkhub-dual__item { 20 | @media (max-width: $tablet - 1px) { 21 | text-align: center; 22 | } 23 | } 24 | 25 | .linkhub-dual__button { 26 | min-width: calc(var(--bulma-size-5) * 8); 27 | } 28 | 29 | // --- wrapper 30 | .linkhub-dual-wrapper { 31 | .is-on-the-left { 32 | @media (min-width: $tablet) { 33 | text-align: right; 34 | } 35 | @media (min-width: $fullhd) { 36 | padding-left: 30%; 37 | } 38 | } 39 | 40 | .is-on-the-right { 41 | @media (min-width: $fullhd) { 42 | padding-right: 30%; 43 | } 44 | } 45 | } 46 | 47 | .linkhub-dual-wrapper__column { 48 | @media (max-width: $tablet - 1px) { 49 | width: 100%; 50 | } 51 | } 52 | 53 | .svg-icon.linkhub-dual__arrow { 54 | color: var(--custom-linkhub-arrow-color); 55 | position: absolute; 56 | opacity: .2; 57 | z-index: -1; 58 | width: calc(var(--bulma-size-5) * 15); 59 | 60 | @media (max-width: $tablet - 1px) { 61 | left: 50%; 62 | translate: -50% -15%; 63 | } 64 | 65 | @media (min-width: $tablet) { 66 | right: calc(var(--bulma-size-5)* -2.5); 67 | rotate: -90deg; 68 | } 69 | 70 | .is-on-the-right + & { 71 | @media (max-width: $tablet - 1px) { 72 | rotate: -180deg; 73 | translate: -50% 15%; 74 | } 75 | 76 | @media (min-width: $tablet) { 77 | right: auto; 78 | left: calc(var(--bulma-size-5)* -2.5); 79 | rotate: 90deg; 80 | } 81 | } 82 | } -------------------------------------------------------------------------------- /_sass/_no-js.scss: -------------------------------------------------------------------------------- 1 | .no-js { 2 | // --- Hot topics on homepage 3 | .topic-list { 4 | & > .topic-list__item { 5 | display: none; 6 | } 7 | } 8 | 9 | // --- Theme switcher 10 | .theme-toggle { 11 | display: none; 12 | } 13 | 14 | // --- VPN toolkit, SPA Quiz 15 | .vpn-control, 16 | .vpn-control + div, 17 | .spa-quiz #main-box { 18 | display: none; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /_sass/_official-accounts.scss: -------------------------------------------------------------------------------- 1 | .official-accounts { 2 | .buttons { 3 | @media (max-width: $tablet) { 4 | justify-content: center; 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /_sass/_p404.scss: -------------------------------------------------------------------------------- 1 | .p404 { 2 | --_p404-size: 6rem; 3 | 4 | @media (min-width: 576px) { 5 | --_p404-size: 10rem; 6 | } 7 | 8 | .p404__title { 9 | font-size: var(--_p404-size); 10 | font-weight: 400; 11 | } 12 | } 13 | 14 | .p404__title-zero { 15 | display: inline-block; 16 | margin-inline: calc(var(--bulma-column-gap) * .25); 17 | aspect-ratio: 1; 18 | overflow: hidden; 19 | position: relative; 20 | text-indent: -47rem; 21 | width: calc(var(--_p404-size) * .75); 22 | 23 | svg { 24 | display: block; 25 | position: absolute; 26 | top: 0; 27 | left: 0; 28 | width: 100%; 29 | aspect-ratio: 1; 30 | z-index: 1; 31 | scale: 1; 32 | 33 | .logo-eye--left { 34 | animation: eye-l 8s infinite; 35 | } 36 | 37 | .logo-eye--right { 38 | animation: eye-r 8s infinite; 39 | } 40 | } 41 | } 42 | 43 | -------------------------------------------------------------------------------- /_sass/_patreons.scss: -------------------------------------------------------------------------------- 1 | .patreons__tags { 2 | text-transform: none; 3 | 4 | &--homepage { 5 | @media (max-width: 767px) { 6 | justify-content: center; 7 | } 8 | } 9 | } 10 | 11 | .patreons__tag { 12 | transition: background-color 350ms ease-in-out; 13 | } 14 | 15 | .patreons__icon { 16 | display: flex; 17 | } 18 | -------------------------------------------------------------------------------- /_sass/_project.scss: -------------------------------------------------------------------------------- 1 | .project { 2 | &:hover { 3 | .project__logo-wrapper { 4 | //background-color: var(--bulma-white); 5 | } 6 | } 7 | } 8 | 9 | .project__logo-wrapper { 10 | aspect-ratio: 4/3; 11 | background-color: var(--bulma-grey-lighter); 12 | transition: background-color 350ms ease-in-out; 13 | 14 | .project:hover & { 15 | background-color: var(--bulma-white); 16 | } 17 | } 18 | 19 | .project__name { 20 | @media (min-width: $tablet) { 21 | div[data-column="0"] &, 22 | div[data-column="1"] &, 23 | div[data-column="2"] & { 24 | order: -1; 25 | } 26 | } 27 | } 28 | 29 | .project__link { 30 | color: var(--bulma-success); 31 | transition: color 350ms ease-in-out; 32 | 33 | .project:hover & { 34 | color: var(--bulma-primary); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /_sass/_related-links.scss: -------------------------------------------------------------------------------- 1 | .related-links { 2 | position: relative; 3 | 4 | &:before { 5 | content: ''; 6 | width: 50vw; 7 | max-width: 1000px; 8 | height: calc(var(--bulma-size-5) * .125); 9 | background-color: var(--bulma-border); 10 | position: absolute; 11 | inset: 0 auto auto 50%; 12 | translate: -50% 0; 13 | border-radius: 100vmax; 14 | } 15 | } 16 | 17 | .related-links__link { 18 | text-align: left; 19 | 20 | @media (max-width: $tablet) { 21 | white-space: normal; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /_sass/_sub-hero.scss: -------------------------------------------------------------------------------- 1 | .sub-hero { 2 | // 3 | } 4 | 5 | .sub-hero__title { 6 | position: relative; 7 | display: flex; 8 | flex-direction: column; 9 | 10 | &:after { 11 | content: ''; 12 | display: block; 13 | background-color: var(--bulma-primary); 14 | width: calc(var(--bulma-size-5) * 4); 15 | height: calc(var(--bulma-size-5) * .2); 16 | translate: 0 var(--bulma-size-5); 17 | border-radius: 100vmax; 18 | } 19 | } 20 | 21 | .sub-hero__tagline { 22 | font-size: var(--bulma-size-2); 23 | color: var(--bulma-primary); 24 | margin-top: calc(var(--bulma-size-5) * .5); 25 | } 26 | 27 | .sub-hero__desc { 28 | text-wrap: balance; 29 | } 30 | 31 | .sub-hero__buttons { 32 | justify-content: flex-end; 33 | 34 | @media (max-width: $tablet) { 35 | justify-content: center; 36 | margin-top: var(--bulma-size-5); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /_sass/_support.scss: -------------------------------------------------------------------------------- 1 | // WHY? 2 | .support-why { 3 | background-color: var(--custom-support-why-bg, none); 4 | 5 | @media (min-width: $tablet) { 6 | display: flex; 7 | align-items: center; 8 | } 9 | } 10 | 11 | .support-why__content { 12 | @media (min-width: $tablet) { 13 | flex-grow: 1; 14 | padding-right: calc(var(--bulma-size-1) * .5); 15 | } 16 | } 17 | 18 | // HOW? 19 | .support-how__ghost-link { 20 | white-space: normal; 21 | } 22 | 23 | // PAID 24 | .support-paid__projects { 25 | p { 26 | align-items: flex-start; 27 | 28 | @media (max-width: $tablet - 1px) { 29 | align-items: center; 30 | text-align: center; 31 | } 32 | 33 | & + p { 34 | margin-top: var(--bulma-size-1); 35 | margin-bottom: 0; 36 | } 37 | } 38 | 39 | .buttons { 40 | @media (max-width: $tablet - 1px) { 41 | justify-content: center; 42 | } 43 | } 44 | } 45 | 46 | .support-paid__monero { 47 | max-width: calc(var(--bulma-size-5) * 30); 48 | margin-inline: auto; 49 | } 50 | 51 | .support-paid__qr { 52 | width: 100%; 53 | } 54 | -------------------------------------------------------------------------------- /_sass/_svg-icon.scss: -------------------------------------------------------------------------------- 1 | .svg-icon { 2 | display: inline-block; 3 | width: 2.5rem; 4 | height: auto; 5 | aspect-ratio: 1; 6 | 7 | .button & { 8 | height: auto; 9 | } 10 | 11 | &.is-size-25 { 12 | width: 1rem; 13 | } 14 | 15 | &.is-size-50 { 16 | width: 1.5rem; 17 | } 18 | 19 | &.is-size-75 { 20 | width: 1.75rem; 21 | } 22 | 23 | &.is-size-100 { 24 | width: 2.5rem; 25 | } 26 | 27 | &.is-size-150 { 28 | width: 3rem; 29 | } 30 | 31 | &.is-size-200 { 32 | width: 3.75rem; 33 | } 34 | 35 | svg { 36 | display: block; 37 | } 38 | } 39 | 40 | .svg-icon { 41 | &.is-size-100.svg-icon--new-window { 42 | position: absolute; 43 | inset: 0 calc(var(--bulma-size-5) * -.75) auto auto; 44 | width: calc(var(--bulma-size-5) * .75); 45 | 46 | @media (max-width: $desktop - 1px) { 47 | inset: 0 0 auto auto; 48 | } 49 | } 50 | } -------------------------------------------------------------------------------- /_sass/_tags.scss: -------------------------------------------------------------------------------- 1 | .tags { 2 | text-align: left; 3 | font-size: calc(var(--bulma-size-5) * .75); 4 | text-transform: lowercase; 5 | } 6 | 7 | .tag { 8 | height: auto; 9 | padding-inline: 0; 10 | } 11 | -------------------------------------------------------------------------------- /_sass/_team.scss: -------------------------------------------------------------------------------- 1 | .team { 2 | // 3 | } 4 | 5 | .team__wrapper { 6 | &.is-mini { 7 | max-width: 705px; // Bulma container.is-max-tablet 8 | margin-inline: auto; 9 | } 10 | } -------------------------------------------------------------------------------- /_sass/_theme-toggle.scss: -------------------------------------------------------------------------------- 1 | button[data-theme-toggle].theme-toggle { 2 | --bulma-button-border-width: 0px; 3 | position: relative; 4 | 5 | &:after { 6 | content: ''; 7 | position: absolute; 8 | background-color: var(--bulma-background); 9 | top: calc(var(--bulma-size-5) * .125); 10 | z-index: 0; 11 | width: calc(var(--bulma-size-5) * 2); 12 | aspect-ratio: 1; 13 | border-radius: 100%; 14 | translate: -50% 0; 15 | transition: translate 250ms ease-in-out; 16 | } 17 | 18 | &[data-active-theme="js-light-is-active"] { 19 | &:after { 20 | translate: 50% 0; 21 | } 22 | } 23 | } 24 | 25 | 26 | .theme-toggle__icon { 27 | position: relative; 28 | z-index: 1; 29 | rotate: 0; 30 | scale: .75; 31 | 32 | &--dark { 33 | [data-active-theme="js-dark-is-active"] & { 34 | color: var(--bulma-warning); 35 | transition: rotate 1s ease-in-out, scale 750ms cubic-bezier(0.34, 1.56, 0.64, 1); 36 | rotate: 360deg; 37 | scale: 1.2; 38 | } 39 | } 40 | 41 | &--light { 42 | [data-active-theme="js-light-is-active"] & { 43 | color: var(--bulma-warning); 44 | rotate: 360deg; 45 | transition: rotate 1s ease-in-out, scale 750ms cubic-bezier(0.34, 1.56, 0.64, 1); 46 | scale: 1.2; 47 | } 48 | } 49 | 50 | } 51 | -------------------------------------------------------------------------------- /_sass/_tooltip.scss: -------------------------------------------------------------------------------- 1 | .has-tooltip { 2 | --_tooltip-color: var(--bulma-black); 3 | 4 | position: relative; 5 | 6 | &:hover { 7 | &:before, 8 | &:after { 9 | opacity: 1; 10 | } 11 | } 12 | 13 | &:before, 14 | &:after { 15 | content: ''; 16 | position: absolute; 17 | inset: 0 auto auto 50%; 18 | opacity: 0; 19 | pointer-events: none; 20 | transition: opacity 250ms ease-in-out; 21 | } 22 | 23 | // --- tooltip 24 | &:before { 25 | content: attr(data-tooltip); 26 | background-color: var(--_tooltip-color); 27 | padding: calc(var(--bulma-size-7)* .5) var(--bulma-size-5); 28 | border-radius: var(--bulma-radius-medium); 29 | translate: -50% -125%; 30 | font-size: var(--bulma-size-7); 31 | color: var(--bulma-white); 32 | white-space: normal; 33 | 34 | @media (min-width: $tablet) { 35 | white-space: nowrap; 36 | } 37 | } 38 | 39 | // --- arrow 40 | &:after { 41 | content: ""; 42 | width: var(--bulma-size-5); 43 | aspect-ratio: 1; 44 | border: calc(var(--bulma-size-5) * .5) solid transparent; 45 | border-top-color: var(--_tooltip-color); 46 | translate: -50% -65%; 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /_sass/_topic-list.scss: -------------------------------------------------------------------------------- 1 | .topic-list { 2 | font-weight: 900; 3 | } 4 | 5 | .topic-list__title { 6 | line-height: 1.25; 7 | } 8 | 9 | .topic-list__last-poster { 10 | color: var(--custom-topic-list-info, --bulma-black-invert); 11 | } 12 | 13 | .topic-list__link { 14 | &:hover { 15 | .topic-list__title { 16 | text-decoration: underline; 17 | } 18 | } 19 | 20 | &:has(.is-skeleton) { 21 | pointer-events: none; 22 | } 23 | } 24 | 25 | .topic-list__views { 26 | min-width: calc(var(--bulma-size-1) * 1); 27 | border-radius: var(--bulma-radius-rounded); 28 | background-color: var(--bulma-info); 29 | color: var(--bulma-black); 30 | font-style: normal; 31 | 32 | &::before { 33 | content: ""; 34 | background-image: url(../icons/eye-solid.svg); 35 | width: var(--bulma-size-5); 36 | aspect-ratio: 1; 37 | } 38 | } 39 | 40 | .topic-list__footer { 41 | font-weight: 400; 42 | font-style: italic; 43 | color: var(--bulma-text-light); 44 | font-size: var(--bulma-size-7); 45 | } 46 | -------------------------------------------------------------------------------- /_sass/_vpn-chart.scss: -------------------------------------------------------------------------------- 1 | div[id="vpn-table"] { 2 | border: 0; 3 | 4 | @media (max-width: $desktop - 1px) { 5 | border-radius: 0; 6 | margin-inline: calc(var(--bulma-column-gap) * -1); 7 | max-width: none; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /_sass/_wave.scss: -------------------------------------------------------------------------------- 1 | .wave { 2 | background-color: var(--bulma-body-background-color); 3 | color: var(--bulma-primary); 4 | margin-top: -.5rem; 5 | position: relative; 6 | transition: background-color 250ms ease-in-out; 7 | z-index: 1; 8 | 9 | @media (min-width: $desktop) { 10 | margin-top: calc(var(--bulma-navbar-height) * -1); 11 | } 12 | 13 | svg { 14 | path { 15 | animation: wave 25s linear infinite; 16 | 17 | @media (prefers-reduced-motion: reduce) { 18 | animation: none; 19 | } 20 | } 21 | } 22 | 23 | svg + svg { 24 | position: absolute; 25 | inset: 0; 26 | opacity: .2; 27 | 28 | path { 29 | animation-delay: 1s; 30 | animation-timing-function: cubic-bezier(0.65, 0, 0.35, 1); 31 | } 32 | } 33 | } 34 | 35 | // Footer variant 36 | .wave--footer { 37 | background-color: transparent; 38 | margin-inline: calc(var(--bulma-size-5) * -1.5); // compensation for the footer inline padding 39 | translate: 0 -1px; // Fix for Safari ... 40 | 41 | svg { 42 | path { 43 | fill: var(--bulma-body-background-color); 44 | transition: fill 250ms ease-in-out; 45 | } 46 | } 47 | } 48 | 49 | @keyframes wave { 50 | 100% { 51 | transform: translateX(-100%); 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/android-chrome-192x192.png -------------------------------------------------------------------------------- /android-chrome-256x256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/android-chrome-256x256.png -------------------------------------------------------------------------------- /apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/apple-touch-icon.png -------------------------------------------------------------------------------- /assets/affiliates/icons/artlist.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/affiliates/icons/dji-mic-2.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/affiliates/icons/fairphone.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/affiliates/icons/fujifilm-x100v.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/affiliates/icons/google-pixel.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/affiliates/icons/laptop.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/affiliates/icons/mega.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/affiliates/icons/nextdns.svg: -------------------------------------------------------------------------------- 1 | > -------------------------------------------------------------------------------- /assets/affiliates/icons/omg-lol.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/affiliates/icons/orangewebsite.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/affiliates/icons/parallels.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/affiliates/icons/proton-mail.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/affiliates/icons/proton-vpn.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/affiliates/icons/screen-protectors.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/affiliates/icons/sennheiser-hd600.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/affiliates/icons/sennheiser-momentum-4.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/affiliates/icons/startmail.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/affiliates/icons/tuta.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/affiliates/icons/webcam-covers.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/affiliates/icons/yubikey.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/affiliates/icons/zoom-lens.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/fonts/montserrat-v26-latin-800.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/assets/fonts/montserrat-v26-latin-800.woff2 -------------------------------------------------------------------------------- /assets/fonts/montserrat-v26-latin-italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/assets/fonts/montserrat-v26-latin-italic.woff2 -------------------------------------------------------------------------------- /assets/fonts/montserrat-v26-latin-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/assets/fonts/montserrat-v26-latin-regular.woff2 -------------------------------------------------------------------------------- /assets/fonts/nunito-v26-latin-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/assets/fonts/nunito-v26-latin-900.woff2 -------------------------------------------------------------------------------- /assets/fonts/nunito-v26-latin-italic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/assets/fonts/nunito-v26-latin-italic.woff2 -------------------------------------------------------------------------------- /assets/fonts/nunito-v26-latin-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/assets/fonts/nunito-v26-latin-regular.woff2 -------------------------------------------------------------------------------- /assets/fonts/source-code-pro-v23-latin-600.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/assets/fonts/source-code-pro-v23-latin-600.woff2 -------------------------------------------------------------------------------- /assets/fonts/source-code-pro-v23-latin-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/assets/fonts/source-code-pro-v23-latin-regular.woff2 -------------------------------------------------------------------------------- /assets/icons/arrow-down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/icons/arrow-up-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/icons/bluesky.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/icons/bright-star.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/icons/default.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/icons/discuss.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/icons/donate.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/icons/ente.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/icons/eye-solid.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/icons/facebook.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/icons/fdroid.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/icons/fingerprint-lock-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/icons/github.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/icons/half-moon.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/icons/headset-help.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/icons/heart-solid.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/icons/info-circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/icons/instagram.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/icons/iris-scan.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/icons/kofi.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/icons/laptop-warning.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/icons/liberapay.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/icons/link.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/icons/linkedin.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /assets/icons/list-select.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/icons/long-arrow-down-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/icons/mastodon.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/icons/matrix.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/icons/odysee.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/icons/patreon.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/icons/paypal.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/icons/peertube.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/icons/quote-solid.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/icons/reddit.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/icons/rss.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/icons/send-mail.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/icons/server.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/icons/shirt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/icons/signal.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/icons/socials-custom.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/icons/star-solid.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/icons/star.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/icons/sun-light.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/icons/techlorian.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/icons/telegram.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/icons/tv-star.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/icons/tv.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/icons/twitter.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/icons/video.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/icons/web.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/icons/wrench.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/icons/xbox-x.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/icons/xmr.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/icons/xmrchat.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/icons/youtube.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/images/avatar-javascript.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/images/github-readme-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/assets/images/github-readme-dark.png -------------------------------------------------------------------------------- /assets/images/github-readme-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/assets/images/github-readme-light.png -------------------------------------------------------------------------------- /assets/images/og-image-1200x630-about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/assets/images/og-image-1200x630-about.png -------------------------------------------------------------------------------- /assets/images/og-image-1200x630-default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/assets/images/og-image-1200x630-default.png -------------------------------------------------------------------------------- /assets/images/og-image-1200x630-goincognito.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/assets/images/og-image-1200x630-goincognito.png -------------------------------------------------------------------------------- /assets/images/og-image-1200x630-resources.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/assets/images/og-image-1200x630-resources.png -------------------------------------------------------------------------------- /assets/images/og-image-1200x630-spa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/assets/images/og-image-1200x630-spa.png -------------------------------------------------------------------------------- /assets/images/og-image-1200x630-support.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/assets/images/og-image-1200x630-support.png -------------------------------------------------------------------------------- /assets/images/og-image-1200x630-videos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/assets/images/og-image-1200x630-videos.png -------------------------------------------------------------------------------- /assets/images/og-image-1200x630-vpn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/assets/images/og-image-1200x630-vpn.png -------------------------------------------------------------------------------- /assets/images/techlorexmr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/assets/images/techlorexmr.png -------------------------------------------------------------------------------- /assets/images/thumbnail-default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/assets/images/thumbnail-default.png -------------------------------------------------------------------------------- /assets/images/wave.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/7-zip.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/adguard.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/aegis.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/arch.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/bisq-network.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/bitwarden.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/brave-search.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/brave.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/briar.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/control-d.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/cr-security-planner.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/cromite.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/cryptee.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/cryptpad.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/ente.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/european-digital-rights-edri.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/exodus-privacy.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/fotp-guides-training.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/gnu-privacy-guard.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/grapheneos.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/guerrilla-mail.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/ivpn.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/keepass.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/keepassdx-client.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/macos.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/mailbox-org.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/matrix.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/mega.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/monero.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/nextcloud.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/nextdns.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | > 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/nitrokey.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/njalla.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/notesnook.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/noyb.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/objective-see.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/optery.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/orangewebsite.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/orbot.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/plexus.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/portmaster.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/privacy-international.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/privacy-not-included.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/proton-mail.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/quad-9.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/searxng.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/self-host.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/session.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/signal.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/simplex.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/startmail.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/surveillance-report.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/syncthing.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/the-new-oil.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/threema.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/tor-browser.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/tuta.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/windscribe.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/yubikey.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/knowledgebase/icons/zcash.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/team/henry-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/assets/team/henry-bg.jpg -------------------------------------------------------------------------------- /assets/team/henry.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/assets/team/henry.jpg -------------------------------------------------------------------------------- /browserconfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | #1993d2 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /contribution/admintool.md: -------------------------------------------------------------------------------- 1 | # Video Markdown & Thumbnail Tool 2 | > ⚠️ **TOOL FOR ADMINISTRATORS** 3 | > 4 | > This tool is designed for administrators to create and manage video information in Markdown format (*.md) and to download thumbnail images from YouTube. 5 | 6 | ## Add New Videos 7 | 1. Fill out the form with the desired information. 8 | 2. Download the files: 9 | - Click the download button to get the Markdown file. 10 | - Right-click on the thumbnail and select "Save Image As..." 11 | 3. Update your local Git repository. 12 | 4. Copy the files into the desired folder (e.g., `videos/_clips`) of your local project. 13 | 5. Commit and push the changes. 14 | 15 | ## Form notes 16 | - The name of the files follows the `YYYY-MM-DD-slugified-title` format. 17 | - The `datePublished` value is automatically copied to the `dateUpdated` field. 18 | - The YouTube link is used to extract the video ID and display the correct thumbnail (eg. `https://img.youtube.com/vi/y-ISDmhrclQ/maxresdefault.jpg`). 19 | - The quick tags buttons allow you to add tags to the field; the list of available tags can be edited [here](../vhelper.html#L390). 20 | -------------------------------------------------------------------------------- /contribution/globals.md: -------------------------------------------------------------------------------- 1 | # Globals 2 | The main configuration for the project can be found in the `_config.yml` file ([link](../_config.yml)). This file contains several important global variables and also settings that are essential for the proper functioning of the site. Below is a breakdown of the key sections 3 | 4 | >⚠️ **Dangerous settings** - don't edit, unless you know what you are doing. 5 | 6 | ### Site settings 7 | - `name, title, tagline, email, description, twitter` are self-explanatory. 8 | - `ogImage: "/assets/images/og-image-techlore-1200x630.png"` image used in Open Graph 9 | - ⚠️ `url: ...` the base hostname & protocol for the site 10 | 11 | ### Global links 12 | Links for all social media platforms and for supporting the project. 13 | 14 | ### ⚠️ Plugin settings 15 | Includes configuration settings for various plugins used in the project. Make sure to review these settings if you are planning to add or modify any plugins. 16 | 17 | ### ⚠️ Collection settings 18 | Configuration for collections, which are used to manage different sections of video content. This is where you can define how video sections are organized and displayed on the site. 19 | 20 | ### ⚠️ Sitemap Configuration 21 | Lastly, the configuration for the sitemap is included in this file. This is important for SEO and helps search engines understand the structure of the site. 22 | -------------------------------------------------------------------------------- /contribution/icons.md: -------------------------------------------------------------------------------- 1 | # Icons guide 2 | All interface icons are located in `/assets/icons` folder. 3 | 4 | Most of the beautiful icons are sourced from Luca Burgio's project [Iconoir](https://iconoir.com/). Saluti all'Italia! 🇮🇹 As a result, the base style and sizes are derived from this project. 5 | 6 | ### Recommendations 7 | - `viewBox="0 0 24 24"` the recommended size is 24x24 pixels, with an aspect ratio of 1:1 8 | - `stroke-width="1"` the stroke width is set to 1 pixel 9 | - **Fill/stroke color**: The fill/stroke color values are replaced with `currentColor`, allowing the color to change when pasted as inline SVG 10 | - **Optimize SVG**: we recommend using the excellent project [SVGOMG](https://jakearchibald.github.io/svgomg/) for SVG optimization 11 | 12 | #### Example code 13 | ```svg 14 | 15 | 16 | 17 | ``` 18 | ([source file](../assets/icons/info-circle.svg)) 19 | -------------------------------------------------------------------------------- /favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/favicon-16x16.png -------------------------------------------------------------------------------- /favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/favicon-32x32.png -------------------------------------------------------------------------------- /favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/favicon.ico -------------------------------------------------------------------------------- /mstile-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/mstile-150x150.png -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Techlore", 3 | "version": "1.0.0", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "Techlore", 9 | "version": "1.0.0", 10 | "license": "ISC", 11 | "dependencies": { 12 | "bulma": "^1.0.1" 13 | } 14 | }, 15 | "node_modules/bulma": { 16 | "version": "1.0.2", 17 | "resolved": "https://registry.npmjs.org/bulma/-/bulma-1.0.2.tgz", 18 | "integrity": "sha512-D7GnDuF6seb6HkcnRMM9E739QpEY9chDzzeFrHMyEns/EXyDJuQ0XA0KxbBl/B2NTsKSoDomW61jFGFaAxhK5A==", 19 | "license": "MIT" 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Techlore", 3 | "version": "1.0.0", 4 | "main": "index.js", 5 | "scripts": { 6 | "test": "echo \"Error: no test specified\" && exit 1" 7 | }, 8 | "author": "", 9 | "license": "ISC", 10 | "description": "", 11 | "dependencies": { 12 | "bulma": "^1.0.1" 13 | } 14 | } -------------------------------------------------------------------------------- /rss.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: "Techlore RSS Feeds" 4 | permalink: /rss 5 | description: | 6 | RSS is the cleanest method available for following Techlore. Follow any of the feeds below with your favorite feed reader! 7 | To learn more about RSS check out [this guide](https://rss.com/blog/how-do-rss-feeds-work/). 8 | --- 9 | 10 | ## Techlore Feeds 11 | 12 | - [Primary Mastodon Feed](https://social.lol/@techlore.rss) - We post all major announcements (new videos, shows, and many other updates from ourselves and the community) here on Mastodon, so if you want a single place to stay informed about everything, this is it! 13 | - [Techlore Forum Feeds](https://discuss.techlore.tech/t/heres-how-to-use-rss-with-techlore-discussions/141) 14 | - [All Techlore Feeds](https://discuss.techlore.tech/t/introducing-techlore-feeds-reviving-twitter-telegram-matrix/4067) 15 | 16 | ## Blog-Only Updates 17 | 18 | - [Techlore Blog RSS](https://blog.techlore.tech/feed/) 19 | 20 | ## Video-Only Feeds 21 | 22 | - [YouTube](https://www.youtube.com/feeds/videos.xml?channel_id=UCs6KfncB4OV6Vug4o_bzijg) 23 | - [PeerTube](https://techlore.tv/feeds/videos.xml?videoChannelId=4) 24 | 25 | ## Audio-Only Feeds 26 | 27 | - [Techlore Talks Podcast](https://feeds.acast.com/public/shows/techlore) 28 | - [Surveillance Report Podcast](https://feeds.acast.com/public/shows/65e15188b8456c00169f4864) 29 | -------------------------------------------------------------------------------- /security.txt: -------------------------------------------------------------------------------- 1 | Contact: mailto:contact@techlore.tech 2 | Contact: https://techlore.tech/contact 3 | Expires: 2025-04-18T17:00:00.000Z 4 | Acknowledgments: https://discuss.techlore.tech/badges/106/security-bug-hunter 5 | Acknowledgments: https://techlore.tech/about 6 | Preferred-Languages: en 7 | Canonical: https://www.techlore.tech/security.txt 8 | Canonical: https://www.techlore.tech/.well-known/security.txt 9 | Canonical: https://discuss.techlore.tech/.well-known/security.txt 10 | Policy: https://discuss.techlore.tech/pub/security-policy 11 | Policy: https://discuss.techlore.tech/pub/security-vulnerability-reporting 12 | -------------------------------------------------------------------------------- /site.webmanifest: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Techlore - Digital Rights for All", 3 | "short_name": "Techlore", 4 | "description": "Resources and education for digital privacy and security", 5 | "icons": [ 6 | { 7 | "src": "./android-chrome-192x192.png", 8 | "sizes": "192x192", 9 | "type": "image/png" 10 | "purpose": "any maskable" 11 | }, 12 | { 13 | "src": "./android-chrome-256x256.png", 14 | "sizes": "256x256", 15 | "type": "image/png" 16 | "purpose": "any" 17 | } 18 | ], 19 | "start_url": "/", 20 | "theme_color": "#5675e6", 21 | "background_color": "#5675e6", 22 | "display": "standalone" 23 | "orientation": "portrait", 24 | "scope": "/", 25 | "lang": "en-US", 26 | "dir": "ltr", 27 | "categories": ["education", "security", "utilities"] 28 | } 29 | -------------------------------------------------------------------------------- /videos/_guides/2020-06-30-the-complete-ios-privacy-security-guide.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "The Complete iOS Privacy & Security Guide: Your Best Protection!" 3 | description: "The ultimate security & privacy Apple iOS guide showing how to make iOS safe and anonymous as you need it to be. This video covers security, privacy, anonymity, passwords, authentication, VPNs, biometrics, search engines, browsers, Tor, 2FA, and so much more to cover everything related to Apple Privacy & Security! Reclaim your privacy today 🕵" 4 | datePublished: 2020-06-30 5 | dateUpdated: 2020-06-30 6 | linkYouTube: "https://www.youtube.com/watch?v=Sa0KqbpLye4" 7 | linkPeerTube: "https://techlore.tv/w/u1Hn6HDikQ62Q3hEjaLHvt" 8 | tags: ["apple", "privacy", "security"] 9 | --- 10 | -------------------------------------------------------------------------------- /videos/_guides/2020-07-10-the-complete-android-privacy-security-guide.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "The Complete Android Privacy & Security Guide: Your Best Protection!" 3 | description: "The ultimate guide showing how to make Android as secure, private, and anonymous as you need it to be. This video covers security, privacy, anonymity, passwords, authentication, VPNs, biometrics, search engines, browsers, Tor, 2FA, custom ROMS (GrapheneOS, LineageOS, CalyxOS) and more to reclaim your privacy and data today!" 4 | datePublished: 2020-07-10 5 | dateUpdated: 2020-07-10 6 | linkYouTube: "https://www.youtube.com/watch?v=dMWEym0KPcA" 7 | linkPeerTube: "https://techlore.tv/w/3ncxEj1yzfqLTygDtbsAXe" 8 | tags: ["android", "privacy", "security"] 9 | --- 10 | -------------------------------------------------------------------------------- /videos/_guides/2020-08-01-become-anonymous.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Become Anonymous: The Ultimate Guide To Privacy, Security, & Anonymity" 3 | description: "The ultimate & complete guide to becoming anonymous, private, and secure on the internet. Learn everything you can do to get as close as anonymous as possible! This video tutorial will teach everything about passwords, 2FA, digital footprints, social media, VPNs, proxies, Tor, encrypted communication & messaging, web browsing, smartphones, computers, data privacy, real world privacy/security, FOSS (open source), anonymous shopping, and more for the web. Go Anonymous Today!" 4 | datePublished: 2020-08-01 5 | dateUpdated: 2020-08-01 6 | linkYouTube: "https://www.youtube.com/watch?v=a1i-3xwcSGA" 7 | linkPeerTube: "https://techlore.tv/w/upm3ZW6VtpVo5Canq7Jfqr" 8 | tags: ["threatmodel", "privacy", "security"] 9 | --- 10 | -------------------------------------------------------------------------------- /videos/_guides/2020-12-30-go-incognito.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Go Incognito: A Guide to Security, Privacy & Anonymity | Front to Back" 3 | description: "Welcome to Go Incognito, your guide to security, privacy & anonymity in our world. From digital protection, to physical safety, Go Incognito will cover all you need to advance through your privacy journey. Topics include FOSS, metadata, password management, permissions, two-factor authentication, search engines, browser configuration, proxies, VPNs, antiviruses, encryption, communication, Tor, operating systems, cryptocurrencies, networking, activism, and so much more." 4 | datePublished: 2020-12-30 5 | dateUpdated: 2024-01-01 6 | linkYouTube: "https://www.youtube.com/watch?v=Y19RFmOxfVM" 7 | linkPeerTube: "https://techlore.tv/w/n6X4YvPfHm1NW8HQB2bTwE" 8 | tags: ["techlore", "privacy", "goincognito"] 9 | isPremium: true 10 | --- 11 | -------------------------------------------------------------------------------- /videos/_guides/2021-05-03-the-complete-windows-privacy-security-guide.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "The COMPLETE Windows Privacy & Security Guide!" 3 | description: "The ultimate guide showing how to make Windows as secure, private, and anonymous as you need it to be. This video covers security, privacy, anonymity, passwords, authentication, VPNs, biometrics, search engines, browsers, Tor, 2FA, virtual machines, Linux, communication and more to reclaim your privacy and data today!" 4 | datePublished: 2021-05-03 5 | dateUpdated: 2021-05-03 6 | linkYouTube: "https://www.youtube.com/watch?v=vNRics7tlqw" 7 | linkPeerTube: "https://techlore.tv/w/gMiridfL1LHsto1DnRtd5N" 8 | tags: ["windows", "privacy", "security"] 9 | --- 10 | -------------------------------------------------------------------------------- /videos/_guides/2021-05-28-the-complete-macos-privacy-security-guide.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "The COMPLETE MacOS Privacy & Security Guide!" 3 | description: "The ultimate guide showing how to make MacOS as secure, private, and anonymous as we can make it. This video covers hardening MacOS, security, privacy, anonymity, passwords, authentication, VPNs, biometrics, search engines, browsers, Tor, 2FA, virtual machines, Linux, communication and more to reclaim your privacy and data today! Say goodbye to Apple!" 4 | datePublished: 2021-05-28 5 | dateUpdated: 2021-05-28 6 | linkYouTube: "https://www.youtube.com/watch?v=lFx5icuE6Io" 7 | linkPeerTube: "https://techlore.tv/w/edQXbpKGwuGKssTJf2UrLa" 8 | tags: ["macos", "privacy", "apple"] 9 | --- 10 | -------------------------------------------------------------------------------- /videos/_guides/2021-07-02-the-complete-linux-hardening.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "The COMPLETE Linux Hardening, Privacy & Security Guide!" 3 | description: "The ultimate guide showing how to make Linux as secure, private, and anonymous as we can make it. This video covers hardening Linux, security, privacy, anonymity, passwords, authentication, VPNs, biometrics, search engines, browsers, Tor, 2FA, virtual machines, Linux, communication, sandboxing, and more to reclaim your privacy and data today!" 4 | datePublished: 2021-07-02 5 | dateUpdated: 2021-07-02 6 | linkYouTube: "https://www.youtube.com/watch?v=Sa0KqbpLye4" 7 | linkPeerTube: "https://techlore.tv/w/e9S8iiG5QXurMACUoaJLbf" 8 | tags: ["linux", "privacy", "security"] 9 | --- 10 | -------------------------------------------------------------------------------- /videos/_guides/2021-12-14-how-to-properly-threat-model.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "How to PROPERLY threat model" 3 | description: "How to threat model - one of the most misunderstood concepts in the entire privacy & security community. Welcome to our complete guide to it!" 4 | datePublished: 2021-12-14 5 | dateUpdated: 2021-12-14 6 | linkYouTube: "https://www.youtube.com/watch?v=DHZRhboZhfI" 7 | linkPeerTube: "https://techlore.tv/w/udSHSNcpWB5WBWqVp3tDRA" 8 | tags: ["threatmodel", "privacy", "security"] 9 | --- 10 | -------------------------------------------------------------------------------- /videos/_guides/2023-07-03-the-ultimate-guide-to-mastering-nextdns.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "The ULTIMATE Guide to Mastering NextDNS!" 3 | description: "NextDNS is an insanely powerful privacy and security tool allowing you to reclaim control across various devices via DNS. In this guide/tutorial, I will be explaining what NextDNS is and how it differs from most other DNS providers, all the settings offered, some of my suggested use-cases, blocklist recommendations, set-up, and many other things so you can feel confident using NextDNS. Enjoy!" 4 | datePublished: 2023-07-03 5 | dateUpdated: 2023-07-03 6 | linkYouTube: "https://www.youtube.com/watch?v=WUG57ynLb8I" 7 | linkPeerTube: "https://techlore.tv/w/cT99JpDvWp5WkXxkhcfQqX" 8 | tags: ["Guide","DNS"] 9 | --- -------------------------------------------------------------------------------- /videos/_guides/2024-09-09-lock-down-your-signal-ultimate-hardening-guide.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Lock Down Your Signal: Ultimate Hardening Guide" 3 | description: "Signal is one of the safest messengers, but that doesn't mean we can't make it safer! Welcome to the ultimate Signal hardening guide to make it as private, secure, & safe as possible. This video tutorial applies to iOS, Android, and touches on desktop devices using not just native Signal settings, but also other hardening techniques." 4 | datePublished: 2024-09-09 5 | dateUpdated: 2024-09-09 6 | linkYouTube: "https://www.youtube.com/watch?v=DPjg3651oJM" 7 | linkForum: "https://discuss.techlore.tech/t/lock-down-your-signal-ultimate-hardening-guide/9559/1" 8 | linkPeerTube: "https://techlore.tv/w/3XG2x8s2moKMBdpnZrTk7c" 9 | tags: ["Guide","Privacy"] 10 | --- -------------------------------------------------------------------------------- /videos/_guides/2024-09-28-data-breaches.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "The Ultimate Guide to Navigating Data Breaches!" 3 | description: "If you just got caught in a data breach you've come to the right video. This is the ultimate guide to navigating data breaches. I'll teach how you how to figure out what data was breached, what to do with each breached data point, and how to prevent if from happening again! And no, you don't need credit monitoring services! We discuss MFA/2FA, password managers, have i been pwned, email aliasing services, phone aliasing, freezing your credit, protecting your SSN, and more!" 4 | datePublished: 2024-09-28 5 | dateUpdated: 2024-09-28 6 | linkYouTube: "https://www.youtube.com/watch?v=E12rBfbNOIg" 7 | linkPeerTube: "https://techlore.tv/w/1unaf62ARrGzb48MrAPYyp" 8 | tags: ["privacy", "databreach", "dataprivacy"] 9 | --- 10 | -------------------------------------------------------------------------------- /videos/_guides/2024-12-31-the-ultimate-windows-privacy-security-guide.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: "The ULTIMATE Windows Privacy & Security Guide!" 3 | description: "The v2 ultimate guide to making Windows as secure, private, and anonymous as you need it to be. This video covers security, privacy, anonymity, passwords, authentication, VPNs, biometrics, search engines, browsers, Tor, 2FA, virtual machines, Linux, communication and more to reclaim your privacy and data today! Whether you're concerned about viruses or want to keep your business safe - this is the tutorial you're looking for!" 4 | datePublished: 2024-12-31 5 | dateUpdated: 2024-12-31 6 | linkYouTube: "https://youtu.be/-nv3IEtXhF8" 7 | linkPeerTube: "https://techlore.tv/w/gMiridfL1LHsto1DnRtd5N" 8 | tags: ["Guide","Security","Privacy","Windows"] 9 | --- -------------------------------------------------------------------------------- /videos/_guides/_template-guides: -------------------------------------------------------------------------------- 1 | --- 2 | title: "Guides template" 3 | description: "Copy this file and rename it with an .md extension. Grab a thumbnail image from YouTube using https://boingboing.net/features/getthumbs and move it to the /thumbnails folder with the same name." 4 | datePublished: 1970-01-01 5 | dateUpdated: 1970-01-01 6 | linkYouTube: "https://www.youtube.com/watch?v=wupToqz1e2g" 7 | tags: ["guide"] 8 | --- 9 | -------------------------------------------------------------------------------- /videos/_guides/thumbnails/2020-06-30-the-complete-ios-privacy-security-guide.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/videos/_guides/thumbnails/2020-06-30-the-complete-ios-privacy-security-guide.jpg -------------------------------------------------------------------------------- /videos/_guides/thumbnails/2020-07-10-the-complete-android-privacy-security-guide.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/videos/_guides/thumbnails/2020-07-10-the-complete-android-privacy-security-guide.jpg -------------------------------------------------------------------------------- /videos/_guides/thumbnails/2020-08-01-become-anonymous.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/videos/_guides/thumbnails/2020-08-01-become-anonymous.jpg -------------------------------------------------------------------------------- /videos/_guides/thumbnails/2020-12-30-go-incognito.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/videos/_guides/thumbnails/2020-12-30-go-incognito.jpg -------------------------------------------------------------------------------- /videos/_guides/thumbnails/2021-05-03-the-complete-windows-privacy-security-guide.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/videos/_guides/thumbnails/2021-05-03-the-complete-windows-privacy-security-guide.jpg -------------------------------------------------------------------------------- /videos/_guides/thumbnails/2021-05-28-the-complete-macos-privacy-security-guide.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/videos/_guides/thumbnails/2021-05-28-the-complete-macos-privacy-security-guide.jpg -------------------------------------------------------------------------------- /videos/_guides/thumbnails/2021-07-02-the-complete-linux-hardening.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/videos/_guides/thumbnails/2021-07-02-the-complete-linux-hardening.jpg -------------------------------------------------------------------------------- /videos/_guides/thumbnails/2021-12-14-how-to-properly-threat-model.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/videos/_guides/thumbnails/2021-12-14-how-to-properly-threat-model.jpg -------------------------------------------------------------------------------- /videos/_guides/thumbnails/2023-07-03-the-ultimate-guide-to-mastering-nextdns.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/videos/_guides/thumbnails/2023-07-03-the-ultimate-guide-to-mastering-nextdns.jpg -------------------------------------------------------------------------------- /videos/_guides/thumbnails/2024-09-09-lock-down-your-signal-ultimate-hardening-guide.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/videos/_guides/thumbnails/2024-09-09-lock-down-your-signal-ultimate-hardening-guide.jpg -------------------------------------------------------------------------------- /videos/_guides/thumbnails/2024-09-28-data-breaches.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/videos/_guides/thumbnails/2024-09-28-data-breaches.jpg -------------------------------------------------------------------------------- /videos/_guides/thumbnails/2024-12-31-the-ultimate-windows-privacy-security-guide.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/techlore/website/0ee50bb15c67490953a8fbd95226e804daa1e940/videos/_guides/thumbnails/2024-12-31-the-ultimate-windows-privacy-security-guide.jpg --------------------------------------------------------------------------------