https://blog.x-way.org/

제출된 URL:
https://blog.x-way.org/
보고서 완료:

링크 · 40개 결과

페이지에서 식별된 외부 링크

링크텍스트
https://youtu.be/oTUDKu3BL7c120 Subgenres of EDM (w/ examples)
https://kniebes.com/2024/12/21/120-subgenres-of-edmvia
https://cooking.nytimes.com/68861692-nyt-cooking/120603830-best-2024-recipesThe Most Popular Recipes of 2024
https://kottke.org/24/12/0045885-saving-this-for-future-revia
https://github.com/openresty/headers-more-nginx-moduleheaders-more-nginx-module
https://github.com/thomiceli/opengist/pull/402a pull-request for Opengist
https://gist.github.com/GitHub Gist
https://opengist.io/Opengist
https://gitbucket.github.io/GitBucket
https://rednafi.com/misc/write_git_commit_messages_properly/#the-seven-rules-of-writing-consistent-git-commit-messagesvia

JavaScript 변수 · 6개 결과

페이지의 창 개체에 로드된 전역 JavaScript 변수는 함수 외부에서 선언된 변수로, 현재 범위 내에서 코드의 어느 부분에서나 액세스할 수 있습니다

이름유형
0object
1object
onbeforetoggleobject
documentPictureInPictureobject
onscrollendobject
umamiobject

콘솔 로그 메시지 · 1개 결과

웹 콘솔에 기록된 메시지

유형카테고리로그
warningother
텍스트
Error with Permissions-Policy header: Origin trial controlled feature not enabled: 'interest-cohort'.

HTML

페이지의 원시 HTML 본문

<!DOCTYPE html><html lang="en" prefix="og: https://ogp.me/ns#"><head>

<meta name="robots" content="all">
<meta name="description" content="x-log - personal weblog of Andreas Jaggi">
<meta name="MSSmartTagsPreventParsing" content="yes">
<meta name="generator" content="x-log">
<meta name="version" content="jekyll">
<meta name="author" content="Andreas Jaggi">
<meta name="geo.position" content="46.5551;7.3705">
<meta name="geo.placename" content="Zweisimmen, Switzerland">
<meta name="geo.country" content="Switzerland">
<meta name="ICBM" content="46.5551, 7.3705">

<meta name="fediverse:creator" content="@[email protected]">

<meta property="og:site_name" content="x-log">
<meta property="og:title" content="x-log">
<meta property="og:description" content="x-log - personal weblog of Andreas Jaggi">
<meta property="og:type" content="website">
<meta property="og:url" content="https://blog.x-way.org/">
<meta property="og:image" content="https://blog.x-way.org/logo.gif">
<meta property="og:locale" content="en">

<link rel="meta" type="application/rdf+xml" title="FOAF" href="https://blog.x-way.org/foaf.rdf">

<link rel="me" href="https://infosec.exchange/@x_way">
<link rel="me" href="https://github.com/x-way">

<link rel="pgpkey" type="application/pgp-keys" title="Andreas Jaggis GPG Public Key" href="http://andreas-jaggi.ch/A3A54203.asc">

<link rel="icon" href="https://blog.x-way.org/gfx/favicon.ico" type="image/ico">
<link rel="shortcut icon" type="image/x-icon" href="https://blog.x-way.org/gfx/favicon.ico">

<link rel="alternate" type="application/rss+xml" title="RSS Feed" href="https://blog.x-way.org/rss.xml">
<link rel="alternate" type="application/atom+xml" title="Atom Feed" href="https://blog.x-way.org/atom.xml">
<link rel="alternate" type="application/json" title="JSON Feed" href="https://blog.x-way.org/feed.json">
<link rel="canonical" href="https://blog.x-way.org/">

<title>x-log</title>
<link rel="stylesheet" href="https://blog.x-way.org/css/plain.css?c94780" type="text/css" media="all">
<script type="module" src="https://blog.x-way.org/js/YouTubeVimeoEmbed.js?619f22"></script>


<script defer="" src="https://cloud.umami.is/script.js" data-website-id="448dcdd8-0fe8-4c9d-8b25-6e44b761db86"></script>
</head>
<body>
<div class="oneline">
<main>

	<header class="dates firstdates underlined"><strong>Saturday</strong><span class="sm">, 21. December 2024</span> <span class="sm wr">Week 51</span></header>
