アクトインディ開発者ブログ

子供とお出かけ情報「いこーよ」を運営する、アクトインディ株式会社の開発者ブログです

【StumpWM】キーボードマクロを使ってBasic認証を自動で解除【xautomation】

こんにちは! oishiです。

最近「ThinkPad X1 Carbon」を買って幸せな毎日を送っています。

さて、新しいPCを買うと、「こいつを最高の使い心地にしてやるぜ」という気持ちになって、設定を俺様仕様にしたくなりますよね?

私もそういう気持ちに駆られたので、今回は表題の件について書きたいと思います。

【環境】
OS: Debian
ウィンドウマネージャー: StumpWM

【問題】
弊社ではステージング環境の構築にDockerを使っており、ブランチをpushすると次のようなURLでステージングが構築されます。
http://d12345.example.com
このd12345の部分がブランチ名を元に作られているため、サブドメインが都度変わります。
なので、ステージングにアクセスするたびにBasic認証を解除しないといけなくて、私の中で至極めんどくさい問題となっていました。

Chromeにはそれを解決するExtensionなどあるかもしれませんが、私はConkerorを使っているので、自力でやることにしました。

【解決】
まず、自動でキー入力をしてくれるxautomationをインストールします。

sudo apt-get install xautomation


それを使って、次のようなファイル(~/bin/pass.zsh)を作りました。

#! /usr/bin/zsh

sleep 1
xte 'key U'
xte 'key S'
xte 'key E'
xte 'key R'
xte 'keydown Tab'
xte 'keyup Tab'
xte 'key P'
xte 'key A'
xte 'key S'
xte 'key S'
xte 'key Return'



そして、~/.stumpwmrcに次のようなcommandを定義します。

(defcommand pass-basic-auth () ()
  (run-shell-command "zsh /home/hiragi/bin/pass.zsh"))

(defcommand d (num) ((:string "num: "))
  (run-shell-command (format nil "conkeror d~s.example.com" num))
  (pass-basic-auth))


これで、StumpWMのcolonに「:d 12345」と入力するだけで、
http://d12345.example.com
にアクセスしてパスワード解除を自動でやってくれるようになりました!

StumpWMさいこー

最後に、弊社ではエンジニアを募集しております。 弊社では開発環境に縛りがなく、開発できればOS等はなんでもOKです。まずはお話だけでも。よろしくお願いします!