なんか興味あればどうぞ!

新着50件:気に入ったら見て行ってね。

TermuxでPHP7を使いたい! PHP8からPHP7にして使う。

先日、termux上でNGINXとPHP-FPMの設定記事を書いたときに気がついたんですが、termuxのPHPって7から8になってPHP7はもうPKGがなく入れられませんでした。 TermuxでNGINX+php-fpm+mariadbを動かす具体的な設定例Link で、一つ前の記事でPHP7を暫定配布していたのですが、ビルドしたのでその過程とビルドしたPHP7のdepパッケージをどうやって入れるのかネタにしようかと思います。 ビルドしたPHP7のダウンロード先 GITHUBに、ビルドしておきました。arm64bitのCPUを使っている方向けです。32bit版はありません。 Github: termux-php7LINK インストールの仕方は簡単に記載しておきます。 (1) 一旦、PHP8関連を入れておく とりあえず一旦、アップデートしておきます。アップデートできない人は1つ前の記事を見てください。 $ pkg update $$ upgrade その後、php8やphp-fpm、php-apacheなど入れておきます。 $ pkg install php php-fpm php-apache 今入っているバージョンを再確認しておきます。 $ dpkg -l | grep php 2021/06/01現在ですと以下が最新です。 $ dpkg -l | grep php | cut -b …
…読む?

Termuxでpkg updateできなくなって困ってる人へ

2021/5/1から、termux で、pkg update などできなくなてエラーになります。こんな感じ。 $ pkg update Checking availability of current mirror: ok Ign:1 https://dl.bintray.com/grimler/game-packages-24 games InRelease Ign:2 https://dl.bintray.com/grimler/science-packages-24 science InRelease Hit:3 https://termux.mentality.rip/termux-packages-24 stable InRelease Err:4 https://dl.bintray.com/grimler/game-packages-24 games Release 403 …
…読む?

備忘録:Ryzen 5 3600のLinuxでUnixBench

そういえば、だいぶ前にRyzen 5 3600をメインマシンにしたんですが、これでLinux動かしてなくて、UnixBenchのスコアが気になっていました。Diskはさくっと入れ替えられるよう、2.5inchの脱着ベイをつけてありますので今回はこのマシンにUbuntuを入れてUnixBenchを計測してみようと思います。 Intelチップ、2022年までしばらくさようなら!投稿日: 2020年3月13日 更新日:2020年11月13日Link もう1年以上使っていますね。intelがRyzenを盛り返すまで繋ぎで使っているんですが、なかなかintelは画期的なのを出しませんね。AppleはM1のオリジナルCPU出してきたし、5年後はintelが昔のAMDみたいになっていなければいいんですが。 Ubuntu 20.04.1 LTSでUnixBench MacOS10.14.x でUnixBenchを計測した時は、マルチCPUで2323.1でした。Ubuntu 20.04.1 LTSで、Ryzen 5 3600は以下のスコアです。 UNIX Benchmarks (Version 5.1.3) on AMD Ryzen 5 3600Single-Core Score:2422.6Multi-Core Score:7919.0 詳細は以下です。SSDは、SLCのsata2 64GBです。 BYTE UNIX …
…読む?

工学社 の本、androidの改造 に掲載されたよ!

工学社 出版のI/O編集部さんが、「Androidスマホの改造」っていうタイトルの本を出されたのですがその中で、なんと、このブログの記事の一部が載っていますよ。ただいま、絶賛予約中です! 5/27発売です。 出版社 : 工学社 (2021/5/27)発売日 : 2021/5/27言語 : 日本語単行本 : 112ページISBN-10 : 4777521494ISBN-13 : 978-4777521494寸法 : 14.8 x 1 x 21 cm 元ネタとなった当ブログの記事はこれです。 Pixel3・android11(R)正式リリース版でroot化!LINK 内容抜粋 工学社さんのサイトに抜粋がありましたので引用しておきます。第一章に、赤文字部分が掲載された部分です。 ■非公式アプリを入れる―root化 機械オンチでも出来る!Androidをroot化する方法 Pixel3・android11(R)正式リリース版でroot化 ■“スクショ”禁止のアプリで画像を保存 ―「Xposed」導入 Androidに「Xposed」を導入する方法 「Xposed」の使い方に関するアレコレ ■有志が作った最新OSでセキュリティ向上 ―ROM焼き 「Xperia XZs」のROM焼き ROM焼き手順 ■キャリア以外のSIMカードを入れる―「SIMロック解除」 「SIMロック解除」とは 「SIMロック解除」の条件と手順について ■高度なカスタマイズを可能に―adbコマンド 「Windows」で「adbコマンド」を使う方法 「Mac」で「adbコマンド」を使う方法 あとがき こんなブログの記事が、まさか本になるとは思っていませんでした。依頼が来た時は、びっくりです! 汎用性がある記事っていうのは、目に止まるっていうことですかね。root化の記事もそれなりに需要があるということですね。  今度は root化したらこんなことができるよっていう記事も書いていこうと思いました。今回の本にも載っている「あっとはっく」さんのサイトは面白い記事がたくさんありますね。見習いたいと思います。 日々をハックする記事をお届け:あっとはっくLINK 著者にメッセージ 間違いのご指摘など、コメントじゃなくて、個人的にやりとりしたい場合はこちらからどうぞ。お返事が遅くなるときもありますが、ご了承を。
…読む?

TermuxでNGINX+php-fpm+mariadbを動かす具体的な設定例

NGINXの設定 ホームディレクトリ以下にWEBのドキュメントROOTを作ります。どこでもいいのですが、termuxの$HOMEに作ります。自分の場合は、デフォルトのWEB ROOT(htdocs_default)と、www.gpl.jp ドメインのWEB ROOT(htdocs_nginx)を分離しています。 あと、SSL関連のファイルを格納しておくのでそれ専用のディレクトリも作っておきます。SSL関連は以下を参照
…読む?

2021/03 site24x7 でのSLA状況・統計データ

春ですねー! めちゃくちゃ暖かくなって外出したいんですが、なかなか世間の事情で旅行とまでは行きませんよね。せめて、散歩くらいはしたいものです。仕事の用事で、東京ー名古屋間をバイクで走ったのですがまだ夜は寒かったです。昼はちょうどいい天気で、めちゃくちゃ気持ちよかったです。  さて、ちょっと遅れましたが今回も3月のSLA統計データを出しておきます。 何を目指しているの? 稼働率・SLA99.95%をスマホ自宅サーバで目指せ!まずは1ヶ月間LINK site24x7のスターターパックを2020の10月から始めています。監視サービスでSLAを99.95%目指しています。99.95%とは1ヶ月にダウンタイムが21.6分以内であればOKということですが、10月から初めて1回しかクリアしていません。今年の2月に達成できたのですが、それ以外はNGINXか、PHPか、何かがメモリーリークしているような現象になります。 2021・03のSLA 今月の結果です。障害時間の合計は7 時間 39 分あって、SLAは98.972%となり目標の99.95%には届きませんでした。今月からなのか、site24x7のレポート画面が少し進化したようです。 主な内容はNGINXの「Bad Gateway」問題です。この事象は不定期に発生しますが、必ずOSがフリーズしたような現象になります。おそらくメモリーリークしている感じです。完全にOSが死んでいるわけではなく、かろうじて動作はしています。なぜなら、NGINXはBad Gatewayの応答を出しています。また、thingspeakで、CPU温度や、バッテリー温度をpythonで投げているのですがこれは動作しています。再起動するときに AndroidOSのホームを開こうしても開ません。仕方なく、電源ボタン長押しで強制再起動という感じです。 どのくらいのアクセス数なの? 去年の10月くらいから、pixel3のスマホサーバに引越ししたのですが、アクセス状況はこんな感じです。引越し以前のデータもそれほどかわりません。横ばいといった感じです。 こんなサイトでも3000人くらいのユーザさんが見ているのには驚きです。見ていてくださってる読者さんには感謝ですね。 まとめ 今回、なんとなくわかったのは以下となります。 ・時間をなんとか作って、NGINXを新システムに載せ替える・メモリ使用量などOS情報を外部に投げる仕組みを考える あとがき 課題はわかっていて、その調査をするか、代替え策を実行するか、やるべきことはわかっているのですが、腰が重いです。やることが退屈なので、違う面白いことに目がいってしまい、そのうち手をつけたいなと数ヶ月ずっと思っています。 著者にメッセージ 間違いのご指摘など、コメントじゃなくて、個人的にやりとりしたい場合はこちらからどうぞ。お返事が遅くなるときもありますが、ご了承を。
…読む?

Apple純正のUSキーボードの分解メモ

アップルのワイヤレスキーボードとはこんな製品です。今は、Magic Keyboard(充電式) っていうタイプなんで、乾電池を入れるこのタイプは古い製品ですね。写真は日本語配列ですが、これのUS配列でかたかながないタイプです。記号の位置や、英数・かなボタンが無いタイプとなります。 で、この古いタイプのワイヤレスキーボードは電池が3本のタイプと、2本のタイプがありますが、安ければどっちでもよかったので3本タイプをゲットしておきました。 状態を確認! ぱっと見は、結構綺麗なんですが写真のようにスペースキーが少し変です。左側が沈んで、右側は浮いています。たぶん、清掃して組む時にちゃんとハマっていなかっただけっぽいので、押し心地もよくないしちょっとバラしてみることにしました。 バラすとこんな感じです このタイプのキーはパンタグラフのプラスチックがキートップにハマっているだけです。外すのは、キートップを上側か、下側から持ち上げれば外れます。スペースキーなど、少し大きめのキーは、針金で補強されています。 良くみると、パンタグラフの一部と、金属部分が少し曲がっています。がーん! 左が沈んで右が浮いていた原因はこれですね。 パンタグラフは爪折れが右側にあったので、左右入れ替えて、右側が浮かないようにして対応。これでうまく治らない場合はまた考えることにします。あと、針金を受ける金属部分が曲がっていたので、ストロークが動かず、左側が沈んでしまっていたようです。金属部分は修正しておきました。 ハメ方のコツ 嵌める前に、掃除もしておきました。多分、前のオーナーが掃除してくれたんだと思います。あまり汚れはなかったのですが、ブラシと綿棒で軽く清掃。 で、ハメるコツですが、スペースキーなど、補強に針金が入っているキーはまず片一方を穴に通してやると簡単にハマります。 この薄型のキーボードは見かけによらず長持ちしますので、末長く使うなら保守用のジャンクを購入して修理するのもありかなと。今は使わない日本語キーボードを保守用のドナーにしておいても良いかも。薄い割には押し心地が結構よくて、気に入っています。毎日使っていても、かなり長持ちします。 下の写真は修理が終わったところ。浮いていた部分もしっかりハマって、折れていた爪も今のところ問題なく、しっかりタイプできるようになりました。 純正の場合は、このように電池残量が見えたりします。 あと、キーボード設定で「F1、F2などのキーを標準のファンクションキーとして使用」のオプションが表示されます。 まとめ 今回、なんとなくわかったのは以下となります。 ・メルカリ相場は2000円〜4000円くらい・Apple Wireless Keyboardは、電池3本のA1255と、2本のA1314とがある・パンタグラフの爪は弱そうなので、バラして掃除するときは要注意・キートップだけ外して、パンタグラフはつけたまま掃除のほうが良いです・やっぱりUS配列は使いやすい・パチモノとは大違い、Apple純正はタイプしやすいです! あとがき 10年以上、このワイヤレスの日本語配列を使っていたのですが、拠点が複数になり1年前から英語配列のパチモノキーボードを使っていました。もともと英語配列のキーボードを使っていたので、すっかり慣れてしまったのですが、トニカクこのパチモノキーボードの押し心地が非常によくありません。 あえて言葉で表現するなら、Apple純正はしっとりした感じ。パチモノは軽くてキートップから滑る感じなんですよね。純正は薄くてもしっかりとした打鍵感がありますが、パチモノは打鍵感が弱いんです。うーん、言葉ではうまく表現できないですね。w まぁ、安いのでしかたありません。Bluetoothキーボードが1000円ちょっとで手に入るのはある意味、驚異的ですからね。 で、毎日触るキーボードですので、Apple純正の、US配列をゲットすることにしたのです。  この薄型のキーボード、見た目は押しにくそうですが実は結構快適にタイプできます。キーストロークがあるタイプだと疲れてしまうのでこの薄い、ストロークがほとんどないこのキーボードが好きなんです。最近はこれの後継でMagic Keyboardというのがあるようで、次に壊れたら、これを使ってみようかなと思います。  このキーボードが好きな理由は他にもあって、ESC横のF1〜F4あたりのキーに触りやすくて、ミッションコントロールなど特殊キーを割り当てています。いつかは、メカニカルスイッチのキーボードをDIYしたいので、こういう薄型タイプからは卒業しないといけないのですが、、、 著者にメッセージ 間違いのご指摘など、コメントじゃなくて、個人的にやりとりしたい場合はこちらからどうぞ。お返事が遅くなるときもありますが、ご了承を。
…読む?

6年使ったSSDが突然、認識せず、あれこれした記録