<article>
<header><h2 class="mytitle"><a href="https://blog.x-way.org/Music/2024/12/21/120-Subgenres-of-EDM.html" title="120 Subgenres of EDM">120 Subgenres of EDM</a></h2></header>
<p>
	<youtube-vimeo-embed><a href="https://youtu.be/oTUDKu3BL7c" title="120 Subgenres of EDM (w/ examples)" style="display:none">120 Subgenres of EDM (w/ examples)</a><iframe title="120 Subgenres of EDM (w/ examples)" allow="autoplay" allowfullscreen="" loading="lazy" src="https://www.youtube-nocookie.com/embed/oTUDKu3BL7c" style="aspect-ratio:16/9;width:100%;" srcdoc="<style>body{background-image:url(https://i3.ytimg.com/vi/oTUDKu3BL7c/hqdefault.jpg);background-repeat:no-repeat;background-size:cover;background-position:center center;display:grid;place-items:center;min-height:97dvh;overflow:hidden;}a{display:block;width:96px;height:96px;overflow:hidden;}a:focus{outline:none;}a:focus circle,a:hover circle{fill:#000;}a:focus circle:first-child + circle,a:hover circle:first-child + circle{stroke-dasharray:.4,.4;}a:focus polygon,a:hover polygon{stroke:#fff;stroke-width:.75;}</style><a href=&quot;https://www.youtube-nocookie.com/embed/oTUDKu3BL7c?autoplay=1&amp;fs=1&amp;modestbranding=1&quot;><svg viewBox=&quot;0 0 16 16&quot; width=&quot;96&quot; height=&quot;96&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; aria-hidden=&quot;true&quot;><circle cx=&quot;50%&quot; cy=&quot;50%&quot; r=&quot;7.75&quot; fill=&quot;none&quot; stroke=&quot;#000&quot; stroke-width=&quot;.5&quot;/><circle cx=&quot;50%&quot; cy=&quot;50%&quot; r=&quot;7.25&quot; fill=&quot;none&quot; stroke=&quot;#fff&quot; stroke-width=&quot;.5&quot;/><circle cx=&quot;50%&quot; cy=&quot;50%&quot; r=&quot;7&quot; fill=&quot;#0009&quot;/><polygon points=&quot;12, 8 6, 4.5 6, 11.5&quot; fill=&quot;#fff&quot; stroke-linejoin=&quot;round&quot;></polygon></svg>Play</a>"></iframe></youtube-vimeo-embed>
</p>
<p>
	(<a href="https://kniebes.com/2024/12/21/120-subgenres-of-edm" title="120 Subgenres of EDM (kniebes.com)">via</a>)
</p>
<footer class="sm"><time datetime="2024-12-21T11:43:00+01:00">11:43</time> | <a href="https://blog.x-way.org/Music/" class="log">Music</a> | <a href="https://blog.x-way.org/Music/2024/12/21/120-Subgenres-of-EDM.html" class="log">Permalink</a></footer>
</article>
	<header class="dates underlined"><strong>Thursday</strong><span class="sm">, 19. December 2024</span> <span class="sm wr">Week 51</span></header>
<article>
<header><h2 class="mytitle"><a href="https://blog.x-way.org/Food/2024/12/19/The-Most-Popular-Recipes-of-2024.html" title="The Most Popular Recipes of 2024">The Most Popular Recipes of 2024</a></h2></header>
<p>
	<a href="https://cooking.nytimes.com/68861692-nyt-cooking/120603830-best-2024-recipes" title="Our Best Recipes of 2024">The Most Popular Recipes of 2024</a> from New York Times Cooking.
</p>
<blockquote cite="https://cooking.nytimes.com/68861692-nyt-cooking/120603830-best-2024-recipes">
	We’ve published over 1,000 delicious recipes this year. Here are your favorites: microwave chocolate pudding cake, one-pot chicken and rice, peanut butter noodles, taverna salad and more.
</blockquote>
<p>
	(<a href="https://kottke.org/24/12/0045885-saving-this-for-future-re" title="Saving this for future reference: the 25 most popular recipes published by NYT Cooking in 2024. Includes a link to the full top 50.">via</a>)
