投稿

svgからwoff2へ変換するNode.js製「grunt-webfont」

fontcustomがエラーを吐くようになったので、 fontforgeを使った svgからwoff2へ変換する方法を探しているときの覚書。 環境: CentOS Stream 8, fontforge 20200314, Node.js v18.9.1 最近も更新されている下記Node.js(Grunt)製ツールを試してみた。 L2jLiga/grunt-webfonts: SVG to webfont converter for Grunt ドキュメントに従い依存関係のあるソフトのインストール # dnf install fontforge ttfautohint ttfautohintはリポジトリになかった。 そのまま進める。 grunt-webfontをインストールする。 # su - node $ cd /path/to/project/ $ npm install grunt grunt-webfont --save-dev npm WARN EBADENGINE Unsupported engine { npm WARN EBADENGINE   package: 'svg-pathdata@1.0.0', npm WARN EBADENGINE   required: { node: '0.10.*' }, npm WARN EBADENGINE   current: { node: 'v18.9.1', npm: '8.19.3' } npm WARN EBADENGINE } WARNINNGが出たけどとりあえず進める。 Gruntfile.jsを作る $ vi Gruntfile.js module.exports = function(grunt) {   grunt.loadNpmTasks('grunt-webfont');   grunt.initConfig ({     webfont: {       icons: {         src: 'fonts/svg/*.svg',         dest: 'fonts/icons',         options: {           font: 'i

svgからウェブフォントwoff2に変換するNode.js製ツール

fontcustomがエラーで変換に失敗するようになったので代替コマンドを探しているときの覚書。 環境: CentOS Stream 8, Node.js v18.9.1 Node.jsを使うのが汎用的で良さそう。 tancredi/fantasticon: Icon font generation tool jaywcjlove/svgtofont: Read a set of SVG icons and ouput a TTF/EOT/WOFF/WOFF2/SVG font. シンプルそうなfantasticonを試す。 インストール。 $ npm install fantasticon --save-dev package.jsonにコマンドを書く。   "scripts": {     "font": "fantasticon ./fonts/svg --output ./fonts/icons --name icons --font-types woff2 woff --asset-types css html"   } 実行 $ npm run font 一部 iconmonstr でダウンロードしたsvgの変換が上手くいっていない。 変換には内部でfontforgeを使うツールがないか探すことにした。 【関連記事】 CentOS Stream 8 + Ruby + fontcustomをインストール 【CentOS】SVGをWOFFなどのWebフォントへ変換するfontcustomをインストール

JpegからAVIFへ変換するためのコマンドラインツールSquoosh, sharp, cavif

WebPとAVIFの比較をしようとLinux向けの変換ツールを調査しているときの覚書。 環境: CentOS Stream 8, Node.js v14.18.2 -> v18.9.1 AVIFの対応状況 "avif" | Can I use... Support tables for HTML5, CSS3, etc Edge以外は対応している。 Node.jsをv18に変更 開発環境のNode.jsがv14だったので最新のv18にアップグレードする。 確認 # dnf module list nodejs v14からv18に変更 # dnf module reset nodejs # dnf module enable nodejs:18 # dnf --allowerasing distro-sync 確認 # node --version v18.9.1 Squoosh CLI Chrome teamが開発している画像圧縮ウェブツール「Squoosh 」をコマンドラインで使えるようにしたもの。 squoosh/cli at dev · GoogleChromeLabs/squoosh · GitHub Globalでインストール # npm i -g @squoosh/cli AVIFに変換してみる。 $ squoosh-cli --avif '{quality: 30}' key-visual.jpg TypeError: Failed to parse URL from /usr/local/lib/node_modules/@squoosh/cli/node_modules/@squoosh/lib/build/imagequant_node-a4aafbae.wasm エラーになった。 ウェブアプリ版のSquoosh でAVIF変換したら問題なく完了した。 Quality: 30 Effort: 4 ファイルサイズ比較 Jpeg: 281KB WebP: 70KB AVIF: 26KB Jpegの10分の1でWebPの半分なのにGoogle Chromeで表示して並べてみても違いが分からない。 とりあえずsquoosh-cliはアンインストール。 # npm uninstall -g @squoosh/cli

dnf updateしたらphp-pgsqlのエラー

