2020年11月23日

ホワイトリストを作ってみよう−その19

どうやってもピンポンが動かないので、やり直してみる事にしました。

レジストリは追加したまんまで、

「一時的なアドオンを読み込む...」で、Native messaging exampleを選択しました。

この時に"ブラウザコンソール"にエラーが二つ。
ふたつとも、
File at path "C:\temp\webextensions-examples\native-messaging\app\/path/to/native-messaging/app/ping_pong.py" does not exist, or is not executable
というエラーでした。

指定されたパスは存在しないか、実行形式ではない!

って怒られてるんですが、エラーを見ていて気が付いた事が!

"C:\temp\webextensions-examples\native-messaging\app\"までのセパレーターは\マークなんですが、
"/path/to/native-messaging/app/ping_pong.py"までのセパレーターは普通にスラッシュ!
しかも双方は"\/"で結合されてるし。

「スラッシュとバックスラッシュって混在してもいーんでしたっけ?」

確かwindowsとunixで違ってたんだけど、windowsで対応するようになって、混在は良いような気もするけど、"\/"は怪しい。

そもそも"/path/to"って何?
誰がいつ付けた??


WebExtensionのマニュフェストを読ませただけで出たエラーなので、マニュフェストを眺めてみました。

{

"description": "Native messaging example add-on",
"manifest_version": 2,
"name": "Native messaging example",
"version": "1.0",
"icons": {
"48": "icons/message.svg"
},

"browser_specific_settings": {
"gecko": {
"id": "ping_pong@example.org",
"strict_min_version": "50.0"
}
},

"background": {
"scripts": ["background.js"]
},

"browser_action": {
"default_icon": "icons/message.svg"
},

"permissions": ["nativeMessaging"]

}

"description"は無関係だとします。
"manifest_version"もパスには無関係だとします。
"name"もパスには無関係...
"version"も"icons"も。
"browser_specific_settings"も無関係ですよね。

"background"...
"scripts"が指定されてますよね。"background.js"

で、"background.js"を見てみると、

var port = browser.runtime.connectNative("ping_pong");

この行で"ping_pong"を指定してますよね。

ここまではまだ"/path/to"が出てきてないです。

恐らくここから先はレジストリの世界。

で、追加したレジストリキーがありまして、
\\HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\NativeMessagingHosts\ping_pong
これに指定したデータが、次に見るべきjsonファイルではなかろうかと仮定。

C:\temp\webextensions-examples\native-messaging\app\ping_pong.json
↑を設定しているので、
"C:\temp\webextensions-examples\native-messaging\app\"までは前半部分だと認識できました。


で、ping_pong.jsonでは、

"path": "/path/to/native-messaging/app/ping_pong.py",

と、書いてある。


・・・

単に文字列の連結なんでしょうか?

"C:\temp\webextensions-examples\native-messaging\app\""/path/to/native-messaging/app/ping_pong.py"

こーゆーことだよね↑このエラー

たーめーしーに、

ping_pong.jsonの記述を変えてみました。ついでに拡張子も。

"path": "native-messaging\app\ping_pong_win.bat",


再実行。

・・・

File at path "C:\temp\webextensions-examples\native-messaging\app\native-messaging\app\ping_pong_win.bat" does not exist, or is not executable Subprocess.jsm:151

だとさ。 orz...

ぇ?なんでかぶってんの?\native-messaging\app\...

ぴんぽんジェーソンの記述からそのパスを消してみよう。


リトライ!

エラーが消えた!!!

ブラウザコンソールにピンポンは??


でてねぇ... o...rz
posted by ハッタリ at 20:07| Comment(0) | 調べ物 | このブログの読者になる | 更新情報をチェックする

2020年11月17日

ホワイトリストを作ってみよう−その18

ピンポンジェーソンというサンプルは、オイラの環境だとうまく動かないという事がわかったというもうね!


以下オイラ意訳。※登場人物とかの訳に問題があったらコメントください。


ゼルダ:勉強中の拡張機能を一時的に動作させるとこんなエラーになります。
 "Attempt to postMessage on disconnected port"

 テクニカルライター:どのサンプル?ちょ見せてみ?

 ゼルダ:反応どもです。native-messagingです。


 テクニカルライター:俺んトコだと動いてるよ。
  セットアップページのREADMEをよく読んでみそ。
  https://github.com/mdn/webextensions-examples/tree/master/native-messaging#setup

 ゼルダ:READMEの手順通りにやってはいるんですけどね。コンソールに他のエラーは出てないす。


 テクニカルライター:Windowsで詳しい人は居ないかな?オイラの環境はOS Xだし...


 時計製作者:Windows10だとゼルダと同じ結果になるね。


 モーテップ神田:Windows7にも同じような問題があるね。
  この手順に沿ってみると幸せになれるかも。
  https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Native_messaging#Setup
  ・ping_pong_win.batとping_pong.json を正しく配置する。
  ・バッチファイルを管理者で実行して、
  ・Regeditでキーが正しく追加されている事を確認する。
  ・パイソン2.7か3.6.2で確認してみたよ。
  ・拡張機能無しのセーフモードでFirefoxを再起動してみたけど、やっぱ同じだったわ。


 ピアノの先生?(じゃないよねw):多分手順4のレジストリキーの追加が間違ってると思うの。
  コマンドをコマンドプロンプトかPowerShellで実行させるようにするだけ。


 モーテップ神田:コメントのチェックリスト通りにレジストリを追加してるんだけど。
  念のため画面キャプチャ貼っとく。
  で、レジストリキーの値をエクスプローラにコピペしたら、ディレクトリは正しい事がわかる。


 ピアノの先生?(じゃないよねw):パイソンスクリプトじゃなくって、呼び出しバッチファイルを指定してみそ。
  ここの例示通りにね。
  ナイス:1


 スタッフー:Windows10で試してみたんだけど、ping_pong.jsonにタイプミスがあるんじゃね?(2017/9/26現在)
  ポート切断エラーが再現できたし。修正したら正常に動作したよ。
  同じような問題が他に無いかはチェックしとくね。


 モーテップ神田:ピアノの先生?(じゃないよねw)とスタッフー!コメントありがとー!!
  パスと区切り子を訂正したら動きましたわー!!!
  ナイス:1 オメ:1


 テクニカルライター:これ、ユーザーのせいみたいだから閉じるね。



