2020年 9月 の投稿一覧

[Redmine] ログイン時にかっこいい効果音を鳴らす

小ネタです。
Redmineのような作業工程を管理するソフトって人間扱いされてない感じがして、ぶっちゃけテンション上がらないじゃないですかw というわけでログイン時にかっちょいい効果音をバーン!と鳴らして少しでもモチベーションを上げたいと思います。

……え?迷惑だって?それが目的です←

ここではView Customizeプラグインを利用して実装します。インストール方法などは以下の記事をご覧ください。


続きを読む

[Redmine] チケット編集中にエンターキーでの誤作成を防ぐ

Redmineでチケットの作成や編集を行っている最中、題名などテキストボックスで間違えてエンターキーを押すと送信されてしまうことがありますよね。

もうストレスMAXでハゲ散らかしそうな勢いです。プロジェクトが終わるのが早いか、坊主になるのが早いかの戦いは避けらそうにないため、毛髪を守るために今回はテキストボックスでエンターキーが押されても送信されないようカスタマイズを行います。

ここではView Customizeプラグインを利用して実装します。インストール方法などは以下の記事をご覧ください。


続きを読む

[Redmine] ヘッダーメニューに任意の項目を追加する

Redmineのヘッダー部分に独自のメニューを追加します。
GoogleDriveやGitHubなど、プロジェクトで利用しているツールに移動するのが格段に楽チンになります。

今回はView Customizeプラグインを利用して実装します。インストール方法などは以下の記事をご覧ください。


続きを読む

[Redmine] view customize pluginをインストールする

Redmineを利用していると、プラグインを入れるほどではないけど細かいちょっとした部分をカスタマイズしたい欲求に襲われることが毎日のようにあります。しかしRedmineのソース自体に手を入れてしまうとバージョンアップ時に移行が面倒なことになってしまう。そんな時に使うのがRedmine view customize pluginです。

原理はシンプルで、Redmineの指定したページにHTMLやCSS、JavaScriptを埋め込めるというだけの物です。データはすべてDBに保存されますのでバージョンアップ時に困ることもありません。

今回はインストールから簡単なカスタマイズを行うところまでをまとめます。
続きを読む

[Electron] Webの技術だけでWindowsやmacOS用のアプリを作成する

HTMLやJavaScriptだけでPC用のアプリが作成できるツールはいくつかありますが、その中でもVisualStudioCodeやSlackなどの実績があるElectronは検討候補から外せないでしょう。

1つのソースコードで複数のプラットフォーム用のアプリを同時に開発できるのは非常に魅力的です。
今回はElectronでHelloWolrd的なアプリを作成し、実際にWindowsやmacOSで動作する実行可能なファイルを作成するところまでをまとめてみます。
続きを読む

Microsoft?からブルートフォースアタックを受けた話

4連休の前半が間もなく終わろうとした22:30、晩ご飯を食べまったりと本を読んでくつろいでいたらスマホがブルブル震えるんですね。ソシャゲの体力でも回復したのかと思いしばらく放置していたのですが、そろそろ横になろうかと23:00ごろ手に取ると……Mackerel先生からCPU負荷94%突破のお知らせが(^q^)

連休中に君の名前は見たくなかったw

とはいえ見てしまったからにはしょうがないと諦め内容を確認すると、どうやら個人で利用しているWordpress用サーバが炎上なうの模様。何らかの記事がバズった?と思いダッシュボードにログインするけどアクセス数はいつもと変わらず。特定のプロセスが激重の可能性も考えたけど、突然そんなことになるとも思えず、何となしにApacheのアクセスログをtail -fで確認すると…。

xmlrpc.php」への大量のアクセスΣ(゚Д゚)

$ tail -f /var/log/httpd/access_log
70.132.61.91 - - [20/Sep/2020:22:41:09 +0900] "POST //xmlrpc.php HTTP/1.1" 200 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
70.132.61.143 - - [20/Sep/2020:22:41:09 +0900] "POST //xmlrpc.php HTTP/1.1" 200 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
70.132.61.95 - - [20/Sep/2020:22:41:10 +0900] "POST //xmlrpc.php HTTP/1.1" 200 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
70.132.61.147 - - [20/Sep/2020:22:41:10 +0900] "POST //xmlrpc.php HTTP/1.1" 200 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
70.132.61.143 - - [20/Sep/2020:22:41:10 +0900] "POST //xmlrpc.php HTTP/1.1" 200 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
70.132.61.81 - - [20/Sep/2020:22:41:10 +0900] "POST //xmlrpc.php HTTP/1.1" 200 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
70.132.61.144 - - [20/Sep/2020:22:41:10 +0900] "POST //xmlrpc.php HTTP/1.1" 200 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
70.132.61.91 - - [20/Sep/2020:22:41:10 +0900] "POST //xmlrpc.php HTTP/1.1" 200 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
70.132.61.97 - - [20/Sep/2020:22:41:10 +0900] "POST //xmlrpc.php HTTP/1.1" 200 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"
70.132.61.95 - - [20/Sep/2020:22:41:10 +0900] "POST //xmlrpc.php HTTP/1.1" 200 497 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"

