DreamerDreamのブログ

夢想家の夢です。〜揚げたてのモヤっとしたものをラフレシアと共に〜

MyDNSでHTTPのBASIC認証していたリクエストをHTTPSリクエストに変更する

今までDDNSサービスのMyDNSへのIPアドレス更新にはHTTPへBASIC認証をしていました。

dreamerdream.hateblo.jp

 

 IPV6を無効化する方法もどうぞ↓

dreamerdream.hateblo.jp

 

 

こんな感じ

wget http://[ ID ]:[ パスワード ]@ipv4.mydns.jp/login.html

cronで30分毎にリクエストするよう設定

crontab -e

中身

*/30 * * * * wget -q -O /dev/null http://[ ID ]:[ パスワード ]@ipv4.mydns.jp/login.html

 

簡単で良いのですがHTTPのBASIC認証はIDもパスも平文で送られるのでセキュリティー的にはもっとセキュアなHTTPSSSL)通信させた方が良いようです。(今まで約3年も放置していて今更感が否めませんが・・・)

HTTPS化したらBASIC認証はヘッダリクエストなのでパスは割れにくくなります。

 

ということで同じようにwgetHTTPSリクエストをしてみましたら。

GnuTLS: A TLS fatal alert has been received.
Unable to establish SSL connection.

と怒られました。

うん、まあ予想はしていたけどね。

 

ということでPythonでurllibでも使うかー?と思っていたのですが、もっとHTTPSリクエストを簡単に出来る方法を発見しました。

<参考>

DDNSサービスのMyDNSを使って無料で自宅サーバとVPSのDNS登録してみた - aoishiの備忘録

curl コマンド 使い方メモ - Qiita

 

curlを使うのが簡単そうです。

-uオプションでベーシック認証が出来るそうで、結果は-oで/dev/nullに破棄します。

curl https://ipv4.mydns.jp/login.html -u [ ID ]:[ パスワード ] -o /dev/null -s

(個人利用の自宅サーバーなので繋がらなくなったらその時に調べたら良しとします。)

 

30分ごとにリクエストするようcronで設定しました。

*/30 * * * * curl https://ipv4.mydns.jp/login.html -u [ ID ]:[ パスワード ] -o /dev/null -s

 

curlは古いRaspbianにも入っていたしたぶんインストールしなくても現行Linuxじゃデフォルトで入ってるっぽいですね。便利!

f:id:DreamerDream:20190905122311p:plain

 

 

eo光を使っていたら突然自宅サーバーへSSH接続ができなくなった! どうやらIPV6に対応したのが原因みたいだ MyDNSでIPV6を無効にする方法

いつも通りに外出先から自宅へSSH接続を試みたら繋がらなかった。

あれ?

帰宅してからローカルでSSHを試すと繋がる。

 

おや?

DDNS設定が間違っているのか?

ということでMyDNSへリクエストしているcronを見直してみました。

 

<無料で使えるDDNS

Free Dynamic DNS (DDNS) for Home Server and VPS etc | MyDNS.JP

 

今までcronで設定しているものをそのままwgetで飛ばしたら、どうやらIPV6のアドレス([2000:c8e:190:f31:123:678e:ef11:18be]みたいなアドレス)を取得しているらしい。ということが判明しました。

