2020年4月23日木曜日

iVCAMで、iPhoneをUSBWebカメラとして使う方法(マイク対応)

最近、リモートワークが増えているせいかWebカメラの入手性が非常に困難になってきている。ただ、iPhoneをかなり実用性高くWebカメラとして使える方法があったためここで紹介する。

まず、iVCAMのサイトに行きWindows用クライアント及びスマートフォン用アプリをダウンロードする。
PCクライアント、iOSアプリ
https://www.e2esoft.com/ivcam/
PCクライアント直リンク
https://www.e2esoft.com/download/ivcam-x64-mirror
iOSアプリダウンロードページ
https://apps.apple.com/jp/app/ivcam-%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%82%AB%E3%83%A1%E3%83%A9/id1164464478

次に、必要な人はサウンドミキサーをインストールする(これをしないとiPhoneカメラからの音声が入らない。Bluetoothヘッドセット使う場合は要らない)
https://www.e2esoft.com/vsc/
サウンドミキサー直リンク(有料版19$ライセンス認証しないと音声チャットの際「Trial Version」と音が入る)
https://www.e2esoft.com/download/vsc

全てをインストールしたら、Windowsのスタートメニュー→設定→システム→サウンドを開き、出力は今まで通りのスピーカーを(e2eAudio VAudioではない)設定し、入力の方はe2eSoft VAudioのものに設定する(人によっては2つ出てくるがどちらでもいい)。別にマイク(Bluetoothヘッドセットなど)使う人はそちらを指定すればOK。

その後、iPhoneとPCをUSBで繋ぎ、PC側でe2esoft iVcamを起動する。
右下の三→オーディオ再生用デバイスでSpeaker(e2eSoft VAudio)を選択。別にマイク(Bluetoothヘッドセットなど)使う人はそちらを指定すればOK。

その後、iPhoneでiVcamを起動すれば、Webカメラとして使える。
PCクライアントソフトの三→PC側の設定からでも、iPhoneの画面からでも画質、音質を設定できる(マイクとしても使うなら音声を有効化にする必要がある)。

あとはLINEなりSkypeなりZOOMなりを立ち上げて、ビデオチャット開始すればiPhoneをWebカメラとして使用できる。
無料版だと画質が悪く、音も「Trial Version」と入ってしまうが、有料版ライセンスを購入すれば高画質で使えるので、ぜひ買ったほうがいいと思う。Webカメラを買うより安く、高画質なWebカメラとして使えるので。(これでzoomすると殆どの人より綺麗に映ります。)

このソフトはUSB経由でもWifi経由でも使えるが、USB経由で使えばほぼタイムラグがなく本物のWebカメラと変わらない画質、音質ラグのなさで使えるのでUSB接続で使うことをおすすめする。
また、設定からポートレートモードを使用すれば縦持ちで、横長モードをすれば横長で使え、どちらでも使えるので非常に重宝している。

2020年4月16日木曜日

マザーボードのWi-Fiモジュールを交換する方法


私はMini-ITXのH310CM-ITX/acをマザーボードに使用しており、Wi-Fi、BluetoothモジュールともにもともとこのマザーボードについていたAC3160を使っていたが、いまいちBluetoothが不安定で、マウスがカクついたりキーボードの入力ができなくなったりすることが多々あり、苛立ちを覚えていた。

そこでモジュールをインテル® Wi-Fi 6 AX200に換装したのだが、
今までの不安定さが嘘のように解消され、マウスはぬるぬる動き、キーボードの入力も安定して受け付けるようになった。

また、Wi-Fiも早く、Youtubeでシークバーから場面移動が明らかに早くなり、本当に交換して良かったと思った。今までの微妙なラグが解消され、快適そのものだ。

やはり安物の3160とは違う。今すぐこの商品に換装すべきだ。

換装手順は下記のとおりで、
まず、マザーボードを取り出し、
Wi-Fiモジュール背面にあるネジを外し、Wi-Fiモジュールを取り外す。
そして、Wi-Fiモジュールのカバーのネジを外し、蓋を開ける。








そうしたら、モジュールを交換し、あとは元通りにセットし、ドライバを入れれば完了。

V6プラスのインターネットならNECルーター一択という話。

私はとくとくBBのV6プラスで光ファイバーのインターネットを使っており、最初エレコムの無線LANルータWRC-2533GST2

