カテゴリー : 2017年 2月

Proxy サーバー構築 – squid 編

squid 3.x を使って Proxy サーバーを構築しました。

squid のインストール

まず squid をインストールします。

sudo apt-get update
sudo apt-get install squid

squid のバージョンを確認してインストールされていることを確認します。

$ squid -v
Squid Cache: Version 3.5.12
Service Name: squid
Ubuntu linux
configure options:  '--build=x86_64-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--libexecdir=${prefix}/lib/squid3' '--srcdir=.' '--disable-maintainer-mode' '--disable-dependency-tracking' '--disable-silent-rules' 'BUILDCXXFLAGS=-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now' '--datadir=/usr/share/squid' '--sysconfdir=/etc/squid' '--libexecdir=/usr/lib/squid' '--mandir=/usr/share/man' '--enable-inline' '--disable-arch-native' '--enable-async-io=8' '--enable-storeio=ufs,aufs,diskd,rock' '--enable-removal-policies=lru,heap' '--enable-delay-pools' '--enable-cache-digests' '--enable-icap-client' '--enable-follow-x-forwarded-for' '--enable-auth-basic=DB,fake,getpwnam,LDAP,NCSA,NIS,PAM,POP3,RADIUS,SASL,SMB' '--enable-auth-digest=file,LDAP' '--enable-auth-negotiate=kerberos,wrapper' '--enable-auth-ntlm=fake,smb_lm' '--enable-external-acl-helpers=file_userip,kerberos_ldap_group,LDAP_group,session,SQL_session,unix_group,wbinfo_group' '--enable-url-rewrite-helpers=fake' '--enable-eui' '--enable-esi' '--enable-icmp' '--enable-zph-qos' '--enable-ecap' '--disable-translation' '--with-swapdir=/var/spool/squid' '--with-logdir=/var/log/squid' '--with-pidfile=/var/run/squid.pid' '--with-filedescriptors=65536' '--with-large-files' '--with-default-user=proxy' '--enable-build-info=Ubuntu linux' '--enable-linux-netfilter' 'build_alias=x86_64-linux-gnu' 'CFLAGS=-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wall' 'LDFLAGS=-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2' 'CXXFLAGS=-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security'

squid インストール後に status を確認するともう起動してました。squid せっかち。

$ service squid status
● squid.service - LSB: Squid HTTP Proxy version 3.x
   Loaded: loaded (/etc/init.d/squid; bad; vendor preset: enabled)
   Active: active (running) since Sat 2017-02-18 13:39:01 UTC; 28min ago
     Docs: man:systemd-sysv-generator(8)
    Tasks: 4
   Memory: 18.3M
      CPU: 461ms
   CGroup: /system.slice/squid.service
           ├─2831 /usr/sbin/squid -YC -f /etc/squid/squid.conf
           ├─2838 (squid-1) -YC -f /etc/squid/squid.conf
           ├─2841 (logfile-daemon) /var/log/squid/access.log
           └─2866 (pinger)
 
Feb 18 13:39:01 proxy1 systemd[1]: Starting LSB: Squid HTTP Proxy version 3.x...
Feb 18 13:39:01 proxy1 squid[2788]:  * Starting Squid HTTP Proxy squid
Feb 18 13:39:01 proxy1 squid[2788]:    ...done.
Feb 18 13:39:01 proxy1 systemd[1]: Started LSB: Squid HTTP Proxy version 3.x.
Feb 18 13:39:01 proxy1 squid[2831]: Squid Parent: will start 1 kids
Feb 18 13:39:01 proxy1 squid[2831]: Squid Parent: (squid-1) process 2838 started

Proxy サーバー構築のために squid.conf を編集する

まず、デフォルトの squid.conf ファイルをバックアップします。

sudo cp /etc/squid/squid.conf /etc/squid/squid-origin.conf

次に、設定ファイル squid.conf を以下のように編集、追記します。

#http_access deny all
 
forwarded_for off
 
request_header_access X-Forwarded-For deny all
request_header_access Via deny all
request_header_access Cache-Control deny all
 
reply_header_access X-Forwarded-For deny all
reply_header_access Via deny all
reply_header_access Cache-Control deny all

diff は以下のとおりです。

$ diff /etc/squid/squid-origin.conf /etc/squid/squid.conf
1188a1189,1192
> # Alow my server's host
> acl myhost src xxx.xxx.xxx.xxx/255.255.255.255
> http_access allow myhost
> 
1599c1603
< http_port 3128
---
> http_port 13128
5156a5161,5163
> request_header_access X-Forwarded-For deny all
> request_header_access Via deny all
> request_header_access Cache-Control deny all
5507a5515
> visible_hostname myhostname.com
7621a7630
> forwarded_for off

squid.conf ファイルの編集が完了したら、squid リロードして設定を反映させれば完了です。

service squid reload

あとは、なんかしらの方法で Proxy サーバー経由でアクセスできてることを確認しましょう。

よき Proxy ライフをお過ごしください!

参考情報

Serposcope で使える CAPTCHA 突破サービス価格比較

検索順位チェックツール Serposcope で使える CAPTCHA 突破サービスの価格を比較しました。

CAPTCHA 突破サービス価格比較

de-captcher.com

de-captcher.com

The price is $2 for 1000 images. We accept payments from $10.

ということで、CAPTCHA 画像 1000 枚を突破するのに $2 かかるようです。

deathbycaptcha.com

deathbycaptcha.com

Starting from an incredible low price of $1.39 ($0.99 for Gold Members !) for 1000 solved CAPTCHAs.

ということで、CAPTCHA 画像 1000 枚を突破するのに $1.39 かかるようです。

anti-captcha.com

anti-captcha.com