名無しさん:誰かの為に書いておくけど、ブラウザコンソールを確認してみてね。
 クロームで動くマニュフェストをファイヤーフォックスで使おうとしたら、
 ファイヤーフォックスがallowed_origins...を切ってたみたいな。
  https://bugzilla.mozilla.org/show_bug.cgi?id=1361459

 テクニカルライター:つhttps://github.com/mdn/webextensions-examples/issues/371

プロフェッショナル:実行属性が付いてるか確認しといてね。そうでないとこうなるかも。




・・・


やっぱりわがんねw
posted by ハッタリ at 12:26| Comment(0) | 調べ物 | このブログの読者になる | 更新情報をチェックする

2020年11月11日

ホワイトリストを作ってみよう−その17

サンプルのエクステンションをロードしてみたんですが、ぜんぜん動きが認識できませんでした。

まあこんな時ってたいてい、

「なんか大事な事を見落としてる」

ので、思い返してみたんですが、パイソンのインスコ確認時に、

PATHの設定を確認していなかった事に気が付いたので、環境変数を追加してから再挑戦してみたんですけどやっぱり動かない。
itioutuikasitemitanndesukedone.png


嬉しい事に、check_config_win.pyという、おそらく

“動作環境のチェッカー”プログラムがあったので、すかさずアイコンをダブルクリックしたところ、

実行した途端に終わってしまって、何が何だかわかんなかったので、

コマンドプロンプトで実行してみたんです。そしたら、


 c:\temp\webextensions-examples\native-messaging>check_config_win.py
 Traceback (most recent call last):
  File "C:\temp\webextensions-examples\native-messaging\check_config_win.py", line 22, in
  key = winreg.OpenKey(getattr(winreg, root), key_path)
 FileNotFoundError: [WinError 2] 指定されたファイルが見つかりません。


ぁぁそうでしたか。指定されたファイルが見つからなかったんですね。

winreg.OpenKey()が指定しているレジストリキーがなかったのかなぁと思って、追加してみたんですが、ダメ。
レジストリキーは見つかったけど、値にファイルを設定してなかったのがいけなかったのかなぁと思って、キーの値にパスを設定してみたんですけど、やっぱだめ。
rejisutoriki-noaregawakannnai.PNG


スクリプトを見たところ、レジストリキーが無ければ

...error finding key

と表示されるだろうし、見つかったら

Checking:なんちゃら

という文字列が表示されるだろうから、やっぱりよくわかんない何かがあるんだろうなと思ったりしてます。

オイラの足りない頭じゃぁダメだ。あきらめた。


というわけで、そもそも使いたかったネイティブアプリの呼び出し方法を探してたら、
マイクロソフトさんのエッジ向けのドキュメントで、比較的わかるかもしれなさそうな解説を見つけました。

...読んでみようと思います。
posted by ハッタリ at 15:54| Comment(0) | 調べ物 | このブログの読者になる | 更新情報をチェックする

2020年11月10日

サービスワーカーってなにそれ?

アドオンで遊んでいたら、Service Workerってぇのが表示されていた事に気が付きました。
sa-bisuwa-ka-ttu-yokuwakaranaisa-bisu.PNG


なんだろうとググってみたところ、
ブラウザでネットサーフィンしてる人が意識していないところで動く、プログラム環境とプログラム。
の事らしいです。

マイクロソフトさんの解説によると、

全てのネットワーク要求を、傍受・変更・応答する事ができるらしいです。

つまり、サービスワーカーを組み込んだが最後、

「使い手が知らないうちに何かを仕込まれてしまう」

というようなサービスだろうと思われます。


比較的あらたしい技術の実装らしいんですけど、他のサービスワーカー関連の記事なんかをいろいろ眺めていると、
どうも情報提供者側に都合が良い仕組みっぽぃですね。

ちなみに、httpsでアクセスできるサイトからしか提供されないので、

改竄されていない事が担保されてる

という事らしいんですけど、提供している当事者が悪意を与えていたら意味ナイスよ。

とりあえずオイラの環境にインストールされてたサービスワーカーのリストは、重複を除いて以下のとおり。
 //ameblo.jp/_static/service-worker.js
 //discourse.mozilla.org/service-worker-aa0c262339bf89f99f3be35c516791101121756b173dc677227bb3a13fef240b.js
 //dvdcreator.wondershare.jp/web-notification/sw.js
 //ja.aliexpress.com/sw.js
 //qiita.com/public-production-v3-serviceworker.min.js
 //t-salad.com/cocoon-service-worker.js
 //techacademy.jp/pushworker.js
 //twitter.com/sw.js
 //www.biccamera.com/bc/c/js/serviceworker.js
 //www.biz-lixil.com/serviceworker.js
 //www.cnn.co.jp/static/js/atlanta/firebase-messaging-sw.js?1590391388
 //www.daily.co.jp/serviceworker.js
 //www.football-zone.net/serviceworker.js
 //www.footballchannel.jp/serviceworker.js
 //www.gqjapan.jp/firebase-messaging-sw.js
 //www.lixil.co.jp/serviceworker.js
 //www.nishinippon.co.jp/serviceworker.js
 //www.okinawatimes.co.jp/sw.js?rd=201906012020
 //www.oracle.com/akam-sw.js
 //br.pinterest.com/sw.js
 //www.pinterest.cl/sw.js
 //www.pinterest.co.kr/sw.js
 //www.pinterest.jp/sw.js
 //www.pixiv.net/OneSignalSDKWorker.js?appId=b2af994d-2a00-40ba-b1fa-684491f6760a
 //www.sankeibiz.jp/common/js/others/coins/serviceworker.js
 //www.unrealengine.com/epic-service-worker.js
 //www.webcg.net/sw.js?rd=2018122701
 //www.weblio.jp/www_service-worker.js
 //www.xmtrading.com/akam-sw.js

オイラが普段どんなサイトを見ているのかがばれちゃうんですけど、まぁこのとおり。

サイトを開いたときに、

「このサイトからの通知を受け取りますか?Yes,No」

みたいなアラートが出た時になんかクリックしたか、それとも勝手に組み込まれたか。

xmtrading.comとか、pinterest.なんとかとか、全然心当たりのないドメインもあるんですけど、これは広告ですっ飛ばされた先をアクセスしちまった際に組み込まれたのかなぁ?


いずれにしろ、同意無く勝手に組み込まれたサービスは、リジェクトした方が安心なので、

