WiFi QR コード生成

ネットワーク名とパスワードを QR コードに変換し、ゲストがスキャンするだけで接続できるようにします。WPA・WEP・オープンネットワーク・ステルス SSID に対応し、すべてブラウザ内で生成します。

パスワードを読み上げずにゲストを接続させる。 ネットワーク情報を入力し、最近のスマートフォンのカメラでスキャンするだけです。QR コードはローカルで描画されるため、パスワードがどこかに送信されることはありません。

QR コード

ネットワーク名を入力すると QR コードを生成します。

これが QR コードに実際に含まれる文字列です。Android と iOS が解釈できる WIFI: 形式になっています。

WiFi QR コードの実際の仕組み

魔法の画像ではなく、ただのテキスト

画像としての WiFi QR コードに特別なところは何もありません。Android が 2010 年から、iOS がバージョン 11 から解釈できる形式で、短いプレーンテキストを符号化しているだけです。中身はこのような形をしています。WIFI:T:WPA;S:MyNetwork;P:hunter2;;。実際に働くのは 3 つのフィールドで、T がセキュリティ種別、S が SSID、P がパスワード、末尾のセミコロンがレコードを閉じます。

プレーンテキストなので、印刷する前にこのツールが生成した内容を読んで、SSID の綴りが正しいか、想定外のものが混じっていないかを確認できます。カメラアプリはこれらのフィールドを解析し、ネットワークへの参加を提案し、資格情報を OS に渡します。アプリもアカウントも中継サービスも必要ありません。

素朴な生成ツールが壊れるのはエスケープ処理

WIFI: 形式では 5 つの文字が構造的な意味を持ちます。バックスラッシュ、セミコロン、カンマ、コロン、ダブルクォートです。これらを含むパスワードはバックスラッシュでエスケープしなければならず、さもないとパーサーはそこをフィールドの終わりとみなします。pa;ss というパスワードをエスケープせずに書くと、pa で接続しようとする QR コードができあがり、しかもこの失敗は無音です。スマートフォンは「パスワードが違う」とだけ表示し、誰も QR コードを疑いません。

この生成ツールは 5 文字すべてをエスケープします。パスワードが特殊な場合はエンコード内容の欄を確認する価値があります。正しくエスケープされた文字列では、これらの文字の前にバックスラッシュが表示されます。このバックスラッシュは符号化の一部であってパスワードの一部ではなく、接続前にスマートフォンが取り除きます。

ステルスネットワークと誤り訂正

H:true; フィールドは SSID がブロードキャストされていないことをスマートフォンに伝えます。これがないと、ステルスネットワークのコードを読み取った端末は SSID を探し、広告されていないため見つけられず、あきらめてしまいます。これがあれば、端末は名前を指定して能動的にプローブすべきだと分かります。通常のネットワークにこのフラグを付けても害はありませんが接続がやや遅くなるので、本当にステルスの場合だけチェックしてください。

誤り訂正レベルは、どれだけ損傷しても読み取れるかを決めます。レベル L は約 7% の欠損に耐え、最も小さいコードになります。レベル H は約 30% に耐えますが、同じデータをはるかに多くのモジュールに詰め込むため、同じ印刷サイズでは 1 つ 1 つが物理的に小さくなります。机の上のカードなら M が適切な既定値です。擦れるステッカーや、中央にロゴを重ねるコードなら Q か H にしてください。

QR コードは node-qrcode(MIT ライセンス)がローカルで生成します。ネットワーク名とパスワードがブラウザの外に出ることはありません。

よくある質問

パスワードはどこかに送信されますか。
されません。QR コードはローカルのライブラリがブラウザ内で描画し、内容がページの外に出ることはありません。インターネットを切断してもこのツールは動作します。
どの端末で読み取れますか。
iOS 11 以降の iPhone と、実質的に Android 10 以降のほぼすべての端末が、標準のカメラアプリで読み取れます。別途スキャナアプリは不要です。
パスワードにセミコロンやカンマが含まれる場合は。
自動的にエスケープされます。これらは WIFI: 形式で構造的な意味を持つ文字なので、それぞれの前にバックスラッシュを挿入します。接続前に端末が取り除きます。
セキュリティは WPA と WPA2 のどちらを選びますか。
同じ `WPA` の値が WPA・WPA2・WPA3 をカバーします。この形式にはそれらを区別する識別子がありません。WEP は本当に古い機器の場合のみ、パスワードなしのネットワークにはオープンを選んでください。
誤り訂正レベルを上げるべきなのはどんなときですか。
印刷したコードが傷ついたり、曲がったり、中央にロゴが重なったりする場合です。レベルが高いほど損傷に強くなりますが、同じ正方形により多くのモジュールが入るため、その分大きく印刷してください。
画像からパスワードを復元されますか。
されます。QR コードは暗号化ではありません。コードを撮影できる人は誰でもパスワードを読み取れます。印刷した WiFi QR コードは、紙に書いたパスワードとまったく同じように扱ってください。