(後述しますが上記のIPアドレスはCDNの物です)

これ以外のリクエストがほぼ見えない状態でログがガンガン流れてくのを呆然と眺めること数分。明らかにアタックを受けている。それも目の前で、リアルタイムに。はっと我に返りすぐさま対応せねばと思い至りTerminalに意識を戻します。……正直寝たいw
続きを読む

SSHで接続できない「Can’t assign requested address」エラーが発生した場合

小ネタです。
なぜか特定のサーバにSSHで接続できない現象が発生しました。他のサーバにはいつも通りに接続でき、DNSやサーバ自体の設定も特に変更していません。

$ ssh ec2-user@example.com -p 10022
ssh: connect to host example.com port 10022: Can't assign requested address

どうやらOpenVPNのクライアントを貧弱なネットワーク環境で使用したり、推奨されない操作をすると「ルーティングテーブル」がぶっ壊れることがちょいちょいあるようです。……思いっきり心当たりがあるw ちょうどこの現象が起こるちょっと前にフリーズしてkill -9 (OpenVPNクライアントのPID)したのでした。

というわけでルーティングテーブルをリセット(flush)します。

$ sudo ifconfig en0 down
$ sudo route flush
$ sudo ifconfig en0 up

これで無事につながるようになりました。めでたしめでたし。

続きを読む

[AWS] LigthsailにBitnami版Redmine4.1を構築する

新たにジョインしたプロジェクトでPM業務を担当することになりまして、古来から伝わりしRedmineを準備した際のメモです。……本当は今をときめくClickUpあたりを使いたかったんですが予算の兼ね合いで泣く泣くw Backlogは昔から肌に合わないのとカスタマイズが効かないので候補から外しました。

ゼロからRedmine環境を作るのは骨が折れるため、ボタン2〜3発でRedmineを起動でき、お値段的にも手頃なAWSのLightsailを利用して作成してみます。
続きを読む

[AWS] SESを利用しSMTPサーバの準備を行う

AWS SESを利用するとSMTPサーバが簡単に用意できます。EC2から利用する場合、無料枠が月間6.2万通まで用意されていますので、個人的な利用や小規模なプロジェクトであれば料金は気にしなくても良さそうです。

今回はSMTPサーバの準備をするところまでを取り上げます。
続きを読む

[Git] 1回の`git push`で複数のoriginに送信する

普段GitHubを利用しているのですが、たまにサービス毎落ちるんですよねw
大抵の場合は仕事を切り上げる理由になって良いのですが、取り急ぎpushだけでもしたいといった場合に困るわけです。VCSはバックアップも兼ねてますからね。

そんなときに普段から別のリポジトリを作成し、バックアップ用に毎回pushしておきます。
コマンドは以下の通り。

$ cd (作業ディレクトリ)
$ git remote set-url --add origin git@github.com:katsube/example.git

正常に登録されたか確認しておきます。1-2行目が最初からあるもの、3行目が新たに追加した物ですね。

$ git remote -v
origin  git@github.com:katsube/original.git (fetch)
origin  git@github.com:katsube/original.git (push)
origin  git@github.com:katsube/example.git (push)

あとはいつも通りgit pushすれば自動的に2箇所にpushしてくれます。

$ git push

ここでは両方GitHubを使っていますが、BitBucketGitLabはもちろん自分が管理するサーバなどのリポジトリに必要に応じて置き換えて実行してくださいませ。
続きを読む

Docusaurusでドキュメントを作成しGitHub Pagesへ公開する

facebookが開発しているDocusaurusドキュサウルスを利用すると、Markdownを書いてちょちょいと設定すればナウい感じのドキュメントを作成することができるという噂を聞きつけ、今回はインストールから簡単な設定を行い、GitHub Pagesへ公開するところまでを駆け足でたどります。

具体的な事例は公式サイトに一覧が掲載されていますが、facebook製だけあってReact関連のプロジェクトはほとんどがDocusaurusみたいですね。

なおDocusaurusには現行バージョンの1.x系と、開発中の2.x系がありますが、今回は1.x系を利用します。2系はコマンドや設定が異なりますのでご注意ください。
続きを読む