心地よいライフハック

これ便利だな〜と思ったことを書き溜めていければと思います。

QNAP の FileStation を HTTP API で使う ことはじめ

• 目的 •
 
QNAP の FileStaion へ HTTP API 経由でアクセスする。
「QNAP File Station」の画像検索結果
 
• QNAP とは •
 
「QNAP」の画像検索結果
本筋とは異なるのでざっくりと、、
 
お家や会社でクラウド的な機能を実現する高機能なNAS(ストレージ)です。
 
Fog Computing なマシン。 Fog とは 霧。 
 
クラウドの機能を手元に持ってきて使いやすくしたもの。
 
クラウドの機能を使って実現したいけど、機密情報が、、個人情報が、、データ容量代が高い、、 そういった場合の救世主。
 
ブラウザ上のGUIボタン操作で、ぽちぽちと、、VM できる。Docker も使える。VPNも使える。リモートワークに便利。Node-RED サーバーをQNAP上にたてて、VPNで繋がりあって圧倒的なスピードでの共同開発など、いつもお世話になってます。
「QNAP File Station」の画像検索結果
 
• 前提条件 •
 
( QNAP QTS File Station API v4.1 )
 
まず、QNAP (サーバー側) で API アクセスを許可する設定をしなくてOKか?
 
デフォルト設定では API アクセス許可している模様。
ただし、セキュリティID - sid を取得 しなければ HTTP API で FileStation へアクセスできない。
 
 

 
 
○ アクセストークンを取得するには?
 
1. GUI で QTS へログインしているユーザーで API アクセス権限がある設定ならば、そのユーザーで セキュリティID - sid を取得できる。取得するには、まず、そのユーザーのパスワードをエンコードし、その文字列を取得する。
 
javaScript 動作環境なら、簡単にエンコードできる。( 例: nodejs )
 
 
2. エンコードしたパスワードを使って、 QNAP HTTP API ヘ sid 要求する。
 
http://IPアドレス:8080/cgi-bin/filemanager/wfm2Login.cgi?user=ログインしたいユーザー名&pwd=エンコードしたパスワード文字列
 
成功すれば、"authPassed": 1 を含む以下、リターンがくる。
 
{
"status": 1,
"sid": "ここに目的となるsid文字列がくる",
"servername": "TVS-682など 型番 ",
"username": " ログインユーザー名 ",
"admingroup": *,
"supportACL": 1,
"enableACL": 0,
"dateFormat": 1,
"timeFormat": 24,
"genericModel": 0,
"2sv_type": 0,
"need_2sv": 0,
"send_mail_status": 0,
"authSid": "ここに目的となるsid文字列がくる",
"lost_phone": 0,
"emergency_try_count": *****,
"emergency_try_limit": 5,
"security_question_no": *,
"security_question_text": "***",
"cuid": "********************************",
"authPassed": 1,
"version": "5.1.0",
"build": "20180830"
}
 
 

 
以上より、QNAP FileStation の HTTP API 利用が開始できる。
 
( QNAP Virtualization Station 内の VM からは 取得できなかった。仮想のゲストから仮想ホストの重要なデータにアクセスできないようになっている可能性あり。 )
 

 
お試しに ・・・
 
「QNAP File Station」の画像検索結果
 
以下 GETリクエスト で QNAP の Multimedia フォルダ  のリストを取得できた。
• Get Folder List メソッド •
 
GET http://IPアドレス:8080/cgi-bin/filemanager/utilRequest.cgi?func=get_tree&sid=先ほど取得したsid&node=Multimedia
 
 
[
  {
"id": "Multimedia/@Recently-Snapshot",
"cls": "7",
"text": "@Recently-Snapshot",
"no_setup": 0,
"draggable": 1,
"iconCls": "folder",
"max_item_limit": ***,
"real_total": 2
},
  {
"id": "Multimedia/@Recycle",
"cls": "7",
"text": "@Recycle",
"no_setup": 0,
"draggable": 1,
"iconCls": "folder",
"max_item_limit": ***,
"real_total": 2
}
],
 
 
 

 

