それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

すぐわかる標準エラー出力と標準出力の捨て方( /dev/null へリダイレクト

だれですか ' &1' なんてファイルを作ったのは。 サーバーにログインしてみてたら'1' っていうファイルがあるんですね。1という名前のファイルがあるんですよ。 どう考えても、リダイレクトに失敗してますよね。 標準エラー出力を捨てる速攻で覚えるの書き…

DoH:DNS-over-HTTPS なサーバーを作って試す。

DoH サーバーを作って問い合わせをちょっとだけ秘密にする。 DNS によるブロッックングが2019 上半期の一番の話題だったと思う。DNSブロッキングはUKで実際に運用されていたり、法制度化されているので本邦でも導入するべきと言った論調だった。児童ポルノで…

amazonの検索結果からボッタクリ価格業者を消す方法 をiOS でも使えるようにショートカット.app にした

iOS でブックマークレットの代わりに'ショートカット.app' を使う。 経緯;Amazonガチャにもうヘトヘト Amazon の商品検索から、中華出品者のゴミを消したい。プライムで返品可能とはいえ、もうAmazon中華ガチャに疲れた。海外サイトで購入するより、返品が…

jq コマンドで UTF-8 の文字列をデコードやエンコード(codepoint を元に戻す)

コードポイントなった、日本語を単純に元のUTF-8に戻したり、コードポイントでエスケープして符号にする。 コードポイントになった文字列*1 単純に jq に通せば、日本語になる。 何も考えずに、 jq 通せばコードポイントを読める文字にすることができる・ ro…

jq コマンドなどで、JSONハイフン付のキーを取り出す方法

jq ではハイフンに意味がある オブジェクトのキー名にハイフンが混じるとエラー $ cat out | jq - .download-dir jq: error: dir/0 is not defined at <top-level>, line 1: なぜ? だってJSってハイフンは引き算じゃん? こう書いてしまうと、 obj.config ={".download</top-level>…

忘れ去られゆくキーボード・ショートカット1 タブキーによる項目移動

キーボードショートカットが日本では忘れ去られようとしている いつの頃からか、キーボードを使うのは「悪」という監査が蔓延っているようです。キーボードから直接入力することが危険だそうです。 ローソン銀行の例 絶滅危惧種のキーボード・ショートカット…

メールアドレスの入力が、@マークで分割された場合の簡単入力

誰が考えたか知らないが、謎文化のメアドを区切る文化 入力がかったるくて仕方ない。思考するより速く入力したいスピード狂としてはストレスを感じる ストレスを感じるより、プログラミングして解決したほうが気持ちがいい。 対策した そこで、XpathとBookma…

Xpath の contains で大文字小文字を区別しない(no case / insensitive match)

世の中には、@アットマークで、メアドを区切るという謎文化があります。 「メールアドレスをご入力ください」ただし、アットマークの前後を分けて。フォームの入力がすごくめんどくさいものがあります。 もっと手軽に入力したくてBookmarkletで対処するんだ…

我々のDNS問い合わせは監視されている。

dns

ACTIVEに基づく通知が来た。 この日、私は実験目的でヤバそうな各種DNSを引いていたのですが、その結果ががこれである。 どのURL(ドメイン)がフィルタリングされたか全くわからないし、ACTIVEの対象ドメインが完全非公開なので怖いなと思った。 フィルタリ…

mydns 関連のドメインが 1.1.1.1 のpublic dns から引けない問題(DNSフィルタリング・規制か?)

twitter を見ていると、MyDNSが引けないというツイートを見かけた。 1.1.1.1からだとmyDNSのIPが返ってこない— ぴこにこ (@kuroKario_bot) June 21, 2019 引いてみた。 takuya@untitled1$ dig aaaaaa.mydns.jp @1.1.1.1 ; <<>> DiG 9.10.6 <<>> mydns.jp @1.…

openwrt で /etc/resolv.conf の dns サーバーを常に固定する

openwt で dns サーバーを指定する OpenWRTでDNSサーバをあれこれいじってたので、メモ。 ルータのDNSサーバーを指定するには /etc/resolv.conf ( 実態は /tmp/resolv.conf ) にあります。 これは起動すると、自動的に生成されるresolv.confファイルで、PPPo…

unboundでrootから引くdnsサーバを作り、DNSフィルタリングに備える

この記事は試験的なものです。 ちゃんと動作するか現在、調査検討中です。 public DNS もDNSブロッキングされる可能性がある。 public DNS 1.1.1.1/ 8.8.8.8 は多くの人が使っていて、とても公共性が高いのですが。多くの人が使うがゆえにフィルタリングされ…

gitbookのビルドだけをgulpでフォルダ監視して自動実行したい

gitbook-cli でサーバーがいちいち上がるのがめんどくさい。 gitbook を使い込む気は、あまりないのだけど、マークダウンを記述して、gitbook serve で 変換が必要 gulp で監視してしまいたい。 HTMLに変換するだけなら、べつにserve は要らないし、そこまで…

ハードウェアの情報を一覧する lshw コマンド

ハードウェアの情報を収集して出力する lsusb や lspci などのコマンドがあるけど、まとめて実行して情報を取り出すには不便。調べたら lshw といういうコマンドを見つけた インストール takuya@:~$ sudo apt search lshw ソート中... 完了 全文検索... 完了…

if 文には必ずブロックをつけろと言われることが多いけど、使い方によってはむしろ邪魔

if にブロックがないと叱られたことが昔から多い。 if のブロックって上手に書けばいいと思うし、設定やLintで矯正されたりするんだけどさ。 この if の書き方を見ほしい function setupAce(e, set){ //デフォルト設定(カスタマイズしたい場合はの引数(set)…

laravel の api ルートを叩いてもloginページやHTMLが帰ってきてjson以外になってしまう場合

TL;DR HTTPリクエストのヘッダに、 Accept: text/json が抜けている可能性が高い。 Laravelのレスポンスが login になる場合。 api で auth を入れているところへリクエスト投げつける。 HTMLのログインが帰ってくる。 実例 curl -H 'Content-Type: applicat…

composer でgithub / gitlab などのgit レポジトリをコマンドから指定してインストール

php/composer でコマンドから git レポジトリをインストールしたい。 composer で git のレポジトリ(非公式 package / 自作pkg )を指定して追加して使いたい。 通常は composer.json を編集するのだろうけど、 jsonの手作業の編集は、苦痛。 なので、コマ…

JS で String#replaceAll すべて置換をするには

JS のコードレビューをしていて、気になってしょうがない split.join いっぱい次のような、関数をいっぱい見かけるのですが、これは replaceAll の代りにし使ってるんだろうか。一般的なんだろうか。 どっかのサイトで上位に出てくるんだろうか。○iita とか …

sshfs でFUSEマウントしたフォルダへの転送速度を測定した

sshfs でFUSEマウントしてみました。 sshfs は gvfs などネットワークフォルダとしてSSHを扱えるものですね。 sudo apt install sshfs マウント mkdir mnt sshfs takuya@192.168.11.125:/home/takuya mnt 転送してみました。 takuya@:Desktop$ dd if=test.im…

gvfs でssh FUSEマウントしたファイルシステムの書き込みが遅い

gvfs でマウントしつかってて、どうも遅い。 速度測定してみた あまりに遅いので、1GBの転送は途中で諦めてしまった。 takuya@:Desktop$ dd if=test.img of=/run/user/1000/gvfs/sftp:host=192.168.11.125/home/takuya/test.img ^C97031+0 レコード入力 970…

ssh の転送速度を測定をしてみる

SSHの速度を測定しようと思い立った。 なんかネットワークが遅いので、SSHでの速度測定をしてみることに。 速度測定するコマンド ファイルの準備 dd if=/dev/urandom of=test.img bs=1k count=1000000 転送 cat test.img | ssh host.tld 'dd of=/dev/null ' …

gvfs あたらめ gio でログインしたときだけネットワークのドライブをマウントする

Ubuntu のGVSマウントをログイン時にしたい。 ubuntu デスクトップのログイン時のマウント機能と同等のマウントしたい fstab や autofs でもできるが、そっちはシステム全体なのでわかりやす。gvfs は面倒かと思ったけど、使ってみたらgvfs が圧倒的に楽だっ…

wordpress をniginx のリバースプロキシの背後に設置した場合の mixed contents 対策

nginx の背後に wordpress を設置したら mixed content wordpress を設置したんだけど、 .htaccess も使いたいと言われて、nginx から apache+php-fpm にリバースプロキシをした。するとhttp/https の混在コンテンツになってしまった。 対策。 nginx → apach…

chrome の開発ツールのConsoleの履歴を消す。

Chrome の devtool の履歴を消す方法。 ChromeのJSコンソールに、パスワードとか直書きで書いてしまったときに。 パソコン本体にロックが掛かるようにしておけば全く問題ないのだけれど、画面共有中にうっかり誰かに見られても困るだろうし。 履歴を消すには…

動的に複数script を追加したときに読み込みを待つ。Promise版(body/headに足したあと待つ)

JS で動的ロードして関数を追加する。 適当な関数を突っ込んで、ロードされるのを待ってから、関数を使いたい。 とりあえず、script.onload で解決することはわかってるんだけど。読み込みたい関数が複数だと、全部ロードされるのを待つのをコールバック・チ…

sed で数字の繰り返しを正規表現で置換するには、文字指定が違う

sed で数値指定する 数字のマッチは、次のようになる。 sed '/[[:digit:]]/' sed '/[0-9]/' 正規表現に親しんでいると、つぎように \d を書きたくなるが、これは動かない。 sed '/\d/' # 動かない。 sed で複数桁の数字にマッチさせる。 動かない sed '/[[:d…

sed 文字列が含まれる行を削除する

sed で、文字列を探し、文字列が見つかった行を消す。 sed -e '/search/d' 検索語 search を含む行を削除。 これで指定文字列を探してその行を除去することができる。 行をまるごと消すのに、改行コードは必要ない。 ありがちなミス。 sed 's/search\n//' ##…

git clone 時にリモートのブランチ名を指定して clone する

git

git clone 時にブランチ名もまとめて指定したい あとでチェックアウトすりゃいいんだけど。よく使うものは、まとめて指定してシェルスクリプトにしといたほうが楽だし。 Slackなどで人に伝えるとき、コマンドで送ったほうが楽だし。知っておいて損はない。ブ…

iPhoneとiCloudに認証エラーにでロックのとき問合わせ電話するAppleの電話番号

icloud や iPhone で2FAの認証に失敗した 2FA の認証コードは、失敗することがある。iPhone/Mac に送信される2ファクタ認証のコードとセンターに登録されるコードが1つずれることがある。複数回認証コードを送ったときに発生する。 認証コードを送信する…

npm で自作のパッケージをgit(gitlab/githubなど)からadd(インストール)する

npm で自分のパッケージを使いたい npmjs.com にパッケージを公開しても良いんだけど、既存のパッケージをちょっと触ったくらいのパッケージを公開するのは忍びない。 自分のgitレポジトリのnpm パッケージを npm add したいとき。 git のレポジトリを packa…