ということで、ちょうどOSを載せ替えようとSSDを調達して、大事なデータをコピーし終えたところで、突然認識しなくなりました。認識しなくなったSSDはこれ。当時のカタログの切り抜きを。 正式な型番と購入した値段、時期は以下です。 Samsung SSD840 500GB MZ-7TD500B/IT 2013年8月2日当時に購入したものですが、当時は結構高かったですね!1年後くらいに1回壊れたので、保証があったので新品にしていだきました。なので、2014年12月から、2021年3月まで使っていたことになります。約6年ですね。 順番は前後しますが、壊れたからSSDを新調したわけではなくOSを載せ替えようと、新しいSSDを先に購入しておいたわけです。ラッキーでした! 新しいSSDは何にするか品定め!  さて、OSを載せ替えるので新しいSSDを調達しようと思います。価格と相談ですが、容量どのくらいにしようかと久しぶりにリサーチ。  なんと1TBが、¥10,980じゃないですか!7年前の価格に換算すると、5万ちょいですよ。しかもCrucialで国内正規品。これでいいやということで速攻ぽちっとしました。当時は500GBでも十分と思っていましたが、あれこれ動画編集とかアプリとかいろいろ入れるので500GBだとちょっと窮屈でした。1TBあればだいぶ余裕ができますね。 Amazon : Crucial SSD 1000GB MX500¥10,980https://amzn.to/2ORFRiK このSSDのスペックは以下です。5年保証で、360TBのTBWがあります。きっと5年では、使いきれない書き込み総量ですね。 Crucial SSD 1000GB MX500 CT1000MX500SSD1/JP 発売時期:2018年 10月 Micron 3D TLC NANDフラッシュを採用 Silicon Motion SM2258 SSDコントローラを搭載 2.5インチフォームファクター、厚さ7mmの薄型モデル SATA 6Gbpsインターフェース対応 読込速度 最大560MB/s 書込速度 最大510MB/s 4kランダム読込 95,000IOPS 4kランダム書込 90,000IOPS ファイルの保存や転送の高速化するDynamic Write …
…読む?

謎のICが載ったType-Cリポ充電基板でポケットオシロを電池仕様に!

さて、今回はこの前、アリエクでポチった1枚あたり45円のリポ充電基板が届いたので早速使ってみました。基板はこんな感じです。 リチウムポリマー充放電保護基板 リポ充電基盤のType-C版が出てたんでポチった!https://www.gpl.jp/2021/02/20/type-c/ この前、買ったんですが結構届くのが速かったですね。写真のように繋がった状態で送られてきますので、手で折って分離します。基板が薄いので簡単に分離できます。 これのマイクロUSB版はだいぶ昔に以下で紹介しています。 5V 18650 リチウムバッテリー充電モジュール投稿日: 2015年5月10日 このメインICはTP4056だったはずですが、今回の基板には型番・LN4056っていう刻印があります。 これ、スペックシートが出てきませんね。これは、まぁTP4056の互換チップなんだと思います。多分作っているのはここ。 上海南麟电子股份有限公司Shanghai Nanlin Electronics Co.、Ltdhttp://www.natlinear.com/ 南麟っていうのが愛称ですかね。中国のサイトを深く潜ればPDFもあるとは思いますが、これ以上追わず。工作したいので。近い型番だと、以下にPDFがあります。 南麟PDFhttp://www.natlinear.com/uploadfiles/2014/LN/ 工作終わってから、気になって探しました。結果、以下にありました。 LN4056Hhttp://www.icdemi.com/viewManual.aspx?p=LN4056H.pdf 製品概要を和訳すると以下です。 USBインターフェースと互換性のある1.0Aリニアバッテリー管理チップ■製品概要LN4056Hは、定電流/定電圧で単セル充電式リチウム電池を充電できる充電器回路部品です。このデバイスは内部にパワートランジスタを備えており、アプリケーションで外部電流検出抵抗やブロッキングダイオードを必要としません。 LN4056Hは、周辺機器をほとんど必要とせず、USBバスの技術仕様に準拠しているため、ポータブルアプリケーションに非常に適しています。熱変調​​回路は、デバイスの消費電力が比較的高い場合、または周囲温度が比較的高い場合に、チップ温度を安全な範囲内に制御できます。内部固定定電圧充電電圧は4.2Vで、外部抵抗で調整することもできます。充電電流は外部抵抗によって設定されます。入力電圧(ACアダプターまたはUSB電源)の電源を切ると、LN4056Hは自動的に低電力スリープモードになり、バッテリーの消費電流は0.1μA未満になります。バッテリ電圧が入力電圧よりも高い場合、内蔵パワーMOSFETは自動的にオフになります。その他の機能には、低入力電圧ラッチ、自動再充電、バッテリー温度監視、および充電ステータス/充電終了ステータス表示が含まれます。 LN4056Hは、イネーブルピンを介して充電をオフにすることができ、オフ状態のチップの静的消費電力は20uA未満です。チップには、バッテリ逆接続保護があります。LN4056Hは、熱的に強化された8ピンスモールアウトラインパッケージESOP8を採用しています。Local:pdf バッテリーに繋がずUSBを接続すると? 基板に電池を繋がないと、青色LEDが常時点灯して赤色LEDが不規則に点滅して光ります。この挙動はTP4056と同じですね。 詳しく検査はしていませんが、仕様は同じと思うので組み込んでみることにします。 ポケットオシロをType-C版に変更 DSO Shellというポケットオシロですが、リポ電池仕様に変更してつかっていました。これは、USBからリチウムポリマー電池に充電するユニット(青い小さな基板)と、5Vから9Vに昇圧するDCDCコンバーター(写真の黒いやつ)が入っています。 以前、使っていた、マイクロUSB仕様の充電するユニットを今回のType-C仕様に交換します。まずは古いの取り払う作業をしたのですが、グルーガンで固定していただけですが、かなり強力に付いていました。写真は、古いのを取って新しいのに交換済みの状態です。 ちょうど、電池も寿命で充電できなくなっていたので両方とも交換しました。バッテリーに繋いだ状態だと、赤色LEDだけ光って充電されます。そして、充電が完了すると青色LEDだけが光ります。 黒い基板は、DSO Shellの電源電圧は9Vなので5Vを昇圧する基板ですが、これは交換せず使い回しします。 上が古い基板で、下が今回のです。大きさは同じですね。基板の厚みは今回のType-Cのが薄かったです。コストカットでしょうか。まぁ、でも薄いほうが組込しやすいので、問題ないですけどね。 この電池でポケットオシロはどのくらい動く? このリポ電池は250mahです。満充電でどのくらい動くのでしょうか。あまり気にしたことがないので、確認してみます。満充電した状態から、動かしっぱなしにしてどのくらい電池が持つのか? 電源ON・・・・ 今の所10分くらい経過していますが、まだ動いていますね。この電池もアリエクでポチったやつです。5年くらい前に買って、まだ数個残っています。 250mahのかわいいLipo到着リンク さらに10分経過しましたが、まだ動いていますね。・・・・さらに5分経過。結構もちますね! さらに5分したところで画面が点滅しました。およそ30分っていう感じですね。これだけ持てば十分です。この状態から満充電までは25分くらいでした。 まとめ 今回、なんとなくわかったのは以下となります。 ・謎のICが載っていたが、おそらく互換チップ・追加調査で、これは上海南麟电子股份有限公司のLN4056H・USBから充電したら赤く点灯し、満充電で青く点灯。問題なく動作した・詳細にチェックしていないので気が向いたら確認してみよう あとがき やっぱりType-Cの充電はいいですね。最近ケーブルがType-Cばっかりになっているんで、マイクロUSBだとケーブル探さないといけないときがあります。それに、上下どっちに刺してもいいので楽ですよね。Type-C万歳です。 あと、チップの出どころがわかりスペックシートがあってよかったです。リチウムポリマー電池に充電するので、仕様が不明なICだとなんだか気持ち悪いですよね。南麟という会社は、今まで知らなかったのですが上海に2004年にできた比較的新しいチップ製造メーカーのようです。ISO9001:2008も取得していて、電源管理チップが専門のようです。 著者にメッセージ 間違いのご指摘など、コメントじゃなくて、個人的にやりとりしたい場合はこちらからどうぞ。お返事が遅くなるときもありますが、ご了承を。
…読む?

2021/02 site24x7 でのSLA状況・統計データ

site24x7のスターターパックを2020の10月から始めています。監視サービスでSLAを99.95%目指していましたが、ついに達成できました! 稼働率・SLA99.95%をスマホ自宅サーバで目指せ!まずは1ヶ月間LINK ちなみに、先月は97.42%で無理でした。site24x7の監視サービスは強力ですが、まだ自動的に復旧する仕組みを作っていないので、再起動は人力となっています。これができれば常に目標SLAを達成できそうです。 2021・02のSLA さて、今月の結果から!ダウンタイムの3 分 29 秒で、SLAは99.991%となり今月は目標の99.95%に届きました! やったー! ツイッターで、呟いていたらSite24x7の中の人がうれしいメッセージを送ってくれました。 おおーーーッ!SLA目標達成おめでとうございます!なんか自分のことのように嬉しいです!笑— Miya – SaaS型監視ツールの中の人 (@Miya_Site24x7) March 1, 2021 嬉しいツイート、ありがとうございます! 少しダウンした原因は? 毎回、いいところでダウンするので今月は意図的に再起動を手動でしておきました。毎回、ある程度時間が経過すると「Bad Gateway」が出てしまうんです。とりあえず、再起動を少し入れて様子見をしてたんですが、それが良かったようです。赤い部分は再起動を入れたので、そのダウンタイムです。 まとめ 今回の教訓は以下となります。 ・再起動は有効だった・根本原因はまだ未調査。対処療法で再起動して対応・再起動を自動化するには、スマホのリセットを外部から行う仕組み作りが必要・実験用で、UmidigiF2にその仕組みを模索したい あとがき 前回から、スマホを意図的に再起動させる仕組みをどうするか考えています。ハードウェア的に再起動を行うには、バッテリーを外して、電源をリモートからコントロールするようにするとか考えていましたが、root化してある端末ですので、他にも方法がありそうです。それにハードウェア的にリブートさせてもandroidシステムのいろいろな問題(例えば再起動後はロック解除しないとホーム画面まで行けないなど)があります。 ソフトウェア的には、以下コマンドでシステムが瞬時にシャットダウンします。 $ tsu # reboot -p Done -pオプションを取れば、リブートします。しかし、このリブートだとWiFi接続に自動的に接続しなかったり、再起動時はロック解除をしないとHOME画面まで行かないのでTermux bootが動作しなかったりと問題があります。 そこで、以下を試しています。 Google Play : MacroDroid – デバイス自動化https://play.google.com/store/apps/details?id=com.arlosoft.macrodroid このアプリはよく出来ていて、これを使うことにより、以下のような事ができることがわかりました。 ・一定曜日の特定時刻にソフトリブート(要root化必要)・起動時にWiFiの特定APへ接続(ヘルパーアプリ使用)・起動時に特定アプリを強制起動(termuxを起動させる) このリブートだと、ロック解除しなくても特定アプリが動かせるし、WiFiへの接続も問題なさそうです。 termux が動作すれば termux boot …
…読む?

XIAOでMacのスクリーンショット専用USBキーを作るDIY

今回のDIYは、ちょっと実用的なものを作ろうかと思います 最近、はまっている小さくて安いArduino互換機、XIAOを使ってカスタマイズできるキーボードを作ろうと思います! 冒頭でも少し触れましたが、MacのスクショアプリでSkitchっていうツール使っているんですが、このスクショのショート専用のキーボードを作ろうかと。ショートカットは、シフト+コマンド+5ですが、3つもボタンを押さないといけないので、1ボタンだと助かります。 その後、Skitchの編集メニューから「画像をコピー」でクリップボードに入れてWordPressのローカルアプリに貼り付けるのが、一連の動きです。このショートカットがシフト+コマンド+C です。 構想では、この2つのボタンが専用であるといいなと。キャンセルしたいときにESCキーがあると便利かもしれませんね。 使えるUSBライブラリは? TinyUSB Mouse and Keyboard libraryhttps://github.com/cyborg5/TinyUSB_Mouse_and_Keyboard/ このライブラリは、Chris Youngさんが統合したTinyUSBです。以下で紹介されています。 Mouse and Keyboard Control Using TinyUSB and BLE examplesを試したのですが、記述がわかりやすいし使いやすそうだったのでこれでやってみることにします。他にも、Seeedの紹介ページにAdafruitのライブラリを使った例がありますが、examplesを見た限りでは使いにくそうでしたのでこちらはパスです。 Seeeduino XIAOをUSBデバイス(TinyUSB)として使う ライブラリを入れる マスターのZIPをArduinoIDEから入れて、例題をやってみます。 ZIP : TinyUSB_Mouse_and_KeyboardURL Arduino IDEからライブラリをいれるのは、以下からです。 ZIPのライブラリを入れると、以下のように同じところから見えていると思います。 提供されたライブラリは、Macだと以下に入るようです。直接ここに入れてもOKです。 /Users/USERNAME/Documents/Arduino/libraries/ ちなみに、ArduinoIDE組込(デフォルトの)は以下です。 /Applications/Arduino.app/Contents/Java/libraries/ XIAOのボード関連は以下にあります。 /Users/USERNAME/Library/Arduino15/packages/Seeeduino/ ライブラリとか、PGのディレクトリ以下に格納しておいたほうが後からわかりやすいかもしれません。数年後、また動かそうとすると環境変わっていたりしますからね。その場合は、includeをダブルクオートで囲って記載すればカレントディレクリ(現在のディレクトリのこと)を参照します。 #include “TinyUSB_Mouse_and_Keyboard.h” サンプルを動かしてみる Macユーザーで、Launchpad のショートカットをF5にしていれば動作します。 $ git clone https://github.com/take-i/XIAO-USB-example.git $ cd XIAO-USB-example/xiao_usb1/ $ open …
…読む?

XIAOとスマホだけでnode.jsのJohnny-Fiveを動かす最短コースをご案内!

はい、ちょっと興奮気味なんですが今日のネタは、 「XIAOとスマホを接続して、それだけでXIAOを制御する!」 ってことがメインテーマです。物理的な接続イメージは図に書くとこんな感じです。node.js実行環境をtermuxに作り、johnny-fiveというnode環境で動作するものをFirmataプロトコルでXIAOとやりとりします。もっと簡単にいえば、 JavaScriptでXIAOを操る ですね。 通常、node.js実行環境はPCに作ったりしますので、物理的な接続イメージは以下のようになるかと思います。 JavaScriptでXIAOのGPIOを操作するのですが、まだこの構成のメリットがよくわかっていませんので、触ってみようと思いました。 物理的に用意するもの (1) Androidスマホ(2) Seeed XIAO(3) ケーブル(Type-C x Type-C) Androidスマホは手持ちのものでも、余ったものでもOKです。XIAOは3個入りで1800円くらいでアマゾンから購入できます。ケーブルは100円ショップですね。 Androidスマホ の必要アプリ GoogleStore : Termuxhttps://play.google.com/store/apps/details?id=com.termux まず、Androidスマホのアプリを入れておきます。あと、もう一つ有償アプリですが以下を入れておきます。日本円で190円です。 GoogleStore : BT/USB/TCP Bridge Prohttps://play.google.com/store/apps/details?id=masar.bluetoothbridge.pro これはブリッジアプリで、今回の用途ではXIAOのUSB接続のシリアル通信をTCP上にブリッジする用途で使います。シリアルTCPのブジッジアプリは他にもいろいろありますが、XIAOと接続できた勇逸の神アプリです。 Termuxのセットアップ アプリを入れたら、パッケージをアップデートしておきます。Termuxのコンソールからタイプするのが面倒なら、PCからSSHして作業するといいかもです。 pkg update pkg upgrade 以下が今回必要なものです。 pkg install nodejs python clang make openssh -y 手持ちの環境、HUAWEI P20 liteでは以下が入りました。 $ …
…読む?

Arduino Nano互換機に書き込めないだと!

いやはや、5年も触っていないといろいろ完璧に忘れています。ArduinoNanoという小さなArduino があるんですが、それにLチカでも書き込んで動作確認しようとしたら、書き込めずエラーが出てしまいました。持っているNano互換機はこれです。 JunkHack : arduino hello world! 投稿日: 2015年3月15日6年くらい前の記事で、$3でアリエクでポチったものhttps://www.gpl.jp/2015/03/15/arduino-hello-world/ 今回のエラーログは以下のようになります。 avrdude: Version 6.3-20190619 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ …
…読む?

久しぶりに一目惚れしたArudio互換機のSeeeduino XIAO

サムネでもわかるとは思いますが、これ全体のフォルムがかわいいんですよね。あと想像よりもちっさいんです。親指くらいの大きさなんですよ。発売は去年の3〜6月ごろだったみたいですが、今頃発見です。 3個入りパッケージで1,750円! Wiki Seeeduino Xiaoをはじめようhttps://wiki.seeedstudio.com/jp/Seeeduino-XIAO/ Seeedの日本語版のWikiもありますので、大きさなどはそちらでどうぞ。上の写真は3個入りのをアマゾンからゲットしました。3個入りで1800円弱です。1つ600円ってとこですかね。 中身! 想像より、ちっちゃい!親指に乗りますよ。 ESP32と遊んでからだいぶ月日が経ちましたが、大きさはそのくらいです。ブレッドボードに刺さるのでPinつけてすぐ楽しめますね! まずはボードをじろじろと見る! Type-Cコネクタが付いていて、端面がスルーホールになっていて面実装も考慮されていますね。このType-Cコネクタは6ピンタイプじゃなくて12ピンです。あと、LEDらしきものが4つ付いています。 金属のカバーで覆われていますので、その中が気になるところですがまずは、PIN番号が表からわかるようにシールを貼っておきました。なかなか気が利いていますね! Seeedさん、このプロダクトをリリースするにあたりいろいろ気合いが入っているようです。 裏面を見ると、SMD実装したときのVIN,GNDがありますね。4つの丸いのは、なんでしょうか? 調べてみると、英語版Wikiによれば、Newバージョンだとこの丸いのが4つあるようです。 Seeed 英語版Wiki:hardware-overviewWiki どうやら、SWCLK (PA30) と SWDIO (PA31) のGPIOのようです。 qita : Seeeduino XIAO 背面パッドをGPIOとして使うhttps://qiita.com/nanase/items/37ecca24aee8fbd4492e だいぶ時間が経過しているので、先輩たちがあれこれ情報をあげていてくれて助かりますね。 やっぱり、Type-C が付いているところがうれしいです。接続しやすいですからね! 動作確認 Type-Cケーブル(スマホでいつも使っているやつね)をPCに繋げて、おもむろにXAIOに繋げてみます。ケーブルのほうが重いので、本体が浮きます!  オレンジ色のLEDがピカピカしてますね! とりあえずLチカ Arudio IDEを使って、Lチカでもやってみます。SeeedのWikiにしたがってIDEは仕込みんでおきます。久しぶりすぎて書き方、だいぶ忘れちゃいました。 この2つのブルーLEDは、RX/TXのLEDなんですがIDEからも定義されているので、光らせることができるようです。デジタル出力だけかなと思っていましたが、アナログでもいけるようですね。 //setup()内の処理は最初の一回だけ行われる void setup() { pinMode(PIN_LED2, OUTPUT );//Pinを出力用に設定 pinMode(PIN_LED3, OUTPUT); int led_pw = …
…読む?

リポ充電基盤のType-C版が出てたんでポチった!

はい! またアリエクでポチってしまいました。 今回は、備忘録として記載。まだ到着していませんが、到着するころには「これなんだっけ?」という事態になることが多発していましたので、ポチッとしたらブログに書いていくことにします。  副次効果としては、ぽちったら記事を書かないといけなくなるので衝動買い防止にもなるかなと!今日買ったのはこれです。 なんとお値段、送料込みで10個450円です。1個あたり45円と、価格破壊な値段ですね。たぶん、このUSB Type-Cコネクタは6pinだと思いますが、簡単な工作であればこれで十分です。マイクロUSBのタイプもありますが、やっぱり差し込む方向を意識しなくていいType-Cは便利です。今では100円均一でもケーブル売っていますしね。 リポ充電基盤とは? 5V 18650 リチウムバッテリー充電モジュール投稿日: 2015年5月10日 5年くらい前にも購入していましたが、だいぶ数が少なくなったので追加購入です。この基盤は、リチウム電池を過充電、過放電しないための基盤です。メインチップは、TP4056で保護回路に、DW01A と ML8205A が乗っています。今回購入したのがどんなチップが乗っているかはまだ未調査ですが、まぁ仕様は同じでしょう。 この基盤、ちょっと電子工作して何か試作版を作る際に、リチウム電池とともに組込セットで詰め込むときに重宝します。 例えば、こんな感じで試作版に使っていました。 これはESP8266 ESP-12を使った温度・湿度・照度系のIoTデバイスなんですね。 ちょっと見えにくいですがマイクロUSBが刺さっている部分にその基盤があります。5Vからリチウム電池に充電し、5Vを放電します。他にも、ポケットオシロスコープを充電持ち運び仕様にしてみたりと。 これの工作の記事は忙しくて書いていませんでしたが中にリポ電池とこの基盤などが入っています。簡単にでも書いておけばよかったなー。ちょっと持ち運んで何か計測したりとか便利でした。 あと、自作基盤にこの充電ボードを乗っけた例もありますね。 ESP8266 BackBoost この白い基盤は自作基盤でESP8266とバックブースト電源回路などが乗っています。充放電管理基盤は自作だと高くつくのでこんな感じで基盤にリフローして、くっつけて使っていました。 まとめ 今回、なんとなくわかったのは以下となります。 ・Type-C版のTP4056充電管理基盤はケーブル接続が便利そう・以前のマイクロUSB版より安くなっていた・仕様が変更になっているのか、未調査・今後、この基盤で工作していこうと思う・基本的な構造は前のと同じだと思う・到着したらまた検討してみる あとがき  それにしても以前、マイクロUSB版のを購入したときは1個あたり97円だったのに。Type-C版でさらに安くなっています。余分な機能をなくし需要があるものを大量に作って、良いものを広く販売するという基本的な考え方はすごく好きです。反面、検品コストという考え方も日本とは違いますので不良品率はあがります。しかし、入念に検品して全体のコストをあげるより、ある程度の検品品質で不良品が混入すれば交換すれば良いという考え方もあるのも事実のようです。  薄利広商 という言葉があるようです。中国の文化なのか日本の文化なのか歴史に疎いので良くはわかりませんが、中国の商人の中にはこういう考え方があるんじゃないのかなと思います。意味合い的には、薄利多売と似ていますが、これは少しネガティブなイメージもあります。しかし、薄利広商 というのはあまり聞かない言葉ですが、薄い適切な利益を乗せて広く客に販売することが本来の商売であり、それは社会も良くしていくのだという考えのようです。売り手もどこよりお得にお客に販売するのは、本来気持ちの良いものだと思いますし、お客も安く良いものが入手できたら嬉しい。それは転じて地域もよくしていくのだという思想のようです。  少し前のマスク買い占め転売、プレステ5 の転売などそういうのは本来の商売ではない、長く商売をやっていくためにはもっと違う視点を持つべきだというのが「薄利広商」という言葉の真意なのではと思います。 著者にメッセージ 間違いのご指摘など、コメントじゃなくて、個人的にやりとりしたい場合はこちらからどうぞ。お返事が遅くなるときもありますが、ご了承を。
…読む?

MQAは実際に体感できるほどの高音質なのか?

そもそも、MQAとの接点はTidalという音楽配信サービスでした。Tidalの詳細は以下リンクを見ていただくとして、その特徴はSpotifyにはない高音質の音源を配信しています。 TIDALとは何ですか?https://tidal.com/whatistidal 以下の図のように、Tidalでは、masterラベルがついている音源があります。 ちなみに、この音源のラベルには以下の種類があります。 CD品質の16bit/44.1khzは、HiFiという表記になり、ほとんどの音源はこの品質以上です。MQAとはこのラベルでいえばMasterとなっているラベルが相当し、これはハイレゾ相当になります。MQA云々の前に、まずはハイレゾとは何?っていうところをまとめてみます。 ハイレゾとは? ハイレゾ音源はサンプル程度にしか買ったことがありません。意味的にはWIKIの通りなんですが、ちょっとわかりにくいですね。 Wikiハイレゾリューションオーディオ (英: High-Resolution Audio) とは、CD-DAのサンプリングパラメータ(44.1 kHz, 16bit)よりもレゾリューションが高い(デジタル)オーディオのこと[1]。略して「ハイレゾオーディオ」、「ハイレゾ音源」または単に「ハイレゾ」と呼ばれることもある(高分解音質・高解像度音質)。Wikiへのリンク 日本オーディオ協会の図が一番わかりやすいですので引用します。 日本オーディオ協会 ハイレゾ 定義と運用https://www.jas-audio.or.jp/hi-res/definition つまり、赤枠がハイレゾの定義です。厳密には、量子化ビット数が24bitでサンプリング周波数が96khz以上のようですね。赤枠の中の黄色部分がそれです。 量子化ビットとは平たく言えば、音の強弱の細かさです。16ビットより24ビットのほうがより、小さい音から大きな音まできめ細かということになります。サンプリング周波数というのは1秒間に採取する音の密度です。cd品質の44.1khzより、96khzとか192khzとかのほうが理論上は高周波まで正確に記録できる密度があります。正しく元の信号を再現するため、サンプリング周波数は記録する周波数の2倍である必要があるようです。つまり、サンプリング周波数が44.1khzであれば、22.05khzまでで、192khzであれば96khzとなりますね。 人間の耳で聞き分けられるかはここでは横においておきますね。 ハイレゾだと無条件に音質がいいのか? 答えは、いいえです。音の良し悪しは、趣味趣向がありますがここでいう音質はより音像が明確で、音の存在が明確なことを指しています。もちろん、人間がですよw これはアップサンプリングしてデジタル処理した音もハイレゾっていうことになります。実際、ノイズが入った古いアナログ音源をアップサンプリングしてノイズ除去した音源もたくさんあり、これもハイレゾとなって流通しています。また、録音機材や録音条件が悪い(例えばライブとか)マスター音源からハイレゾ音源を作ってもこれはそれなりな音になります。  無圧縮のマスター音源はデータサイズが大きすぎるので、CD規格に収まる16bit/44.1khzのサイズにしているわけですが、それより良い品質にしましょうよということで、ハイレゾ音源というのがあるというわけです。 また配信サービスはCD品質の規格以上でも問題ないわけです。映像の配信データと比べたら、音の配信データなんて小さなものです。Tidalでは、CD品質をHiFiとし、それ以上をMasterというラベルをつけているわけです。 あと、そもそも24bit/192khz 音源は意味がないと言い切っているエンジニアがいます。一度、読んでみると考え方がかわるかもしれませんね。 モンゴメリーさんの 【24/192 音源は本当に馬鹿げている】翻訳https://nk-productions.net/column/monty-24-192/ MQAとは何か? これは、今でも実はよくわかっていません。オフィシャルの説明はいろいろあるんですが、すごく大雑把にいえば以下が要点のようです。 (1) 時間軸解像度(音のにじみ)が人間の時間に対する感度(10μ秒以下)相当  → なんのことですか?(笑)(2) ハイレゾに比べて、ファイルサイズが小さい  → 例えば、Flac 24bit/96khz よりMQA Flacはサイズが小さい(3) ファイル互換性がある  → MQAファイルでも普通の再生環境で再生できる (1) は、検証できませんでした。検証する方法がわかりません。 (2) は、実際に比較してみました。(3) は、問題なく再生できました。 TidalのMQAファイルをダウンロードして観察 手持ちのハイレゾとTidalのMQAファイルを比べてみます。まず、Tidalの楽曲は、Donald Fagen のKamakiriad …
…読む?