Chrony で 自動 強制 時刻 同期 設定  for 仮想OS VM ( CentOS7 )

chrony の一部設定において 日本語 サイト では 以下対策の情報が とてもヒットしづらかったので 書き起こします。

 

https://chrony.tuxfamily.org 

f:id:asuki_y:20180908120247p:plain

 

自身は 仮想OS を扱いますが、その仮想OS は、夜中の間、仮想サスペンド状態 になります。
 
そして、朝 特定の時間になると、 サスペンド から復帰した時に、時刻が 夜中のまま盛大に毎回ずれるという仕様です。( QNAP Virtulization Station の VM - CentOS7 上で )
 
そのとき、どうやって chrony の設定ファイルを使って 毎朝 強制時刻同期させるか? というテーマです。

 

f:id:asuki_y:20180421214033p:plain

 


 

[ 結論 ]

 
/etc/chrony.conf  の makestep 指定において、最後の引数を -1 に する。
 
例) 10秒以上 ずれてたら 毎回 stepモードで 強制的に時間を設定する。
 
makestep 10 -1

 


 
通常 makestep は、このような設定などが 例としてあげられています。
リアルマシン向け にも妥当な設定かと思います。

 


 
makestep 3 
 
1秒以上の 時刻ズレ があったら、3回まで ntpサーバーに同期する " 設定です。

 


 

 

しかし、 回数 無制限 の指定はどうするのか、わからなかった。
 
アシタリスク * を使ってもNGだったし🤔むむむ
 
「 回数指定を -1  にするんだよ 」
 
あ、なるほどね。。

 


 
こちら を参照しました。
 
参考1  
" 3.3. Is chronyd allowed to step the system clock?  "  の段落
 
参考2
" makestep "  の 段落
 (マイナス値を使うと、制限を無効にできます)。

Node-RED  グローバル変数

フロー外 変数を共有する。
フローを またいで変数を共有する。
フローを 横断する変数の設定。
 
いろんな言い方があるかと思いますが、
ともかく、
 
Node-Redグローバル変数 を使う。
 
 
 
1、変数の設定書き出し側のフロー内に以下内容んの function ノードを設置。
var text = " グローバル変数を設定するよ";
 
global.set("global_temp",26);
msg.payload = text;
return msg;
 
例えばこんな感じで、 timeStamp でもtrue でもいいので、
とりあえず ボタンを押して イベント発火して グローバル変数の " Set " を 行って テストをすると 使い方を 体感しやすいかと思います。
 
 
2、読み側 の フロー内に 以下内容の function ノードを設置。
 
var temp = global.get("global_temp");
msg.payload = "グローバル変数を、読み出すよ : " + temp;
return msg;
 
 
以上です。
 

iPhone iOS11 の AirDrop " すべての人 " からの通信を許可するには

 最近 弟からの相談で、昔の iPhone に入っていたデータを、 新しい iPhone に入れたい けど windowsiTunes が微妙な動きをしていてできない。 といったことだったので、 古いiPhone から 新しいiPhone へ 直接画像データを転送する方法 をアドバイスした。 どうもそれで解決しそうだ。
 
その時 AirDrop の設定変更は iOS11 で どのようにやるのか 気になったので、まとめてみた。
 
< iOS11 における AirDrop の設定変更 >
 
 メインのアプリを選択する画面 を開く。
 
下から、メニューを出す。
 
 

 
この 一番左上の部分を長押しする。( iPhone SE でした )
 
するとこのような画面に。

 
ここで AirDrop を選択する。
 
" すべての人 " を選べば、 他の iPhone から Bluetooth - AirDrop経由での画像送信を 受け付けやすくなります。
 
 
 

iPhone を simロック解除 して MNP 作業完了できた記録

GWは 朝4:30 に起きたり、GoogleMapを駆使したりして 苦戦しながら 都会の渋滞を抜けて、大自然の空気に触れてきました。
 
 写真は 5/3 軽井沢 雲場池 にある CAFE R's POND にて、景色撮影に夢中になっていたら、、

f:id:asuki_y:20180515163225p:plain

 
5/4 長野の戸隠 で 雪に降られてびっくりした。 
 
さて今回は、手持ちの iPhone SE の SIM ロック を解除して、電話番号ポータビリティー制度 MNP で電話番号を持ち運び、LINE アカウントの引き継ぎまで うまくいったので、備忘録として 大切そうなポイントと  大まかな流れ、 フロー を記録しておこうと思います。
 
 
 

iPhoneのバックアップをとっておく

iTunes を使う。
 

Sim ロック解除 申請

事前に 契約していたキャリアのアカウントで Sim ロック解除 申請処理を済ませておく
 
マイソフトバ○ク など
 

iPhoneを探す」 機能を必ず オフ にする

( アクティベーションロック を解除 )
 
 

LINEアカウント 引き継ぎ を オン にしておく

( 自分の場合は 個人的なセキュリティ〜ポリシー上 LINEに電話番号を渡さずにFacebookアカウントで利用していたので、LINEに必要な作業はなかったのかも。)
 
LINE の設定画面から アカウント引き継ぎ 設定 にいけます。

 

MNP 申請

 
これまで使用していたキャリアで MNP 申請
( ここで電話番号が法人アカウントだとBIGLOBE側でNGになる💦BIGLOBE側では、個人アカウントのみMNPに対応している? )
 
今回は、BIGLOBE のsimを使うため、一旦 MNP申請の前に 法人アカウントから 個人アカウントにする必要があった。法人アカウントから 個人アカウントに切り替えは、1日かかるので、切り替え申請の翌日から MNP申請ができた。
 

電源オフ

iPhone 電源OFF 
 

Sim入れ替え

BIGLOBEの店頭 で sim入れ替え作業 を店員さんにやってもらえた。
 

電源オン

 iPhone 電源ON
 
 

プロビジョニングプロファイルのインストール

 
まず、店舗で wifi 回線 などを借りて iPhoneから インターネットに接続。
 
指定の アドレスにアクセスして、新しいsim、BIGLOBE用の プロビジョニングプロファイルのインストール。
 
これの設定がうまくいと、 iPhone 単体で インターネットができたり、電話できるようになる。
 
うまくいかない場合は、sim Lock が解除されているか、アクティベーションロックが解除されているか、よく確認しよう。
 
だめなら、とっておいたバックアップを  使ってなんとかやる方法がある と思う。
 
自分は、今回は、すんなりいけたので、 バックアップファイルは使わずにすみました。
( でも 念のため一応 バックアップ はしておこう。)

動作確認 

電話、インターネット通信、LINE アカウントの動作確認
 
 
以上。
 
家族割引も手伝って 電話と通信データで、月額 2000円くらいになった(゚o゚)
 
 

早く寝たい時に使うサプリを選んでみたが、、

〜 いつもより早く寝たい時に使うサプリの選定をしてみた 〜

 

今年も、週一で 6:00からの早朝テニスが始まった!
( 冬の間は、暗くてボールが見えないので、どれだけこの時を待ち続けていたことか! )
 
そのために、今回は、その前夜だけは早寝したいという要求仕様になります。
 
良さげなサプリはないか? いろいろと考えてみました。
 

f:id:asuki_y:20180421214033p:plain

 

 

目次

 

 

GABA

 

この前 ツイッター100円均一で 売ってる

 

って話題になったから気になったので、買おうと思った。

 

-> どこも売り切れてるやん。。

 

仕方ない。他の方法で探す。

 

 


グリシン を使う。

 

ん〜 これとか?

 

 

 

グリシンは、コンビニの弁当とかおにぎりにも入っていて、ご飯も相まって結構眠くなりますよね。防腐効果もあるみたいですね。( 個人的には、亜硝酸ナトリウム とかよりましかな )

 

ただ、こういったものは人工的に作ったものがほとんどとのことで、
なるべく自然な食品から取りたい。


コラーゲンペプチド


この中にも グリシン の成分が含まれているとのことでした。

 

http://www.sciencecomlabo.jp/healthy_food/collagen.html


なので、吸収率の高い コラーゲンペプチド の入った 青汁とか そういった類のものや、原料 および 生産地 ( 〇〇県〇〇産 とか) が書いてあるものも結構ありだなと考えました。

 


でも、最近 ごぼう の代わりに ごぼうの粉末アンチエイジング 用途で、折を見て愛用していて思ったのですが、粉末は コスパはいいけど、管理 が難しい。 主に 湿気対策 


なので、カプセル錠で 飲めるタイプがいいなと思った。

 

 
これはイイ!


と思って、一応 原材料名 を確認。


ひとつ 気になったのは、、


グリセリン脂肪酸エステル

 


乳化剤 として、懸念される人もいるようで、気持ちもわかりますが、これを使わないことで油の酸化 が進みやすくなり、そっちの方の発ガン性物質の方が、影響が大きいかも。ということも考慮された上での トレードオフ を検討された方がより実質的な結論になるかもしれません。


自分は、欲張りなので、どっちもないのがいいなと思い、また深掘りしてみると、発芽玄米を食べることで、自然にグリシンがとれそうということがわかった。


そういえば、体感として、ご飯たべたら眠くなるし、それを逆手に使おうと考えた。

 

自分の慢性病を次々に直していく、原因を明らかにしていく尊敬する漢方先生がいらして、その先生曰く、

 

「 ご飯を食べて眠くなる。 これは農耕民族の 自然な からだの作用  」

 

とのことです。( 詳細は一旦今回は省きます )

 


ところが、面白い記事を発見した。

 

検索ワード

 

" 発芽玄米  眠くなる "

 

 

アブシジン酸 という毒

 

https://tetetenoblog.com/540.html

発芽玄米を食べて眠くなる原因には、ご飯の消化吸収の際の農耕民族本来の自然な作用だけでなく、玄米の「 アブシジン酸 」 という毒が原因で眠くなるとのこと。

 

まじか!(゚O゚)

 

これは 妊娠中の方など要注意ですが、個人的には、こういった少量の毒をむしろ待望していた😎

 

別にドMではない。

 


サプリ の危険な使い方

 

そもそも 個人的な考えでは、サプリは使い方次第では、より深い毒である。

そのサプリを飲み続けなければ いけなくなる という体を作るのに適している。


いわゆる サプリ中毒者 を " 大量生産 "して、儲けている企業が多いという考えなので、

 

「 xxxx (サプリ) を毎日飲むと体にいいですよ 」

 

という宣伝をしている企業は、基本的に信用していない。

仮に毎日それを飲み続けていった結果、だんたん効かなくなっていきませんか?

消費量は増えていきませんか?

 

そういう体になることで、本当にあなたの心と体を大切にしてくれているのでしょうか。

 

 

大切なのは 自己防衛?

 

自分は 古来より伝わる哲学や、人間の原始時代での営み はどうだったのか ということに思いを巡らせて考えてみることを大切にしています。

 

自分にとっての究極的な" 自然体 "とは何か、いつも趣深いです。

そしてとても深く、すっきりと腑に落ちるものは、時に清々しいものです。

 

 

古来より伝わる哲学 と 少量の毒 と 漢方

 


逆に毒は、古来よりの仏法哲学の言葉を引用すると、 " 変毒為薬 " とある。
竜樹の『大智度論』にあるように、毒を変えて薬と為す 。と

 

そう考えると アオカビ から発見された ペニシリン って 面白いです。

 

また、漢方医学 ( 中医学 )では、少量の毒のある生薬をうまくつかって、慢性的な病を治癒していくものがあるように、1週間に1回くらいは、サプリよりも、少しくらいの毒を取り入れる形の方が、自分の漢方スタイルに合っているので、これで決めた。


自分が本来もっている免疫などの作用の方を正常に働かせて、少量の毒をあえて取り入れて、体内における薬の作用に変えていく

 

また逆に、体が従来もっている機能やはたらきを、甘やかしすぎない程度にバランス・タイミングに気をつけて、必要な時、ここぞという時に、サプリ を有効につかう。

 

