Posts

Showing posts from October, 2018

RubyのURI.parseでプロキシーサーバーを設定する際にパスワードとして使えない文字

ユーザー認証付きのHTTPプロキシーサーバーを経由しないと、どこにも行けないネットワークで生活しないといけないことがある。 そんな環境でもRubyスクリプト(実際にはJRubyで動かすことが多い)でWWWにアクセスしなくてはいけないことがある。 RubyのURI.parseが呼ばれると、 URI::InvalidURIError: bad URI(is not URI?) とエラーになってそもそもWWWにアクセスしに行かないことがある。 これは、ユーザー認証付きのHTTPプロキシーサーバーのパスワードに使えないはずの文字が設定されているためである。 私の環境の場合にはWindowsのActive Directoryの認証情報と連携しているので、Windowsのログオンパスワードとして 良かれと思って記号を使っていると、遭遇してしまうことがある。 では、どのような文字をパスワードとして使用するのを避ければ良いのだろうか? RFC2396であるUniform Resource Identifiers (URI): Generic Syntaxによると、 以下のように書かれている。 The user information, if present, is followed by a commercial at-sign "@". userinfo = *( unreserved | escaped | ";" | ":" | "&" | "=" | "+" | "$" | "," ) つまり、セミコロン、コロン、アンパサンド、イコール、プラス、ダラー、カンマ以外は使えないようだ。 いまいちescaped = % hex hexの場合がどうなるのか分からないが…。 とりあえずは、これら以外の記号は避けてActive Directoryにパスワード登録するのが良さそうだ。

NetBSD/amd64上で動かすFirefox 61.0.2でのDNS over HTTPSを使う

オーディオやウェブカメラをFirefoxから使うと言う話ではないので、 NetBSDだからと言って特別な事はあるはずもないのだが、 DNS over HTTPSをmozilla wikiのTrusted Recursive Resolverを参考に設定して使ってみた。 Firefoxのprofileディレクトリーにあるprefs.jsに以下のように設定されるように、about:configで 設定すれば良い。Firefoxを再起動することなく、設定直後から反映される。 user_pref("network.trr.bootstrapAddress", "1.1.1.1"); user_pref("network.trr.mode", 3); // DNS over HTTPSしか使わない。通常のDNSにfallbackする場合には2にする。 user_pref("network.trr.uri", "https://mozilla.cloudflare-dns.com/dns-query");

仮想マシンハードディスクイメージファイルの形式

仮想マシンのハードディスクイメージファイルについて、いつもどれがどれか分からなくなってしまうので、その種類を書いておく。 Appleのdmg形式は除いている。 RAW物理ディスクのダンプqcow昔のqemuの形式qcow2今のqemuの形式FVD (Fast Virtual Disk)IBMの開発したqemu用の形式QEDqemu用だが既に互換性のためだけに残っている状態。VDI (Virtual Disk Image)VirtualBoxの形式VMDK (Virtual Machine Disk)VMwareの形式VHD (VIrtual Hard Disk)Microsoft Virtual PCの形式VHDX (Virtual Hard DIsk v2)Microsoft Hyper-Vの形式bochsBochsのbximageコマンドで作る形式 他にもあるだろうが、普段目にするのはこの程度なように思う。