Skip to content

Instantly share code, notes, and snippets.

@KEINOS
Last active February 8, 2024 18:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save KEINOS/7bcc4ef8b4b34193cac5f1f85def71ba to your computer and use it in GitHub Desktop.
Save KEINOS/7bcc4ef8b4b34193cac5f1f85def71ba to your computer and use it in GitHub Desktop.
List of key words to dig in.

Hot Keywords To Be Checked

キーワード 概要 Wiki 備考
ABRoot OS をイミュータブル OS 化するツール -- ルート・パーティションをカレントとアップデート用で 2 つ用意し A/B テスト方式でパーティションを切り替えるツール。カレントのルート・パーティションは書き込み禁止にし、各種変更は、もう片方のアップデート用に行うことで、アップデートの失敗でもフォールバックできるようにする。Go 言語で実装された単体バイナリで動作する。Vanilla OS などのイミュータブル OS で使われる。OSTree と似たコンセプトだが、OSTree は git などのように変更をコミットする方式であるのに対し、ABRoot はパーティションを切り替える。
Albius Linux 系 OS インストール時のバックエンド -- Vanilla OS の、OS インストーラーのバックエンドとして Go 言語で書かれたアプリ。現在は汎用化されており、OS のインストールだけでなく、SquashFSOCI(コンテナイメージ)のインストールなどにも対応している。従来のシェルスクリプトによる実行でなく、JSON 形式でインストール・プロセスを記述できるのが特徴。主に CUI ベースのインストーラーとして使われるが、GNOME 用 GUI フロントエンドには、Python ベースの Vanilla Installer がある。
Ansible SSH 接続による操作の自動化ツール(ターミナル操作の自動化みたいなもの) Wikipedia VM、LXC、Docker 含む OS のセットアップ、定型処理など SSH 接続経由でできることであれば何でも自動化できる。利点は、接続先には何もインストールしなくてもいいこと。似たような環境構築系に Terraform がある。両者の違いは Ansible は対象のシステム操作を自動化するため、対象システムのコマンドを熟知していないといけないのに対し、Terraform は「プロバイダー」という形で対象システムの操作を Terraform の書式で汎用化してくれる。しかし、Terraform はデフォルトでクラウド系のサービスを対象としているため、ベアメタルの環境構築には「俺様プロバイダー」を作成する必要がある。
Authelia ユーザー認証と承認を行う Web フロントエンド -- Go 言語で書かれており、Nginx などのリバース・プロキシと連動して利用する。リバース・プロキシがネットワーク内のサービスに転送する前にログイン認証などの処理を担ってくれる。つまり Docker ネットワーク内の各々のコンテナは認証機能を実装しなくても済む。
CoreDNS 単体バイナリで動く、軽量・高速な DNS サーバー Wikipedia Go 言語で書かれた、ローカルでも使える名前解決サーバーだが、Pi-Hole のような DNS シンクホールとしても使われる。再帰検索には向かない。つまり、特定のドメイン下にあるサブドメインの名前解決向け。 DNS シンクホールには Blocky も参照。
CRYSTALS-KYBER NIST 主催の Post Quantum Cryptography 勝者の暗号アルゴリズム Wikipedia 量子コンピューターによる(素因数分解などの)演算に耐性のあるアルゴリズム。Go による実装は、CloudFlare の CIRCL がある。
DistroBOX OCI ベースの仮想 Linux 環境管理ツール  -- Linux 上で仮想 Linux 環境を作り、その上でアプリを実行するアプリ。とは言え VM ではなく、LXCchroot に近い。OCI 互換の Docker や Podman などのコンテナ上でユーザー・スペースを動作させるため、オーバーヘッドは少ない。イミュータブルな OS(Endless OS や Fedora Silverblue など)で、ミュータブル(変更可能)な環境を構築するのに使われる。仮想化とは言え、ホストのリソース(カーネルなど)は共有されるため、セキュリティが強化されるわけではない。
Grafana ネットワーク・モニタリング・ツール Wikipedia TypeScript と Go で書かれた OSS でログやリソースなどを可視化する Web アプリケーション。Wikipedia なども監視用ツールとして利用している。
Guacamole VNCRDP および SSH 接続を WebUI 上で操作できる、統括 Web アプリ Wikipedia 複数サーバ、VM やコンテナなどの管理を 1 画面で管理したい場合に使う。
Heimdall ダッシュボード Web アプリ -- PHP で書かれた OSS のダッシュボードアプリ。ブックマークをダッシュボード形式で一画面に収める。
Kasm コンテナ内で仮想 OS を実行し、ブラウザでアクセスするツール -- VNC の一種で、Kasm Technologies 社によるオープンソースのブラウザ型リモート・デスクトップ・サーバー。サーバー・クライアント・ツールに KasmVNC などがある。通常の VNC と違うのは、サーバーをコンテナ上で動かすため、管理がしやすく、カプセル化しやすいため、セキュリティ保護にも役立つ。また、アプリごとにブラウザのエンドポイントを公開できる。
Keyoxide アカウントの所有もしくは保有を証明する OSS の分散型 ID 証明サービス --- あるアカウントが、匿名性を保ちつつも、本人のものであることの信憑性を得るために、PGP 公開鍵や各種 Web サービスの OAuth 認証など、複数アカウントを 1 つのプロファイルに紐づけることで行うサービス。OSS の Web サービスであり、分散型なので、どのように同期されるか試してみて、使えそうなら俺様アプリのアカウントに Keyoxide の Key を使い、紐づいたサービスの OAuth 認証をパスしたらアプリのアカウントを発行という使い方にも利用できる。 Keyoxide の Key の例
Portainer Docker コンテナの GUI 管理ツール -- docker-compose と Kubernetes の中間のようなもの。Rancher よりは OpenShift に近い。
Rancher Kubernets の API を GUI でコンテナを管理するツール -- K3S 含む Kubernets のクラスタを管理する。 
Rufus USBフラッシャー Wikipedia ブート可能な USB フラッシュドライブや Live USB をフォーマットし作成する Windows 用アプリ。macOS や Linux の RaspberryPi Imager みたいなもの。
SOPS Mozilla による暗号化用のエディタ -- バイナリデータの暗号化だけでなく、YAML・JSON・ENV・INI ファイル内の「暗号化された値を復号」したり「値を暗号化する」ことができる。これはデータを暗号化しつつも、従来のデータ・フォーマットのまま使うことができるメリットを生む。 また OpenPGP に限らず、AWS の KMSGCP の KMSAzure Key Vaultage といった多彩なキー・サーバー(暗号鍵管理サービス、KMS)に対応している。
Swagger Web API の仕様定義ファイルおよびドキュメント化 Wikipedia RESTful API におけるインターフェースを定義するための規格や仕様の定義書、およびビューアー。 OpenAPI の元となっているフォーマット。オンライン・エディタ
Syncthing OSS の P2P 型ディレクトリ同期ツール wiki Go 言語で書かれた OSS のツールで、Dropbox のような使い勝手で異なるマシン間のフォルダ(ディレクトリ)の同期を行ってくれる。10 年選手のアプリで現在もメンテナンスされている。基本は LAN 内での同期だが、外部を介して同期を行う場合、E2E で暗号化したファイルを同期するため、万が一にも安心できる。
Trilium Notes オープンソースのナレッジベース -- Javascript で書かれており、複数マシンでコンテンツを同期したり、サーバー・クライアント型で利用することもできる。
Uptime Kuma サーバ・モニタリング・ツール -- Node.js (Javascript) ベースの OSS サーバ or サービス・モニタリング・ツール
Vanilla Installer Vanilla OS インストーラーのフロントエンド -- Vanilla OS の、OS インストール時に使われるフロントエンド。バックエンドには Albius が使われる。Python で書かれており、GTK4Adwaita を利用して GUI を実装している。
VSO Utility OS アップデートやメンテナンスのタスク実行ツール -- VSO (Vanilla System Operator) は、Vanilla OS などのイミュータブルな OS 向けで Go 言語で書かれている。作成したタスクを実行する意味では cron に似ているが、時間ベースではなく任意のタスクを指定できることから、make に近いのかもしれない。
言語処理100本ノック プログラミング、データ分析、研究のスキルを習得することを目指した問題集 -- 東北大学乾研究室プログラミング基礎勉強会で使われているコンテキスト。面白いし、大変ためになる。

Open Source Multimedia Software

キーワード 概要 公式サイト ソースコード 備考
Ardour
LMMS
Qtractor
LUPPP ルーパー  LUPPP GitHub OpenAV が開発している C++ で書かれたオーディオ・ルーパー。ライブ演奏向けに設計されており、MIDI デバイスにマッピングして使う。
SunVox シーケンサー付きモジュラーシンセ SunVox SunVox Guide @ GitHub ロシアのプログラマーが作ったモジュラー型のソフトシンセ。軽量で動作も速く、さまざまな OS で動く。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment