2024年3月26日火曜日

呪文

 小さい頃、呪文のようなものを覚えるのが好きだった。変身の呪文とか必殺技の呪文とか。

寿限無を覚えたのは小学校高学年の時で、お菓子の袋に印刷されてたのを見て覚えた。

中学生の頃、初めて古文とか漢文に接した頃は結構ワクワクして、平家物語の序章や枕草子の春はあけぼのあたりは丸暗記したけど、文法や漢字・単語を覚えなければならなくなった頃から急速に苦痛になって覚えられなくなった。

私にとっての役者の楽しみの一つはセリフを言えることで、これは呪文を覚えて唱える喜びに通じている様に思う。

セリフと呪文、どちらも覚えたての時は、自分にとっては異物で、それを言い慣れやり慣れてくると気持ちよくなり、でも、それが薄れた頃すっかり定着している。その、自分に定着させていく過程の快感。(まあ、役者の仕事は本当はセリフが定着してからなのだけど。)

言葉で格闘する機会、最近とんと無いなあ。

2024年3月25日月曜日

絶望の味

「ここは俺に任せて先に行け!」みたいなのが実は好きだ。それが絶望的に悲劇的で切ないほどいい。

平野耕太の『HELLSING』のベルナドットの最後のシーンとか、イギリス軍基地で凡庸とされた将軍と部下たちが命をかけて敵を足止めしようとするシーンとか好きだ。(そもそも『HELLSING』は私の性癖に響くシーンが多い)。

一方で、絶望的な状況で抵抗できない残虐なシーンを見ると精神的にしんどくなる。

昔で言えば、映画『二百三高地』でロシア軍のトーチカの堀に突撃して落ちてしまった日本兵がマシンガンの餌食になるシーンとか、エヴァ旧劇場版2作目で2号機が量産型エヴァに食われるシーンとか、『HUNTER×HUNTER』で虫の王様に捕まったやつが脳みそを弄られるシーンとか、嫌だ。 本当に嫌。

でも、嫌ということは私にとって生理的に響くシーンということなんだろうと思う。

例えば、『夢幻回路2003』に有る箱入り少女に無理矢理大福を食べさせるシーンは、元々無理矢理〇〇させるが生理的に嫌だったからこそ思いついたシーンなんだと思う。

基本的にこれまで、こういうイイとかイヤから目を背けてきたような気がする。
イイとかイヤは精神力(MP)を変動させる。
MPが枯渇すれば、何も考えられなくなり、普通のやりとりすら出来なくなる。
人として安定した生活を過ごすためには、MPを安全な範囲でキープする必要が有る。

宗教や心理学に興味を持ったのもその辺の必要性からだった。

最近は身体の老化に伴い、身体の欲望が減ったおかげで、安定した生活がしやすくなった。
でも同時に、イイとかイヤとかがわからなくなってきた。
イイとかイヤの根底は欲望だったのだと思う。欲望(こうあってほしい)があるからそれに対するイイとかイヤが出てくるのだ。
失って初めてわかるなんとやら。

このところ、台本が書けない。書きたいと思わない。いや、書きたいことが無ければ書かなくて良いのだ。でも、なんだか漠然となにか書きたいとは思っていて始末に悪い。自分がどうするべきかわからない。イイのかイヤなのかわからない。ぼんやりしている。
これって、あまり良くない状態なのではないかと思うだ。
若い時「死ぬ時に後悔しないで済むようにしたい」と考えていたけど、イイとかイヤが最低限わからなければ後悔すら出来ない。

ともあれ、今更ではあるけど、今後自分が感じたイイとかイヤを少しずつ書き残していこうと思う。それで若さや欲望を取り戻せるとは思わないけど、自分の今後の日々の、なにかの足しになればと思う。

2023年10月23日月曜日

IPV6で会社のネットワークにVPN接続

 会社のルーターNVR500にVPNのアカウントを設定していたのだが自宅から接続しようとしてもできなかった。

調べてみると、NVR500のVPN接続はipv4接続、自宅はipv6なのが原因らしい。

自宅の終端装置のipv4の管理画面(終端装置のIPアドレス/tでアクセスできる)の、高度な設定の中の、IPoE使用を無効にしたら、ほかは何もいじらずVPN接続できるようになった。

エクスプローラーで「¥¥ネットワークHDDのIPアドレス」を開けばHDDも使える。

常時使うわけではないので設定は戻しておく。DesktopVPNが使えない時はこちらを使おう。

2023年5月5日金曜日

落書きブログが770記事

落書きブログが昨日の投稿で770記事となった。
当初1000記事を目標に立ち上げたブログで、最初の絵が2015年8月。実に7年10ヶ月かかってる。
このペースだとあと2年はかかるだろう。
1000記事まで、生きてるといいなあ。