MQAレンダリングできる世界一安いDACを買ったよ!Hiby FC3 Portable MQA USB DAC

ぴーちゃんのように、DACって興味がないと???ってなりますよね。これは、スマホとかPCからUSB接続してヘッドフォンなどを接続して音を出すヤツです。「Digital Analog Converter」の略ですね。 実際、自分も今まで外付けのDACってのは1つしか買ったことがありません。アリエクで2000円くらいのものです。 Meizu HiFi DAC Cirrus Logic CS43131 Chip Androidデバイスから有線ヘッドフォンを接続する時に使うので、なんとなく安いのを選んだだけです。Pixel3 とかは、ヘッドフォンジャックを挿す穴がないんですよね。  で、今回購入したDACは、TidalでMQAをフルレンダリングできるものです。TidalっていうFlacやそれ以上の高音質を配信している聴き放題サービスを使っていて、その中にMQAっていうものがあるんですよね。面白いテクノロジーで、こういうのは実際体験してみないと! なんですよね。 今回買った新しいDACの特徴は? HiFiGo : Hiby FC3 Portable MQA USB DAC Headphone Amplifier::ES9281Pro DAC chip32-Bit/384kHz PCMDSD DoP128124 dB DNR4x …
…読む?

2021/01 site24x7 でのSLA状況・統計データ

site24x7のスターターパックを2020の10月から始めています。監視サービスでSLAを99.95%目指していますが、果たしてスマホサーバで達成できるのでしょうか? 稼働率・SLA99.95%をスマホ自宅サーバで目指せ!まずは1ヶ月間LINK ちなみに、先月は99.368%で無理でした。かなり惜しかったんですよ!site24x7の監視サービスは強力です。これがなければ、もっとダウンタイムは長かったです。 2021・01のSLA さて、今月の結果から!ダウンタイムの合計19 時間 12 分あって、SLAは97.42%となり今月も目標の99.95%には届きませんでした。先月も書きましたが99.95%とは1ヶ月に21.6分以内のダウンタイムに留めないといけません。正月早々に、監視のお知らせはきていたのですが、寝ていて気がつかず! この1日がなければ達成していたんですよー。 原因は? 今月も設定ミスではなく、NGINXがBadGatewayを出して本格的に停止していました。 ちょっと回避が難しいので、運用でカバーしようと思っているんですがやっぱり寝てるときとか無理ですね。 まとめ 今回の教訓は以下となります。 ・UmidigiF2に載せ替えようとおもっている。・4月から仕事先が変わるんで、再起動が難しいかも。何か作戦を練らねば。・バッテリー無くして電源管理と連動する仕組みとか考えないと。 あとがき 現在リモート勤務なので、まぁ気がつけばすぐに再起動かけられますがこの先仕事のライフワークが変わる可能性が大なので、再起動がむずかしくなりそうです。バッテリーを外して、電源をリモートからコントロールするとかちょっと工夫しないといけないですね。 著者にメッセージ 間違いのご指摘など、コメントじゃなくて、個人的にやりとりしたい場合はこちらからどうぞ。お返事が遅くなるときもありますが、ご了承を。
…読む?

ハイレゾ?それどころか、AAC320KbpsとFlac16bit/44.1khzも僕は区別がつかないよ!

普段は、Spotifyの高品質AAC320Kbpsで音楽を聞いていますが、世の中には配信系の聞き放題でもFlacっていうCD品質(16bit/44.1khz)の配信や、それ以上の品質(ハイレゾ)で聞ける聴き放題サービスもあるようです!  そんなサービスの1つ、Tidal(タイダル)っていうサービスを最近使ってみています。ここはCD品質のFlacや、それ以上のハイレゾ音源を配信しています。MQAという品質もあるようですがこれはまだよくわかっていません。 そもそも配信系の品質って何があるの? 僕が契約している音楽配信サービスは、AWAと、Spotifyと、最近使ってみているTidalの3つです。 AWA FAQ 音質Normal (96kbps)、High (128kbps)、Excellent (320kbps)https://guide.awa.fm/hc/ja/articles/115003740653-%E9%9F%B3%E8%B3%AA AWAは、FireTVでも使えたりCarplayやAndroid Autoが使えて車でも楽しく音楽ライフを過ごせます。邦楽に強いのもいいですよね。 Spotifyは、不動のメインアプリです。この2つは、320kbpsの品質のようで、AWAはAACなのかどうなのか公式では言っていないようです。Spotifyは、AAC/320kbpsとのこと。 Spotify 音質最高音質:約320 kbit/秒https://support.spotify.com/jp/article/high-quality-streaming/ Tidalは、LowからMasterまで品質があってそれぞれ以下のようです。 Low AAC 16bit/22.1khzHigh AAC 16bit/44.1khzLossless Flac 16bit/44.1khzMaster それ以上(FlacからMQAまでいろいろ) 公式には以下のように言っています。 TIDAL-MASTERSHiFi品質とマスター品質の違いは何ですか?HiFiオーディオは優れたサウンドですが、Mastersレーベルはアーカイブをマイニングし、これらが決定的な曲のリリースであることを確認しました。MQAのテクノロジーにより、この元のバージョンがTIDALを介してサブスクライバーに直接提供されます。認証された途切れのない音楽ファイル(通常は96 kHz / 24ビット)で、マスタリングスイートでのサウンドと同じくらい完璧です。HiFi録音は44.1kHz / 16ビットに制限されていますが、マスターは元のソースを反映します。これはCD品質から96 kHz / 24ビット、場合によってはサンプルレートが192kHzの超高解像度ファイルまでさまざまです。https://support.tidal.com/hc/en-us/articles/115000397069-TIDAL-MASTERS 公式アプリのプレイヤーだと以下のように表示されます。ビット深度やサンプリングレートなどは表示されません。 Audirvanaという再生ソフトでは、このように表示されます。例だと、FlacやMQAに対応していて、ビット深度やサンプリングレートが24bit/44.1khzってことがわかります。 AACとFlacを聴き分けられるのか? つまり聴き放題サービスでの一般的なフォーマットは最高品質でAAC 16bit/44.1khzが一般的なようです。それ以上は、Tidalとか、Amazon Music HDとか、Deezer HiFiとか、Qobuzとか使う必要があります。 今回は、図のように4種類の音をTidalからデジタル録音して検証しました。図中の4〜7は以下のような品質です。 4・・・Tidal AAC …
…読む?

ライブとかで使われてるElectro-VoiceのSXシリーズをゲット!

世間は緊急事態宣言の2回目という中、お家時間が増えていますね。仕事しながら、音楽を聞く時間も増えています。自宅なので、ヘッドフォンとかじゃなくてスピーカーから音を出して聞いています。今までは絨毯のスピーカーをずっと使っていました。今回、エレクトロボイスというメーカーのSx100+というのを使ってみましたがとても良かったので、記念に記事にしておきます。 絨毯のスピーカーって何? 絨毯のスピーカ作り方とか載せてますので、よかったら見て行ってね! こんな感じのスピーカーを自作して使っていました。意外と満足する音だったので、かれこれ10年くらい使っていました。再生環境の音源はPC(mac)からでアンプは2500円くらいのデジタルアンプ(TIのチップ、TPA3116D2)です。 オーディオマニアっていうわけではなくて、ごく普通か少しこだわっているくらいのものです。自分の音楽ライフ感は9年前に書いたココなんかを見てもらえるとわかるかなと。 そもそも好きな音って?投稿日: 2012年1月10日 in music で、今回、新しく調達したのはライブとかでも使われている業務用のスピーカーです。アメリカ製で、メーカーはエレクトロボイスのSXシリーズ。 エレクトロボイス Sx100+ このスピーカーはこんな感じのものです。 エレクトロボイスのSXシリーズはSx300という型番もあってこれが一番流通しているようです。Sx100というのはSx300と大きさは同じですがユニットの出力が少し小さいものです。小さいといっても200Wあるので十分過ぎますけどね。比較するとこんな感じです。 Sx100+12″ passive loudspeakerSx300E12″ passive loudspeakerFrequency Range (-10 dB)60 – 25000kHz50 – 20000kHzWeatherizedNoNoFlyingYesYesMinimum Impedance5.6Ω5ΩNominal Impedance (Passive)8Ω8ΩHF Transducer1.25-inch DH3/2010A1.25-inch DH3/2010ASpeaker TypeFull-Range, Mid-High, Two-WayFull-Range, Mid-High, Two-WayMF TransducerWoofer Size12inch12inchPowered …
…読む?

2020/11と12 site24x7 でのSLA状況・統計データ

site24x7のスターターパックを2020の10月から始めています。監視サービスでSLAを99.95%目指していますが、果たしてスマホサーバで達成できるのでしょうか? 稼働率・SLA99.95%をスマホ自宅サーバで目指せ!まずは1ヶ月間LINK 先月は、99.567%で無理でした。 2020・11のSLA まずは結果から。ダウンタイムの合計17 時間 30 分あって、SLAは97.565%となり今月も目標の99.95%には届きませんでした。先月も書きましたが99.95%とは1ヶ月に21.6分以内のダウンタイムに留めないといけません。 原因は? 今月のは設定ミスではなく、NGINXがBadGatewayを出して本格的に停止していました。今の所、root化したtermuxでNGINXを動かすとこの現象が発生しています。 ちょっと回避が難しいので、運用でカバーしようと思っていましたが夜間にダウンするともう無理ゲーです。 まとめ 今回の教訓は以下となります。 ・サーバが1つだとやっぱりきびしい。多重化が必要だがそこまでコストをかけたくない。・root化したNginxだとBadGatewayが出てしまう。なんとか対策しなくとだが根本原因がまだ不明・運用でカバーしようと思ったが、夜間にダウンするともう無理です。 あとがき 目標がクリアできなかったので、記事を更新するのも面倒になっていますが記録だけでも採っていこうかと。ちなみに、12月も無理でしたので、この記事にはりつえておきます。99.368%という結果。 かなり惜しかったんすが、今回もNGINXがBadGatewayを出してしまいました。17日の少し止まった部分はSSLの更新に伴うWEB再起動ですのでこれはまぁ許容。19日のがなければクリアしていました。NGINXがBadGatewayを出す根本原因を探らないとなのですが、腰が重いです。 著者にメッセージ 間違いのご指摘など、コメントじゃなくて、個人的にやりとりしたい場合はこちらからどうぞ。お返事が遅くなるときもありますが、ご了承を。
…読む?

内部DNSをTermuxのDNSMASQで動かす!

そうなんですよねー。UターンNAT対策で内部DNSが欲しかったんです。 内部DNSを低消費電力サーバのスマホtermuxで動かしたいなと思って、いろいろ格闘していました。先日はOpenWrtというルータ上で動かしていましたが、今回は、root化したスマホ上のtermuxで動かしてみました。53ポートで動かすのでroot化が必要ですが、termuxのrootパッケージの1つ、dnsmasqを使って内部DNSを作ろうと思います。 dnsmasqとは? 公式:Dnsmasqhttp://www.thekelleys.org.uk/dnsmasq/doc.html 比較的、軽量でDHCP、BOOTPやPXEにも対応しているDNSサーバでOpenWrtにも使われていたります。自ドメイン以外は指定のDNSに転送して応答してくれます。内部ネットワーク向けの簡易なDNSとしては十分な機能をもっていますね。 今回は、IPv4で自ドメインの応答とそれ以外は8.8.8.8のDNSにフォワードして応答してもらうだけのシンプル設定です。DHCPなどそれ以外の機能はつかいません。 Termuxのdnsmasqは? ポート53で動かすので、root化したスマホにtermuxを動かしている必要があります。1024番ポート以下はrootじゃないとバインドできません。パッチ内容は以下から参照できます。 termux-root-packages:dnsmasqURL やってみましょうか! ステップ1 インストール インストール自体は簡単です。root-repoパッケージを入れてから、dnsmasqを入れるだけです。 $ pkg install root-repo -y $ pkg install dnsmasq -y 本体とmanなどが入ります。サイズは264Kと小さいですね。 $ ll /data/data/com.termux/files/usr/bin/dnsmasq -rwx—— 1 u0_a143 u0_a143 264K Aug 17 02:40 /data/data/com.termux/files/usr/bin/dnsmasq* ステップ2 設定 Termuxのdnsmasqだと、設定ファイルはデフォルトで無いので作ります。 $ cd $PREFIX/etc $ vi dnsmasq.conf 内容は以下です。ほどよく読み替えてください。 ホスト設定:$PREFIX/etc/hosts-dnsmasqログ:$PREFIX/var/log/dnsmasq.logこのホストIP:192.168.1.38Termuxユーザ:u0_a143ドメイン:gpl.jpフォワードするDNS:8.8.8.8 listen-address=127.0.0.1,192.168.1.38 port=53 bind-interfaces user=u0_a143 group=u0_a143 no-poll # プライベートIPアドレスの逆引きを上位DNSサーバに転送しない bogus-priv # …
…読む?