</p>
<footer class="sm"><time datetime="2024-12-19T02:25:37+01:00">02:25</time> | <a href="https://blog.x-way.org/Food/" class="log">Food</a> | <a href="https://blog.x-way.org/Food/2024/12/19/The-Most-Popular-Recipes-of-2024.html" class="log">Permalink</a></footer>
</article>
	<header class="dates underlined"><strong>Tuesday</strong><span class="sm">, 17. December 2024</span> <span class="sm wr">Week 51</span></header>
<article>
<header><h2 class="mytitle"><a href="https://blog.x-way.org/Webdesign/2024/12/17/How-to-avoid-third-party-CSRF-cookies-when-embedding-snippets-from-Opengist.html" title="How to avoid third-party CSRF cookies when embedding snippets from Opengist">How to avoid third-party CSRF cookies when embedding snippets from Opengist</a></h2></header>
<p>
	While <a href="https://blog.x-way.org/Misc/2024/12/15/Switching-to-self-hosted-Opengist.html" title="x-log - Switching to self-hosted Opengist">integrating Opengist</a> to serve code snippets in the blog, I discovered that everytime a snippet is loaded a <var>_csrf</var> cookie is set by Opengist.<br>
	This is not very cool, and I've found a way to prevent this using nginx.
</p>
<p>
	Why is this <var>_csrf</var> cookie not cool on embedded code snippets?<br>
</p>
<ol>
	<li>It is not necessary (as the embedded code snippet does not provide any links/actions to perform on the Opengist instance where CSRF protection would be needed).</li>
	<li>It sets a third-party cookie for everyone visiting the blog.</li>
	<li>It breaks caching of the embedded code snippets on browser side (as the cookie is updated on every request).</li>
</ol>
<p>
	How did I prevent the <var>_csrf</var> cookie with nginx?
</p>
<p>
	I'm using the following (simplified) nginx reverse proxy config in front of the Opengist docker container.<br>
	It has a conditional <code>if</code> section where the <a href="https://github.com/openresty/headers-more-nginx-module" title="openresty/headers-more-nginx-module: Set, add, and clear arbitrary output headers in NGINX http servers">headers-more-nginx-module</a> is used to remove the <var>Set-Cookie</var> HTTP header, on the responses for the embedded code snippets.<br>
	The <code>if</code> condition is specific to my username and will need to be adjusted to your setup of course.
</p><p>
</p><pre>server {
	server_name gist.x-way.org;

	location / {
		if ( $uri ~* ^/x-way/[0-9a-fA-F]+\.js$ ) {
			more_clear_headers "Set-Cookie";
		}

		proxy_pass http://127.0.0.1:6157;
		proxy_set_header Host $host;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header X-Forwarded-Proto $scheme;
	}
}</pre>
<p>
	This is a quite ugly hack.
	I submitted <a href="https://github.com/thomiceli/opengist/pull/402" title="Skip CSRF for embeds by x-way · Pull Request #402 · thomiceli/opengist">a pull-request for Opengist</a> to exclude the embedded code snippets from the CSRF middleware.<br>
	Let's see where this leads 🤞
</p>
<footer class="sm"><time datetime="2024-12-17T21:49:58+01:00">21:49</time> | <a href="https://blog.x-way.org/Webdesign/" class="log">Webdesign</a> | <a href="https://blog.x-way.org/Webdesign/2024/12/17/How-to-avoid-third-party-CSRF-cookies-when-embedding-snippets-from-Opengist.html" class="log">Permalink</a></footer>
</article>
	<header class="dates underlined"><strong>Sunday</strong><span class="sm">, 15. December 2024</span> <span class="sm wr">Week 50</span></header>
<article>
<header><h2 class="mytitle"><a href="https://blog.x-way.org/Misc/2024/12/15/Switching-to-self-hosted-Opengist.html" title="Switching to self-hosted Opengist">Switching to self-hosted Opengist</a></h2></header>
<p>
	Decided to self-host the handful of code snippets I embedded into the blogposts over time.<br>
	This will be one less dependency on an external service (<a href="https://gist.github.com/" title="Discover gists · GitHub">GitHub Gist</a>) for running this site :-)