2023年1月4日水曜日

CGIのプログラミングミスで大量のデータファイルが作られていた

 劇場の席の予約を管理するプログラムをCGIで作成していて色々いじっていたのだが、ファイルの構成を変えようと思っていじったのだがうまくいかない。
うまくいかない…というかftpがおかしい。データをしまっておくディレクトリを開こうとするとやたらとデータ転送が起こりそのままフリーズしてしまう。
他のファイルは普通にやり取りできるしディレクトリも開ける。そのディレクトリだけ。

で、とりあえずコマンドラインでやってみようと思った。
cmdで「ftp (ftpサーバーアドレス)」→「ユーザー名」→「パスワード」と入力してftpサーバーにログイン。cdでディレクトリ移動、dirでディレクトリ情報を見ていくと、やはりデータのディレクトリではやたらと時間がかかったが、膨大な数のデータファイルが作られていることがわかった。

これ、CGIの途中にデータファイルをループで一つ一つ開いて調べてデータのリストを作る箇所があるのだが、読み込む順番を逆にしようとしたのが原因のようだ。
つまり12個あるファイルを1から12まで行ったら止める様になっていたところを12から1に逆行させようとして、間違って12から13,14…と上の方に開いて行き、見つからない時はファイルを生成するようになってしまったのだ。…と思う。

めちゃくちゃ初歩的なミスだ。

とりあえずそのままには出来ないので、そこから削除をしてみることにした。
複数のファイルをまとめて削除する場合は「mdel *.dat」などとすれば「.dat」がつくファイルを一気に削除できるが、このコマンドそのまま使うと1つのファイルごとに「このファイル削除していいか?」を聞いてくる。

そこで「prompt」と入れて対話モードを止めた。これで一気に削除が進む…はずだが、終わらない。いつまで立っても終わらない。本当に減っているのだろうか?その内サーバーから接続を切られてしまった。もう一度やってみるがやはりいつまで立っても終わらない。

Ctrl+Cで止めるとコネクション自体が止まるので、一旦止めて、ftpを「bye」で閉じてから改めてftpサーバーに接続してdirでdataディレクトリ内のファイルを見る。
...減ってる気がしない。

そこで、「〇〇*.dat」と頭に2文字程度付けて削除してみることにした。これなら条件にあったファイルだけを削除して一旦止まるので少しずつだが進んでいることが確認できる。

ああ、しかし、先は長そうだ。
で、これはftpでやろうとしているから遅いのかもと思った。
sshでサーバーに直接入ったらどうだろう。

サーバーのssh設定でsshができるように設定し、秘密鍵のファイルを作成してPCに保存。cmdでもやれるらしいが面倒くさいのでteratermをダウンロードし、接続先のサーバーアドレス、ポート(ここのサーバーの場合22ではなく10022だった)を設定して進む→ユーザー名と秘密鍵を作った際に使ったパスフレーズを入れ、秘密鍵のファイルを指定して接続で、ログインできた。

データのディレクトリに言ってワイルドカードでファイルを削除しようとしたら「引用リストが長すぎます」と怒られた。ファイルが多すぎるとこうなるらしい。
そこで「rm -rf データのディレクトリ」(四の五の言わずに中身のファイルごとディレクトリを削除)を実行したらちょっとしてすぐにプロンプトが出てあっけなく終了。
こういう作業はssh経由が良いらしい。まああまり世話になりたくないけど。

これで改めて制作作業開始だけど、今度はこんなことのないように、よくよく確認して進めるようにしたい。

2022年12月27日火曜日

IPv6接続でBuffaloNASやフナイのHDDレコーダーにWEB経由でアクセスできるようになった

うちにはBuffaloのNASがありWEBアクセス設定をして便利に使っていたのだが、2年前、IPv6接続にした途端アクセスできなくなった。

原因はPR-500MIのIPv4でのポート開放設定がIPV6に切り替えた時に無くなったため。
改めて設定しようとしたら管理画面にIPv4用の静的IPマスカレードの項目自体が無い。
調べると「http://PR-500MIのipアドレス:8888/t」にアクセスし、「IPoE IPv4」を開くとその中に項目が移っているのでそこから設定してやればいいらしい。
しかし、その時自分のところのPR-500MI:8888/tにアクセスしても、「IPoE IPv4」はあったが、開いても肝心の「静的IPマスカレード」の設定メニューが無かった。

で他の方法もいろいろ試したが上手くいかなくて、ああ、うちのプロバイダ(DTI)では使えないのかもしれないと諦め、そのままにしていたのだけど、先程久しぶりにアクセスしたら「静的IPマスカレード」などの設定メニューが出現していた。ありがたい。早速試してみた。

件のページを開くと使えるポート番号の一覧があるので、そこから手頃のポート番号を選び、静的IPマスカレードでプロトコル:TCP、公開対象ポート:選んだポート、LAN側宛先IPアドレス:NASの固定IP、LAN側宛先ポート:80で設定。

持っているNASは「LS520Dfaa」という機種。
最初はスタンダードにBaffaloNAS.comネームを設定しUPnP有効で進めてみたがうまくいかない。結局、BaffaloNAS経由だと上手くいかないようなので、とりあえず「IPoE IPv4」のトップページに出ているIPアドレスに直接アクセスする方法を試すことにした。

「LS520Dfaa」にWEBブラウザでログインし、「環境設定」→「WEBアクセス」を開き、「リモート接続のオプション」にチェックし、「BaffaloNAS.comサーバー経由でアクセスする」と「UPnP」を共に無効にし、「外部ポート」に「80」を設定。
これで、外部から「http://IPoE IPv4でわかるうちのIPアドレス:選んだポート」でアクセスしたら、NASを開くことが出来た。

ちなちに、Buffaloで配布してるnasにアクセスするアプリでも、nasの設定で「外部のDNSサーバー」を使う設定にして、「アドレス」は「http://IPoE IPv4でわかるうちのIPアドレス」に、「ポート番号」に「選んだポート」を設定すればアクセスできる。

これで行けるなら、これも諦めていたフナイのHDDレコーダーへのWEB経由アクセスもできるかも知れないと思い、こちらも調べてみた。

フナイの宅外接続は「プロトコル:UDP」「ポート: 32768-61000」を開放してやればできるらしい。「IPoE IPv4」の「静的IPマスカレード」でプロトコル:UDP、公開対象ポート:32768~61000でうちで使える任意のポート、LAN側宛先IPアドレス:レコーダーの固定IP、LAN側宛先ポート:公開対象と同じポートで設定。
これで、外部からフナイコネクト・アプリで宅外接続をしてみたら、問題なく接続できた。

まあこのままだと、接続し直しなどでIPアドレスが変わるたびにIPアドレスを調べ直して設定しなおさなければならないので恒久的ではない。が、まあしばらくはこれでいいか。

DDNSで運用するのが吉なんだろうけど、DDNSも結局IPアドレスが変わった時に自動で更新かける方法がないと面倒くさい。

その辺が今後の課題。


2023年10月17日追記

この時から10ヶ月近く断続的に使ってるけど、同じIPアドレスで使えている。途中で終端装置を再起動した時もあるが変わってない。

同じ回線を複数世帯で使いまわしてる仕組みだからなのかな?

2022年12月15日木曜日

Fire7(第5世代)を文鎮化してしまった件

家に、AmazonのFire7(第5世代)が1台余っていた。

せっかくなのでマンガアプリなどを入れて読書用として活用しようと思ったが、Google PlayはインストールできるもののAndroidのバージョンが低くていつも使っているアプリが全然入れられない。

調べて見るとカスタムROMを入れている事例がちらほら見当たるので、ではそうしようと考え、結局文鎮化してしまった。

原因は、読みの甘さだ。
Fire7のroot化やカスタムROMインストールの事例は、そのほとんどが2015~2017年代のもので、当日FireOS5.0.*~5.3.*位を対象にしたもの。対して、手元のFire7は5.7.0。
PCと違い、タブレットやスマートフォンは、ほとんどの場合メーカーによってシステムがロックされていて、勝手にroot化やカスタムROMのインストールは出来ないようにされている。それを回避する技術の多くは、OSなどのセキュリティホールを利用するものであるため、バージョンが上がってセキュリティホールが埋められてしまうと、root化などの作業は出来なくなってしまうものらしい。
実際、Fireタブレットでも最近のバージョンのOSを積んだものではroot化などが出来なくなってしまっている。当然、私のものも出来ない可能性が高い。

しかし、この手の作業はやってみないとわからない部分がある。ネット上の文献も全ての状況の即した手順や説明が書かれているわけではない。書いてる人たちにとって語るまでも無いことや、語りたくないことは語られることがない。その隙間を類推と想像とで埋めていくことになるのだが、私は元々「やってみたい」に偏りがちだ。

今は昔、私が初めてLinuxに触れた時、インストールに失敗してHDDのMBRをおかしくしてしまい、デュアルブートにしていたWindowsが立ち上がらない状態にしてしまったことがある。当時、PCは家に1台しかなく、妻が友人からWindowsの起動ディスクを借りてきて、それを使ってMBRを修復し事なきを得たことがある。
それによって飛躍的にPCのブートの仕組みへの理解が進んだのだが、周り(PCを共有していた妻)から見たらただの迷惑行為でしかなかった。やらなくていい苦労に突き進んでしまいがちなのは、脳の欠陥だろうと思う。

