aachyeeのブログ

備忘録的メモ。主にIT(プログラミング、電子工作)、DIY、アウトドアネタ。詳細はaboutを。

200kbps程度の低速回線を使いこなす方法

はじめに

常時最大200kbpsに制限されているモバイル回線をなんとか使いこなす方法です。 ここに書かれている方法を使うことによって何らかの不利益や被害を被ったとしても当方は一切関知しません。自己の責任で行ってください。

具体的な方法

Youtubeをブラウザで安定的に再生できるようにする

再生の設定から画質を144pにすればおそらく止まらずに再生はできるはずですが、毎回するのは面倒ですので自動化します。 ブラウザにTampermonkey拡張(または同類の拡張)をいれてから、Youtube HDをインストールします。 TampermonkeyのダッシュボードからYoutube HDのソースコードを開き、

const targetRes = "hd1080";

を以下のように書き換えます。

const targetRes = "tiny";

これで画質は最低(144p)になりますが、かろうじて再生はできると思います。 より高画質で再生をしたい場合は、設定から 240p等にしてみてください。 240pで安定して再生ができるならtinyをsmallにしてみましょう。

最低画質でもYoutubeの再生できない、または止まってしまう場合

解像度を最低にしても止まってしまうまたは、より高画質で見たい場合は、youtube-dlというPythonで作られたソフトを使いましょう。 具体的な使い方は他のサイトを参考にしてください。

wgetを使って大きなファイルをダウンロードする

大きなファイルのダウンロードが途中で止まってしまう場合は、wgetコマンドを使いましょう。

wget -c -t inf --max-redirect=5 --waitretry=0 --no-check-certificate URL

Windows版よりはLinux版のほうが安定しているようです。出力ファイル名を指定したい場合は-O filenameを使ってください。--dns-timeoutを使うと失敗時に中止されてしまうので注意してください。証明書(certificate)云々でエラーが出る場合は--no-check-certificateを付けてみてみる。転送レートを制限したほうがよい場合は--limit-rateを使ってください(バイト単位のほかに20kなど指定もできます) 念の為、ダウンロード終了後ハッシュが一致するか確認してください。 なお、curlはリトライ時のレジュームに対応していないのでおすすめできません。(shellのwhileと組み合わせれば可能)

追記 wgetでリトライオプションを付けていても、リトライせずに終了する場合があるので、shellのwhileとの併用が不可欠のようです。なのでwgetでもcurlでも好きな方を使えばいいと思います。

while ! wget -t inf --max-redirect=5 --no-check-certificate --continue --limit-rate=20k URL; do :; done

while ! curl --remote-name --globoff --fail --location --insecure --continue-at - --limit-rate 20k URL;do :; done

Slackを使う方法

残念ながら一部の回線では、クライアントアプリやブラウザどちらでも「何らかの理由により、Slack を読み込めませんでした 」となって接続できない。何度リロードしてもそうなる場合は他のクライアントを試してください。

"third party"|"3rd party"|"Unofficial" slack client - Google 検索

Twitterを使う方法

デフォルトの設定のままだと重すぎてとても使用に耐えないので、データセーバーと動きを減らすを有効、自動再生をオフの設定にしてください。それでもかなり重いですが。

IRCの利用

FacebookTwitter,Slackが使えないまたは重すぎる場合はIRCを使いましょう。IRCでも接続がすぐに切れる場合はpongを60秒ぐらいに設定しましょう。 頻繁に切れて使いもにならない場合は、ZNCやWeechatなとのIRC BouncerをVPSやCloudサービスで動かしましょう。

VPSCloud Computingの利用

git clone(fetch,pull)が途中で失敗する場合には、AWSGCP等のVPSクラウドコンピューティングを使う以外に方法はないようです。現状では途中で切断された場合にリトライ・レジューム等はできないようです。GCPのCloud Shellがおすすめ。

VPNの利用

VPNを使うと通信が高速化する場合がある。ただ、Windows環境でVPNを使うと接続時(再接続時)にルーティングが変化し、すべての接続が一旦切られてしまうので問題が生じることがある。非VPN経路で接続を維持するようにするにはインターフェースにバインド可能なポートフォワーダーまたはSOCKSプロキシを併用する必要がある。

さらなる速度制限(規制)を回避するには

業者やプランによりますが、おおむね一日あたり100MBを超えるとさらなる速度制限(規制)が行われるようです。ファイルのダウンロードや動画サイトは注意して利用しましょう。

その他

隠し玉はあるんですが晒すといろいろ問題が起きそうなので、親しい人だけに教えようと思います。