</p>
<p>
	I choose <a href="https://opengist.io/" title="Opengist">Opengist</a> for hosting my code snippets.<br>
	Although I already run a <a href="https://gitbucket.github.io/" title="GitBucket: A Git platform">GitBucket</a> instance, I decided not to use it for hosting the code snippets of the blog.<br>
	This because in the past I had some performance issues and crashes that were triggered by Bots overloading the Docker container.
</p>
<p>
	The installation of Opengist went very smooth.<br>
	It does not come with many dependencies and brings it's own SQLite database file (which should be more than enough for the code snippets in the blog).
</p>
<p>
	I was positively surprised by the MFA and seamless Passkey integration it provides out of the box.<br>
	Also can it be configured to allow embedding/sharing of snippets for everyone while restricting the listing and editing to logged in users only.<br>
	And as an additional security benefit it helps to reduce the complexity of my CSP policy 🔐
</p>
<p>
	If you're curious to see how the code snippets are rendered, have a look at the blogposts <a href="https://blog.x-way.org/Networking/2015/12/04/DNS-packet-sniffing-with-NFLOG-and-Perl-Python.html" title="x-log - DNS packet sniffing with NFLOG and Perl Python">here</a> or <a href="https://blog.x-way.org/Networking/2013/06/01/Run-your-own-DynDNS-server.html" title="Run your onw DynDNS server">here</a>.
</p>
<footer class="sm"><time datetime="2024-12-15T16:47:48+01:00">16:47</time> | <a href="https://blog.x-way.org/Misc/" class="log">Misc</a> | <a href="https://blog.x-way.org/Misc/2024/12/15/Switching-to-self-hosted-Opengist.html" class="log">Permalink</a></footer>
</article>
	<header class="dates underlined"><strong>Wednesday</strong><span class="sm">, 11. December 2024</span> <span class="sm wr">Week 50</span></header>
<article>
<header><h2 class="mytitle"><a href="https://blog.x-way.org/Coding/2024/12/11/The-seven-rules-of-writing-consistent-git-commit-messages.html" title="The seven rules of writing consistent git commit messages">The seven rules of writing consistent git commit messages</a></h2></header>
<blockquote cite="https://rednafi.com/misc/write_git_commit_messages_properly/#the-seven-rules-of-writing-consistent-git-commit-messages">
	<ol>
		<li>Separate subject from body with a blank line</li>
		<li>Limit the subject line to 50 characters (I often break this when there’s no message body)</li>
		<li>Capitalize the subject line</li>
		<li>Do not end the subject line with a period</li>
		<li>Use the imperative mood in the subject line</li>
		<li>Wrap the body at 72 characters</li>
		<li>Use the body to explain what and why vs. how</li>
	</ol>
</blockquote>
<p>
	(<a href="https://rednafi.com/misc/write_git_commit_messages_properly/#the-seven-rules-of-writing-consistent-git-commit-messages" title="Write git commit messages properly | Redowan's Reflections">via</a>)
</p>
<footer class="sm"><time datetime="2024-12-11T15:51:58+01:00">15:51</time> | <a href="https://blog.x-way.org/Coding/" class="log">Coding</a> | <a href="https://blog.x-way.org/Coding/2024/12/11/The-seven-rules-of-writing-consistent-git-commit-messages.html" class="log">Permalink</a></footer>
</article>
	<header class="dates underlined"><strong>Tuesday</strong><span class="sm">, 10. December 2024</span> <span class="sm wr">Week 50</span></header>
<article>
<header><h2 class="mytitle"><a href="https://blog.x-way.org/Webdesign/2024/12/10/oxipng.html" title="oxipng">oxipng</a></h2></header>
<p>
	<a href="https://github.com/shssoichiro/oxipng" title="shssoichiro/oxipng: Multithreaded PNG optimizer written in Rust">oxipng</a> is a lossless PNG compression optimizer written in Rust.<br>
	On an initial test it seems to perform better than <a href="https://pmt.sourceforge.io/pngcrush/" title="PNGCRUSH">pngcrush</a>.<br>
	(<a href="https://rednafi.com/misc/behind_the_blog/" title="Behind the blog | Redowan's Reflections">via</a>)