ともあれ、曖昧な部分が多いから、とりあえず一個一個やってみようと思った。

試してみたのはROOTJunkyというサイトで配布されているツールを使った方法だ。

https://rootjunkysdl.com/?dir=Amazon%20Fire%205th%20gen/SuperTool

ここで配布されているツールは実際は「Kingroot」というツールを使ってroot化するものだった。使う前に、PCにADBツールを入れ、タブレット側でADBデバッグ可能な状態(設定>端末オプション>シリアルのところを連打して開発者オプションを出し、ADBデバックを許可)にし、野良アプリのインストールを許可(セキュリティとプライベート>不明ソースからのアプリを許可)しデータ通信ケーブルでつなぐ。
が、何度試してもroot化出来ない。どうもやはり、今のFireOSのバージョンではセキュリティホールが埋まってしまっていてroot化は出来ないらしい。
その方法をより確実に行う方法としてOSをダウングレードさせる方法が紹介されていた。
5.0.1とか5.1.1、5.1.2とかに落とすことで、セキュリティホールがある状態に戻すわけだが、一方で「ダウングレードで文鎮化」の事例もちらほら見当たる。

とりあえず、ROOTJunkyで配布しているツールが対応している最新の5.3.1にダウングレードさせてみよう。駄目だったら駄目でまた考えよう。

Fire7(第5世代)用のFireOS5.3.1のリカバリーイメージをダウンロードし、Fire7を一旦シャットダウンしたあと、音量下げ+電源ボタンを同時に長押してリカバリーモードで立ち上げ、sideloadを指定し、PCからadb sideloadでダウンロードしたイメージを指定して焼く。時間にして十分くらい。焼き終えて再起動がかかった。

が、何も点かない。

電源を何度も入れてみる。

全く画面に反応がない。

ああ、文鎮化してしまった。

仕方なく、文鎮化した時の直し方を調べてみた。ちなみに文鎮化は英語で「brick」という。文鎮化を解除することは「Unbrick」で調べると良い。

はじめに試したのはFireTv2の文鎮化を治すツールを使う方法。

文鎮化しているFire7をPCのつなぐ。一見何も反応していないデバイスだが、実はPCに「不明のデバイス」として一瞬認識され、解除され、また「不明のデバイス」として認識されを繰り返しているという、そこで、認識された瞬間にpreloaderのドライバーを噛ませてPCから使える状態にする。

この状態でパーティション情報などが生きていれば、downloadモードと言って、ちょうどPCをBIOSで立ち上げたような状態で、OSを書き込むことができるモードになるらしいのだが、文鎮化している場合、パーティション情報が壊れてしまっている場合が多い。
だから、まずはパーティション情報を直してやる必要がある。

で、件のFireTV2用のツール。これを使うとパーティションの情報を調べたり、それを書き込んだりすることができるらしい。
だが、これを使ってもうまくいかなかった。デバイスは見つかるが最初のHandshakeのところで止まる。対象としているのがFireOS5.1.1当たりまでだったからだ。

それ以降のバージョンでも使えるツールを探したら、amonetというツールが見つかった。これを試そう…と思ったのだが、残念ながらPythonとシェルスクリプトで構成されている。
私のPCはWindows10でシェルスクリプトを使える環境を整えていない。Linuxなどのほうがやりやすいらしい。

で、Ubuntuをダウンロードして、必要な設定をして、amonetの中にあるbootrom.shをsudoを付けて実行。今回もデバイスは見つかる。しかし今回もHandshakeで止まる。

どうやら、かなりギタギタにパーティションテーブルを壊してしまっているらしい。ブートローダーが壊れてしまっているのでどうにもならない感じ。

だが、デバイスが認識されているなら、強制的にデータを入れ込むことはできないのだろうか?PCでパーティションイメージを強制的にHDDに書き込むみたいに。

調べてみると、MediaTekのデバイスにデータをダウンロードするツールがあるようだ。

SP-Flash Tool https://spflashtool.com/

最後の期待をかけて調べてみたが、書き込んだりするために必要なパーティションの地図にあたるscatterファイルというのが必要なのだが、Fire7(第5世代)用のそのファイルが見当たらない。他の会社のデバイスだと公式ROMと一緒に配布されているらしいのだが、無い。そのファイルがなければ、ブートローダにせよリカバリーイメージにせよインストールできない。

仕方なく、ネット上で手に入るscatterファイルを使って試してみたが、うんともすんとも言わない。万策尽きた。

今回は、とりあえず諦めることにしようと思う。残念。