https://kakaku.com/item/K0001095003/
をレンタルしていたのだが、どうもIPoE認証に不具合があるのか、インターネットの接続が不安定で繋がらない事が多かった。(LANとしては使える)
仕方がなく、IPoE対応無線LANルーターを探し、次にTP-LinkのArcher A10

https://kakaku.com/item/K0001215737/
を使ったのだが、これはV6プラスではポート開放ができないという致命的な欠点があり、サーバーを置いている身としては使えなかった。(このあたりしっかり明記しておいてほしい。当初はファームウェアアップデートで対応予定とのことだったが、私がメールで問い合わせた際は、もうアップデートでの対応予定も無いとの回答だった)

結局、やや足元見られてるような価格のNECのルーター
Aterm WG2600HP3 PA-WG2600HP3
https://kakaku.com/item/K0001059859/
を買って、無事安定したインターネット環境が整った。当然ながらポート開放もできた。
IPoEの策定に関わっているからか、NECの安定性が高いのは確かだが、この独自規格のせいで海外ルーターは対応してくれないし、国内もNECのものしか実質使い物にならないのでなんだかなぁ。と思う。

2020年1月27日月曜日

WinSshFsを使い、SSHサーバーをWindowsでネットワークドライブとしてマウントする方法。

WinSshFsで公開鍵認証のSSHサーバーに接続する方法

Puttyで生成した鍵はAES-256-CBCで出力されるが、win-sshfs(Dokan .Net library)はDES-DES3-CBCでないと読み込めないため、変換する必要がある。
そのままの鍵を使おうとすると
test could not connect:Invalid private key file.
とエラーが出てしまう。

変換はまずPuttyGenを起動し、作成した鍵ファイルを読み込む。
そして、Conversions→Export OpenSSH keyを選択し、秘密鍵を出力する。(ここではaes_newkeyとする)

そのファイルをサーバーに安全な方法でアップし(opensslが入った環境ならどこでも良い)、サーバー上で下記コマンドを実行する。
$ cat aes_newkey | openssl rsa | openssl rsa -des3 > des3_newkey
コマンド入力時にパスフレーズの入力を求められるため任意の文字列を入力する。
そして出力されたdes3_newkeyをローカルマシンに持ってきて、WinSshFSのSshfs Managerで図のように設定する。そうしてSAVEしてMountすれば任意のドライブレターにローカルドライブのようにSFTP環境でマウントできる。

参考:
win-sshfsで鍵を使ってログインする方法
Windows10からLinuxにSSHで接続し、ネットワークドライブとしてマウントして使うとすごく便利だった

2020年1月17日金曜日

FreeBSDでLet'sEncryptをMyDNSのDNS認証で自動更新させる

超下書き記事。後で清書予定。
ほとんどLet’s Encrypt + MyDNS でワイルドカードSSL証明書を自動更新する方法のコピー記事ですが(ごめんなさい)、自分の環境(FreeBSD12.1)に合わせて一部補足しています。
この方法であれば、80番や443のポート開放しなくてもLet'sEncryptの更新ができる。
V6プラスで任意のポートが使えない場合に有効だと思われる。

まず、MyDNSがリリースしたDNS認証の公式スクリプトはPHPで書かれているため、それが動くように下記の3つをインストールする。
# pkg search php
php74-7.4.1                    PHP Scripting Language
php74-openssl-7.4.1            The openssl shared extension for php
php74-mbstring-7.4.1           The mbstring shared extension for php

# pkg install php74-7.4.1
# pkg install php74-openssl-7.4.1
# pkg install php74-mbstring-7.4.1

ターミナルを開き、次のコマンドをroot権限で実行します
# cd ~ #ホームフォルダなどの作業スペースへ移動
# wget 'https://github.com/disco-v8/DirectEdit/archive/master.zip' -O DirectEdit-master.zip #MyDNSの自動更新スクリプトをダウンロード
# unzip master.zip #ダウンロードしたZipを解凍
# mv DirectEdit-master /opt/ #解凍したフォルダを/opt/に移動

次に、自動DNS書き換えの設定をしていきます。
# vi /opt/DirectEdit-master/txtedit.conf