</p>
<footer class="sm"><time datetime="2024-12-10T19:56:17+01:00">19:56</time> | <a href="https://blog.x-way.org/Webdesign/" class="log">Webdesign</a> | <a href="https://blog.x-way.org/Webdesign/2024/12/10/oxipng.html" class="log">Permalink</a></footer>
</article>
	<header class="dates underlined"><strong>Sunday</strong><span class="sm">,  8. December 2024</span> <span class="sm wr">Week 49</span></header>
<article>
<header><h2 class="mytitle"><a href="https://blog.x-way.org/Webdesign/2024/12/08/New-search-functionality.html" title="New search functionality">New search functionality</a></h2></header>
<p>
	I added a client-side search functionality to this static blog.
</p>
<p>
	Similar to what is explained in <a href="https://www.stephanmiller.com/static-site-search/" title="How to Add Search to Your Static Site Generator (Jekyll, Hugo, Gatsby, Nikola, etc.) • Stephan Miller">this article by Stephan Miller</a>, I added a search functionality to the blog.<br>
	The challenge was to do this while keeping the blog a static generated site.<br>
	Thus the choice to do all of the search client-side in JavaScript.
</p>
<p>
	The way my current implementation works, is that there is a JSON blob with all the posts ever written in this blog.<br>
	This is loaded to the browser and indexed using <a href="https://lunrjs.com/" title="Lunr: A bit like Solr, but much smaller and not as bright">Lunr.js</a>.<br>
	The resulting search index is then used to provide the search functionality.<br>
	It comes with some convenient built-in <a href="https://lunrjs.com/guides/searching.html" title="Searching : Lunr">search modifiers such as +, - and *</a>.
</p>
<p>
	To avoid reloading the whole JSON blob for each follow-up query on <a href="https://blog.x-way.org/search.html" title="x-log - Search">the search page</a>, it intercepts the default form submit action and handles the search client-side.<br>
	Thus re-using the computed search index and saving the additional roundtrips accross the network.
</p>
<footer class="sm"><time datetime="2024-12-08T22:52:20+01:00">22:52</time> | <a href="https://blog.x-way.org/Webdesign/" class="log">Webdesign</a> | <a href="https://blog.x-way.org/Webdesign/2024/12/08/New-search-functionality.html" class="log">Permalink</a></footer>
</article>
	<header class="dates underlined"><strong>Friday</strong><span class="sm">,  6. December 2024</span> <span class="sm wr">Week 49</span></header>
<article>
<header><h2 class="mytitle"><a href="https://blog.x-way.org/Music/2024/12/06/The-Earworm-Eraser.html" title="The Earworm Eraser">The Earworm Eraser</a></h2></header>
<blockquote cite="https://www.wbur.org/npr/nx-s1-5200065/earworm-eraser-christmas-songs">
	The Earworm Eraser is a 40-second audio track designed specifically to squash earworms — a song on repeat circling around and around in your brain that can't easily be shaken off.
</blockquote>
<p>
	<youtube-vimeo-embed><a href="https://youtu.be/LvDl3kL42uU" title="The Earworm Eraser – Get catchy songs out of your head | Atlassian" style="display:none">The Earworm Eraser – Get catchy songs out of your head | Atlassian</a><iframe title="The Earworm Eraser – Get catchy songs out of your head | Atlassian" allow="autoplay" allowfullscreen="" loading="lazy" src="https://www.youtube-nocookie.com/embed/LvDl3kL42uU" style="aspect-ratio:16/9;width:100%;" srcdoc="<style>body{background-image:url(https://i3.ytimg.com/vi/LvDl3kL42uU/hqdefault.jpg);background-repeat:no-repeat;background-size:cover;background-position:center center;display:grid;place-items:center;min-height:97dvh;overflow:hidden;}a{display:block;width:96px;height:96px;overflow:hidden;}a:focus{outline:none;}a:focus circle,a:hover circle{fill:#000;}a:focus circle:first-child + circle,a:hover circle:first-child + circle{stroke-dasharray:.4,.4;}a:focus polygon,a:hover polygon{stroke:#fff;stroke-width:.75;}</style><a href=&quot;https://www.youtube-nocookie.com/embed/LvDl3kL42uU?autoplay=1&amp;fs=1&amp;modestbranding=1&quot;><svg viewBox=&quot;0 0 16 16&quot; width=&quot;96&quot; height=&quot;96&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; aria-hidden=&quot;true&quot;><circle cx=&quot;50%&quot; cy=&quot;50%&quot; r=&quot;7.75&quot; fill=&quot;none&quot; stroke=&quot;#000&quot; stroke-width=&quot;.5&quot;/><circle cx=&quot;50%&quot; cy=&quot;50%&quot; r=&quot;7.25&quot; fill=&quot;none&quot; stroke=&quot;#fff&quot; stroke-width=&quot;.5&quot;/><circle cx=&quot;50%&quot; cy=&quot;50%&quot; r=&quot;7&quot; fill=&quot;#0009&quot;/><polygon points=&quot;12, 8 6, 4.5 6, 11.5&quot; fill=&quot;#fff&quot; stroke-linejoin=&quot;round&quot;></polygon></svg>Play</a>"></iframe></youtube-vimeo-embed>