2020/10 site24x7 でのSLA状況など統計データ

site24x7のスターターパックというのを10月から始めてみました。いわゆる監視サービスなんですが10ドルで契約できるので、ちょっと使い始めています。 稼働率・SLA99.95%をスマホ自宅サーバで目指せ!まずは1ヶ月間LINK とりあえず、SLAレポートが出せるのでこれを月末に出していこうかなと思います。 2020・10のSLA まずは結果から。ダウンタイムの合計3 時間 5 分あって、SLAは99.567%となり目標の99.95%には届きませんでした。99.95%とは1ヶ月に21.6分以内のダウンタイムに留めないといけません。しかし、3時間も止めてしましました。 原因は? 5日の停止はDNSの設定ミスです。27日と28日は内部ネットワークを少し変更してその影響で少し止まってしまいました。30日は、NGINXがBadGatewayを出して本格的に停止していました。今の所、root化したtermuxでNGINXを動かすとこの現象が発生しています。これはなんとかしないとだめですね。設定関連での停止は、今後以下のように対策しようと思います。 ・設定変更後、5分は監視レポートが飛んでくるか確認する。 なかなか設定ミスの間違いには気がつきにくいです。とりあえず何か変更したら、5分は監視サービスの動きを見ることで対応しようと思います。 まとめ 今回の教訓は以下となります。 ・引っ越し当初なんで設定することがたくさんあった・設定変更後は、監視サービスの動きを5分は見て見ることにする・サーバ1つだとやっぱりきびしい。多重化が必要。・root化したNginxだとBadGatewayが出てしまう。なんとか対策しなくとだが根本原因がまだ不明 あとがき UmidigiF2をroot化したので、とりあえずこっちに戻して様子を見ようと思いますが、めんどくさいのでちょっと作業は中断。スマホサーバを安定して動かすのは難しいです。 著者にメッセージ 間違いのご指摘など、コメントじゃなくて、個人的にやりとりしたい場合はこちらからどうぞ。お返事が遅くなるときもありますが、ご了承を。
…読む?

Umidigi F2 をroot化したよ!

さてさて、今日から4連休です! 初日の本日は今までこのブログのWordPressサーバとして約1ヶ月利用していたUmidigiF2をroot化してみましたので、忘れないうちにその方法を書いておきます。日本語でまとまっている情報はなかったので、どこかで役に立つかもしれませんね。 root化とは?そのメリットは? Pixel3・android11(R)正式リリース版でroot化!https://www.gpl.jp/2020/10/05/pixel3android11rroot/ 以前、Pixel3のroot化したときも書きましたが、簡単にいえばAndroidの最高管理権限をゲットして普通では出来ないことをやれるようします。なお、同じことをされる場合は、bootを純正以外にしますので自己責任でお願いしますね。  で、root化する今回の目的も前回と同じで termuxを動かした時rootパッケージを使えるし、1024ポート番号以下のデーモンを起動できます。例えば、WEBサーバの80番ポートや、SSLの443番ポートです。  というわけで、UmidigiF2のroot化やってみましょうか。 ステップ1 概要 こういうのは、まず全体像が見えていることが大事です。UmidigiF2をroot化するにあたり、概要は以下となります。 ・UmidigiF2のBootローダーのロック解除をする・Magiskというツールを使い、twrpは使わない・Magisk Managerを使い、純正ファクトリーイメージに含まれるBootにパッチする・adb純正ツールで、パッチしたBootをUmidigiF2に書き込む・Termuxはroot権限を利用できるようMagiskに設定しておく 今回も、Pixel3の時と同じように、Magiskというツールで行いました。TWRPのオフィシャルに行ってきたんですが、てっきりUmidigiF2はTWRP公式ビルドにあると思っていたんですよね。残念ながら、公式ビルドにはないようでした。 TeamWin – TWRP Deviceshttps://twrp.me/Devices/ 一方、MagiskはAndroidパーティションスキームに準拠していれば使えるはずです。オフィシャルサイトであるソース配布元のGitは以下になります。 Magiskhttps://github.com/topjohnwu/Magisk さぁ、やってみましょうか! ステップ2 必要なツールと準備 まずは前準備です。今回もosxでやっていますがLinuxでもWindowsでもChromeBookでもできると思います。オフィシャルのマニュアルも参照してね。 Magiskオフィシャルインストール手順https://github.com/topjohnwu/Magisk/blob/master/docs/install.md 上記だけでは、全体がまだ見えてきませんね。つまり、ざっくりと以下が必要です。 (1)fastbootとadbコマンドが動作する環境 これは、SDK Platform-Toolsを入れればOKです。Googleからリリースされていますので最新を入れておきます。AndroidStudioを入れてある環境ならばすでに入っていますが、ツールだけであれば以下からダウンロードできます。現在の最新は、Version 30.0.4です。 SDK Platform-Tools https://developer.android.com/studio/releases/platform-tools.html (2)UmidigiF2のファクトリーイメージ(StockROM) 今手元のUmidigiF2で動いているバージョンを確認してください。筆者の場合は最新のUMIDIGI_F2_V1.0_20200402_20200506-1120が入っていたので以下をダウンロードしておきました。これはワイヤレスアップデート画面から現在のバージョンを確認できます。あとから、Boot.imgを取り出してMagiskでパッチします。 StockROM UMIDIGI F2 UMIDIGI_F2_V1.0_20200506.V3.17.rarhttps://community.umidigi.com/forum.php?mod=forumdisplay&fid=228 (3)MagiskManagerのアプリ これは以下のオフィシャルサイト(GitHub)からダウンロードできます。筆者はCanaryビルドを使いました。安定番は、MagiskManagerv8.0.2です。 純正に戻す場合はこれ以外にも必要ですが、今のバージョンをroot化するだけなら以上でOKです。 ステップ3 ファクトリーイメージを展開 オフィシャルサイトからダウンロードした、UMIDIGI_F2_V1.0_20200506.V3.17.rar を展開しておきます。rarファイルを展開するといろいろありますが、今回使うのは boot.img と、vbmeta.img です。わかりやすいよう1つ上の階層にでもコピーしておきましょう。 . └── UMIDIGI_F2_V1.0_20200506.V3.17 :: ├── boot.img :: ├── vbmeta.img :: ステップ4 …
…読む?

メルカリ880円のルータに組み込みLINUXのOpenWrtで内部DNSを動かす!

ということで、今見ているこのWordPressブログはUMIDIGI F2から Google Pixel3のスマホに引っ越ししました!  一番嬉しいのは、ローカルからブログを書く時、もうVPNを繋げて書かなくてもよくなった点ですね! 今まではUターンNATの問題で内部ネットワークからはこのブログにアクセスできなかったのです。ブログ記事を書く時もVPN経由で外からアクセスしていたので、記事を書くのが少し面倒だったんです。今回は、Pixel3に引っ越ししてローカルDNSを立ち上げた事を記事にしようかなと思います。 ローカルDNSを立ち上げろ! なぜローカルDNSを立ち上げる必要があったかは、このあたりを見ていただくとその経緯がわかるかなと思います。 ポートフォワードの経路で、Uターン NATとかヘアピンNATが使えないルータの場合のあれこれLink ローカルにDNSを立ち上げれば、UターンNATがダメなルータを使っていても迂回した経路が作れます。そして、Termuxの1024以下ポートが使えない問題は、root化した Pixel3を使って回避しました。つまり、今動いているNGINXは、port80とport443で動作しています。こんな感じ! # ps axu | grep nginx root 12762 0.0 0.0 10868580 2144 ? …
…読む?

D.J.BツールのdaemontoolsをTermuxで動かしてみたよ!

はいな! またマニアックネタかもしれませんので需要はあまり無いかもしれませんね。w daemontoolsとは?  このツールは、DJBことダニエル・ジュリアス・バーンスタインさん(WIKI参照)が作ったツール群です。DJBさんは、qmailやdjbdnsというメールやDNSも作っています。daemontoolsは、全部で17個の単体プログラムで作られている常駐するプログラムを起動管理するものです。  DJBツールは、設定や取り扱いがよくわからんという人もいて好き嫌いの別れるツールです。しかし、驚異的にバグが少なく非常に興味深い作りになっています。 その昔、sendmailやbindに嫌気がさしてqmailやdjbdnsを使っていた時期があったのですが、rpmやdebパッケージなどがないので設定はそれなりにしないと動きません。作者がバイナリ配布を認めていないんです。その為、RedHatはqmailのサポートを明示的に切り捨てています。ちなみに、無償で登録できるRedHatの開発者アカウントがあれば、ナレッジも読めますよ。 Red Hat は、Red Hat Enterprise Linux で qmail SMTP サーバーの使用をサポートしていますか?https://access.redhat.com/ja/articles/2540051 そんな感じでDJB作のソフトウェアを10年ぶりくらいに使ってみました。あまりに久しぶりすぎて、だいぶ使い方とか忘れていましたがなんとか動いているように見えますのでちょっとメモしておきます。 daemontoolsの概略 daemontools とは、デーモンを監視するツールのことで、qmail の作者 D.J.B. によるツールの事。メリットは、daemontools によって監視させておけば、 自動的に再起動してくれます。注意事項は以下。 バックグラウンドになるデーモンは管理できない。この為、run から動作させるプロセスは、 & を付けてバックグラウンドにしないこと。 詳細は、オフィシャルサイトを参照。https://cr.yp.to/daemontools.html 今回は、Androidで動作するTermuxでdaemontoolsを動作させるように修正をしました。 インストール daemontoolsは、展開したソースディレクトリにコマンドがシンボリック・リンクされます。 このインストール例では、ホームディレクトリに bin を作成し、そこに展開してインストールします。 $ mkdir bin $ cd bin $ git clone …
…読む?

スマホを冷蔵庫に入れて冷え冷え状態でベンチマークしたらどうなる?

以前、Pixel3のベンチマークを計り直したとき、良いスコアが出たので「温度?」が関係しているのかなと思ったんですよね。今回は、冷蔵庫にPixel3をぶっこんでUnixBenchを計測してみたいと思います。 まず結果から スマホはどの程度低温に弱いのか実験!https://www.yamareco.com/modules/yamanote/detail.php?nid=1497 先人がやはりいました。この方は冷凍して実験したようです。人柱ですね!なので、冷蔵庫くらいでは問題なさそうなんじゃないかと思います。 スマホはこんな感じで冷蔵庫に入っています。猫カンがあるのは突っ込まないでね! まず、結果からご報告です。 ・Pixel3 Android11 冷蔵庫に入れて計測 シングル:583.38CPU:1833.7 なんと過去最高です! 今回は、CPU温度の他、バッテリー温度もグラフ化しました。ベンチマーク中はこのように上昇しました。冷やした状態からだと、CPU温度は過去最高87度まで上昇したようですね。  冷やせば速く動作するってことは実験からわかったので、筐体を分解してファンを取り付けて運用するのはアリかもしれません。 詳細ベンチを・・ 詳細についてはこちらに貼り付けておきます。 ======================================================================== BYTE UNIX Benchmarks (Version 5.1.3) System: localhost: Android OS: Android — 4.9.223-g5bded8e40b62-ab6647920 — #0 SMP PREEMPT Thu …
…読む?

TermuxスマホのCPU温度をThingSpeakでリアルタイム・グラフにしてみた!

先日、メルカリでゲットしたPixel3をroot化して遊んでいます。そのうち、今動いているこのブログのサーバマシンとして、UmidigiF2から一旦置き換えてみようと思っています。UmidigiF2も、root化して遊んでみたいなと思っています。  さて、今回はスマホの中にある温度センサーから取得してグラフ描画にチャレンジしてみます。 ThingSpeakとは ThingSpeak Documentation – MathWorks 日本::ThingSpeak は Internet of Things (IoT) プラットフォームであり、クラウドでセンサーのデータを収集および保存したり、IoT アプリケーションを開発したりできます。https://jp.mathworks.com/help/thingspeak/index.html ThigSpeakは、結構昔からあってIoT機器からデータを投げつける定番のWEBサービスです。4、5年くらい前にも一度さわっていたりします。 Soracom で IoT はじめましたhttps://www.gpl.jp/2016/05/29/iot1/ もう、Soracomはやめてしまいましたがこの時はOrange PI にUSBデータ通信ドングルをつけてsoracomから、CPU温度をThigSpeakに送信してグラフ化していました。 Pixel3で温度はどうやって取得する? root化したので、いろんな情報が見れます。通常のLinuxとは少し違うので、あれこれ物色していたのですが Android である Pixel3 は、Termux の root シェルから以下のように android のコマンドを使って取得できることがわかりました。例えば、バッテリーの情報は以下のように取得できます。 # dumpsys battery Current …
…読む?

まだ広告で消費してるの? 知らないと損!! NextDNSを今すぐ設定して楽になろう!

