k_piの雑記帳

個人的に困った点と、その解決法などをつらつら書き連ねた備忘録を兼ねたブログ

VPSを用いたVPNサーバーの立て方(DigitalOcean編)

 【動機】

最近、中国+香港に行く機会があったのだが、セキュリティやグレートファイアウォール(金盾)のことを考えると、
やはり、VPNを準備しておくべきだろうと考えたが、
VPN Gateといった無料サービスはボランティアに悪意のある人がいないとも限らないし、
セカイVPNHMAなどの有料サービスは短期利用では割高に・・・

また、既存のVPNサービスはグレートファイアウォール(金盾)で遮断されるリスクもある。

ということで、VPSを借りて自分でVPNサーバーを立ててやろうと考えた。

【概要】

今回は、DigitalOceanを利用したVPNサーバー(strongSwan)の立て方を紹介する。
DigitalOceanでは一番安いプランは月当り$5で、$1=110円であれば550円と有料VPNサービスより安く、
時間割で課金されるので1日(24時間)であれば$0.007×24=$0.168で済む。

サーバーのロケーション(場所)は、

から選べる。
日本が選択肢にないのが残念だが、IDCFクラウドにも立てたのでこちらに関しては後日紹介することとする。(かなり間が空くかもしれないが。。。)
次回記事を参照すること。(一週間で書けた(^。^))(11/27追記)

 【手順】

続きを読む

香港・中国で使えるSIMカードの話

【概要】

諸事情により、香港+中国に行くことになったが、
やはり、言語の違う海外ではインターネット環境があると安心できる。
しかし、モバイルWiFiルーターは二か国以上を跨いで移動する場合には、
一日当たりの値段がどうしても高くなるのが難点だった。
そこで、古いスマホSIMフリー化して、
現地の香港・中国両者に対応したSIMを使ってインターネット環境を手に入れた。

 

【海外でのインターネット環境】

