【Chrome Extension】Twitterの画像を開く際にオリジナルサイズ版(:orig)にリダイレクトする(続)

前回の記事ではChrome Extensionを用いたリダイレクト処理を実装しましたが、本記事ではリダイレクト処理をブラウザのアドオンとして実行する方法を紹介します。

  • manifest.jsonの作成
  • Chromeでアドオンを読み込む
  • Firefoxでアドオンを読み込む
  • アドオンの動作を確認する
続きを読む

【Chrome Extension】Twitterの画像を開く際にオリジナルサイズ版(:orig)にリダイレクトする

Twitterにアップロードした画像を表示するとリサイズされて表示されますが、画像のURL末尾に「:orig」を追記すると、オリジナルサイズの画像を取得できます。

【縮小サイズ画像】https://pbs.twimg.com/media/XXXX.jpg
【オリジナル画像】https://pbs.twimg.com/media/XXXX.jpg:orig

詳細は下記リンク先で説明されています。
Twitter の画像 URL に :orig をつけると元画像が取得できる

しかし、画像を開く度にURL末尾に:origを入力するのは煩いため、自動で入力するようにします。
ChromeFirefoxではブラウザ拡張(Chrome Extension, WebExtensions)のAPIで提供されており、ブラウザの各種動作をカスタマイズ可能です。

ここでは、Twitter画像のURLをリダイレクトするアドオンを自作します。

  • 概要
  • chrome.webRequestでイベント処理
  • onBeforeRequest時にリダイレクト処理を実装
  • ブラウザのアドオンとして実行する
続きを読む

【PHP】ログローテート対応のログ出力関数を実装する

PHPではerror_logやsyslog等の汎用ログ出力関数が用意されており、
logrotate等と組み合わせることでログローテートを実現可能ですが、
ここでは自前でログローテート対応のログ出力関数を実装してみます。
 
処理の概要は下記のように非常にシンプルなもの。
・指定のログ出力先にログを出力
・ログが指定容量を超えたらローテートする(日付ではローテートしない)
・管理する世代数を超えたログは削除する
 
ソースはこのような感じ。

続きを読む

【C/C++】system関数とCurlでグローバルIPを取得する

LinuxMacで自機のIPアドレスを取得する場合、
curlコマンドでinet-ip.infoを叩くとグローバルIPアドレスを取得できます。

$ curl inet-ip.info
  123.456.234.321

 

Cのプログラムからはsystem関数でcurlコマンドを実行可能ですが、
phpのexecの様に関数の戻り値としてIPアドレスが返らないため、
一旦ファイルに出力して、それを読み込む方法がお手軽です。

system("curl inet-ip.info > ipAddr.txt");
$ cat ipAddr.txt
123.456.234.321 

 

あとは上記テキストをfopen等で読み込めばOKですが、
curlコマンドは進捗状況を標準出力に出力するため、プログラム実行時に下記のような進捗がターミナルに表示されてしまいます。

% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 14 100 14 0 0 384 0 --:--:-- --:--:-- --:--:-- 388


curlコマンド実行時にサイレントモード(-s)を指定することで
進捗を標準出力に出力せずにコマンドを実行できます。

system("curl -s inet-ip.info > ipAddr.txt");