内容を下記のように書き換えます。
$MYDNSJP_URL       = 'https://www.mydns.jp/directedit.html'; //そのまま
$MYDNSJP_MASTERID  = 'mydnsXXXXXX'; //MyDNSユーザーID
$MYDNSJP_MASTERPWD = 'yourmydnspasswd'; //MyDNSパスワード
$MYDNSJP_DOMAIN = 'example.com'; //MyDNSに登録したドメイン名

PHPのパスを確認
# which php
/usr/local/bin/php
FreeBSD12.1のphp7.4はここにbinのパスがあるため、
/DirectEdit-master/内のtxtregist.phpとtxtdelete.phpのbin/phpのパスを設定する。(1行目)
# vi /opt/DirectEdit-master/txtregist.php
#!/usr/local/bin/php
(txtdelete.phpも同様に行う)

権限を変更します。
# cd /opt/DirectEdit-master
# chown root:root ./
# chmod 700 ./*.php //DNS自動更新プログラム
# chmod 600 ./*.conf //設定ファイル

これで下準備はOKです。
既にLetsEncryptの証明書ファイルが有る場合はエラーの原因となるため、リネームして排除しておく。
# mv /usr/local/etc/letsencrypt /usr/local/etc/old_letsencrypt


それではMyDNS自動更新スクリプトを使ってdns-01認証でワイルドカード証明書を取得してみます。
# certbot-auto certonly --manual \ #certbot-autoコマンドは環境によって名前が異なる場合があります。
--preferred-challenges=dns \
--manual-auth-hook /opt/DirectEdit-master/txtregist.php \
--manual-cleanup-hook /opt/DirectEdit-master/txtdelete.php \
-d example.com -d *.example.com \ #※左記以外のサブドメイン(たとえばa.example.com)はMyDNSのスクリプトではエラーになるため指定できません。サブドメインのSSLを取得する場合は別途従来のhttp-01認証で取得してください。
--server https://acme-v02.api.letsencrypt.org/directory \
--agree-tos -m hoge@example.com \ #Let'sEncryptからの通知を受け取るアドレスを指定します。
--manual-public-ip-logging-ok

更新ができるか確認
# certbot renew --dry-run

成功したらCrontabに登録
# crontab -u root -e
00 04 01 * * certbot renew
自動でApacheのリロードも行う。
01 04 01 * * /usr/local/etc/rc.d/apache24 reload

参考
Let’s Encrypt + MyDNS でワイルドカードSSL証明書を自動更新する方法
Let’s Encrypt の証明書の更新を自動化する手順 (cron)

2020年1月9日木曜日

FreeBSDメジャーアップグレード

個人用忘備録。
FreeBSDのメジャーアップグレード(11.2→12.1)はここの記事の内容で全てOK!
FreeBSD 11.2 を FreeBSD 12.0 に更新
https://qiita.com/psaxuww/items/4f14414999fc1b31ca11
上記記事の完全引用です。書いてくださった方有難うございます。

12.1にしたいなら下記の順で進めていく。
アップグレードファイルダウンロード
# freebsd-update upgrade -r 12.1-RELEASE
カーネルのインストール
# freebsd-update install
再起動 
# reboot

再起動後ユーザランドのインストール
# freebsd-update install

古いサードパーティソフトのリビルドをするよう促されるので、パッケージアップグレード 

# pkg upgrade -y

仕上げ(soファイルの削除)
# freebsd-update install
バージョン確認 
$ uname -a
FreeBSD  12.1-RELEASE FreeBSD 12.0-RELEASE r341666 GENERIC  amd64
 と表示されればOK。詳細は上記リンク先記事で。

メインテナンスはこちら
https://maimokumemo.blogspot.com/2016/05/microserver-freebsd103nasweb5.html

【備忘録】Windowsタスクスケジューラのタスクを削除できない問題の解決方法

 自分で作ったタスクなのに、削除しようとしたら
「ユーザーアカウントにタスクを削除する権限がありません」
と表示されてしまい、削除はおろか、権限エラーで設定変更もできない。それを解決できたのでメモ。

完璧に下記の記事のコピーです。忘備録として個人的にメモします。
【備忘録】Windowsタスクスケジューラのタスクを削除できない問題の解決方法

1タスクのスケジュールの実体が/windows/system32/Tasksに保存されているので、その中で削除したいタスク名のものを削除。
2タスクスケジューラを起動しタスクを削除。

上記の通りみたらすんなりと削除できた。