さて、今日のネタは「広告を消す!」です。しかも設定は簡単で、androidもiosもPC(mac・windows・Linuxも)でもぜーんぶ、簡単に設定できます。ぴーちゃんのご要望通り、設定は簡単なんで記事自体もすぐ終わっちゃいそうですが・・・ さっそく設定! NextDNShttps://nextdns.io まず、ここにアクセスして設定をゲットしましょう。以下のように説明が出ますのでその通りにするだけです。例えばandroidの場合は以下です。 ****.dns.nextdns.io をコピペします。そして、説明の通りスマホの設定からプライベートDNSをコピペして保存するだけOKです。 実際に広告が消えたか確認してみましょう。あと、NextDNSはアカウント作っておいたほうがいいです。以下、確認できて気に入ったら登録して使ってみましょうね! 広告が消える!!! さて、今回は説明するために、まださっきの「保存」ボタンは押していません。この状態で、例えば smartnewsのアプリを開きます。ブラウザでどこか広告が表示されるページを開いてもいいのですが、アプリ上の広告も消えますのでその一例です。 ご覧のように中央にがっつりと、広告が表示されていますよね。smartnewsは好きなんすが、この広告が非常にうっとうしい!んですよね。これは見るべき情報なのか、広告なのかいちいち判断しないといけません。  で、さきほどの保存(設定)ボタンを押して、NextDNSの設定をイキにさせます。SmartNewsは、↓下に引っ張り情報をリロードします。キャッシュが効いてうまく情報が更新されない場合は、一度アプリをタスクから終了して起動しなおしてみてください。 なんということでしょう! 中央にデカデカと表示されていた広告はもうありません。それに、どのタブに行っても、もう紛らわしい広告が表示されていません! 仕組みの概略 広告を表示するためには、そのURLにアクセスする必要があります。URLにアクセスするためには、そのURLに含まれるドメイン名をIPに変換する必要があります。それを解決するのは通常、DNSのポート53応答によって行われます。プライベートDNSは、DNS問い合わせをどこか違うポートで暗号化通信しているようです。そしてNextDNSに名前解決を問い合わせ、広告関連のURLは全部、名前解決されなずブロックされる・したがって広告は表示できない・という事が原理の概要です。  つまり、この仕組みなのでブラウザ上でもアプリ上でも広告が消えるというわけです。 スマホ上でDNSのパケット採取 上記の推論の一部を実際に確認してみたいと思います。まず、さきほど設定したプレイベートDNSの設定をOffにします。そして、スマホ側でDNS関連のポート53応答をキャプチャー(tcpdump)します。そして、smartnewsを起動してみます。 $ sudo tcpdump -i wlan0 -nn port 53 :: 09:48:34.548342 IP 192.168.1.47.59746 > 192.168.1.1.53: 8385+ A? conf.smartnews-ads.com. (40) 09:48:34.766102 IP 192.168.1.1.53 > 192.168.1.47.59746: 8385 3/0/0 CNAME …
…読む?

Pixel3・android11(R)正式リリース版でroot化!

はいー! ぴーちゃんの言う通り、マニアックネタになります。しかし、root化によるメリットは結構あります。もちろんデメリットもありますが、実際にいろいろ触って体験してみましょう。あと自己責任でよろしくね!真似して何か不利益が起きても著者は知りませんよ。 そもそも、root化ってなに? このブログの趣旨としては、なるべく専用用語を使わずわかりやすく一般の人にも理解してもらいたい・そー著者は思っております。 root化 (Android OS)出典: フリー百科事典『ウィキペディア(Wikipedia)』https://ja.wikipedia.org/wiki/Root%E5%8C%96_(Android_OS) wikiではこのように説明されていますね。一言で言えば、Androidの最高管理権限をゲットするということです。一体、この権限を取得して何をするのか? ということが、本来大事ですよね。目的があってこそのroot化です。 root化して何するの・・・? 今回、スマホ(Pixel3)をroot化したいなと思った1つの大きな目的はtermux です。Termuxは、root化しなくてもいろんなアプリが動作する大変面白い神アプリですが、1024ポート未満は、root権限がないと動作しません。例えば、nginxを80番ポートで動作させようとすると以下のようになります。 $ nginx nginx: [warn] the “user” directive makes sense only if the master process runs with super-user privileges, ignored in /data/data/com.termux/files/usr/etc/nginx/nginx.conf:3 nginx: [emerg] …
…読む?

備忘録:Termuxで、Pixel3のUnixBench

はい、ジャンクなPixel3が到着しました。メルカリは面白いですね。値下げ文化みたいなのがあって、売り手と買い手のせめぎ合いです。今回、自分はそういうのには参加せず、8500円まで値下げされていた状態で発見しました。さらに、買い手が7500円でどうか?と打診中に、8500円でゲットしたという感じです。ヤフオクはそういうのがないので、なんか新鮮に感じましたが、売り手は慣れないと「まーた、値下げかよ!」みたいな感じになるのかなと。Pixel3は発売価格9.5万円ですからね! なぜ、今頃Pixel3なんかゲットしたの? え〜っとw。目的は root化した状態の termux で遊びたかったからです。UmidigiF2はこのブログが動作しているので、あれこれできないのです。 で、どうせなら、Umidigi F2 よりも速そうで Androidリファレンス機のPixelシリーズが良いな! という感じです。Pixelという機種は、知らない人もいるかもしれませんが Google から発売されている機種で、AndroidOSの最新版が最初にリリースされます。つい最近も、Android11がリリースされましたよね!なので、いち早くandroidOSの最新にアップデートできます。 アプリ開発者とPixel  アプリ開発者は、1年に1回9月ごろにAndroidOSのアップデートがあるので、情報調査など春頃から準備しています。9月には新しいOSが出るから、それにアプリを対応させるんです。これは慣例作業なので、大概アプリ開発やってる人や会社は、Pixelシリーズを持っています。iOSもこの時期にOSアップデートがあり、アプリ開発者は新年度〜秋にかけて大忙しです。iosとandroidの両方のアプリが扱っているので結構大変ですが、一番面白い時期でもあります。  また、秋〜春にかけては新しいOSが実装した新機能にアプリをどう対応させるのか、またその機能を実装するのか?など様々な検討が繰り広げられています。つまり、1年中あれこれやることが嫌でもあるわけです。 まずはAntutu8 でベンチマーク Antutuの情報はたくさんあるんですが、意図的にPixel3で OS10とOS11でベンチマークした結果はほぼ無いと思うので、載せておきます。なお、Antutuは何も意識しないと常駐するのでOS初期化後に入れて計測したら速攻、消したほうがいいです。そのうち、この指標も違うものがスタンダードになると思うのですが、今は antutuスコアがピンときますよね。 約、25マン〜27マンで今ではミドルクラスの上位というスコアです。計測の誤差なのか、少しAndroid11で計測したときの方が速くなっていますね。Kernel周りの影響か、チューニングを変えて来たのかそのあたりは不明です。 計測時のKernelバージョンは以下となります。 Termux入れて、設定 termuxを入れて、アプリが良い状態で動作するよう以下の設定をやっておきます。 ・Wakelockを有効にしておく。 画面右の状態にしておきます。wakelockとは何か知りたい人は以下を参照してね。Termuxは、wakelockしておくか、しないか選択できるようになっています。 デバイスの起動状態を維持するhttps://developer.android.com/training/scheduling/wakelock?hl=ja ・電池の最適化をしない 設定にしておく この表現、紛らわしいですよね! つまり、標準ではシステム関連のプリイン・アプリの一部以外、つまりストアから入れたアプリは、最適化していて電池消費を抑える仕組みです。これを意図的に、「最適化しない」状態にしておきます。 UnixBenchiを計測! 結果から。どちらも1回限りの結果ですので計測誤差の範囲かと思います。 ・Pixel3 Android10の場合 CPU:Snapdragon 845 Hardware : Qualcomm Technologies, Inc SDM845 シングル:546.98CPU:1396.4 ・Pixel3 Android11の場合 シングル:520.08CPU:1343.3 ・Pixel3 Android11 再計測 シングル:590.18CPU:1732.6 UmidigiF2や、Redmi Note 9S より速いですね。比較のため、スコアを載せておきます。 ・UmidigiF2 Android10の場合 CPU …
…読む?

Termuxからメールを送れるようにするには?

さて、今回はメールを取り扱います。ですが、別にメールサーバを作るわけではないです。やりたい事は、こんな感じ。 ・コマンドラインからメールを送れるようにしたい・WordPressのプラグインからメールを送れるにしたい・Cronとかの結果をメールできるようにしたい・配送先はgmail! Termux環境でお手軽にメールを送るには? メールを取り扱うってことは、いろいろ用意する必要がありますが、今回はメールを他のサーバに送るだけです。Termuxでメールを受信したり、imapのメールを読み書きして送受信したり、あるいは他のサーバからリレーしたりということは今回はしません。内部配送もtermux は1ユーザしかいないのでしません。このあたり、MTAとかMUAとかMDAとか用語がありますが、興味のあるかたはここがわかりやすいです。 メール転送エージェント (MTA)https://wa3.i-3-i.info/word11120.html そんなこたぁーわかっとる! っていうベテランも改めてどうぞw メール設定で最初につまずく『SMTP』『POP』『IMAP』 その意味&設定方法は?https://time-space.kddi.com/ict-keywords/kaisetsu/20170824/2081 つまりは、SMTPクライアントだけあればいいんです。 お手軽なSMTPクライアント!msmtp 一般的なLinuxなら、postfixとかsendmailとかありますよね。でもTermuxのバイナリにはありません。でも、SMTPクライアントならあります。 msmtphttps://marlam.de/msmtp/ これ、実は今まで知りませんでした! 一応、メールサーバ関連はsendmailや、qmailや、postfixはさわった事があるのですが msmtpってのは取り扱う機会もなくて、こんなのがあったのかという印象です。機能は、こんな感じ! Sendmail互換インターフェイス(コマンドラインオプションと終了コード)複数のアカウントのサポートクライアント証明書を含むTLS / SSLサポート国際化ドメイン名(IDN)のサポート多くの認証方法コマンドパイプラインを使用した高速SMTP実装DSN(配信ステータス通知)のサポートSOCKSプロキシサポート ステップ1 とにかく入れてみる! まずは、使ってみましょう。インストールは簡単です。 $ pkg install msmtp このあたりに入るようです。 $ find $PREFIX -name *msmtp* /data/data/com.termux/files/usr/bin/msmtpd /data/data/com.termux/files/usr/bin/msmtp /data/data/com.termux/files/usr/var/lib/dpkg/info/msmtp.list /data/data/com.termux/files/usr/var/lib/dpkg/info/msmtp.md5sums /data/data/com.termux/files/usr/share/doc/msmtp /data/data/com.termux/files/usr/share/info/msmtp.info /data/data/com.termux/files/usr/share/man/man1/msmtp.1.gz /data/data/com.termux/files/usr/share/man/man1/msmtpd.1.gz ステップ2 設定 ここの説明がわかりやすかったです。参考にしました。 msmtp – ArchWikihttps://wiki.archlinux.jp/index.php/Msmtp つまりは、以下の設定ファイルを書けばOKです。システム全体は etc 配下に書きますが、今回はホームディレクトリ直下です。gmailのsmtpを使います。 ~/.msmtprc —————— # Set default values for all following accounts. defaults auth …
…読む?

備忘録:Termuxで、 HUAWEI P20 liteのUnixBench

ちょっと、手持ちのスマホでTermux入れてUnixBenchを取っておきました。今回は、HUAWEI P20 liteです。 スコアは? 結果から。 シングル:260.3マルチ:932.8 詳細は以下。インストール方法は、以下参照してね。 衝撃価格7500円でゲットしたRedmi Note 9SにLinux入れてUnixBenchを計測 $ uname -a Linux localhost 4.9.148 #1 SMP PREEMPT Wed Jul 1 02:47:50 CST 2020 aarch64 Android :: $ cat /proc/cpuinfo Processor : AArch64 Processor rev …
…読む?

Termuxネイティブ環境でWordPressのバックアップをどうするか考える。その3

ということで、今回は完結編です。わかりやすくはできないかもですが、要点を記録しておきますね。 バックアップスクリプトはプラグインで BackWPup – WordPress Backup Pluginhttps://ja.wordpress.org/plugins/backwpup/ 結局、DBのバックアップスクリプトやファイルの指定などシェルで書かずにワードプレスの↑のプラグインでやることにしました。BackWPupの操作方法はググって貰えばわかると思うので、省きますが以下のように7つのジョブをつくることにしました。 BackWPupは、ジョブをwp-cliで叩けるようになっています。そして、それをcronで定期実行するという方法です。wp-cliでは、以下のようにコマンド叩くと、ジョブIDがわかります。 $ wp backwpup jobs +——–+——————–+ | Job ID | Name …
…読む?

稼働率・SLA99.95%をスマホ自宅サーバで目指せ!まずは1ヶ月間