</p>
<p>
	(<a href="https://onefoottsunami.com/2024/12/05/the-earworm-eraser/" title="One Foot Tsunami: The Earworm Eraser">via</a>)
</p>
<footer class="sm"><time datetime="2024-12-06T10:58:28+01:00">10:58</time> | <a href="https://blog.x-way.org/Music/" class="log">Music</a> | <a href="https://blog.x-way.org/Music/2024/12/06/The-Earworm-Eraser.html" class="log">Permalink</a></footer>
</article>
<article>
<header><h2 class="mytitle"><a href="https://blog.x-way.org/Mac/2024/12/06/Picture-of-Sequoia.html" title="Picture of Sequoia">Picture of Sequoia</a></h2></header>
<p>
	Recreated <a href="https://blog.x-way.org/Linux/2003/12/06/Photo_vom_Panther.html" title="x-log - Photo vom Panther">this screenshot</a> from 21 years ago (first Mac) on my new Mac.
</p>
<ul>
	<li><a href="https://blog.x-way.org/images/Mac-OS-X-Screenshot.jpg" title="Screenshot of my Mac desktop in 2003">2003</a></li>
	<li><a href="https://blog.x-way.org/images/macOS-Screenshot.png" title="Screenshot of my Mac desktop in 2024">2024</a></li>
</ul>
<p>
	How does 2003 and 2024 compare?<br>
	Nowadays I'm using the regular Apple Mail.<br>
	X11 forwarding still works but is not really used.<br>
	Some Linux host is still around.
	Mac remains the main device though.<br>
	Interestingly Linux still is a Intel device, whereas the Mac one is (again) running on a non-Intel CPU.
</p>
<footer class="sm"><time datetime="2024-12-06T07:19:35+01:00">07:19</time> | <a href="https://blog.x-way.org/Mac/" class="log">Mac</a> | <a href="https://blog.x-way.org/Mac/2024/12/06/Picture-of-Sequoia.html" class="log">Permalink</a></footer>
</article>
	<header class="dates underlined"><strong>Tuesday</strong><span class="sm">,  3. December 2024</span> <span class="sm wr">Week 49</span></header>
<article>
<header><h2 class="mytitle"><a href="https://blog.x-way.org/Mac/2024/12/03/How-to-install-EncFS-on-macOS-Sequoia.html" title="How to install EncFS on macOS Sequoia">How to install EncFS on macOS Sequoia</a></h2></header>
<p>
	How to access my old encrypted files even though <a href="https://vgough.github.io/encfs/" title="EncFS">EncFS</a> is no longer supported in Homebrew for macOS.
</p>
<ol>
	<li>Start by installing a third-party formula that some nice people maintain: <pre>brew install gromgit/fuse/encfs-mac</pre></li>
	<li>Immediately get disappointed when it fails. Turns out it requires [email protected] which has been deprecated by Homebrew: <pre><span style="color: green">==&gt;</span> <b>Fetching dependencies for gromgit/fuse/encfs-mac: <span style="color: green">[email protected]</span></b>
<span style="color: red">Error:</span> [email protected] has been disabled because it is not supported upstream! It was disabled on 2024-10-24.</pre></li>
</ol>
<p>
	How to install the (no longer supported) [email protected] formula.