これが私の基本とする からだ および 健康 作りです。

 


結論 はシンプル

 


これからは、早く寝たい日は 発芽玄米 を ご飯に混ぜて炊いて食べよう。

( 他の日は、普通のご飯でいい )

 

 

 

 

 

 

あ、ついでに GABA も入ってるやん(゚O゚) 

 

 

毎日 同じものばかりよりも、日々いろんなものをバランス良く食べて、健やかに快適なライフを(´ω`)  

piwik ( matomo )インストール

web解析ツール matomo を使おうと思ったので、その時の記録を。
これは、自分で制作したwebサイトに  matomo 用の javaScript を仕込んだりして、アクセス解析に使うように見受けられました。
 
また、matomo とは、もともと piwik という名前でした。
 
Matomoはオープンソースで開発されている高機能なリアルタイムアクセスログ解析プログラム。
MatomoはGoogle Analyticsの代わりとなるオープンなウェブ解析を目指し、100万以上のウェブサイトで利用されています。
 
 〜 https://matomo.jp より抜粋

 

それでは、今回は メモ程度ですが、インストールした時の ものを。

 

環境

Centos7
MariaDB を使う
 

 

MariaDB の準備

 

 
 
  # yum update -y
  # yum install -y vim wget
 
  # yum install centos-release-scl
  # yum install -y rh-php71-php rh-php71-php-mysqlnd \
    rh-php71-php-mbstring rh-php71-php-dom rh-php71-php-xml rh-php71-php-gd \
   sclo-php71-php-pecl-geoip rh-php71-php-devel \
   httpd24-httpd
 
  # yum install -y mariadb-server mariadb
 
  # systemctl enable httpd24-httpd mariadb
  # systemctl start mariadb
  # systemctl start httpd24-httpd
  # mysql_secure_installation

 

パスワードの設定は今回は、お試し用なので、しませんでした。 
 
  ○ Database のパスワードは設定しますか? [Y/n] n
  ○ root のパスワードを設定しますか? [Y/n] n
  ○ Remove anonymous users? [Y/n] y
  ○ Disallow root login remotely? [Y/n] n
 
今回は使わなそうなので 削除 
 
  ○ Remove test database and access to it? [Y/n] y
 
(権限テーブルを読み込む)
 
  ○ Reload privilege tables now? [Y/n] y
 
 
これでmariaDB の初期設定完了
 
 

matomo ( piwik )のインストール

 
matomo をインストールするディレクトリの作成から。
 
  # mkdir /opt/matomo-install
  # cd /opt/matomo-install
 
  # tar -xvf piwik.tar.gz
 

 

○ 解凍した piwik フォルダを 移動
 
# mv piwik /opt/rh/httpd24/root/var/www/html/

 

 
○ selinx を permissive に書き換える(詳細操作省略)
 
  # vim /etc/sysconfig/selinux
 
○ 再起動
# shutdown -r now

 

  # chown -R apache:apache /opt/rh/httpd24/root/var/www/html/piwik
  # sudo chmod -R 0755 /opt/rh/httpd24/root/var/www/html/piwik/tmp

 

 

MariaDB に matomo 用のデータベースの構築

  # mysql -p
 
  mysql> CREATE DATABASE matomo_db;
  mysql> CREATE USER 'matomo'@'localhost' IDENTIFIED BY '適切なパスワード';
  mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON matomo_db.* TO 'matomo'@'localhost';
 
 
○ ブラウザでアクセスできればOK!
http://インストール対象のIPアドレス/piwik/
 
 
参考: CentOS6 でのインストール
 
参考 : MySQL でのエラー対処
 
 
 できた!
 
セキュリティ をしっかりすべきところで行う場合は、
データベースのパスワードなど 適宜設定 する必要があります。
 

あとは、設定して使えます。たぶん。
ただしこれは、セキュリティが緩い状態なので注意です。
 
この画面からの設定方法は、設定したデータベースの情報、" matomo_db " や、" パスワード " など について気をつけながら、行うと良いと思います。