目標を持つのは、大事だよなということで、せっかく自宅サーバを運用しているので遊び感覚で、稼働率SLA99.95%を目指してみることにします。今、検討しているsite24x7のサービスは、この稼働率を算出する仕組みもあるようです。 SLA99.95%とはどのくらいダウンが許されるのか? 稼働率 => 月間ダウンタイム計算ツールhttps://cloned.jp/sla-calc/ こんな便利な計算サイトがありました。ここで計算してみると、99.95%とは1ヶ月に21.6分以内であればOKということです。年間だと、262.8分(4.4時間)以内であればOK。 site24x7で、SLA設定をしてみる! 現在、検討中の監視サービス・site24x7は、目標のSLAを設定できます。世界各地の拠点、8箇所から1分間隔で監視しています。そこから算出してくれる大変、便利な機能です。設定は、管理>SLA設定 から行えます。 営業時間は設定していませんので、24時間が対象ということです。 現在の稼働率はどのくらい? まだ、9/20から始めたので1ヶ月は経過していませんが現状は以下の通りです。 9/21と23日に停止時間があり、落ちていた時間は8分40秒ということです。現在は、99.852%の稼働率ということがわかりました。 評価期間・1ヶ月でSLAをチャレンジ! 良い目標ができたので、とりあえず1ヶ月後の10/20にSLA目標が達成できるかチャレンジしてみようと思います。今のところ、8分40秒ダウンしていますので、あと猶予は約12分間です。あと25日間で12分ダウンさせなければSLA99.95%を達成できます。  うーん、こうして計算してみると結構大変な気がします。まず、1台のスマホサーバでやっているのでダウンしたら12分なんてあっという間でしょう。あと寝ている時間とかに、ダウンしたら終わりですね。年間を通じて、99.95%を維持しようとするなら、ロードバランサーや複数台構成が必須だと思います。停電っていうのもありますしね。スマホ自体は電池があるから無停電電源装置がついているようなものですが、ルータ周りやHUBなど対応する必要がありそうです。 まとめ だいぶ煽られていますがまとめます。今回、なんとなくわかったのは以下ですね。 ・稼働率SLA99.95%とは1ヶ月に21.6分以内であればOK・1年なら、262.8分(4.4時間)以内であればOK・監視サービス・site24x7は、サイトを客観的に見るために有用だ・監視サービス・site24x7(有料版)は、SLA目標を設定できレポートが作れる あとがき こうして自分で体験してみると結構大変そうだなって思いました。また1ヶ月後に具体的な数字が出るのでそこで、何かまた発見があるかもしれません。 余談ですが、世界各地8箇所から応答時間をモニタリングしていますが、なんと国内からよりもロサンゼルスからが一番品質が良いようです。 東京など国内は、ロスからのように平坦ではないです。今、InterLinkのPPoEのIP固定使っています。国内のほうが速いだろうと思っていましたがこれは以外な発見でした。site24x7のサービス、すごく良いと思います。
…読む?

Termuxネイティブ環境でWordPressのバックアップをどうするか考える。その2

この版数管理、実は前から気になっていたんですよね。今日はテストがてら、この機能をtermuxから、GoogleDriveなどクラウドストレージにコピーや同期させる rclone を使って実際に試してみたいと思います。 テストするクラウド環境の用意 クラウドは、GoogleのGoogle Apps(グーグルアップス)にします。gpl.jpドメインは、ここに関連付けてありますので1つ新規のアカウントを用意しました。 15GBの保存容量がありますね! また何も保存していない状態です。 rcloneという、すごいやつをTermuxに入れる! rcloneは、以下のオフィシャルサイトにもarm用がビルドされていてダウンロードできますが、これはtermux では使ってはいけません。 Rclone Download v1.53.1https://rclone.org/downloads/ なぜなら、名前解決の仕組みが違うからです。Termux にはバイナリが用意されていますので、pkg installで入れておきます。 $ pkg install rclone :: $ rclone –version rclone v1.53.1-DEV – os/arch: android/arm64 – go version: go1.15.2 なぜ、こっちを使うのかと言うと名前解決の方法が違うからです。termuxパッケージのrcloneを使わないと、認証するとき、エラーになりますので。筆者は、ここで途方に暮れました。 rcloneとgoogle driveの初期設定 先ほど用意した、GoogleDriveのアカウントを使えるようセットアップします。 Google Drivehttps://rclone.org/drive/ ここに詳しく書いてありますが、要点は1つ。リモートでセットアップしている場合は、以下の選択肢を n として作業しているPCのブラウザから Googleにログインしてverification …
…読む?

Termuxネイティブ環境でWordPressのバックアップをどうするか考える。その1

はい、ぴーちゃんの言う通り便利なプラグインがあります。 超有名なWordPressバックアッププラグイン この2つが特に有名じゃないでしょうか? UpdraftPlus WordPress Backup Plugin あと、これ。 BackWPup – WordPress Backup Plugin 前者のUpdraftPlusは、一度使ったことがあります。通常ならこれでバックアップはOKじゃないでしょうか。でも、今回はちょっと自宅サーバ構成に難があって、自分のドメインに自分でアクセスできない問題があります。 自分のドメインに自分でアクセスできない問題! これはつまり、https://www.gpl.jp や、https://www.gpl.jp で自分自身にアクセスできないということです。こういう場合、WordPressのcronやジェットパックなどいろんな部分で問題が発生します。これは、wp-cliで診断すると以下のようになります。 $ wp cron test Error: WP-Cron spawn failed with error: cURL error 28: Connection timed out after …
…読む?

無料の外部から監視するサービスを使って見た!site24x7

前回、事前に調査した4つの監視サービスを検討してみました。この中では格段に操作と設定がしやすかった、site24x7 というサービスを紹介することにします。なぜ、このサービスなのかと言うと4つのサイトに同時にサインアップして実際に使ってみたのですが、説明書も何も見ずに最後まで設定できたからです。 site24x7の有料プランでできること Site24x7 プラン比較https://www.site24x7.jp/packs-comparison.html 詳細はこの表の通りですが、無料プランと有料プランの格差がありますよね?有料は7000円〜となっていますが、実は10ドルで出来そうな感じです。後ほど紹介しますね。 さて、無料プランではWEBの死活監視ができ、アラートはメールで可能。ステータスページは有料と違い、グラフが表示できるダッシュボードが公開できない。という内容です。有料と無料では、公開できる情報(グラフ)が違います。実際にこのサイトで公開している監視グラフのページを見てもらうほうが理解が速いかなと思います。 有料プランのグラフ このサイトの監視状況 有料プラン(1ヶ月ほど無料)https://www.gpl.jp/status/ 上記リンクは、有料プランが終わったときには見れないのでスクリーンショットをつけておきます。有料プランはカスタマイズしたグラフをダッシュボードに作り、それを共有することが可能です。 いろんなグラフが作れますが、上から「応答時間詳細」でこれは東京リージョンからのものです。その下が、「ページ読み込み時間詳細」です。どちらも、DNSや接続時間など詳細に出ています。 応答時間詳細は、各所にヒゲ状に突出している部分がありますね。また、ページ読込時間を見ると夜間帯は安定していますが、昼間はギザギザしていますね。 次は、「スループット」と「各ロケーションからのSSLハンドシェイク時間」です。200kb/secくらい最高で出ていますが、平均値は120kb/secくらいですね。WEBデータのような小さいデータの転送は速度があまり出ないのかな? SSLハンドシェイクの時間は、各拠点からのものでこの拠点は世界中から8箇所まで選べます。国内だと東京・長野・大阪が選べました。 最後の図は、「ロケーションごとのページ読み込み時間」です。面白いことに東京よりも、シンガポールからのほうが速そうです。また、意外にもニューヨークやロサンゼルスからも遅くはありません。有料プランは、これ以外の数多くの機能があり全部は紹介しきれませんが、概ね有益だなと感じました。例えば、証明書期限チェックやドメイン更新期限チェックなどあります。面白いなと思ったのは、Tracerouteによるネットワークパス分析です。 ロスからと東京からのホップ数(ざっくり言えば、ルータ越えの数)はそう変わりないみたいw また、深センからはいろんな経路があるんだな! ということがわかりました。 site24x7の10ドルの有料プラン! これだけ、いろいろな機能ができるなら検討してもいいかもしれません。このサービスの価格は、有料にするとお幾らなんでしょうね? はい、最初に見てもらった価格表はPro〜7000円から有料とありましたが、なんとスターターという有料プランもあるようです。これは日本円だと毎月払いで2000円、ドル払いだと10ドルと記載されています。 可能かどうかは不明ですが、ドル建ての支払いのほうがお得な気がします。月払い10ドルならアリかもですね。この表中にある、詳細監視というのは、以下のことです。四角枠で囲った部分、これは欲しいですね。 ブラウザーと記載してあるものは、時系列でその時の読込にかかった状態が記録されています。例えば、2020/09/22 2:55 の東京からの読込が10秒ほどかかっている部分があります。 これは、ブラウザーからの読込は以下のようになっていました。 つまり、JSの読込が遅いのか? あるいは、画像の読込が遅いのか? あるいはジェットパックで画像置き換えられたCDNが悪いのか? などが各拠点から時系列でわかってしまいます。すごいですね! site24x7の無料プランは・・・? 無料プランでは、有料プランでできるダッシュボードのグラフを共有することはできませんでした。グラフが見たければ、管理パネルにログインしていれば以下のように見えます。 計測地点は、シアトル(US)からのみです。試験を行う間隔は10分となりそれ以下はできません。死活監視のみとなり、無料プランでグラフはこれ以外は登録できないようです。シアトルからの監視ですが、まぁ十分でしょうか。有料プランで出来たブラウザからの読込はサポートしていません。 なお、グラフの共有(ダッシュボード)はできず、公開できるのは、ステータスページで、StatusIQ というサービスを使って行えるようです。これも実際に見てもらったほうが速いです。以下に、このサイトの状態を貼ってあります。 NetWork Status FreePlanhttps://www.gpl.jp/network-status-freeplan/ グラフは出すことができず、サービスが生きているか死んでいるかを表示するものみたいですね。 なお、WEBサイトを登録するときの画面は以下のようになります。 あとがき 最初、WEBを監視するだけだと思っていましたが関連するサービスがたくさんあって、このサービスは今後検討してみたいなと思いました。しかし、スマホサーバを外部から10ドル払って監視する価値がどのくらいあるのかまだ未知数です。 監視できる事は豊富で、コスパ的に見れば、類似サービスの中では突出しているようにも思えます。多少味付けは違いますが、マカレルよりいい機能があるかな!と感じています。でも、マカレルはLINE通知があるので好きなんです。 site24x7で、まだ試していないのはLinuxのリソースを監視するサービスです。これもエージェントがtermux で動作するのかどうかわかりません。Termuxネイティブ環境は何かと制約があるのです。もし、うまくいったら、また続報があるかもです。
…読む?

ジェットパックプラグインは死活監視サービスがあるのか!

今回引越しをやっていて、気が付いたことがいくつかあります。その1つに、ジェットパックプラグインには、WEBがちゃんと動いているかどうかをチェックしてくれるサービスが無料でありました。 とにかく、たくさん機能があるんですよね。最近は、このジェットパックに有料機能をつける戦略のようで、バックアップとかSEOとかあるようです。今回は無料の機能で死活監視機能がどんなものか試してみました。 サーバが動いてないとき こんな表示のメールが届きます。 サーバが再び動き出したとき こんな表示のメールがきます。 ログには? ちょうどこの時は、何か作業していてWEBを止めていたんだと思います。ログには以下のように出力されていました。 192.0.101.226 – – [15/Sep/2020:00:46:13 +0900] “HEAD / HTTP/1.1” 403 0 “-” “jetmon/1.0 (Jetpack Site Uptime Monitor by WordPress.com)” 192.0.101.226 – – [15/Sep/2020:00:54:50 +0900] “HEAD / HTTP/1.1” …
…読む?

このブログは、スマートフォンの中に引越ししました!

えっ? と思われた方もいるかもしれませんが、このジャンクハックブログは引越ししました。それもスマートフォンの中にいます! なんで、引越しをしたの? はい、結論から言いますと今まで使っていたWordPress.comのパーソナルプランの料金が上がったからです。月額400円から500円で年間一括6000円となります。まぁ、100円くらい良いんですがなんとなく、年間で6000円かーと思いましてね。 今から2年ほど前、 WordPress.com 上のパーソナルプランっていうところを使い始めていました。 Linuxエンジニアがサーバを作らず結局、WordPress.com の有料プランに入ることにしたよhttps://www.gpl.jp/2018/10/17/20181017/ レンタルサーバはたくさんあるんですが、WordPressのオートマチック(Automattic Inc.)がやっているサービスです。ビジネスプランまで契約しようかと当初は思っていましたが、このブログがそんな人気が出るわけでもなくチマチマとパーソナルプラン(当初月額400円)でやっていました。 更新期限が10月中旬ということもあって、2、3ヵ月前から自宅サーバを検討していました。ご興味があるかたは、以下から検索してね。(検索システムも速くしてあります) Termuxとか、自宅サーバ関連https://www.gpl.jp/?s=Termux+自宅サーバ 月に500円、年間6000円支払うなら電気代に払って自宅サーバでブログを楽しみたいな! と思ったのであります。 スマホの中に引越しとは?  はい、このブログはスマホの中から今見ているみなさんに提供しているんです。信じられませんよね!w これは、Termux というAndroidアプリがありまして、それがつまりは Linuxなんですよね。正確にいえば、Android自体がLinux Kernelを採用したOSなんで、その上でLinux環境を構築するアプリなんです。 で、その環境にWEBサーバやら、データベースサーバやらを作り、WordPressを動作させているんです。回線は、普通のNTTの光回線に InterLinkのIP固定サービスでやっております。いわゆる自宅サーバというやつですね。 あとがき これで、Pluginもテーマファイルもやりたい放題です。 とりあず、今日は引越ししたよ! というネタをあげたかったので以上にします。またねー。
…読む?

備忘録:設定ファイルの空白行(改行)とコメントを削除して表示したい