オイラはこちらの記事を参考にして無効にしました。

技術の進歩ってやつを否定するつもりは無いんですけど、
大きなお世話は、謹んで遠慮いたします。
posted by ハッタリ at 11:39| Comment(0) | 仕事には使えないボヤキ | このブログの読者になる | 更新情報をチェックする

2020年11月09日

ホワイトリストを作ってみよう−その16

こないだのエラーは、リポジトリのディレクトリを間違ってたみたいで、一つ上のディレクトリを指定したらクローンできました。

ググったらSSLがどうのこうのっつー対処方法が引っかかったんですけど、どれもこれもいまいちピンと来なかったんで、リポジトリのパスをいじくってみた結果、目的のサンプルを読み込ませる事ができました。
kuro-nnsurudhirekutorigatigettetappoxi.png

※そういえば今月からSSL対応する予定でしたので、後でやります。

さてと。
"Native messaging example add-on"
っつーやつを動かしてみようと思いました。

README.mdを開いてみたら、当然のごとく英語。ぅん。負けるな。オイラにはDeepL先生がついている。

ウェブエクステンションとネイテブアプリとのメッセージ交換を行うサンプルっぽぃです。

なんかアイコンみたいなのをクリックしたら、“ぴん”メッセージを送るみたいです。

ネイティブアプリがメッセージを受け取ったら“ぽん”メッセージを返すみたいです。

つまり、このサンプルエクステンションを読み込むと、ブラウザにアイコンっぽぃのが増えるので、それをクリックするとどっかからポンメッセージが返るモヨウ。

ネイティブアプリが本当に“ぴん”を受け取るのか?
ブラウザが本当に“ぽん”を受け取るのか??
そしてそのメッセージはどのように目視確認できるのか???

という疑問が解決できるという期待を込めて、試してみようと思います。

でなになに?

1. Check you have Python installed, and that your system's PATH environment variable includes the path to Python. See [Using Python on Windows](https://docs.python.org/2/using/windows.html). You'll need to restart the web browser after making this change, or the browser won't pick up the new environment variable.

パイソンがインストールされてる事を確認しろと?

実は以前にVSをインスコした際に、ツールとしてインストール済なのでした。
だから、拡張子".py"のファイルをダブルクリックすると、コンソールみたいなウィンドウが出て消えます。

まぁインストールされているという事ですよね。
haittennjyannpaisonn.png

2. Edit the "path" property of "ping_pong.json" to point to the location of "ping_pong_win.bat" on your computer. Note that you'll need to escape the Windows directory separator, like this: `"path": "C:\\Users\\MDN\\native-messaging\\app\\ping_pong_win.bat"`.

で、"ping_pong.json"に記されてる"ping_pong_win.bat"のフルパスを書けと。。
はい。書きました。

3. Edit "ping_pong_win.bat" to refer to the location of "ping_pong.py" on your computer.
ふむふむ。"ping_pong_win.bat"が示している、"ping_pong.py"の参照先を書けと。。
はいはい。書きましたよ。
paisonntobattinokannkei.PNG