Starting from 0.7USD per 1000 images, depending on your daily upload volume

ということで、CAPTCHA 画像 1000 枚を突破するのに $0.7 かかるようです。

CAPTCHA 突破サービスの費用試算

約 3000 キーワードを Desktop/Mobile の2デバイスで、毎日検索順位をチェックすることを考えて試算すると、

3000 keywords * 2 devices * 30 days = 180000
180000 / 1000 images = 180
$0.7 * 180 = $126 (per 1month)

毎月 $126 かかる計算になりました。実際には毎回 CAPTCHA が表示されるわけではないので、こんなに費用かからないはずですけど。

CAPTCHA 突破サービス比較まとめ

どのサイトも胡散臭さ満載ですね(笑)

手始めに少ロットで最安値だった anti-captcha.com を使ってみたところ、ちゃんと CAPTCHA を突破してくれました。

突破する CAPTCHA 数が多い場合は、ボリュームディスカウントもあるみたいなので使用量によってもっとも安いサービスを利用したいですね。

ポモドーロテクニックを Toggl アプリで実践してる

ポモドーロテクニック、ずっと食わず嫌いしていたんですが「SOFT SKILLS ソフトウェア開発者の人生マニュアル」という本でオススメされていたので、実践してます。

ポモドーロタイマーアプリは Toggl がオススメ

ポモドーロテクニックを試すには何かしらアプリが必要でいろいろと使ってみました。色んなアプリがあるんですが、使いやすいアプリがほとんどなくて諦めかけていたところ、時間管理ツール「Toggl」の公式アプリの設定を変更すると、ポモドーロテクニックを導入することができることを知り、試してみました。

元々、Toggl を利用していたのでそのままポモドーロテクニックを導入できるのは嬉しい限りです。

Toggl Mac アプリの設定

Chrome ブラウザからなら chrome://extensions/?options=oejgccbfbmkkpaidnkphaiaecficdnfn にアクセスすると設定画面を開くことができます。

Toggl ChromeExtension

もしくは、Chrome メニューに Toggl アイコンを表示させていれば、そこから歯車アイコンをクリックして設定画面を開くこともできます。

PomodoroTimer Toggl ChromeExtension

Toggl Mac アプリの設定

TogglDesktop Preferences

ショートカットキー Command + , もしくは「Preferences…」をクリックして、設定画面を開きます。

PomodoroTimer TogglDesktop Preferences

Preferences にて、以下の2つの項目を設定します。

  • Pomodoro timer: タスクに取り組む時間です。デフォルトは 25 分です。
  • Pomodoro break: 休憩時間を設定できます。デフォルトは 5 分です。

結論: ポモドーロテクニックはメリットが多そう

ポモドーロテクニック、よいです。思ってた以上に作業が捗ります。

今までは、一気に集中して仕事して夕方に疲弊してるということがあったんですが、それが無くなり、疲れにくくなりました。

使い慣れた Toggl アプリでポモドーロテクニックを実践できてるってのも個人的にはプラスに働いてます。

Serposcope で無料 Proxy を利用してみたけどダメだった

Serposcope で無料 Proxy を利用してみましたが CAPTCHA が頻出しまくって全く使いものになりませんでした。

ログファイル /var/log/serposcope/*.log に以下のような CAPTCHA を検知したログが大量にでてました。

[google-0] INFO  c.s.s.s.g.s.GoogleScraper - GOT status=[302] exception=[none]
[google-0] DEBUG c.s.s.s.g.s.GoogleScraper - captcha form detected via proxy:http://144.217.158.153:3128/

無料プロキシは似たような使い方をされているサーバーがほとんどだと思うので、該当 IP アドレスは Google から警戒されているのかもしれませんね。

検索順位チェックツール Serposcope を Ubuntu にインストールする手順

検索順位チェックツール Serposcope を Ubuntu にインストールしたので手順をご紹介します。

Java のインストール

事前に Java をインストールしておきましょう。

Serposcope のダウンロード

まず、DOWNLOAD Ubuntu / Debian serposcope の URL をコピーして wget でインストールファイルをダウンロードします。

wget https://serposcope.serphacker.com/download/2.6.0/serposcope_2.6.0_all.deb

Serposcope のインストール

dpkg -i で Serposcope の deb パッケージをインストールします。

sudo dpkg -i serposcope_2.6.0_all.deb

Serposcope のインストール確認

service コマンドでインストールされているか確認しておきます。

service serposcope
Usage: /etc/init.d/serposcope {start|stop|restart|status}

Serposcope の起動

service コマンドで Serposcope を起動します。

service serposcope start

念のため service status で起動してるか確認しておきます。

service serposcope status
● serposcope.service - LSB: serposcope rank checker
   Loaded: loaded (/etc/init.d/serposcope; bad; vendor preset: enabled)
   Active: active (running) since Wed 2017-02-15 10:52:09 UTC; 52s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 8785 ExecStart=/etc/init.d/serposcope start (code=exited, status=0/SUCCESS)
    Tasks: 24
   Memory: 158.0M
      CPU: 8.843s
   CGroup: /system.slice/serposcope.service
           └─8809 /usr/lib/jvm/java-8-oracle/bin/java -Dserposcope.conf=/etc/serposcope.conf -jar /usr/share/serposcope/serposcope.jar
 
Feb 15 10:52:07 serposcope systemd[1]: Starting LSB: serposcope rank checker...
Feb 15 10:52:09 serposcope serposcope[8785]: Starting : serposcope...  - Success
Feb 15 10:52:09 serposcope systemd[1]: Started LSB: serposcope rank checker.

http://your_ip_address:7134/ にアクセスして、アカウント作成、ログインできれば serposcope のインストールは完了です。

参考情報