今まではIPV4アドレス([[110.123.45.678]みたいなアドレス)を取得していたのに急に・・・

なんで急にIPV6として認識されたのかは不明だけど、ルーターの挙動履歴を見てみると、ルーターの自動アップデートなのか、センターのアップデートなのかは不明だけどどうやらここ最近IPV6が使えるようになったらしいことが判明。

たぶんこれが原因だろう。

 

ということでMyDNSの設定を見直すことにしました。

 

今までBASIC認証でMyDNSへIPアドレスの通知をしていましたが、過去記事↓

dreamerdream.hateblo.jp

 ベーシック認証のアドレス、

  wget http://(マスターID):(パスワード)@www.mydns.jp/login.html

このままだと、IPV6が使える環境だとIPV6のみを更新するそうです。

IPV4のアドレスを選択的に更新するにはアドレスのwwwをipv4に書き換えて送信してやる必用があるそうで、

  wget http://(マスターID):(パスワード)@ipv4.mydns.jp/login.html

これでIPV4のアドレスが更新されます。

ちなみに、IPV6のアドレスを選択的に更新するには

  wget http://(マスターID):(パスワード)@ipv6.mydns.jp/login.html

とするそうです。

 

 

これで、一応は繋がるようにはなったものの・・・ あれあれ?

SSHへのログインに異様に時間がかかるようになってしまった。

 

もしかして先にipv6を見にいってるのか?

という確認で、sshをデバッガモードの「-v」オプションを付けてみたら

$ sudo ssh -p [ポート番号] -v [ユーザー名]@[ターゲットアドレス]
OpenSSH_....., OpenSSL ... --
debug1: Reading configuration data /etc/ssh_config
debug1: Applying options for *
debug1: Connecting to address.com [2000:c8e:190:f31:123:678e:ef11:18be] port 9999.
debug1: connect to address 2000:c8e:190:f31:123:678e:ef11:18be port 9999: Operation timed out
debug1: Connecting to address.com [110.123.45.678] port 9999.
debug1: Connection established.

っと、案の定IPV6タイムアウトするまで待っている様子です。

原因ハッケーン

 

とうことは、DDNSで更新されてしまったipv6を無効にするのが良さそうです。

けど、どうやるんだろ?

一週間ぐらい放置していれば無効化されるんだろうか?

 

いろいろ探った結果

MyDNSにログインして

f:id:DreamerDream:20190905100334p:plain

IP ADDR DIRECT

の項目を選択

f:id:DreamerDream:20190905100532p:plain

 

ここに

動的IPの場合、IPv4アドレスは「0.0.0.0」、IPv6アドレスは「0:0:0:0:0:0:0:0」でリセットされます。 

ときちんと書かれています。

 

 f:id:DreamerDream:20190905100405p:plain

設定したら「CHECK」

f:id:DreamerDream:20190905100618p:plain


 「OK」を押すとIPV6アドレスがリセットされ無効になります。

 

 

素直に繋がるようになりました!

解決!

 

しかし今までBASIC認証でも問題無かったけど、そろそろセキュリティー的にSSL認証とかセキュアな認証方法に変更しようかしら。

 

 <追記>httpsリクエストへ変更しました↓

dreamerdream.hateblo.jp

 

蚊避け対策ってこんなにあるの? 蚊を退治、蚊避けする方法についていろいろと調べて見たこと

蚊避けについていろいろと調べてみると出て来る出て来る!

そこで「蚊への対策ってこんなにある!」ってのを纏めてみました。 

 

 

 殺虫剤

「蚊」の対策といったら昔ながらの「蚊取り線香」ですよね。

最初は定番のキンチョウの蚊取り線香

f:id:DreamerDream:20190904121544p:plain


 

寝ている時に耳元で「プーン」と飛んでいる蚊はこのワンプッシュスプレー!

蚊に当たらなくても、どこにでも向けてプシュっとしておけば快眠出来ます。

 

どこでもベープはファン搭載の強力殺虫剤。

草引き作業のお供にも使えます。

 

 

蚊除けグッズ

 

蚊避けスプレー

 

玄関に吊るすタイプ

 

<少し脱線>

虫除けの代表的主成分は「ディート」。これはプラスチックを溶かすこともあるので持ち歩く場合、鞄の種類によっては要注意です!ディートが足れると中が溶けてべたつくことがあるそうです。

このプラスチックを溶かすのを利用してヘッドライトの曇り取りができちゃうそうです。

www.webcartop.jp

↓以降はディートを使わない子供でも安心の天然成分の虫除け剤を紹介します。

 

蚊避けリストバンド

 

シールタイプ

 

60日間使えるクリップタイプ

 

超音波式の蚊避けリストバンド

 

 

体臭を抑える

以前から二酸化炭素や汗の臭いに寄ると言われていた蚊ですが、高校二年生の少年が「蚊にさされる人の特徴」を研究して突き止めたのはなんと「靴下の臭い」

jisin.jp

足を消毒するだけで蚊に刺されるリスクは軽減できるそうです! 

未来の衣服には体臭を抑えて蚊を避けることができるかもー↓という記事がこちら!

gigazine.net

ということは、グラフェンシートを付けた靴下を履けば刺されにくいかも〜?

 

 

おびき寄せる

おびき寄せて殺虫する。という方法は昔からよくあります。

しかし、おびき寄せられた蚊が人に集る可能性も無くはないですね。
gigazine.net

 屋外用の殺虫機

室内用の殺虫機

ソーラー式の電撃殺虫機 

 

物理的に退治する

これはハエたたきのように物理的に蚊を叩くのではなく、帯電させた金属網に蚊が触れると感電死するというもの。

蚊より大きなハエやハチにも試したことありますが、一時的にショックで動けなくなりますが意識を取り戻して飛べます。ハエや蜂は気絶している間に窓から捨てるのが良さそうです。

 

 

ボウフラを退治する

そもそも生まれないようにしたら良い!

ということで蚊が生まれるのは貯まり水!まずは家の周りの貯まり水を処分しましょう!

徹底的に水たまりを無くすとディズニーランドのように蚊が居ない環境を作れます↓

business.nikkei.com

 

他に、メダカがボウフラ退治に有効だとも(※メダカのサイズに注意!)

oitamedakabiyori.com

ボウフラ退治ようのメダカなら安い個体で充分ですね


 

 

 

侵入させない

蚊帳は昔からある有効な手段です。

 こちらは、お一人様用の蚊帳っ

 

最近、なんとレーザーで蚊を撃ち落とすハイテクな蚊帳が誕生!

実用化間近ということで家庭向けに一般販売されることを期待します。 

japanese.engadget.com

 

 

風を起こす

意外と盲点かもしれませんが、蚊は風の中では飛べません。

ボウフラが羽化するときにも水面が風で揺れたら溺死します。

それぐらい「風」は蚊にとって大敵!

gigazine.net

 

業務用のような大きな扇風機が5000円以内で買えるんですねー!一つ買っておこうかしら?


 

 

 ということは、除草作業など、人一人の範囲で充分な場合はコレ?↓

 

タケコプター!

実はこれって真面目に作ったら蚊対策に使えるんじゃないの?

Djangoのログイン画面「Django管理サイト」を変える備忘録

Djangoでいくつかサイトを作ってみたものの、いつもログイン画面の

Django管理サイト」

が消えないことに悩んでる気がします。

「いい加減覚えろっ」てことなんだけど、実に面倒なので自分のためにも後の人のためにも備忘録として残しておくことにします。 

f:id:DreamerDream:20190904101117p:plain

弄るのは 

templates/admin/base_site.html

なければベースディレクトリにコピーしてベースディレクトリから読み出せるようにする。

ディレクトリが不明な場合は

sudo python -c "import django; print(django.__path__)"

で探す。

環境にって違うけど、僕の環境の場合、

['/usr/lib64/python3.6/site-packages/django']

 にある。

 

んで、base_site.htmlを探すんだけど、これがまたディレクトリ構造めちゃんこ深い。

/usr/lib64/python3.6/site-packages/django/contrib/admin/templates/admin/base_site.html

とりあえずこのtemplate以降のものをディレクトリごとベースディレクトリにコピーしたら弄れるようになる!(コピーせず弄ったら後で作るものに全部反映されてしまって大変ですから!)

 

中身

{% extends "admin/base.html" %}

{% block title %}{{ title }} | {{ site_title|default:_('Django site admin') }}{% endblock %}

{% block branding %}
<h1 id="site-name"><a href="{% url 'admin:index' %}">{{ site_header|default:_('Django administration') }}</a></h1>
{% endblock %}

{% block nav-global %}{% endblock %}

 

この<h1>がタイトルなので

<h1 id="site-name"><a href="/index">好きなタイトル</a></h1>

に変える。

あとは何か適当に弄れるみたいだけどよく知らないのでこのへんで。

 

<参考>

はじめての Django アプリ作成、その 7 | Django ドキュメント | Django

LINEが届かなくて友人とトラブル 「人混みでLINEが届かない理由」 急ぎの用事や人ごみでは「電話」を使いましょう

先日、某花火大会会場でこんな光景を目にしました。

 

女子中学生らしき子達が2人で場所取りをしている所へプンスカ怒っている友達1人が合流してこう言いました。

 

「ちょっと!あんたら!何回もLINE送ってるのに全っ然見てないってどーゆーことよっ!?(怒)」

 

先に場所取りしていた子達はポカーン。

 

「え?なに?LINE来てないけど?」

 

「え?なんで?送ったやんっ!」

 

「ほらー!(スマホ見せる)」

 

「えー?マジや!」

 

その後、「まー来てなかったら仕方ないか」的な雰囲気で事は収まりましたが、タイミング悪く直前にLINEが来ていたりしたら一悶着ありそうな雰囲気でした。

f:id:DreamerDream:20190902163823p:plain

 

このように、ここ数年のLINEの普及率は目覚ましいものがありますが、内部構造や配信するためのシステムを知らずにLINEを過信しすぎている人もいます。それによって引きおこされるトラブルもおそらく少なくないでしょう。


 

たとえば、数年前のEメールが主流であった頃、メールが届いていない場合、「センター問合せ」という方法でメールが届いていないか確認する方法が取られていました。

 

センターに問合せするので「中央に管理センターがある」というイメージがすぐ湧きます。

送る方も「センターに送るように頼んだ」という認識していた人が多かったハズです。

f:id:DreamerDream:20190904092355p:plain

 

ところが、LINEの場合はリアルタイムに会話するようにタイムラインが流れるのでセンターを意識せず、まるでスマホ同士が直接繋がっているという錯覚のまま使っている人、特に若年層では多いのではないでしょうか?

<錯覚>

f:id:DreamerDream:20190904092752p:plain

 

 

上の「え?なんで?送ったやんっ!」という疑問はまさに「送信できたんだから相手は受信してるハズ」という錯覚によるものです。

 

実際にはスマホ同士でやりとりしている訳ではなく、メールと同じように間にLINEのサーバー(センター)があり、そこから配信されているのでダイレクトに見えても実はタイムラグがあるのは当然なのです。

<※これでもまだ錯覚>

f:id:DreamerDream:20190904093033p:plain

 

 

近年のデータ処理の高速化、高速通信が「ライムラグ」を感じさせないのは素晴らしいことなのですが、急ぎの用事でLINEを使うとこのような錯覚がトラブルを引き起こすことがあります。

 

 

当然ですが、LINEはインターネット回線を使いますので経由地はLINEのサーバーだけでなく、携帯会社の基地局や中継サーバーなども複雑に経由します。

LINEに限らず、あなたが一度送ったメッセージは世界中で飛び回り相手に届いているかもしれないことを忘れてはいけません。

<実際>

f:id:DreamerDream:20190904093800p:plain

 

 

 

そして、周囲の人がスマホをよく使うような場面では、一人一人に割り当てられる電波に限りがあるので情報が遅延します。

 

電波帯域やアンテナの数によって状況は変わりますが、ここでは解りやすいように仮に1つのアンテナで1つの電波帯域で情報を送信していると仮定して、このような場面を想定してみましょう。

 

 

1つの送信アンテナに対して1台のスマホが割り振られている場合

f:id:DreamerDream:20190904094603p:plain 

この場合、通信は1:1で100%使えて完全にスムーズです。何の問題もありません。

 

 

1つの送信アンテナに対して10台のスマホが割り振られている場合

f:id:DreamerDream:20190904100040p:plain

この場合、通信は1/10になります。割り振りが減った分は「通信速度」として影響します。

データはパケットごとに順番に各スマホに送られますので「順番待ち」が出来ます。

しかし実際には通信は非常に高速なので10台程度ではストレスを感じるほどではありません。 しかし確実に遅延は発生します。

 

 

 

次に1つのアンテナに100台のスマホが割り振られた場合

f:id:DreamerDream:20190904100102p:plain 

通信は100%中、1/100つまり1%の電波です。これが「遅延」の原因です。

返信が埋もれていますね。

通信出来なかったデータは順番待ちでサーバー等に一時保管されます。

サーバーからは通信できるスマホから順番にデータが送られます

データはLINEのような文字データだけとは限りません。写真や動画を見ている人があればそのデータ分だけさらに遅延します。

 

 普段大勢が利用する施設などはアンテナや基地局で遅延が発生しないよう配慮されているでしょうが、普段スマホ電波が飛び交わないような場所(河川敷など)は大勢が使う場面はわざわざ配慮してありません。

そのような場所で一気に大勢がスマホを使った場合、このような遅延が起こることになります。

 

イベントやプールなど、人ごみの中で連絡を取り合う場合では、センターでストックされるようなメールやLINEなどではなく、きちんと「発信」したら「着信が鳴ること」が確認出来る、「電話」を使うのが「送った」「来てない」のトラブルを避ける最良の方法です。

未来の車には自動運転システムより先に「自動停止システムを義務化」するべきだ

自動運転がいよいよ本格化してきました。

f:id:DreamerDream:20190902092416p:plain

 以前、このブログでも自動運転に絡む問題点を取り上げたことがあります↓

dreamerdream.hateblo.jp

 

今回は「自動運転が出回るより先にやることがあるんじゃないのか?」

という個人的な意見を述べることにします。

 

それが「自動停止システムの義務化」です。

 

どういうシステムなのかを簡潔に述べると

停止権限の装置からの停止信号を受信するとハザードを点灯させてジンワリ停止する装置

です。

  

 

考察

これは、近年「煽り運転」や「カーチェイス」など、モラルの疑われる行為が度々問題になっていることに対しての安全な対処法です。

 

自動停止装置の具体的例

装置の取り付け

①自動停止装置を新車、中古車等の販売時には付けなければ販売出来ないもの(輸入車も含)とする法令を施行します。

装置を自分で取り外しや改造を行なった場合には罰則の対象になるものとします。

 

法令施行直後は期間限定で「安全車両」として補助金制度を適用できるものとします。

若しくは自動車税の引き下げ対象とします。

 

装置の確認/点検

②警察車両(確認権限のある装置)はナンバーと照合させて※無線でこの装置が正常に機能しているかを確認する(正常なコードが送受信できる)ことが出来るものとします。

運転手は装置の状態を任意で知ることが出来ることにします。

装置の案内:「停止装置は正常に機能しています。」

 

③装置が取り付けれているはずの車両にも係らず正常に機能していないと判断された場合、運転手へ事情を聴取します。故意でない場合(故障放置は罰則)は修理を勧めることで罰則は無し。

警察車両が(改造車や危険運転など)不審であると判断した車両へは運転手への事情聴取の際に、装置の機能確認(実動作確認)が行えるものとします。

故意に破壊改造されている場合には罰則対象とします。

 

※警察による無線による装置の確認には従来のスピードチェックのように、車両後部から確認装置でチェックする方法、ねずみ取りのように確認装置を固定して前方からチェックする方法が考えられます。

 

装置の作動

④警察が暴走車両(危険運転、逆走など)を発見した際、警察は車両ナンバー等と照合して※停止許可を取り、間違いないよう自動停止コードを送信します。

※停止許可:警察が実際に停止コードを送信する際、警官個人の権限で悪戯に停止させることのないように車両ナンバーと照合させ本部へ停止許可を取る必用があります。停止の際には画像記録が義務となります。

 

⑤装置は車両のハザードを点滅させ、3秒後に徐々にスピードを緩めるように動作します。完全停止でブレーキを効かせた状態を維持し、サイドブレーキなど物理的停止装置の作動を案内します。

 装置の案内:「車両のサイドブレーキをかけてください。」 

 

開発のしやすさ

今現在実用化されている「衝突防止装置」の自動ブレーキ機能を応用すればこのような装置を作る事は難しくはないと思います。

警察が武力を行使できない日本の暴走車への対応として適切だと思いませんか?

 

課題

現行の自動ブレーキ装置のあるAT車が対象であり、ミッション車などには適応が難しいこと、暴走行為を行なうものがあえて自動停止装置装着車を選択するとは思えない。

しかしながら、盗難車両の場合なら自動停止することで確実に停止出来、盗難車両によるカーチェイス行為の被害を抑えられるというメリットは大きいでしょう。

また使用する電波帯域に対する課題もあります。

 

展望

自動停止装置の電波帯域が確保出来ていると、将来的に自動運転車が運用を開始した際、この自動停止装置の通信電波帯を使って車両同士の円滑な通信が行なえるようになることでしょう。

 

 僕の考えた誤発進防止装置もご覧ください↓

dreamerdream.hateblo.jp

 

なぜ日本と韓国は軍事協定破棄を双方共に「影響はない」と評価してしまうのか

先日、GSOMIA軍事協定の韓国の一方的な破棄のニュースには大変驚かされました。

しかし、その影響に関してお互いに「破棄による影響は微細」だと評価されています。

それほど無意味な協定なのでしょうか?

 

 

ミサイルの分析における双方の思惑

まず、北朝鮮からのミサイルに対して双方共に「向こうが困るだろう」と思っていることを取り上げます。

日本側は「北朝鮮のミサイルの着弾地点の計測は日本の方が有利だから破棄したら韓国の方がミサイルの分析に困るだろう」と思っています。
韓国側は「北朝鮮のミサイル発射時の計測は韓国のほうが有利だから破棄したら速報が出せず日本が困るだろう」と思っています。

 

ミサイル発射で困るのは?

実戦においては、当然ですが日本にとって重要なのは「日本側に飛翔したもの」であり、韓国側にとって重要なのは「韓国側に飛翔したもの」です。

 

つまり、韓国側にとって日本海側に向けて発射されたものの情報は「ウチ関係ないじゃん、別に日本側に向けたものでしょ?ウチは別に困らんし」というわけです。

韓国にとって重要なのは、あくまで北朝鮮のミサイルの性能の分析ではなくどの方向に向けられたものなのか?ということです。

 

ミサイルの性能を分析する必要性は?

ミサイルを分析して北朝鮮の武力を測り対策を練ろうとしている日本やアメリカにとってミサイルのレーダー補足情報は重要な情報です。
大陸間弾道ミサイルの場合、アメリカにも脅威となるので当然ですね。

つまり、北朝鮮がどのような能力のミサイルを保持しているのか?という軍事力を分析しようとしている日本、アメリカにとって韓国側の発射直後の挙動は重要な情報になるわけです。

 

一方、韓国にとってミサイルであれば近距離だろうが大陸間弾道ミサイルであろうが、実際に発射されてしまえば即座に届いてしまう距離なので分析自体はあまり意味の無いこととも言えます。

f:id:DreamerDream:20190827093247p:plain

 

北朝鮮の情報は?

協定破棄によって日米が実際に困るのは北朝鮮に詳しい韓国からの内部情報が入りにくくなってしまうことでしょう。

脱北者からの有益な情報はやはり隣接している韓国が詳しいのです。

実際に協定が破棄されて北朝鮮の重要な情報が入りにくくなってしまうことはありえます。

 

軍事機密事項の漏洩リスクは?

北朝鮮から韓国へ渡る情報とは逆に、韓国から北朝鮮への情報流出がないか?と問われると誰も答えが出せません。

しかし実際に韓国には北朝鮮スパイも潜んでいるそうですし、日米の重要な軍事機密情報が漏れている可能性もゼロでは無いでしょう。

協定が破棄されると、情報が入りにくくなると同時に北朝鮮への情報流出のリスクが減らせるという考え方も出来ます。

 

一番困るのは

おそらく、間に入って仲裁しているアメリカが一番困っていることでしょう。

韓国は軍事情報云々よりも国際社会で「一方的な軍事協定の破棄をした国」と評価されてしまうのですから国の評価を落とすことになります。

 

まあ「軍事情報」などを使う場面は「最悪の場合」ですから、実際に情報を活用する場面が無い方が望ましいものです。いつまでも平和でありたいものです。

kampa.me