海外でのインターネット環境は大きく分けて以下の4通りになる。

  • 公衆WiFi
    長所:無料 + WiFiの設定ができれば簡単に使える
    短所:WiFiスポットに行かないと通信できない ⇒ 常時通信はできない
  • 携帯通信会社の海外通信プラン
    長所:ほぼ設定が不要
    短所:とにかく費用が掛かる(高すぎる)
  • モバイルWiFiルーターのレンタル(グローバルデータグローバルWiFi
    長所:初心者でもWiFiの設定ができれば簡単に使える
    短所:二か国以上に渡航すると費用が掛かる or 面倒事が増える
  • 現地SIMの使用
    長所:費用が安上がり
    短所:SIMフリースマホが必要 + 設定が面倒 ⇒ 少し玄人向け

今回は香港の現地SIMを使用して、インターネット環境を構築した。

 

続きを読む

【小ネタ】RapberryPiの起動時にネットワークドライブ(samba等)がマウントされない場合の対処法

RapberryPi(Raspbian)の起動時にネットワークドライブ(samba等)をマウントしたい場合、
fstabにファイルシステムに「cifs」などを指定し、同時に「_netdev」を指定してネットワークインターフェースが認識されるまで待機させるが、
これだけでは、起動後確認してみるとマウントされていない場合がある。

これは、jessieになってから、IPアドレスの払い出しがdhcpcdによって行われることに起因する。
RaspberryPi起動時にdhcpcdが起動するが、IPアドレスの払い出しを待たずしてdhcpcdがバックグラウンドに移行する。
これにより、ネットワークインターフェースにIPアドレスが割り当てられていない状態でfstabに基づいたマウントが行われてしまうことがある。

これを防ぐためには、「raspi-config」→「Wait for Network at Boot」を実行してやればいい。

これを実行すると、「/etc/systemd/system/dhcpcd.service.d/wait.conf」が作成され、dhcpcdを「-w」オプション付きで起動してくれる。
これにより、dhcpcdがIPを払い出すまでバックグラウンド移行しないようになる。

製品紹介(Amazon.co.jpアソシエイト)-----------------
Raspberry Pi 3 MODEL B 【RS正規流通品】

Raspberry Pi 3 MODEL B 【RS正規流通品】

 

 

(続)RaspberryPiでPX-BCUDを利用してBS/CSを受信する。

【2017/07/30追記】

2017/06/21のイメージから、PX-BCUDに対応したカーネルに更新されており、以下の手順を踏まなくてもよくなった。

よかった、楽になった・・・

【動機】

 以前の記事でRaspberryPi model BとPX-BCUDを用いてBS/CSを受信しようと考えていたが、スペック不足で正常に受信できなかった。
そこで、今回はRaspberryPi 3を用いてBS/CSを受信してみることにする。

【手順】

PX-BCUDのドライバはまだ本家カーネルに取り込まれていないので、ここでも自力でカーネルコンパイルする。
初代RaspberryPiとRaspberryPi 3ではコンパイル用のオプションが少々異なるところで躓いたが、以下の通りにやればOKだった。

続きを読む

RaspberryPiでPX-BCUDを利用してBS/CSを受信する。

【2017/07/30追記】

2017/06/21のイメージから、PX-BCUDに対応したカーネルに更新されており、以下の手順を踏まなくてもよくなった。

よかった、楽になった・・・

【追記 (2016/04/23)】

RaspberryPi 3を使えば録画できました。
(続)RaspberryPiでPX-BCUDを利用してBS/CSを受信する。 - k_piの雑記帳

【動機】

予てから、「RaspberryPiでBS/CSが受信できれば、普段無音の録画環境が手に入るのだがなぁ」と考えていたが、PX-S1UDのLinux dvbドライバやrecdvbの作者Satoshi Nagahama氏のHP(Sat's space)が復活しており、PX-BCUDのLinux dvbドライバ・BS対応版recdvbが完成しているとのこと。
この神のような方のドライバ・recdvbを使わせていただいて、RaspberryPiでBS/CSを受信してみようと考えた。

【手順】

PX-BCUDのドライバはlinux-mediaにポストされているので、特に問題なければじきにPX-S1UDと同様に本家カーネルに取り込まれるだろうが、ここでは自力でカーネルコンパイルする。

続きを読む

recdvbをいじってみた+いじったやつを公開してみた

【動機】

前に書いたPX-S1UDとRaspberryPiを用いて、家中どこでもテレビ(ワンセグ)を実現する。で述べたが、オリジナルのrecdvbではHTTPレスポンスヘッダのContent-Typeがapplication/octet-streamになっているので、Androidスマホ等からアクセスしたときにIntentが働かない。
recdvbから流れているストリーム自体はMPEG2-TSのまんまなので、AndroidiPhone用のアプリが必要というよりもrecdvb側をいじればいいんだろうということでやってみることにした。

【変更点】

recdvbのContent-Typeは「recpt1.c」内に記述されているので、そこをいじってやってb25有効時とワンセグ試聴時はContent-Typeを「video/mpeg」にしてやった。
数行いじっただけなので、具体的な変更点は後記のgithubのcommitを見てもらえばわかるはず。

続きを読む

FFmpegをWindows上でビルドする

【使用ツール】

【動機】

MP4動画をFFmpegで作成する際、aac変換を音質が良いとされているfdk-aacに任せたいがために、オレ流FFMpegビルドツールを使わせていただいてビルドを行っていたが、以下の点から自力でビルドすることにする。

  • 当方のPC環境(WindowsVista 32bit)では、x265のビルド時のcmakeのオプションに「-DWINXP_SUPPORT="ON"」が指定されていないので、出来上がったffmpeg.exeが起動できない。
  • オレ流FFMpegビルドツールで使用されているPolarSSLが古く、また、PolarSSLの後続であるmbed TLSでは、APIが大きく変更されRTMPDumpに適用できなくなっているようである。*1
  • また、PolarSSLに上手くパッチが当たっていないせいか、FFmpeg上でhttps通信ができない。
  • http通信でそのまま落としてきたシェルスクリプトを実行するというシステムがなんか怖い。

【概要】

いね氏が公開されているオレ流FFMpegビルドツールで使用されているシェルスクリプト、また、あべちん氏が公開されているお気に入りの動画を携帯で見ようの各記事を参考に以下のオレ流FFMpegビルドツールから以下の変更を加えてビルドする。

  • ビルドしたFFmpegを配布することはないので、使用するライブラリをPolarSSLからOpenSSLに変更する。
  • x265のビルド時のcmakeのオプションに「-DWINXP_SUPPORT="ON"」を指定してビルドする。
  • ついでなので、コンパイラをgcc4.9.2(sjlj)からgcc5.2.0(dwarf)に変更する。

【ビルド手順】

続きを読む