</p>
<ol>
	<li>Force the download of the core formula repository: <pre>brew tap --force homebrew/core</pre></li>
	<li>Edit the formula and remove the deprecation enforcement: <pre>brew edit [email protected]</pre> Comment out line 29, so it looks like: <pre>  #disable! date: "2024-10-24", because: :unsupported</pre></li>
	<li>Perform installation of [email protected] from the locally modified formula: <pre>HOMEBREW_NO_INSTALL_FROM_API=1 brew install [email protected]</pre></li>
</ol>
<p>
	Now we can install EncFS successfully.
</p>
<pre>brew install gromgit/fuse/encfs-mac                    
==&gt; Fetching gromgit/fuse/encfs-mac
==&gt; Downloading https://github.com/gromgit/homebrew-fuse/releases/download/encfs-mac-1.9.5/encfs-mac-1.9.5.arm64_monterey.bottle.tar.gz
==&gt; Downloading from https://objects.githubusercontent.com/github-production-release-asset-[...]
==&gt; Installing encfs-mac from gromgit/fuse
==&gt; Pouring encfs-mac-1.9.5.arm64_monterey.bottle.tar.gz
==&gt; Downloading https://formulae.brew.sh/api/cask.jws.json
🍺  /opt/homebrew/Cellar/encfs-mac/1.9.5: 65 files, 2.2MB
==&gt; Running `brew cleanup encfs-mac`...
</pre>
<p>
	If desired, we can now run <kbd>brew untap homebrew/core</kbd> to cleanup the local copy of the formula repository.
</p>
<p>
	Next step is to enable the (earlier installed) MacFuse kernel extension.<br>
	On macOS Sequoia this is a quite complicated process (needs disabling of multiple security features and some reboots).<br>
	Luckily the people from the MacFuse project have compiled <a href="https://github.com/macfuse/macfuse/wiki/Getting-Started#enabling-support-for-third-party-kernel-extensions-apple-silicon-macs" title="Getting Started - Enabling support for third party kernel extensions (Apple Silicon Macs)">a nice illustrated guide.</a>
</p>
<p>
	After this process is completed, we can finally decrypt the EncFS files.
</p>
<pre>encfs -v -f ./encrypted-folder ./mountpoint</pre>
<p>
	The unencrypted files are available at <var>./mountpoint</var>.<br>
	In my case I copied them to another folder as I no longer intend to use EncFS.
</p>
<p>
	With the job done, I removed again all the EncFS software and re-enabled the security features of macOS.
</p>
<pre>brew uninstall encfs-mac
brew uninstall [email protected]
brew uninstall macfuse</pre>
<p>
	Then reboot into the Recovery environment and in the Startup Security Utility set the Security Policy again to Full Security. 🔐
</p>
<footer class="sm"><time datetime="2024-12-03T08:58:40+01:00">08:58</time> | <a href="https://blog.x-way.org/Mac/" class="log">Mac</a> | <a href="https://blog.x-way.org/Mac/2024/12/03/How-to-install-EncFS-on-macOS-Sequoia.html" class="log">Permalink</a></footer>
</article>
<footer class="navfooter">
<nav>
<a rel="prev" href="https://blog.x-way.org/page2/" title="earlier (page 2)">→</a>
</nav>
</footer>

</main>
<aside>
<nav>
<header class="navfeld">Navigation</header>
<ul class="navcontainer">
<li><a href="https://blog.x-way.org/" title="x-log - Home" class="navlink">x-log</a></li>
<li><a href="https://blog.x-way.org/archive/" title="x-log - Archive" class="navlink">Archive</a></li>
<li><a href="https://blog.x-way.org/on-this-day.html" title="x-log - On this day" class="navlink">On this day</a></li>
<li><a href="https://blog.x-way.org/statistics.html" title="x-log - Statistics" class="navlink">Statistics</a></li>
<li><a href="https://blog.x-way.org/about.html" title="x-log - About" class="navlink">About</a></li>
</ul>
</nav>

<nav>
<header class="navfeld">Search</header>
<form method="get" action="https://blog.x-way.org/search.html" class="navcontainer">
<input type="search" name="q" minlength="3" placeholder="Use + and - to include/exclude. Use * as wildcard."><br>
<input type="submit" value="Search">
</form>
</nav>

<nav>
<header class="navfeld">Blogs</header>
<ul class="navcontainer">

