gemini://technicalsuwako.moe テクニカル諏訪子 2024-05-03T00:00:00Z テクニカル諏訪子 blog/mivfx-050.gmi 【076】mivfx 0.5.0登場 2024-05-03T00:00:00Z <h2 id="mivfx">mivfxって何?</h2> <p>mivfxはミニマリストな画像ビューアーです。</p> <h2 id="heading">変更</h2> <ul> <li>.desktopファイルの追加</li> <li>CDNを回避する様に</li> <li>画像は大き過ぎるの場合、画面に合うまで小さくにする様に</li> <li>「Q」キーを押すと、終了する様に</li> <li>サイズ変更の修正</li> <li>Pixivからダウンロード出来る様に</li> <li>ズーム機能性の追加</li> <li>マウスで使って画像を移動出来る様に</li> <li>OpenBSDで靜的リンクを可能に</li> </ul> <h2 id="heading-1">ソースコード</h2> <p><a href="https://gitler.moe/suwako/mivfx">Gitler</a></p> <p>以上</p> blog/security-weak-password-problem.gmi 【セキュリティ】殆どの日本のウェブサイトは非常に弱いパスワードを要求している 2024-04-29T00:00:00Z <p>西洋のウェブサイトと日本のウェブサイトのパスワードポリシーの間には、強い対照があります。<br /> 西洋のウェブサイトでは、強力なパスワードの使用が大変推奨される事がよくありますが、殆どの日本のウェブサイトでは、弱くて推測し易いパスワードが必要です。<br /> 何故でしょうか?<br /> 利便性の観点から見ると、覚え易いです。<br /> しかし、サイバーセキュリティの観点から見ると、これは非常に危険な習慣です!</p> <h2 id="heading">安全なパスワードとは?</h2> <p>安全なパスワードは覚え憎いですが、推測し憎いパスワードで、少なくとも20文字以上で、多くの異なる大文字、小文字、数字、及び特殊文字(!&quot;#$%&amp;&rsquo;()~=~-^|{}[]`*@:+;&lt;&gt;?,./_)のランダムな組み合わせを含みます。<br /> パスワードの総文字数は64文字以上を推奨します!</p> <h2 id="64">64文字!?それは覚えられないわ!</h2> <p>今日では、本当に優れたパスワードマネージャーがありますので、覚えたり入力したりする必要はありません!<br /> <a href="https://gitler.moe/suwako/sp">その様なパスワードマネージャーの1つに、パスワード創作、とTOTP(ワンタイムパスワード)機能も含むあたしの「sp」というプログラムがあります。</a><br /> その他には、GNU PassとKeePass XCがあります。<br /> spのパスワート創作機能では、デフォルトで強力なパスワードを生成しますが、脆弱なパスワードを生成するには(特殊文字なしで)、コマンドパラメーターに &ldquo;risk&rdquo; という単語を追加する必要があります。<br /> あたしはこのオプションを、依然として多くの日本のウェブサイトが非常に愚かにも実施している非常に安全でないパスワードポリシーの為に追加しました。<br /> いつかこれが変わる事を本当に願っています!</p> <h2 id="heading-1">安全でないパスワードポリシーは疑わしいです</h2> <p>安全でないパスワードを強制する理由が便利さではない場合、それはバックエンドのコードが安全でない為だと疑います。<br /> あたしが初めてPHPを学んだ頃、SQLインジェクションは未だ知られていませんでしたので、多くのプログラマーが平文でパスワードを保存し、これにより多くのパスワード盗難が発生しましたが、文字列のサニタイズも当時は新しい物でした。<br /> これらの間違いは、今日でも初心者のPHP、Perl、Javascript、Ruby、及びPythonプログラマーによって行われています。<br /> ですので、あたしが安全なパスワードを作成する事を許可されない場合、そのウェブサイトを作成した人のプログラミング経験を疑います。<br /> 特に、文字列のサニタイズと文字列のハッシュ化は、全てのプログラミング言語で非常に簡単に行う事が出来ます!</p> <h2 id="heading-2">無駄な代替手段</h2> <p>安全でないパスワードを強制するウェブサイトでよく見るのは、Google reCAPTCHA、クライアントサイドの検証(Javascriptで使って)、そして多分Cloudflareも使用されている事です。<br /> それにより、攻撃対象領域が更に増え、ユーザーがより脆弱になります。</p> <p>一部のウェブサイトでは、オプションの2段階認証(2FA)も見られますが、これ自体が安全性の錯覚を与えるだけで、実際にはデータ漏洩やパスワード盗難に対して全く何もしません。<br /> 安全でないパスワードの結果は、パスワードの一意性に殆ど余地を残さない事です。<br /> 攻撃者が既知のパスワードでウェブサイトにログイン出来なくても、ユーザー名やメールアドレスとパスワードが一致すれば、他の多くのウェブサイトにログイン出来る様になります。<br /> 更に悪い事に、貴方のメールアドレスとパスワードの両方が知られている場合、攻撃者(又はダークネットで漏洩したデータベースを購入した者)は貴方の全てのメールを読む事が出来、貴方としてメールを送信する事さえ出来ます!</p> <h2 id="heading-3">頼む</h2> <p>あたしの要望は、日本のウェブサイトのオーナーや企業、コミュニティ、及びその他の種類のウェブサイトの全ての仲間に向けられています。<br /> 安全なパスワードを許可して下さい!!<br /> 「114514」というパスワードさえ覚えられない高齢者が沢山いるからと言って、我々日本人全員がそうだというわけではありません!</p> <h2 id="heading-4">安全でないパスワードポリシーの例え</h2> <p><img src="https://ass.technicalsuwako.moe/risk-password.png" alt="" /></p> <p>以上</p> blog/odl-020.gmi 【076】odl 0.2.0登場 2024-04-26T00:00:00Z <h2 id="odl">odlって何?</h2> <p>odlはGNU wgetの最小限の代替となるものです。</p> <h2 id="heading">変更</h2> <ul> <li>ファイル名はパラメートルを付いたら、ファイル名は拡張子に</li> <li>名前として保存オプション</li> <li>manpageの追加</li> <li>ファイルが既に存在したら、ダウンロードに終了するオプション</li> </ul> <h2 id="heading-1">ソースコード</h2> <p><a href="https://gitler.moe/suwako/odl">Gitler</a></p> <p>以上</p> blog/which-openbsd-netbsd-freebsd.gmi 【BSD】OpenBSD、NetBSD、FreeBSD、どっと使っては良い? 2024-04-23T00:00:00Z <p><a href="/blog/digital-autonomy-linux-to-openbsd.xhtml">あたしの前の投稿を覚えているかもしんが、あたしは最早Linuxを使用していません。</a><br /> その代わりにOpenBSDを使用しています。<br /> 最近、長年Linuxを使用してきたユーザーがBSDに移行する事が流行っていましたが、多くの人々がどちらを選択すべきか迷っています。<br /> その為、この記事の終わりまでに、より良い理解を得て頂けると嬉しいです。</p> <h2 id="linuxbsd">LinuxとBSDの違い</h2> <p>説明する前に、まずLinuxとBSDの違いを説明したいと思います。</p> <p>LinuxはOSではなく、カーネルであり、幾つかのコアユーティリティ(主にGNUから、一部の軽量な物はbusyboxを使用する場合もあります)、幾つかのブートローダー、幾つかのinitシステム、幾つかのlibc、幾つか又は複数のパッケージマネージャー、幾つかのウィンドウマネージャー又はデスクトップ環境、その他のツールのセット等、全てが完全に分離されて開発され、それらを組み合わせると機能するOSが出来ます。<br /> 一方、BSDは其々が1つの専任チームによって完全なOSとして開発され、全ての技術が同じ開発者から提供される為、全てがよりうまく動作し、全てがより良く計画され、利害の衝突がありません。</p> <p>Linuxには独自のやり方があり、Unixの世界では「Linuxism」と呼ばれ、Linuxは設計上、POSIX準拠を破る事で、BSDのメンテナや他のUnixベンダーがソフトウェアを移植するのを難しくしていますが、BSDのソフトウェアをSystemV Unixやその逆に移植するのは殆ど問題ありません。<br /> 又、主要な関係者の間には一般的に切り離しがあります。<br /> 何故なら、Linus Torvalds氏はGNUやRed Hat、Lennard Poettering氏、Richard Stallman氏、Microsoft、Google、Cloudflare等とは異なる物を望んでいるからです。<br /> BSDは伝統的なUnixの精神に忠実であり、それがあたしがGNU Makeの代わりにBSD Make、GNU Tarの代わりにBSD Tarを使用する理由です。</p> <p>LinuxはGPLv2でライセンスされており、一部のソフトはAGPL、LGPL、又はGPLv3です。<br /> これは非常に攻撃的なライセンスであり、非常に注意深く読むと、貴方が書いたコードの所有権は貴方にはなく、FSF(Free Software Foundation)が所有しており、商業利用には使用出来ない事を意味します。<br /> NetBSDとFreeBSDは2条項BSDライセンスされており、OpenBSDはISCライセンスであり、開発者がコードを所有し、他の誰もが開発者の苦労に対する認識を得ながら、コードを自由に使用できます。</p> <p>LinuxディストリビューションとBSDバリアントのユーザーは、どちらも自分の選択したディストリビューションやOSに非常に忠実です。<br /> しかし、Linuxでは彼らはお互いを本当に好きではないようです。<br /> その為、ArchユーザーはUbuntuユーザーと仲良くなれず、FedoraユーザーはGentooユーザーと仲良くなれず、AlpineユーザーはOpenSUSEユーザーと仲良くなれず、等です。<br /> 一方、BSDユーザーはお互いに遥に友好的です。<br /> 彼らは未だLinuxユーザーと同様に自分の選択したOSに誇りを持っていますが、通常、お互いをより尊重して扱います。<br /> これは、より一般的に使用されていない事の副作用かもしん。w</p> <p>Linuxには様々なinitシステムがあります。<br /> 最初はSysV Initでしたが、殆どのディストリビューションで広く嫌われるSystemDに置き換えられました。<br /> しかし、CRUXやVenom等のBSD形式のRCスクリプト、OpenRC(Gentoo、Artix、Alpine)、runit(Void、Artix)、s6(Artix)、sinit(Suckless)、dinit(Artix)等、遥にシンプルなシステムもあります。<br /> 全てのBSDはinitシステムを持っておらず、代わりに各BSDバリアントが独自のスタイルで開発したRCスクリプトを使用します。</p> <p>Linuxは徐々にWindowsのようになっていき、Windowsを離れたいと考えている人々に対応する為、Unixライクなシステムの気持ちから徐々に離れています。<br /> その為、Microsoft WindowsやApple macOSのユーザーにとっては、広範な開発者対応、システムが相互に似ている事、及びWindowsやmacOSの経験を持つユーザーがより多い為、Linuxへの移行がBSDへの移行よりも遥に容易です。<br /> 一方、BSDは出来るだけ元のUnixに近づこうとする傾向があります。<br /> その為、Sillicon Graphics IRIX、HP UX、IBM AIM、Sun/Oracle Solaris、SGO UnixWare、Microsoft Xenix等の商用Unixのユーザーは、POSIX準拠の厳格さと全体的な馴染みから、Linuxへの移行よりもBSDへの移行が遥に簡単です。</p> <p>Linuxでは、システムに問題が発生した場合、オンラインで掲示板で質問したり、オンラインで検索したりするのが非常に一般的です。 一方、BSDでは、manページを読む事、又は公式ハンドブック(FreeBSD)や公式FAQ(OpenBSD・NetBSD)を読む事が遥に一般的です。 これらは全て非常にわかりやすく書かれており、貴方が持つ可能性のあるどんな問題でも解決する為に必要な情報を全て含んでいます。</p> <h2 id="bsd">BSDの基本</h2> <p>4つの主要なBSDバリアントがあります。<br /> それらはFreeBSD、OpenBSD、NetBSD、及びDragonfly BSDです。<br /> Dragonfly BSDについては十分な知識がないので、FreeBSD、OpenBSD、及びNetBSDのみを扱います。<br /> Darwinカーネルの為、macOSもBSDですが、その上位レベルは全てAppleの所有物ですが、BSDのバリアントとしては含まれません。</p> <p>4つのBSDを出来るだけ簡潔に説明すると:</p> <ul> <li>FreeBSDはパフォーマンスに関する物です</li> <li>OpenBSDはセキュリティとコードの正確さに関する物です</li> <li>NetBSDは移植性に関する物です</li> <li>Dragonfly BSDはスケーラビリティに関する物です</li> </ul> <p>サーバーユーザーにとって、これで十分かもしん。<br /> しかし、デスクトップユーザーにとっては未だ不明瞭なので、あたし自身の経験を説明します。<br /> 何故なら、あたしはFreeBSD、OpenBSD、及びNetBSDを毎日使用し、3つ全てに開発し、コンパイルし、実験しているからです。</p> <p>多くの場合、全てのBSDはパフォーマンス、セキュリティ、移植性、及びスケーラビリティを目指していますが、各個のBSDは其々がその中の1つで最も優れています。</p> <p>あたしの友人の中で:<br /> <a href="http://chaotic.ninja/">テクニカル魔理砂さんはFreeBSDを使います。</a><br /> <a href="http://6wyvgarb3kht6umsqdjrkmwxhfobre24cr6bkmjszu4ngtuezjd45mqd.onion/">美々蝶々さんはOpenBSDを使います。</a><br /> <a href="https://nishi.boats/mejp/">にしさんはNetBSDを使います。</a></p> <p>あたしはOpenBSDのロリで、これがあたしの主要な選択OSです。<br /> そして、ここからはデスクトップユーザーの視点からの比較のみを行います。</p> <h2 id="freebsd-vs-openbsd">FreeBSD vs OpenBSD</h2> <p>これら2つを比較するのは奇妙だと思います。<br /> 何故なら、それらは完全に異なる方向に成長してきたからです。<br /> FreeBSDはNetBSDと同様に4.4BSDから派生していますが、OpenBSDはNetBSDから派生しています。<br /> しかし、これは最も一般的な比較です。<br /> 何故なら、これらが最も大きな2つのBSDだからです。</p> <p>一般的に、OpenBSDはサーバー用に作られた物だと信じられています。<br /> これは多くのサーバーソフトウェアが付属しており、セキュリティがサーバーにとって非常に重要である為ですが、家庭用ユーザーにとってはあんま重要ではありません。<br /> しかし、この声明は完全に間違っています。<br /> 実際、FreeBSDの開発者はMacbookを使用し、FreeBSDを仮想マシンで実行していますが、OpenBSDの開発者は実際には自分のThinkPadノート、自分のパソコン、自分のサーバー、自分の全てで自分のOSを使用しています。<br /> 両方のシステムをデスクトップとして使用し始めると、これが非常に明らかになります。<br /> 何故なら、OpenBSDには独自のX11のソフトフォーク、独自のウィンドウマネージャー、及びデスクトップを起動及び実行する為に必要な全ての物が付属しているが、FreeBSDにはそうではないからです。<br /> 更に、OpenBSDはFreeBSDよりもWiFi及びGPUドライバーの対応が広範囲に渡っています。<br /> その為、WiFiドライバーがFreeBSDで動作しない場合、OpenBSDでは動作する可能性があります。<br /> 又、AMD Radeonカードでは、特にFreeBSDが意外にも不安定であると感じました。<br /> 但し、Intel HD Graphicsカードでは安定性の違いは殆どありません。</p> <p>但し、FreeBSDは非常に高速であり、OpenBSDは全てのBSDの中で最も遅いです。<br /> FreeBSDは様々なファイルシステムを対応しており、ZFSもネイティブファイルシステムの様に扱われますが、OpenBSDは他のOSの殆どのファイルシステムを対応していません。<br /> これがあたしがNASにFreeBSDを実行し、全ての異なるOS間でファイルを共有する方法としてNFSを使用する理由です。<br /> 何故なら、それは全てのOSで動作するからです。<br /> 又、FreeBSDはある程度Linuxバイナリを実行出来ますが、OpenBSDは出来ません。</p> <p>OpenBSDには独自のテクノロジーが沢山あります。<br /> その為、PAMの代わりに<code lang="">/etc/login.conf</code>を使用し、ALSA/PulseAudio/Pipewireの代わりに<code lang="">sndio</code>を使用し、Apache2/nginxの代わりに<code lang="">httpd</code>と<code lang="">relayd</code>を使用します。<br /> 一方、FreeBSDは1990年代と2000年代初頭に多くのソフトウェアを作成していましたが、OracleがSunを買収した後、OpenSolarisから多くの技術を採用しました。</p> <p>FreeBSDが一般的にデスクトップOSと見なされ、OpenBSDがサーバーOSと見なされる一方で、あたしは実際にはFreeBSDをNAS及びルーターOS、OpenBSDをデスクトップ及びサーバーOSとして考えています。</p> <h2 id="openbsd-vs-netbsd">OpenBSD vs NetBSD</h2> <p>この比較はより意味があると思います。<br /> 何故なら、OpenBSDは非常に早い段階でNetBSDからフォークされた為、多年にわたり大きく分かれてきました。<br /> しかし、それでも、これら2つはお互いに多くの類似点を共有しています。<br /> 両方とも独自のX11のソフトフォークを搭載しており、両方ともDMが付属しており、両方とも1つ以上のWMが付属しており、両方ともシンプルさと最小限主義を目指しており、両方とも安定性を目指しており、両方とも多くのハードウェアアーキテクチャを対応しており、両方とも開発者志向であり、非常に友好的で助けになるコミュニティを持っています。</p> <p>但し、性能の面では、NetBSDの方が明らかに優れています。<br /> 何故なら、NetBSDはOpenBSDよりも速いからです。<br /> しかし、セキュリティの面では、明らかにOpenBSDの方が遥に優れています。<br /> OpenBSD程安全なOSはありません!</p> <p>NetBSDにはOpenBSDにはない特定のパッケージがあり、OpenBSDにはNetBSDにはない特定のパッケージがありますが、どちらも非常に多くのソフトを提供しています。<br /> あたしはOpenBSDの方がNetBSDよりも可也意見が強いと感じます。<br /> 場是なら、OpenBSDの開発者は自分達が使いたいソフトを作成するからですが、NetBSDはそれ程そうではない感じです。</p> <p>NetBSDとFreeBSDの両方で、変更はユーザーによって投票されます。<br /> 一方、OpenBSDではTheo de Raadt氏が最終的な決定権を持っています。</p> <p>NetBSDにはOpenBSDとFreeBSDの両方に欠けている本当に素敵な物があります。<br /> それは第一者のソフト、第三者のソフト、及びパッケージマネージャからインストールされたソフトの非常に明確な区別です。<br /> NetBSDが直接作成又はメンテナンスする全ての物は<code lang="">/usr</code>に入ります。<br /> <code lang="">pkgin</code>又は<code lang="">pkg_add</code>を使用してインストールされた全ての物は<code lang="">/usr/pkg</code>に入り、<code lang="">make install</code>を使用して自分でコンパイルした全ての物は<code lang="">/usr/local</code>に入ります。<br /> 一方、FreeBSDとOpenBSDでは、自己コンパイルとパッケージマネージャでインストールされたソフトの区別はありません。<br /> その為、どちらの場合も<code lang="">/usr/local</code>に入ります。</p> <p>NetBSDとOpenBSDは両方ともソフトをインストールする為に<code lang="">pkg_add</code>を使用しますが、NetBSDは非常にパフォーマンスの高い新しいパッケージマネージャである<code lang="">pkgin</code>も開発しました。<br /> これはFreeBSDの<code lang="">pkg</code>のパフォーマンスを思い起こさせます。<br /> 但し、OpenBSDとその第一者のソフトはこれまでで最も一貫性があり、全てが非常に簡単に設定出来、最後の詳細まで説明されています。</p> <p>OSのインストールに関して、OpenBSDは世界一簡単にインストール出来るOSです。<br /> インストールは通常、数分で完了します。<br /> 一方、NetBSDのインストールには非常に長い時間がかかります。<br /> 特に、全てのファイルセットをネットからダウンロードする時です。<br /> 何故かはわかりません。</p> <p>しかし、あたしの意見では、NetBSDとOpenBSDの両方が優れたデスクトップOSであり、両方を同じくらい好きです。</p> <h2 id="netbsd-vs-freebsd">NetBSD vs FreeBSD</h2> <p>この比較も意味があります。 何故なら、両方とも同じBSDコードベースに基づいており、それぞれ独自のビジョンを持ってほぼ同時期に到着したからです。<br /> NetBSDとOpenBSDを比較するのは父と息子を比較する様な物ですが、NetBSDとFreeBSDを比較するのは、異なる国や大陸で育ち、成人するまでお互いに会った事がない兄弟を比較するのと近いです。<br /> 既に述べた様に、NetBSDとFreeBSDはどちらも非常に性能が高いですが、それが彼らが持つ唯一の類似点です。</p> <p>NetBSDは遥に広範なハードウェア対応を持っていますが、FreeBSDは遥に広範なファイルシステム対応を持っています。<br /> NetBSDはより最小限主義でシンプルですが、FreeBSDははるかに完全で高度です。<br /> NetBSDはFreeBSDよりも遥に優れたデスクトップユーザー経験を提供しますが、FreeBSDはNetBSDよりも遥に優れたサーバー管理経験を提供します。</p> <p>両者が最初から完全に異なる意見を持っている為、2つの間のユーザー経験は完全に異なります。</p> <h2 id="heading">論断</h2> <p>OpenBSD、NetBSD、又はFreeBSDのどれを選ぶかは、貴方次第です。<br /> 明確な勝者はなく、誰もが異なるBSDで最も快適に感じるでしょう。<br /> 選択肢に関係なく、最終的には全てのBSDは兄弟の様であり、あたし達はみなお互いを好きです。<br /> 前述の様に、あたしは全ての異なるUnixシステムを4か月間試した後、OpenBSDで最も快適に感じました。<br /> にしさんはNetBSDで最も快適に感じ、テクニカル魔理砂さんはFreeBSDで最も快適に感じました。<br /> この記事では、あたしの個人的な経験に基づいて違いを説明し様としました。<br /> これが、火タイプ(FreeBSD)、水タイプ(OpenBSD)、又は草タイプ(NetBSD)の間を選ぶのに役立つかもしん。<br /> 又は、貴方が寝過ごして研究所に遅れて到着した場合、電気タイプ(Linux)を選ぶかもしん。</p> <p>以上</p> blog/odl-010.gmi 【076】odl 0.1.0登場 2024-04-22T00:00:00Z <h2 id="odl">odlって何?</h2> <p>odlはGNU wgetの最小限の代替となるものです。</p> <h2 id="heading">変更</h2> <ul> <li>最初リリース</li> </ul> <h2 id="heading-1">ソースコード</h2> <p><a href="https://gitler.moe/suwako/odl">Gitler</a></p> <p>以上</p>