※ブロックエディターで編集したら、表示が壊れたので再投稿です。 いろんなやり方がありますが、自分が気に入ってるのは以下3つです。 $ grep . FILENAME | egrep -v ^*# 改行はまぁ出てもいいやという場合は、コメント行だけ削除。 $ egrep -v ^*# FILENAME なんか空白(でたぶん改行が)多いなって場合は、パイプして、grep . をつければOK。 改行と、コメント行の場合は、こんな書き方も。 $ egrep -v ‘^*#|^$’ FILENAME 大体の設定ファイルは、空白行じゃなく改行だけの行なのでこれで足ります。最後のやり方だと、設定ファイルだけ見る場合、↑(上矢印)で直近コマンド出して、最後のファイル名だけ変えればまた使えるので、便利です。ちゃんとコメント行と空白行(改行と空白行)を削除したい場合は、以下になりますがタイプしずらいですよね! $ egrep -v ‘^*#|^\s*$’ FILENAME 例えば、termuxのapache2の設定ファイル(デフォルト)httpd.confは改行とコメント行を抜くと以下です。 $ egrep -v …
…読む?

Termuxネイティブ環境でacme-nginxを使いワイルドカード証明書を自動取得!

前回、別記事にすると言っていた件です。 Termux環境で動作するLet’s Encryptのワイルドカードドメインに対応した自動化ツールを探せ!https://www.gpl.jp/2020/09/11/wildcard-domain-acme/ 今日のネタは、Termuxネイティブ環境で acme-nginx というPythonで、作られた自動化ツールで Let’s Encrypt のワイルドカードドメイン証明書を取得します。さぁうまく出来るでしょうか? ちなみに、ワイルドカード証明書とは、以下のようなことを言います。 ワイルドカード証明書とは 「*.example.jp」のように、コモンネームの一番左のラベルにアスタリスク(*)を指定したサーバー証明書です。ワイルドカード証明書は「www.example.jp」「login.example.jp」「member.example.jp」のように、アスタリスクと同一階層のサブドメインのみが異なるすべてのサーバーにインストールできます。また、JPRSの提供するワイルドカード証明書なら、「*.example.jp」の証明書を「example.jp」のようにアスタリスク(*)を除いたホスト名のサーバーでも利用できます。https://jprs.jp/pubcert/about/wildcard/ では作ってみましょう。acme-nginx はもう入れてあるものとします。DNSはデジタルオーシャンに変更して、APIトークンを取得してあります。 ステップ1 適当な証明証を入れておくディレクトリを作っておきます。例では、example.jp というドメインで説明しています。 cd mkdir -p ssl/example.jp cd ssl/example.jp ステップ2 アカウントキーと、ドメインキーを作成します。 openssl genrsa 4096 > account.key openssl genrsa 4096 > example.jp.key ステップ3 digitaloceanのトークンを環境変数に入れておきます。 export API_TOKEN=digitaloceanのトークン ステップ4 証明書を発行します。WEBの認証はないので便利ですね。パスは、Termuxxの環境変数 $PREFIX に置き換えたほうが見やすいかもですね。 acme-nginx \ –no-reload-nginx \ -k …
…読む?

スマホ上に作った自宅サーバのWordPressで、テスト評価がほぼオールAになった!

はい、ただ今引っ越し準備中でして、このブログをスマートフォン上に作ったWordPressサーバに引っ越しします。9月末か10月頭予定で各種チューニングをやっていましたが、ついにスピードテスト系の評価サイトでほぼオールAを取ることに成功しました。 いくつかある評価サイトの中では、ここが一番好きです。ここの計測サイトは東京リージョンもあり、また各種グラフが見やすくビデオプレビューまで付いて来ます。 WEBPAGETESThttps://www.webpagetest.org/ 主な評価観点は、左から以下のようになっています。 セキュリティ初期アクセスまでの時間Keep-alive通信がONか?圧縮転送されているか?イメージの圧縮はどうか?静的コンテンツがキャッシュされているか?CDNを使っているか? 7番のCDNは一部、WordPressのをつかっていますが、全部は使っていないので、x になっています。これはどうするかまだ迷っています。一度、国内のCDNをテストで使ってみようと思ったのですがうまく動作せずでした。まだ原因がわかっていません。  難易度的には、簡単なものから3・4・5・6・2・1・7で難しかったです。今回は、自分なりの考えをメモりつつ、1つづつ紹介していきたいなと思います。必ず正解っていう部分はないところでもあるので、あくまで自分はこんな対策と対応をしたよっていう感じです。いろいろツッコミどころはあるとは思いますが、何かあればコメントでお気軽にどうぞ。 難易度G・Keep-alive通信がONか? これは apache を使おうが、nginx を使おうが最初からデフォルトONになっているので意識せずともAになると思います。今回は、最終的に nginx を使うことにしましたので、nginx.conf に以下を設定しています。タイムアウト時間は短いほうが良いと思います。でも、ここは突き詰めると難しい部分です。興味がある方は、以下などを一読されると良いかなと思います。 ぜんぶTIME_WAITのせいだ!https://qiita.com/kuni-nakaji/items/c07004c7d9e5bb683bc2 http { ::(省略) keepalive_requests 100; keepalive_timeout 3; ::(省略) termux 上の android OSでは、一般的なLinuxと違ってKernelパラメータも調整されているはずですので、ここが何が適切なのかを明確にするには root権限のあるスマホで termux を動かし負荷テストをしながら、各種TCPの状態遷移を見ていくのが正しい姿勢です。という意味では一番難しい部類ですが、今回はそこまで突っ込まないことにします。 難易度F・圧縮転送されているか? 圧縮レベルは1でも十分という意見はありそうです。 http …
…読む?

Termux環境で動作するLet’s Encryptのワイルドカードドメインに対応した自動化ツールを探せ!

termuxで動作するのがほしい! 先日、termux上で動作を試したちっさな acme-tiny というPython製のACMEクライアントですがどうやら調べたらワイルドカードには対応していないようです。ACMEとは、Automatic Certificate Management Environment の略で、ざっくり言えばSSL証明書発行の管理をやりとりするプロトコルです。rfc8555 にあるようです。この中でワイルドカード証明書はDNSチャレンジによる認証が必要ということです。 acmy-tinyの設計方針 acmy-tiny のプログラムは全部で198行です。作者は小さなプログラムにとどめておきたいようです。以下のように、200行くらいにとどめておきたいので、DNSチャレンジのサポート(ワイルドカードサポート)はしませんということです。 I don’t plan on adding DNS challenge support (thus no wildcard support)https://github.com/diafygi/acme-tiny/issues/195#issuecomment-372097617 I don’t plan on increasing the …
…読む?

Termuxでのスマホサーバ、SSLアクセスでも耐えれそうかな?

TermuxでのLet’s Encrypt SSL化がやっとできたのでメモっておきます! まず心配だったのは、SSLアクセスしたときのレスポンスですが、まぁ我慢どころといった感じでしょうか。 非SSLと比べると、接続には少し時間がかかっています。実際にスマホからSIM通信してみると、若干ワンテンポ送れる感じです。 証明書は、Let’s Encrypt でこれは3ヶ月ごとに更新しないといけないので自動化が必須となってきます。手動でやってもいいのですが、絶対面倒になって証明書を切らしてしまうので。で、自動化には certbot のスクリプトが有名なんですが、これは依存関係などがあったり、root (スクリプト中で su したり)が必須とかで、Termux では動きません。動かす方法もあるのでしょうが、世の中にはもっと小さな自動化ツールがありました! acme-tiny っていうPython製の自動化PGです。pythonとopenssl があれば動くそうです。pip で入れて見ます。 ステップ1 pythonを入れる pythonが必要なので、なければ入れます。今回は、もう入れてあるので次です。 $ dpkg-query -l | grep python ii python …
…読む?

アバター吹き出しをWordPressの自前ブログでやっと使える!

いやー、前から吹き出しを使ったブログを書いてみたかったんですが、やっと使えるのでちょっと開発サーバでテストしてみています。吹き出しっていうのは、こんな感じ。 アバターから言葉が出て、ブログがちょっと楽しくなる感じのやつです。よく見るでしょ? これが前からやりたかったんです。これを実現するプラグインやテーマはいくつかありますが、選んだのは「Word Balloon」っていうプラグインです。これは良くできていますね! どんな感じで使うかは、こんな感じ。投稿画面で文字を入力後、選択して変換アイコンを押し、「Word Balloon」を選択するだけ。 こうすると以下のように登録したアバターと吹き出しになって表示されます。 ブロックを選択して、アバターを変更したり、位置を右側にしたりできます。このプラグインではアバターは3つまで無料で登録できます。3つもあればとりあえずは十分ですよね。もっとたくさん使う様になればそれほど高くもないですから、有料版のサブスクリプションも考えてもいいかもです。  あと、このアバターですが「ZEPETO」っていうアプリで自撮り写真から作ったものです。結構、面白いですのでぜひお試しを。 iPhone使いは、iOS版もあります。 ぴーちゃんのモデルさんは、こちらから利用させてもらっています。 速く、SSL設定して新しいブログでいろいろ書いてみたいですね。では、また!
…読む?

スマホサーバの構成をNGINX+php-fpm+mariadbの構成にしてWordPressを動かして速度を計測しておいた

NGINXとphp-fpm構成にしてみました。いつもの計測サイトです。 夜間のネットワークが一番空いている時なんで、速い感じでしょうか? GCP東京リージョンからの、apache ab は以下。182/sec 〜!速っ 78秒かかっていたテストが5.5秒。あ、これWordPressのキャッシュ効かせる前でしたね。apache構成でも同じ条件でサイド計測しておかないと。 $ ab -n 1000 -c 100 http://jh.gpl.jp/ :: Server Software: nginx Server Hostname: …
…読む?

ポートフォワードの経路で、Uターン NATとかヘアピンNATが使えないルータの場合のあれこれ

先日、以下のように困っていました。 Termuxのapache2+php+mariadbのチューニング前のwordpressの速度とか::まぁ、速度的なことより困っていることがあります。それは、ローカルのマシンから、termux上で動作しているwordpressにグローバルIPでアクセスできないことです。この場合、ルータの管理画面にアクセスしちゃうんで、どうしようかなと。こういうのなんていうんでしたっけか? とにかく、今の拠点のルータ(PR-400KI)は、内側ネットワークから外側のグローバルアドレスにアクセスしたものを、変換(最終的にサーバのプライベートアドレスに変換)してくれないのです。 これ、言葉で書くとよくわかりませんが、どんな問題かというと以下のようになります。 こういう表現として、UターンNATとか、ヘアピンNATとか呼ぶようです。これが出来るルータとできないルータがあり、NTTから借りているルータではできませんでした。いろいろ解決方法があるとは思いますが、一番簡単なのは、クライアントPCをVPNで外部のネットワークからアクセスさせる方法です。つくば大学のVPN Gateを使えば簡単に解決できますが、インターネット経路となりいまいちです。プレイベート間の通信なのでリバースプロキシを経由する方法が良さそうです。ポート変換がなければ、hosts を書き換えるか、内部DNSを立ち上げればいいのですが、今回の場合は、スマホサーバで提供しているポートは8080です。80と8080を対応付ける必要があり、hosts だけでは無理なので、リバースプロキシを通して、アクセスしてみることにします。  ブログの更新は、クライアントPCからしか行わないのでこのPC中に設置してみました。もちろんリバースプロキシを分離して、内部DNSを立ち上げれば、理論上は何台でも違うポートとIPを使って好きなドメインでアクセスできます。そのうち、IoTデバイスとか、スマホサーバでクラスタリングとかロードバランサーとか使い出したら内部DNSやリバースプロキシは欲しくなってくるのですが、それはその時にまた考えることにします。  ということで、クライアントにリバースプロキシを作って、スマホサーバの8080ポートで提供されているWordPress にアクセスしてみることにします。幸い、クライアントはMacなので nginx とかで簡単に作れます。 Macでリバースプロキシをnginxで作る 経路のイメージはこんな感じでしょうか。まずは、nginx を入れます。 $ brew install nginx 起動と再起動、停止は以下のようにします。 ・起動 $ sudo nginx ・再起動 $ sudo nginx -s reload ・停止 $ sudo nginx -s stop 設定を以下のように書き換えます。server_nameや、proxy_passのIPやポートなど読み替えて書き換えてみてください。 /usr/local/etc/nginx/nginx.conf :: worker_processes 1; error_log /usr/local/var/log/nginx/error.log; events { …
…読む?

Termuxのapache2+php7+mariadb10 環境でwordpressの表示スコア

とりあえず、1つの指標としてメモしておくことにします。まず、改善結果から。データ量は、今見ているこのブログの過去記事、約400件のデータでテンプレートは、Hew です。TOPの表示記事数は3です。スマホ側は、UmidigiF2にapache2+php7+mariadb10の環境となります。ClassicPressではなく、WordPress最新5.5.1です。 改善前は以下です。 2.2秒くらいから、1.3秒くらいまで改善しました。これは、キャッシュ化の効果です。キャッシュさせるのは、何がいいのか迷いましたが一番シンプルそうな、「Simple Cache」というのを使いました。 Jetpack の全ての機能を試していませんが、とりあえずは動いている感じです。設定も以下のように単純です。手動でのキャッシュ削除は設定画面の2箇所から可能です。 nginx_1.19.2 と、php-fpm_7.4.9 の組み合わせでも確認してみたいですね。 Termuxパッケージ安定板https://grimler.se/termux-packages-24/arm/ nginxの1.19.2 はオフィシャル側は 2020/08/11 に公開していて、termux 側は、8/18 なんでちゃんとメンテナンスされているようです。 とりあえず、apacheのhttpd.confのパッチは以下です。apache 2.4.46 のデフォルト設定ファイルとの差分です。 — httpd.conf.org 2020-08-09 07:55:34.000000000 +0900 +++ httpd.conf 2020-09-06 01:56:57.560924026 +0900 @@ -63,8 +63,8 @@ # Example: # LoadModule …
…読む?