<li><a href="https://kniebes.com/" title="Markus Kniebes" class="navlink">mk</a></li>
<li><a href="https://vowe.net/" title="Volker Weber" class="navlink">vowe.net</a></li>
<li><a href="https://old-school.dev/" title="old-school.dev" class="navlink">old-school.dev</a></li>
<li><a href="http://binblog.info/" title="#!/bin/blog" class="navlink">#!/bin/blog</a></li>
<li><a href="http://blog.beetlebum.de/" title="beetlebum" class="navlink">beetlebum</a></li>
<li><a href="http://sushee.schreibsturm.org/" title="Su-Shee 2.0" class="navlink">Su-Shee 2.0</a></li>
<li><a href="http://codeascraft.com/" title="Code as Craft" class="navlink">Code as Craft</a></li>
<li><a href="http://engineeringblog.yelp.com" title="Yelp Product &amp; Engineering Blog" class="navlink">yelp Engineering</a></li>
<li><a href="http://utcc.utoronto.ca/~cks/space/blog/" title="Wandering Thoughts" class="navlink">Wandering Thoughts</a></li>
<li><a href="https://henrikwarne.com/" title="Henrik Warne's blog | Thoughts on programming..." class="navlink">Thoughts on programming</a></li>
<li><a href="https://rachelbythebay.com/w/" title="rachelbythebay : Writing" class="navlink">rachelbythebay.com</a></li>
<li><a href="https://blog.benjojo.co.uk/" title="Benjojo's Blog" class="navlink">Benjojo.co.uk</a></li>
<li><a href="https://charity.wtf/" title="charity.wtf - charity wtf's about technology, databases, startups, engineering management, and whiskey." class="navlink">charity.wtf</a></li>
<li><a href="https://blog.cassidoo.co/" title="Cassidy's blog" class="navlink">cassidoo</a></li>
<li><a href="https://danielmiessler.com/" title="Unsupervised Learning, by Daniel Miessler" class="navlink">danielmiessler.com</a></li>
<li><a href="https://ieftimov.com/posts/" title="Ilija Eftimov" class="navlink">ieftimov.com</a></li>
<li><a href="https://krebsonsecurity.com/" title="Krebs on Security" class="navlink">Krebs on Security</a></li>
<li><a href="https://www.troyhunt.com/" title="Troy Hunt" class="navlink">Troy Hunt</a></li>
<li><a href="http://travellingpigeon.blogspot.ch/" title="The Travelling Pigeon" class="navlink">The Travelling Pigeon</a></li>
</ul>
</nav>

<nav>
<header class="navfeld">Topics</header>
<ul class="navcontainer">
<li><a href="https://blog.x-way.org/Misc/" title="Misc" class="navlink">Misc</a></li>
<li><a href="https://blog.x-way.org/Webdesign/" title="Webdesign" class="navlink">Webdesign</a></li>
<li><a href="https://blog.x-way.org/Coding/" title="Coding" class="navlink">Coding</a></li>
<li><a href="https://blog.x-way.org/Tech/" title="Tech" class="navlink">Tech</a></li>
<li><a href="https://blog.x-way.org/Networking/" title="Networking" class="navlink">Networking</a></li>
<li><a href="https://blog.x-way.org/Linux/" title="Linux" class="navlink">Linux</a></li>
<li><a href="https://blog.x-way.org/School/" title="School" class="navlink">School</a></li>
<li><a href="https://blog.x-way.org/Mac/" title="Mac" class="navlink">Mac</a></li>
<li><a href="https://blog.x-way.org/NetBSD/" title="NetBSD" class="navlink">NetBSD</a></li>
<li><a href="https://blog.x-way.org/Music/" title="Music" class="navlink">Music</a></li>
<li><a href="https://blog.x-way.org/Cinema/" title="Cinema" class="navlink">Cinema</a></li>
<li><a href="https://blog.x-way.org/Badges/" title="Badges" class="navlink">Badges</a></li>
<li><a href="https://blog.x-way.org/Food/" title="Food" class="navlink">Food</a></li>
<li><a href="https://blog.x-way.org/Radio/" title="Radio" class="navlink">Radio</a></li>
</ul>
</nav>
</aside>

</div>

<footer>© 2002–2024 <a href="http://www.andreas-jaggi.ch/" title="Andreas Jaggi" rel="author">Andreas Jaggi</a> – Made in Switzerland</footer>



</body></html>