4. Add a registry key containing the path to "ping_pong.json" on your computer. See [App manifest location ](https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Native_manifests#Manifest_location) to find details of the registry key to add.
んで、レジストリにping_pong.jsonへのパスを追加しろとな。
詳細はこれを参照か。
ぇと、マニュフェストへのロケーションとな?

HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\NativeMessagingHosts\
↑の意図している事が理解できないんだけど、
ローカルマシーンのキーカテゴリにモジラのカテゴリがあるから、そこに名前を追加しろと?
っつーのはなにゅフェストに記載されてるプロパティの事だってか?

するとこう?
manyufesutonituikasurunohakorenanoka.PNG

よくわかんないけどまあいいや。

ロードしなおして試してみよう。

ぽちっとな。。。。



。。。。。


何も起きねぇ orz...


あ、あとオイラの予想は外れそうナンスけど、外れそうついでに、外れてほしい事柄をひとつ。

売電氏が大統領になって、ち ょ い なと結託して、どっかでぅ ぉ ー が起こるかも。

絶対外れろ外れろよ外れるんだぞ。
posted by ハッタリ at 14:07| Comment(0) | 調べ物 | このブログの読者になる | 更新情報をチェックする

2020年11月06日

ホワイトリストを作ってみよう−その15

GitHubの使い方がさっぱりわからないです。


作り始めたアドオンからプログラムが呼び出された感じがしないので、既に動作しているもんはどんな感じなんだろうと疑問に思ったので、

取り急ぎサンプルを動かしてみようと思ったんですが、サンプルソースのリンクをクリックして飛ばされた先はGitHubでした。

「GitHubなら、ディレクトリ毎ソースをコピーできるのかな?」

と思っていろいろ飛んで、眺めてみたんですが、ソースのダウンロードはできそうになくって、テキスト部分をコピーしながら、ローカルディスクに複製作るのも、手間がかかるし、お手軽にリンク先を保存できないだろうかと試してみたんですけど、保存できたのはHTMLページ。ぜんぜんダメでした。
a_kore_damenayatuda.PNG

toriaezu_readmi_wo_hozonnsitemita.png

issues とか、 Pull requests とか、よくわかんないタブが出ているだけで、クリックして飛び先を見てもやっぱりよくわかんない。
このページは単に閲覧ができるだけみたいですね。




これはあれですか。

トータスギットさんの出番みたいですね。


というわけでトータスギットさんをインストールしてみました。


で、さっそく動かしてみました。
初回の魔法使いさんが起動しました。。。。

ぇとなになに?
「git.exeが必要です」??
xe_saisyono.PNG

・・・ぇ、本体が無いの???

このまま動かすと探してみてくれるらしいんですけど、インストーラーに本体が含まれていないのは変。

という事は、どっかで何かが悪さしてるのか?

探してもらうのもイーノかもしれませんが、とりあえず自分で探してみることにしました。

待つ事10分

git_naino_tteomottara.PNG

あった。

以前VisualStudioをインストールしたときに入ってたっぽぃ。


なるほど。

んでわとりあえず実体らしき方を指定してぽちっと。

クローンを作りたいディレクトリで右クリックして、Git Clone...コマンドを選んで、サンプルのURLを指定して、やぁっ!

nanndayo_konoera-_wakannne-yo.PNG
わかんねぇよこんなエラーwww
posted by ハッタリ at 18:22| Comment(0) | 調べ物 | このブログの読者になる | 更新情報をチェックする

2020年11月05日

ファイ区ニュース

オイラぶれないぞ。

トランプさんオメ。
posted by ハッタリ at 12:31| Comment(0) | 分類はまだ | このブログの読者になる | 更新情報をチェックする

2020年11月04日

笛育入巣

2020年11月04日14:50分現在、
アメリカ大統領選挙の開票真っ最中ですが、売電候補が有利という前評判だったのに、トランプ候補が当選しそうな勢いです。

っつかオイラ的には断言します。トランプさんが勝ちます。

で、また

「隠れトランプ」

なる単語が飛び交う事になると思うんですよ。


隠れトランプっつーより、事前に集めた情報が偏ってたか、真実を教えてもらえなかっただけだと言う事だと思います。

たしかにふぁけニュースを。。。っつーよりも、

伝えなきゃいけないニュースよりも、思想の伝搬をメインにしているようなマスコミさんたちに、
本心を伝えなかっただけだと思いますわ。

トランプさんおめでとさんです。
at14:54
posted by ハッタリ at 14:55| Comment(0) | 分類はまだ | このブログの読者になる | 更新情報をチェックする

2020年10月29日

ホワイトリストを作ってみよう−その14

そういえば以前に解説を和訳してもらった時に、
「マニュフェスト.jsonファイルに属性を追加する必要がある」
って文があったのを思い出したんで、↓の様に追加してみたんですけど、それでもダメっした。

{
"description": "Demonstrating webRequests",
"manifest_version": 2,
"name": "webRequest-demo",
"version": "1.0",

"permissions": [
"webRequest",
"",
"nativeMessaging"
],

"background": {
"scripts": ["background.js"]
}
}

ここで、runtime.connectNative()をよくわかってないので、DeepLさんに手伝っていただきながら、解説をながめてみました。


Connects the extension to a native application on the user's computer.
This takes the name of a native application as a parameter.
It starts the native application and returns a runtime.Port object to the caller.

The caller can then use the Port to exchange messages with the native application using Port.postMessage() and port.onMessage.
The native application will run until it exits itself, or the caller calls Port.disconnect(), or the page that created the Port is destroyed. Once the Port is disconnected the browser will give the process a few seconds to exit gracefully, and then kill it if it has not exited.
For more information, see Native messaging.

※DeepL先生の訳文に、そのままでは理解できないところがあったので、ちょっとだけオイラ意訳かけてます。

拡張機能からローカルコンピュータ上のネイティブ・アプリケーションに接続します。
呼び出し時の引数には、ネイティブ・アプリケーションの名前を指定します。
ネイティブ・アプリケーションを起動し、呼び出し元に runtime.Port オブジェクトを返します。
呼び出し元は、PortオブジェクトのpostMessage()を使用してメッセージを送信し、onMessageでレスポンスを受け取るようにして、ネイティブ・アプリケーションとメッセージを交換します。
ネイティブアプリケーションは、それ自身を終了するか、呼び出し元がPort.disconnect()を呼び出すか、Portを作成したページが破棄されるまで実行されます。
Portが切断されると、ブラウザはプロセスが終了するのに数秒の猶予を与え、終了していない場合は終了させます。
詳細はネイティブメッセージングを参照してください。

なるほど。
要するに
@JavaScriptのスコープ内に有効なPortオブジェクトを定義する。
Aruntime.connectNative()で、Portオブジェクトと呼び出される関数名を紐づける。
B呼び出させたいタイミング(オイラの意図ではhttpが送信される前)でpostMessage()する。
Cレスポンスが来るだろうからメッセージハンドラを定義しとく。
Dメッセージハンドラでなんかカキコして閉じればウマー。
こうなのかな?

じゃぁもういちどサンプルを参考にして書いてみるか。。。

var port = browser.runtime.connectNative("ConsoleApplication1.exe");

port.onMessage.addListener((response) => {
console.log("Received: " + response);
});

browser.webRequest.onBeforeRequest.addListener(
port.postMessage();
);

さてと、リロードしてF5をポチ。
ブラウザーコンソールに出力が、、、、

出ない。


なんでだ?
posted by ハッタリ at 09:47| Comment(0) | 調べ物 | このブログの読者になる | 更新情報をチェックする

2020年10月28日

ホワイトリストを作ってみよう−その13

ちょっと日にちが経過したので復習おば。

@最初にコンソールにURLを吐き出すスクリプトを試行してみました。

function logURL(requestDetails) {
console.log("Loading: " + requestDetails.url);
}

browser.webRequest.onBeforeRequest.addListener(
logURL,
{urls: [""]}
);

んで、ブラウザーコンソールにはこんな感じで出たのを目視確認。
burauzakonnso-runikonnnakannjidedeta.PNG


A次にローカルログに出力するように書いてみたんですが、これがダメだった。
function logURL(requestDetails) {
var fs = WScript.CreateObject("Scripting.FileSystemObject");
var file = fs.OpenTextFile("C:\Users\HattariB\Documents\rireki.hack", 8, true, -1);
file.Write(requestDetails.url);
file.Close();
}

browser.webRequest.onBeforeRequest.addListener(
logURL,
{urls: [""]}
);

意図としては、ローカルのテキストファイルを開いて書いて閉じる関数に、を渡してあげれば、
カキコしてくれるのかなぁと思ったんですけど、そもそもファイルが出来ていなかったっす。

ファイルが出来ていないって事は、関数が呼ばれなかったという事。
つまり、↑の書き方ではローカルログに出力なんぞできないという事ですわ。

そんなこんなで、予めログをカキコするプログラムを作っておいて、外部プログラムを呼び出す仕組みを利用する事で、ログファイルを更新してみようと思って、プログラムを作ってみるところまでは、進んだんだったっす。

そんで、外部プログラムを呼び出すサンプルを参考にして、


var port = browser.runtime.connectNative("ConsoleApplication1.exe");
↑これを書く事はわかったんですけど、呼び出されてくれない。。。。

よくわかんない何かが必要なんだな。というところで時間切れ。
あしたは本気出す。
posted by ハッタリ at 17:39| Comment(0) | 調べ物 | このブログの読者になる | 更新情報をチェックする

2020年10月16日

ちょいといぶかしいドメイン

検索結果において、閲覧して認識した思惑と、誘導されたページの結果が、

「思ったもんと違う」

そんなサイトを「迷惑サイト」の構成物件とします。


そんなオイラ的「迷惑サイト」に誘導するドメインが、aaa.comというドメインです。


ブラウザでaaa.comに行こうとすると、www.aaa.comにリダイレクトされて、このページは
「ちょっとカッコイー欧米サイト」と認識する事が出来て、まぁ普通に閲覧できるみたいです。

会員じゃぁないから全部は閲覧していませんが。


このaaa.comの所有者はどなたかを調べるために、whois情報を当たってみたんですが、

登録国がUS、
登録者がnetworksolutions.comとなっていました。

こちらの会社は、アメリカのレジストラだと思うので、問題無いと認識してますが、要は、

aaa.comというドメインの所有者は、ご自分の情報を伏せているという事。

オイラも自宅に押し掛けられたりすると困るので、登録者の情報は伏せていますけど、
つまりそーゆー事。


さて、こんな迷惑サイトがあります。
ka-konekutokarusute-toaaakomu.PNG

ドメインを見てみると、

carconnect.calstate.aaa.com

となっていて、サブドメインがcalstateでサブサブドメインがcarconnectらしいです。

サブドメインとサブサブドメインを含めてググってみると、いろんなキーワードの検索結果が出てきます。

更に、どの検索結果をクリックしても、迷惑サイトに誘導してくれやがるので、

これはあれですね。

aaa.comの持ち主は、いろんなキーワードで引っかかった検索結果に、迷惑サイトのURLを紛れ込ませている様なにおいがしやがります。

ちょっとお気をつけた方がよろしいかと存じます。




posted by ハッタリ at 16:17| Comment(0) | 仕事にも使えるかもしれないメモ | このブログの読者になる | 更新情報をチェックする

2020年10月10日

VirtualBoxは、今のところHyper-Vとの共存ができない。

VisualStudioでiOS向けのプログラムが書けるっつーので、ちょっとだけ試してみようと思いまして、ソリューションのテンプラを選んでいたら、
iOSとandroidの両方に向けたソリューションがあったので、選んでみました。

最初にandroid用のemuを起動させようとしたところ、


すっげぇ遅いの...

っつーか、10分以上放置してもほとんど動かないの。



まあそもそも、インテルi3メモリ8ギガで、更に今時ハードディスクで動かしているんで、仕方ないっちゃーなんですけど、どうも不満。
CPUとメモリとドライブを替えたいんですけど、今は予算が無いので、我慢ガマン。

そもそもVisualStudioを動かす予定じゃなかったし。



でもですね、VisualStudioさんはご丁寧にも、
Hyper-Vってやつを有効にすればemuがましになるよ
というようなメッセージを出してくれたんで、そのHyper-Vてぇやつを有効にしてみたんですよ。


再起動が必要だっつーんで、VirtualBoxで動作しているシェルスクリプトを停止して、パソコンを再起動しました。

再起動してから、VirtualBoxを起動して、仮想マシンを起こしてあげたんですが、

全然動かねぇ...


Hyper-Vの設定が影響しているのはモロワカリなので早速ググってみたところ、

「仮想マシンとHyper-Vは共存できない(かった)」

という事がわかりました。


ぁーそうですか。


VirtualBoxの最新バージョンなら共存できるという先人を発見したので、同じようにやってみたんですけど、全然ダメ。

コンソールで横棒カーソルが点滅している状態のまんまで全然動かない。

ちなみにオイラのマッシーンで動作しているのは、6.1.14 r140239

新たに仮想マシンを作ってみたんですけどやっぱダメ。


どうせ新たに作り直すのなら、vmwareでやってみようかな。
なんか共存できてるみたいだし、、、


というわけでvmwareのページを見てみたんですが、製品がたくさんありすぎてよくわかんなくなりました。
規模が大きくなるのは結構なことです。そのまま頑張ってください。

と、一応応援しておいて、

ダウンロードしてやってみました。


あ、動く動く。

ではその状態で、androidのemuを...


待つ事6分...
なんとかemuが起動しました。
tasikanihayakunattakedomadamada.PNG

と言っても、おそいなー。おもいなー。

つかいもんになんねーなー


vmwareでubuntu動かしながらVisualStudioでandroid emuを動かすという行為は、

Intel Core i3 3.6GHzの
8Gメモリでハードディスクモデルのマシンには、

少々、、ぃゃだいぶ荷が重い。

という事がわかりました。


だったら無理してHyper-Vを使わなくても良いな。

・・・戻そう。

Hyper-Vを使わないように、そして仮想マシンが参照するストレージも、拡張子vdiの物へと、もとに戻してみたんですが、、、
ぜんぜんうごかねえ。

なんでだよっ!

ちなみに、「windows ハイパーバイザー プラットフォーム」ってのにチェックが付いたので、チェックを外したら動きましたとさ。

※いつチェックが付いたんだろう?


というわけで、ハイスペックなマッシンが欲しくなったんですが、先立つものが無いので、
久々にtotoなど買ってみました。
頼むぜ!アルビ!!
→当たりませんでしたがwwwアルビは勝ちました。オメ!
posted by ハッタリ at 16:09| Comment(0) | 仕事には使えないボヤキ | このブログの読者になる | 更新情報をチェックする

2020年10月09日

httpsの設定をしますよー

ふとブログの設定を見たところ、

HTTPS接続の設定がデキる事に気が付きました。


アクセス数が少ないブログなんで、勝手に変えちゃっても問題無いと思うんですけど、
一応、ブクマしてくださっておられる方々のために連絡いたします。

来月あたりからHTTPS接続の設定をしますねー

連絡でした。
posted by ハッタリ at 10:12| Comment(0) | 分類はまだ | このブログの読者になる | 更新情報をチェックする

2020年10月05日

おでんは汁物ですよね...

おでんはおいしいです。

おいしいんですが、おかずでは無いと思っています。

お嫁タンはおかず派。


ですから、
「今日の晩御飯はおでんです。」
と宣言された瞬間、半分うれしく半分微妙。。


だって、おかず派なので、みそ汁も付くんですよ。

オイラ的には、おでんは具の大きい汁物だと思っているので、

汁物がダブルになるとちょっとね。。。


まぁ、意見が異なる事はあるとして、

日本国民の総意としては、どのくらいの割合で

おでんがおかず

なのだろう?


と思ってググってみたところ、

「おでんは主食」

というご意見がヒットしたので面喰いました。

こことかそことか、こっちにもwww


おでんのような、水分含有量が多めの料理が、、、
まぁおかずは許容できるとして、

ごはんの代わりになるわけがないじゃないかぁー


と、あくまでもオイラ個人は思います。



posted by ハッタリ at 17:19| Comment(0) | お料理 | このブログの読者になる | 更新情報をチェックする

2020年09月30日

ホワイトリストを作ってみよう−その12

VisualStudioをダウンロードさせていただいたんですが、いつの間にかiOS向けのプログラムとかも作れるようになったんですね。
知らなかった。

ほんとにできるのかはそのうち確かめてみたいと思います。

さてと。
WebExtensionからの呼び出しにおいて、引数がどのように渡させるのかを確かめるために、簡単なプログラムを書くことにしました。

プロセス起動で渡された引数をログに書き出すやつ。


とりあえず、コンソールプログラムのテンプレを動かしてみました。
ま、当然動きますね。
tennpuredenodousa.PNG

オイラが昔買ったVCのコンソールプログラムだと、コンソールに出力した直後にウインドウを閉じられていたので、うっかりすると動作したのかどうかを見逃す事があったんですけど、今のは違うみたいです。
うん。なるほどね。


一応引数が渡される事を確認してから、
tennpuredenodousa_iostreamKirai.PNG

起動するたんびにログを吐き出すように作りました。
toriisojyunnbiowari.PNG

これをWebExtensionから呼んでみりゃイーわけです。
続く。
posted by ハッタリ at 20:02| Comment(0) | 調べ物 | このブログの読者になる | 更新情報をチェックする

2020年09月27日

メッシュwifiっつーのがよくわからない

オイラんちのwifi環境がピンチっぽぃです。

ちょくちょく
「インターネット接続がありません」
という状態になって、ネットサーフィンが出来なくなる事があります。

調べてみると、wifiルーターへの同時接続数が限界に近いっぽいです。

・オイラのスマホ、
・お嫁タンのスマホ、
・息子のスマホもどき、
・オイラのタブレット、
・リビングのテレビ、
・ゲーム機、
・プリンタ、
・オイラのPC
・お嫁タンのPC
・息子のPC

・・・10台www

調子が悪い時に稼働しているのが7台くらいで、各々で動画とかを見た時でしょうかね。
いまはyahoo!の広告ですら動画っぽぃので、トラフィックが増えるのは仕方が無いのかも。

そもそも使ってるwifiルーターの同時通信端末数が、

最大16台!

という事なんで、余裕の接続数だったはずなんですが、実態は微妙に異なるっつーことなんでしょうか?
wifiルータの買い替えを考えなきゃいけません。

ここでひとつ問題がありまして、オイラん家は町家なんですよ。
奥に長いんですよ。

という事は、wifiルーターからの電波到達距離を長くしないといけないんですね。

今の環境でもルーターから10m位離れると、扇のアイコンが点になり、冬になって戸が閉まるようになると更に悪くなります。
扇のアイコンが点になるという事は、電波が弱いという事なんで、通信シーケンスが完了しないまま放置される可能性が大きくなって、再送回数が増えて、
要は無駄な時間が増えるから、全体が遅くなる。
という事なんですよね。


今のルーターは2台目。

電波の到達距離を考えて、少々奮発したモノだったんですけど、今度は同時接続数も考えないといけません。

中継器の採用は、基本的に優先順位低いです。

なんでかとユーと、一端末あたりの通信手順が倍になりそうなんで。

通常の手順がこんな感じだとすると、
wifituusinnnoime-jihakonnnamonnakana.png

中継器を挟むとこんな感じですよね。
tyuukeikikamasutokonnnamonnkana.png

中継器のSSIDとルーターのSSIDを使い分けながらだと面倒そうですわ。
tyuukeikiwokamasutokonnnakannji.png

じゃぁメッシュにするとどうなるか?
messyuttekonnnakannjininarunokanu.png

基地局同士の通信とかがどんな手間になっているのかはわかんないんですけど、
基本的には中継器の有無を気にしなくても良いみたいです。
messyunarakonnnakotowo.png

そもそもどんな仕組みになっているのかが、良くわかんないのでググってみたんですけど、
やっぱりよくわかんない。


Google Nestのヘルプによると、
「従来の Wi-Fi ネットワークでは、スマートフォンやノートパソコンを 1 台のルーターだけに接続し、すべての通信はそのルーターを経由しています。ルーターからの距離が遠くなるほど、信号は弱くなります。」
って書いてありました。
全ての通信は1台のルーターを経由しているって書いてあり、それが従来のWi-Fiネットワークとの違いだとおっしゃっておられるんですが、
Google Nest Wifiも、ルーターが全ての通信を経由しているんじゃぁ無いでしょうか?
拡張ポイントってモデムに接続しないから、結局ルーター経由じゃないんかなぁ?
説明が何というか、棚上げしてるっつーか?


ELECOMの解説はメリットもデメリットもわかるように書いてあったので、お勧めしたい情報ですが、お嫁タンにはいささか難しかったようです。実はオイラにも難しかったんですがw



BUFFALOの解説は「中継器のネットワークである」とはっきり書いてあります。
いさぎよし!
そりゃそうだ。これはお嫁タンでも何となくわかりそうな解説ですね。


tp-linkの解説によると、
それぞれがシステム内にある他ユニットの「デイジーチェーン」として機能するため、..
これはオイラが持ってたイメージに近い解説ですた。オイラには一番わかりやすかったです。


どれを選べば良いのか悩みどころですが、VPNが出来なくなるという事と、NASとテレビチューナーが共存しにくいという点において、
Google Nest Wifiは選択肢から外しました。カッコイーんですけどねw
posted by ハッタリ at 11:27| Comment(0) | 仕事にも使えるかもしれないメモ | このブログの読者になる | 更新情報をチェックする

2020年09月26日

ねぇねぇまいくろそふとさぁぁん。日本語でもテストしてほしいー!

脱線しております。

「ネイティブアプリ」ってぇ言葉を調べ(ググッ)たら、

マイクロプロセッサーが直接解釈し実行できる形式のもの


という事らしいです。


ウェブアプリケーションとか、Javaアプリケーションとの対義語として使われているみたいですね。


ちょっと脱線しちゃいますが、

こちらの方は、Javaアプリをネイティブアプリとして解説なさっておられます。

javaってバーチャルまっしーんで動く事を前提にした言語で、ネイテブなところってJavaエンジンじゃないのかなぁ??


こちらのお方は、オフラインで利用できるものがそうであるといったご趣旨で解説されておられるようです。

ぃゃ別にコンパイルビルドガッキンガッキンのアプリでもオンライン依存くらいはふじこ。。。


ウェブアプリケーションの対義語としての解説としてはまぁ、、、うん。なるほどねぇ。

という感じなんですが、
「一般向けの解説だから」
てことなんでしょうか?

拝見していてなんだかもやもやしたものが残りました。



で、ネイテブアプリのJSONパーサーなんですが、

もしかしたら、mainに渡される引数がJSONになってるってぇ事?
ひょっとして、プロセスを終了する際に渡す戻り値をJSONにしなきゃいけないって事?

という疑問を解消させるために、VisualStudioをダウンロードしてみることにしました。

mainで渡された引数をファイルに吐いて、呼び元に返す結果を標準出力みたいなトコに渡せば良いのかを試してみようと思いまして。

そうしたらね、
Visual Studio Codeというものらしきテキストエディタがダウンロードできるという事に気が付きました。
kyoumihikareta_tekisutoedhita-.png
ほうほう。macOSでも使えるんですか。

これは魅力的ですね。おそらくVisualStudioのエディタ機能が、ネイティブアプリとして独立したものでしょうから、
Wine上でサクラエディタを動かしてみてがっかりして経験を持つオイラとしては、非常に魅力的。

早速ダウンロードして、新規にファイルを作成して文字を入力してみました。
「きょうはとっても...」
mojiretuga_zurete_iwakann.png
だめだ!ズレてる。つかえねぇ!!


日本語を打ち込んでみたら即座にわかるこの現象を放置してリリースするという事は、
テストに日本人が関わっていなかった事を示してますね。

すっげぇがっかりした。
posted by ハッタリ at 08:09| Comment(0) | 仕事には使えないボヤキ | このブログの読者になる | 更新情報をチェックする

2020年09月25日

ホワイトリストを作ってみよう−その11

取り急ぎ、昨日見つけたページに書いてある通りに準備してみたところ、リクエストURLをブラウザのコンソールに出力させる事はできました。
まぁ記された通りにやってみただけなので、当たり前なんですけどね。

「リクエストのリダイレクト」とか「リクエストヘッダの改変」とかは、今のところ興味が無いのでスルーする事にして、

「リクエストURLをローカルファイルに追記したい」んですよね。


ブラウザのコンソールをいちいち出すのは面倒なので、勝手に記録させたいんですよ。

Mozilla>アドオン>ブラウザー拡張機能>ファイルの操作

ってとこを見ていたら、


・ダウンロードAPIを使ってファイルをダウンロード
 →やりたい事にはダウンロードが絡まないのでパス。

・ファイルピッカーを使って拡張機能でファイルを開く
 →「ファイルを開くダイアログ」を表示させて、ユーザーに選択してもらうんだよね。うん。これ違う。

・IndexedDBファイルストレージライブラリーを使ってローカルにファイル保存する
 →何をおっしゃっているのかさっぱりわかりませんw

・ローカルアプリでファイルを処理する
 →何をおっしゃっておられるのか皆目見当もつきませんww


そもそも
「この記事は翻訳が完了していません。この記事の翻訳にご協力ください」
と但し書きされているレベルなので、仕方のないところ。

オイラにもっと英語力と日本語力があれば協力したいとこなんですけど、そこには至らないレベルですので、手は出しません。

引用くらいは許されてるだろうから、自己責任でブログ書くくらいなら問題無いと思うので書いちゃいます。


ではまず。

「IndexedDB ファイルストレージライブラリー」って何?とリンク先に飛んだら、
IDB File Storageってトコに飛ばされました。

IDBってばIndexedDBのことらしいんですけど、そもそもDBって何?w
DataBaseという解釈で良いの?ww

つまりこれを嫁って事なのね。

※非公式文書とは謳っておられますが、↓これを拝見してW3Cの懐の深さを感じましたw。
w3cnooiratekitubo.png

ななめ読んだ結果、ローカルDBとして記録できる機能という事ですか。
 →使えそうですね。

サンプルのところに翻訳が当たっていない理由もなんとなくわかりました。
あんまり重要そうじゃないしw


「ローカルアプリでファイルを処理する」ってところは翻訳されていないので、この位はわかるかな。ってな感じの御意図が感じられるような気がするんですが、オイラは最近DeepLというサイトの翻訳が気に入っているので、
DeepL先生に見ていただきましたw

原文:
 Where you have a native app or want to deliver additional native features for file processing, use native messaging to pass a file to a native app for processing.

DeepL先生曰く:
 ネイティブ アプリを使用している場合や、ファイル処理のために追加のネイティブ機能を提供したい場合は、ネイティブ メッセージングを使用してネイティブ アプリにファイルを渡して処理します。
オイラ:
 「ネイティブ アプリ・ネイティブ機能」って何?

原文:
 You have two options:
DeepL先生曰く:
 2つの選択肢があります。

原文:
 Connection-based messaging. Here you trigger the process with runtime.connectNative(), which returns a runtime.Port object. You can then pass a JSON message to the native application using the postMessage() function of Port. Using the onMessage.addListener() function of Port you can listen for messages from the native application. The native application is opened if it is not running when runtime.connectNative() is called and the application remains running until the extension calls Port.disconnect() or the page that connected to it is closed.
DeepL先生曰く:
 コネクションベースのメッセージング。ここでは、runtime.connectNative()でプロセスを起動し、runtime.Portオブジェクトを返します。次に、PortのpostMessage()関数を使用して、ネイティブアプリケーションにJSONメッセージを渡すことができます。PortのonMessage.addListener()関数を使用して、ネイティブアプリケーションからのメッセージをリッスンすることができます。ネイティブアプリケーションは、runtime.connectNative()が呼ばれたときに起動していない場合に開かれ、拡張機能がPort.disconnect()を呼び出すか、接続したページが閉じられるまでアプリケーションは起動したままになります。
オイラ:
 「プロセス起動という事は既存プログラムを起動できるってか?でもJSONメッセージ??起動しっぱなし???」

原文:
 Connectionless messaging. Here you use runtime.sendNativeMessage() to send a JSON message to a new, temporary instance of the native application. The browser closes the native application after receiving any message back from the native application.
DeepL先生曰く:
 コネクションレスのメッセージング。ここでは、ネイティブ・アプリケーションの新しい一時的なインスタンスにJSONメッセージを送信するために、runtime.sendNativeMessage()を使用します。ブラウザはネイティブアプリケーションからのメッセージを受信した後、ネイティブアプリケーションを閉じます。
オイラ:
 「渡されたURLからドメイン引っこ抜いて、ログに追記するプログラムを書けばイーヌか?」

原文:
 To add the file or blob you want the native application to process use JSON.stringify().
DeepL先生曰く:
 ネイティブアプリケーションに処理させたいファイルやブロブを追加するには、JSON.stringify()を使用します。

原文:
 To use this method the extension must request the "nativeMessaging" permission in its manifest.json file. Reciprocally, the native application must grant permission for the extension by including its ID in the "allowed_extensions" field of the app manifest.
DeepL先生曰く:
 このメソッドを使用するには、拡張機能はそのマニフェスト.jsonファイルで "nativeMessaging "パーミッションを要求する必要があります。逆に、ネイティブアプリケーションは、アプリマニフェストの "allowed_extensions "フィールドに拡張機能のIDを含めることで、拡張機能の許可を与える必要があります。
オイラ:
 拡張機能のマニュフェストでパーミッション編集するのはイーとして、ネイテブアプリに"アプリマニュフェスト"って何じゃそりゃ?w
 コンソール出さないサービスプログラムみたいなもんじゃダメプなぬでせうか?

使えそうなのは使えそうですけど、そもそも
「ネイティブ アプリ・ネイティブ機能」
ってのがナニモンなのかを理解していないとダメみたいでした。orz...
posted by ハッタリ at 09:23| Comment(0) | 調べ物 | このブログの読者になる | 更新情報をチェックする

2020年09月24日

ホワイトリストを作ってみよう−その10

ここんとこオイラはFirefoxがメインのブラウザなので、Firefoxの使い方になっちゃうんですが、
履歴サイドバーを表示してから、見たい履歴をコピペすると、欲しいリストが出てくるって事を知りました。
firefox_rirekino_kopi-.png
テキストファイルに貼り付けるとこんなかんじ。
tekisutofairuniharitukerutokonnnakannji.PNG

これをスラッシュとドットを利用してドメインを抽出すると、およそ半年間の履歴から、約1500種類のドメインを拾う事が出来ました。

とりあえずこれらは、オイラの都合でアクセスしたページがトリガとなって抽出されたものなので、オイラの興味の範疇で参照したドメインという事ですね。

で、この中から
「妙なところへすっ飛ばされた記憶があるドメイン」
を抜いてしまえば、オイラ的ホワイトドメインリストができるってわけだ。


さ。これをどうしよう?

オイラのネットサーフィンの手順と言えば、おおよそ
 @ググる
 Aブクマ閲覧
の2種類がほとんどなんで、この時にガードかけられりゃオッケーなんですよね。

ひとまず作った「オイラ的ホワイトリスト」を参照しながら、検索結果のURLにそれが含まれているか否かによって、
表示する際の文字色を変えてみたいなー

と思いました。
そうすりゃとりあえず、不用意にURLをクリックする事が防げるかも。

じゃぁウェブエクステンションを作ればイーノかな?

ググってみるか。とググってみたところ、

目的に照らして、すっげぇぴったりと思える解説を拾えました。


これはまず勉強してみないとだめですねwktk
多分続く。








posted by ハッタリ at 08:31| Comment(0) | 調べ物 | このブログの読者になる | 更新情報をチェックする

2020年09月23日

ホワイトリストを作ってみよう−その9

スクリプトを改善wしたんで、勝手にwhois情報を収集してくれるようにはなったんですが、1日当たりの収集実績が、
およそ3000件...

まぁこの辺は仕方ないかなぁ。鯖に負担をかけるわけにはいかんし。


チェック対象を絞り込むか。
というわけで、有名どころのドメインのみwhoisコマンドによる問い合わせをします。
.com、.co.jp、.org、.info、.net、.edu...
とかで絞り込んだら40万件ほどになりました。まぁこんなもんかな。

1日3000件という事は、

133日かぁ。。。


別の方法も考えよう。


さてと。


エ〇サイトを渡り歩いてると、突然妙なところに飛ばされるじゃぁないですか。

最近の有名どころでは

namejp06.xyz

なんだかハッキングされたっぽぃ警告画面を出して、アラートダイアログと印刷ダイアログをダシッパにするやつで、回避方法はタスクマネージャーでブラウザを強制終了させるしかないやつです。
いちおうwhois情報を収集してみたんですが、ドメインの登録国はCNだからチャイナかな。
登録者がアリババクラウドというチャイナーの会社みたいなんですが、そこは単にドメイン管理の代行をしているだけなんでしょうから、
namejp06.xyzというドメインの所有者は、表に出ない事を望んでいるようです。

オイラ的には
「登録者が表に出ていない≒登録者の縁者で共有すればいードメインなんだよね」
という理由で、オイラ的ホワイトではないと言う判断を致すます。

ちなみに、ブラウザの拡張機能とかで、ブラックリストにあるドメインは、表示しないようにする機能を追加する事ができるみたいなんですけど、
ブラックリストの情報を追加するには、まずサイトにアクセスしてからじゃないと、

判断つかねー

というのが面倒なとこなんですよ。

ブラックリストに追加するという行為は、少なくとも誰かが一度被害に会わなきゃいけなくて、
ホワイトリストに追加するという行為は、少なくとも誰かが一度安心できなきゃいけなくて、
いずれにしろ、どっかに情報を収集しとかないと使えないすよね。


そこでピコーン!

ブラウザのアクセス履歴をネタにして、そこからオイラ的ホワイトを拾えばイーのでは?

くだんのサイトにアクセスしたという履歴も、
koitukoitu_burokkusitaiyatu.png
ちゃんと残ってたしwww

もしかしたら安心して〇ロサイトを閲覧できるようになるかもwww
posted by ハッタリ at 08:49| Comment(0) | 調べ物 | このブログの読者になる | 更新情報をチェックする