今までの監視カメラは夜がちょっと暗めだった。
Brightness:133
Contrast:10
Brightness:133
Contrast:0
肉眼程度に見えるようになった。
まあ、センサーライトがあるので、何かあれば照明が点くから問題無かったけど、照明が点く前の状況が暗くて分かりづらかった。
昼の画像はこんな感じ。
通常の風景写真としては明るすぎる感じだが、監視カメラだと問題無いな。
I know who Iam.
【追記】
メールをよく読むと新しい課金システムを導入するだけで、無料化はそのままと書いてあった。でも、毎月confirmするの面倒だから、No-IPは退会しよう。
【/追記】
なんかメールが来ていて、「後数カ月したらサブスクリプション導入するよ」と書いてあったので、irc.noizumi.org のDDNSを考えなくてはいけなくなった。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
$hosts = gethostbynamel('home.example.com'); $myip= file_get_contents('https://server.example.com/ip.txt'); if($hosts[0]!=$myip){ //if(TRUE){ $params = array( 'username' => 'xsvxXXXXXXX', 'password' => 'password', 'sv' => 'sv000', 'service' => 'xserver', 'action_user_login'=>'true' ); $ch = curl_init(); $fp = fopen("tmp", "w"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie"); // curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_WRITEHEADER, $fp); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded')); curl_setopt($ch, CURLOPT_POST, TRUE); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params)); curl_setopt($ch, CURLOPT_URL, 'https://secure.xserver.ne.jp/xserver/sv000/'); // ログイン $output = curl_exec($ch); // print "CURL OUTPUT:\n{$output}\n"; $params = array( 'dns_id' => '00000000', 'dns_host' => 'home', 'dns_type' => 'A', 'dns_content' => $myip, 'dns_prio'=>'0', 'action_user_dns_edit_index'=>mb_convert_encoding('変更', 'eucjp-win','UTF-8'), 'did'=>'example.com' ); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params)); curl_setopt($ch, CURLOPT_URL, 'https://secure.xserver.ne.jp/xserver/sv000/?action_user_dns_list=on&did=example.com'); // DNSレコード設定 $output = curl_exec($ch); // print "CURL OUTPUT:\n{$output}\n"; if(preg_match('/.*name="id" value="(.*)"/', $output, $matches)){ unset($params['action_user_dns_edit_index']); $params['action_user_dns_edit_conf'] = mb_convert_encoding('DNSレコードの編集(確認)', 'eucjp-win','UTF-8'); $params['id'] = $matches[1]; curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params)); curl_setopt($ch, CURLOPT_URL, 'https://secure.xserver.ne.jp/xserver/sv000/?action_user_dns_list=on&did=example.com'); // 変更確認 $output = curl_exec($ch); // print "CURL OUTPUT:\n{$output}\n"; } if(preg_match('/.*name="uniqid" value="(.*)"/', $output, $matches)){ unset($params['id']); unset($params['action_user_dns_edit_conf']); $params['uniqid'] = $matches[1]; $params['action_user_dns_edit_do'] = mb_convert_encoding('DNSレコードの変更(確定)', 'eucjp-win','UTF-8'); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params)); curl_setopt($ch, CURLOPT_URL, 'https://secure.xserver.ne.jp/xserver/sv000/?action_user_dns_list=on&did=example.com'); // 変更確定 $output = curl_exec($ch); print "CURL OUTPUT:\n{$output}\n"; } fclose($fp); curl_close($ch); } |
そこで、xserver のサーバーパネルを操作するプログラム組んだ。
レンタルサーバーで家の回線のIPアドレスを出力するプログラムを走らせて、それとDNSで引いたIPアドレスが同一かを比較し、違っていたらサーバーパネルのDNS設定で、IPアドレスを変更するというプログラム
割と顰蹙物だと思うので、分かる人だけ使ってくらさい :-p
何やら「拠点とAWSのVPCをVPNで接続したい」という輩の見積もりをやらされているのだが、客は手段の提示をするだけで、何をやろうとしているのかさっぱり分からない。
で、質問を投げてみると……
「既存のAWS環境をVPCへ移行するのか新規でVPCを構築するのか?」
「メリットとデメリットを教えてください」
(゚Д゚)ハァ?
既存環境をVPCへ移行するのか新規でやるのか聞いてるのにメリットもクソもあるか!メリットとデメリットで既存環境の移行か新規構築かを選択するのかよ!?
そんな既存環境を放棄できる様な、どーでもいい事やってるのにVPNで回線秘匿化する必要があるのかよ!?
一体、何がやりてえんだよ!?
何か言ってる事が「グッチのバッグでおでかけしたい」みたいな感じで、バッグというのは物を運ぶ手段なのだが、ブランドバッグで虚栄心を満たす手合は物を運ぶのが目的では無くて、ブランドバッグを見せびらかすのが目的。
なのでVPNで何か問題を解決するんじゃなくて、「VPNでVPCと接続してるんだぜえ」という事を自慢したがってるようにしか見えない。
一体、何がやりてえんだよ!!
せめて日本語が通じるやつと会話したいなあ 🙁
新しい無線LANルータの環境になったので、IEEE802.11nで接続したら、今までIEEE802.11g の 56Mbps だったRaspberry pi3 のWifi も高速化できるかなと思って、新無線LANルータ用に接続設定を作成。
繋いでみたが、72.2Mbpsになる。
IEEE802.11nって150Mbpsとかじゃないの? なんで? と色々調べたら、謎が解けた。
実は、今までIEEE802.11nを詳しく理解して居なかったのだが、「IEEE802.11nとは」を読んだら分かった。物によって、150Mbpsだったり、300Mbpsだったり、600Mbpsだったりするのはボンディングとストリーム数が関係する訳ね。
安物の無線LANドングルだと、1ストリームの40MHzの帯域幅で 150Mbpsくらい。
Raspberry pi3 は Broadcom の BCM43430 で、今どきありがちな安物Wifi の firmwareドライバをPCで制御するSDIO方式。
性能的には、150Mbpsくらい行けるはずなのだが、
/lib/firmware/brcm/brcmfmac43430-sdio.txt の先頭には次の文言がある。
# NVRAM file for BCM943430WLSELG
# 2.4 GHz, 20 MHz BW mode
2.4GHz の 20MHz Band Width modeって、要は 72.2Mbpsが最大速度な訳ね。
1ストリームでも40MHz使えば、150Mbpsまで速度アップが見込めるから、今後のlinuxのfirmwareの更新に期待しよう。
結局、micro SDが壊れてたっぽい。
正常起動確率50%位でだましだまし動かしてたが、新しいmicro SDにしたら起動確率100%になった。
二年位で寿命とは情けない。とはいえ、/var/log に毎日ゴリゴリ書き込んでるんだからしょうがないか。
そこで!
こいつの出番。
/etc/init.d/ramdisklog を作成。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
#! /bin/sh ### BEGIN INIT INFO # Provides: ramdisklog # Required-Start: $local_fs # Required-Stop: $local_fs # X-Start-Before: $syslog # X-Stop-After: $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Use ramdisk log tmp # Description: Debian init script for the ramdisklog log&tmp move to # ramdisk ### END INIT INFO # # Author: Yuji Noizumi <webmaster_at_noizumi.org> # PATH=/bin:/usr/bin:/sbin:/usr/sbin . /lib/lsb/init-functions case "$1" in start) mkdir -p /mnt/tmp mkdir -p /mnt/var/tmp mkdir -p /mnt/var/log mount -t tmpfs /dev/shm /mnt/tmp mount -t tmpfs /dev/shm /mnt/var/tmp mount -t tmpfs /dev/shm /mnt/var/log /usr/bin/rsync -a /var/log/ /mnt/var/log mount --bind /mnt/tmp /tmp mount --bind /mnt/var/tmp /var/tmp mount --bind /mnt/var/log /var/log chmod -R 1777 /var/tmp chmod -R 1777 /tmp log_daemon_msg "Moved log&tmp to Ramdisk" "ramdisklog" log_end_msg $? ;; stop) log_daemon_msg "Write back Ramdisk log to /var/log" "ramdisklog" umount -l /tmp umount -l /var/tmp umount -l /var/log /usr/bin/rsync -a –delete /mnt/var/log/ /var/log log_end_msg $? ;; force-reload|restart) $0 stop $0 start ;; *) echo "Usage: /etc/init.d/ramdisklog {start|stop|restart|force-reload}" exit 1 ;; esac exit 0 |
ramdisk 作って log コピーして、その ramdisk を bind で/var/logに被せるというしくみ。
# insserv ramdisklog
ついでにswapも無効化
# insserv -r dphys-swapfile
# reboot
で完了。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
root@raspberrypi:~# df -h ファイルシス サイズ 使用 残り 使用% マウント位置 /dev/root 28G 8.2G 19G 31% / devtmpfs 458M 0 458M 0% /dev tmpfs 462M 0 462M 0% /dev/shm tmpfs 462M 6.3M 456M 2% /run tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 462M 0 462M 0% /sys/fs/cgroup /dev/mmcblk0p6 63M 22M 42M 35% /boot /dev/shm 462M 0 462M 0% /tmp /dev/shm 462M 0 462M 0% /var/tmp /dev/shm 462M 1.4M 461M 1% /var/log tmpfs 93M 0 93M 0% /run/user/1000 |
マウント状況はこんな感じ。
Gmailの「すべてのメール」のフォルダのメールを新しい順に200通取り出して比較し、メールが存在する方に○、存在しない方に×を表示するプログラムを作った。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>メールチェック</title> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <meta name="generator" content="Geany 1.23.1" /> <style type="text/css"> table { table-layout: fixed; word-wrap: break-word; width:100%; border-collapse: collapse; } table, td, th{ border: 1px #000000 solid; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } </style> </head> <body> <table> <tr><th style="width:250px">送信者</th><th>タイトル</th><th style="width:200px">時刻</th><th style="width:50px">主</th><th style="width:50px">副</th></tr> <?php $master_mbox = imap_open('{imap.gmail.com:993/imap/ssl}[Gmail]/&MFkweTBmMG4w4TD8MOs-', 'master@example.com', 'MasterPassword', OP_READONLY) or die("接続できません: " . imap_last_error());; $slave_mbox = imap_open('{imap.gmail.com:993/imap/ssl}[Gmail]/&MFkweTBmMG4w4TD8MOs-', 'slave@example.com', 'SlavePassword', OP_READONLY) or die("接続できません: " . imap_last_error());; $MC = imap_check($master_mbox); $m_max = $MC->Nmsgs; $m_min = $MC->Nmsgs - 200; if ($m_min < 0) { $m_min = 1; } $MC = imap_check($slave_mbox); $s_max = $MC->Nmsgs; $s_min = $MC->Nmsgs - 200; if ($s_min < 0) { $s_min = 1; } $master_result = imap_fetch_overview($master_mbox, $m_min . ':' . $m_max); $slave_result = imap_fetch_overview($slave_mbox, $s_min . ':' . $s_max); $mmsg_ids = array(); $mdates = array(); foreach($master_result as $key=>$overview){ $mmsg_ids[$overview->message_id] = &$master_result[$key]; $mdates[$overview->message_id] = strtotime($overview->date); } $smsg_ids = array(); $sdates = array(); foreach($slave_result as $key=>$overview){ $smsg_ids[$overview->message_id] = &$slave_result[$key]; $sdates[$overview->message_id] = strtotime($overview->date); } $dates = array_merge($mdates, $sdates); $msg_ids = array_merge($mmsg_ids, $smsg_ids); array_multisort($dates, $msg_ids); $msg_ids = array_reverse($msg_ids); foreach ($msg_ids as $message_id=>$overview) { $mmark = '×'; $smark = '×'; if(isset($mmsg_ids[$message_id])){ $mmark = '○'; } if(isset($smsg_ids[$message_id])){ $smark = '○'; } $subject = imap_utf8($overview->subject); $date = date('Y/m/d H:i:s', strtotime($overview->date)); $from = imap_utf8($overview->from); $subject = htmlspecialchars($subject); $from = htmlspecialchars($from); echo "<tr><td>{$from}</td><td>{$subject}</td><td style='text-align:center;'>{$date}</td><td style='text-align:center;'>{$mmark}</td><td style='text-align:center;'>{$smark}</td></tr>\n"; } imap_close($master_mbox); imap_close($slave_mbox); ?> </table> </body> </html> |
array_column()が使えれば、もっとシンプルに書けるけど、オブジェクトのキー検索が使えるのは、PHP7以降なんだな。
ちなみに php5-imap が必要。
Ubuntu 14.04に php5-imap入れて、メールを抽出しようと思って、Message-Id で抽出できるかと思ったらできない。
Subject 検索も取り出したメールのSubject を imap_utf8()掛けてimap_search()で検索してもUTF8のMIMEエンコードされているとSubjectが一致しない。
日時で一致するものを抽出しようとして ON のキーワードを使おうとするも、日付は見てるけど、時間は見てないし、タイムゾーンが勝手にlocalになっているのか、+6:00 とかが引っ掛からない。
多分、英文だったら結構使えるのかもしれないけど、MIMEエンコードが絡むメールだと検索が凄く弱い。
IMAPって使えると思ってたけど、意外と駄目なのねん。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
root@silverfox:~# apt-get install php5-imap パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下の追加パッケージがインストールされます: libc-client2007e mlock 提案パッケージ: uw-mailutils 以下のパッケージが新たにインストールされます: libc-client2007e mlock php5-imap アップグレード: 0 個、新規インストール: 3 個、削除: 0 個、保留: 0 個。 628 kB のアーカイブを取得する必要があります。 この操作後に追加で 1,535 kB のディスク容量が消費されます。 続行しますか? [Y/n] root@silverfox:~# php5enmod imap root@silverfox:~# service apache2 restart |
会社のミュージックサーバーで、プレイリストの編集の為に sambaをmpd のプレイリストのディレクトリにマウントしていた。
しかし、スケジュール演奏がおかしかくなったので、見てみると localhost のcifsのマウントが解除されていた。
別のサーバーの samba の共有をマウントしてて切れるのは分かるけど、localhost の共有が切れて、しかも再接続しないってなんぞー?
ここで書いてた騒動だが、skypeforlinux が真っ白画面になってしまう件。
ここに解決方法が載ってた。
$ sudo apt-get purge skypeforlinux
$ sudo apt-get install skypeforlinux=8.11.0.4
腐った新しいバージョンは捨てて、前のバージョンに戻すべし。