dnf updateしたらエラーになったので調べた時の覚書。 環境: CentOS Stream 8, PHP 7.4.30 # dnf update Last metadata expiration check: 8:04:20 ago on Fri 21 Oct 2022 07:49:06 AM JST. Error:  Problem: package php-pgsql-7.4.30-1.module_el8.7.0+1190+d11b935a.x86_64 requires libpq.so.5(RHPG_9.6)(64bit), but none of the providers can be installed   - cannot install both libpq5-15.0-42PGDG.rhel8.x86_64 and libpq5-14.5-42PGDG.rhel8.x86_64   - package libpq5-15.0-42PGDG.rhel8.x86_64 obsoletes libpq provided by libpq-13.2-1.el8.x86_64   - package libpq5-15.0-42PGDG.rhel8.x86_64 obsoletes libpq provided by libpq-13.3-1.el8_4.x86_64   - package libpq5-15.0-42PGDG.rhel8.x86_64 obsoletes libpq provided by libpq-13.5-1.el8.x86_64   - cannot install the best update candidate for package php-pgsql-7.4.30-1.module_el8.7.0+1190+d11b935a.x86_64   - cannot install the best update candidate for package libpq5-14.5-42PGDG.rhel8.x86_64 (try to add '--allowerasing' to command line to replace conflicting packages or '--skip-

ARPとルーティングテーブル

サイバーセキュリティの勉強をしているときの覚書。 環境: Windows 10, CentOS Stream 8 ARP(Address Resolution Protocol)とは? IPv4アドレスとMACアドレスを紐づけるプロトコル。 相手のMacアドレスが分からない場合、ARPリクエストをネットワークにブロードキャストするとMACアドレスを格納してARPリプライが返ってくる。 一度取得したIPv4とMACアドレスの関連情報をARPテーブルにキャッシュとして保存される。 Windowsの場合は15秒~30秒間キャッシュに保存する。 WindowsでキャッシュされたARPテーブルを表示するコマンド C:> arp -a CentOSでキャッシュされたARPテーブルを表示するコマンド # ip n 参考サイト Address Resolution Protocol - Wikipedia Address Resolution Protocol caching behavior - Windows Server | Microsoft Learn ARPとルーティングテーブル 通信するときはまずルーティングテーブルを見て、どの経路で通信すればいいか決める。 その後、ARPのキャッシュテーブルまたはリクエストを参照して、宛先のMACアドレスが決まる。 サイバーセキュリティとARP ネットワークを盗聴する場合は、IPv4アドレスとMACアドレスの関連を偽装する場合はあるため、怪しい動作するPCおよびルーターのARPテーブルの中身は保存しておく。 【関連記事】 ルーティングテーブルとnetstat, ipコマンド

共通鍵暗号アルゴリズムAES(Advanced Encryption Standard)

サイバーセキュリティの勉強をしているときの覚書。 AESとは? AES(Advanced Encryption Standard)は2001年にアメリカで定められた標準暗号。 特徴 共通鍵暗号方式 鍵長は128bit, 192bit, 256bitの3種類 (鍵長と処理速度は相関関係にあるため用途に応じて選択する) 無料で利用可 現在の主流(今のところどんな攻撃にも屈していない) 日本政府管轄プロジェクト「CRYPTREC」に電子政府推奨暗号リストとして登録されている。 参考サイト Advanced Encryption Standard - Wikipedia CRYPTREC - Wikipedia AESはアルゴリズムなので、この暗号化アルゴリズムを利用した実装がいろいろとある。 AESが使われている実装の例 一覧とリンク TLS/HTTPS通信など。参考:  Transport Layer Security - Wikipedia ZIP/ファイルの暗号化。参考:  ZIP (ファイルフォーマット) - Wikipedia WPA2/Wi-Fiの 標準暗号化プロトコル CCMP。参考:  Counter mode with Cipher-block chaining Message authentication code Protocol - Wikipedia AACS/Blue-ray Discの暗号化規格。参考:  Advanced Access Content System - Wikipedia 【関連記事】 Let's Encryptで無料SSLをCentOS7に設定(certbot)

ルーティングテーブルとnetstat, ipコマンド

サイバーセキュリティの勉強をしているときの覚書。 環境: Windows 10, CentOS Stream 8 ルーティングテーブルとは? パケットの宛先と次の転送先を記したネットワーク経路一覧。 同じ宛先が登録されている場合はネットマスク値が高い(長い)経路が優先される。 一般的な端末PCではルーターがデフォルトゲートウェイとして登録されているだけ。 VPNや仮想マシンを設定している場合はそのネットワーク用の宛先がルーティングテーブルに記載されている。 参考サイト ルーティングとは|ヤマハ ルーティングテーブルを確認するコマンド WindowsとMacでは「route -r」で確認できる。 netstatはネットワーク情報を表示するコマンド。-rはルーティングテーブルを表示するオプション。 C:> netstat -r CentOS8からはnetstat, ifconfigはipコマンドに統一された。 # ip route show  netstat - Wikipedia ipコマンドチートシート for Red Hat Enterprise Linux サイバーセキュリティとルーティングテーブル マルウェアに感染した場合やハッカーがネットワーク内を調査する際、このルーティングテーブルを書き換えることがある。 そのため、ディジタルフォレンジックス(セキュリティ証拠収集)の一つとしてルーティングテーブルの確認方法は知っておきたい。 デジタル・フォレンジック - Wikipedia 【関連記事】 WindowsノートPCにCentOS7をクリーンインストール