🚀
通信速度制限環境を体験できるサービスを作ってみました
作った背景
携帯電話の契約で月のデータ利用料を使い切ると速度制限が掛かり、通信が非常に遅くなることがあると思います。
(未だに128kbps制限とか)
速度制限状態で挙動を確認したいことがあったのですが、意図的に速度制限環境を実現するための手軽に使えるものが無く困っていました。
そこで、VPN(WireGuard)を利用して手軽に速度制限環境を体験できるサービスを作ってみました。
機能
本サービスで提供する機能はWireGuardのインターフェース作成・削除機能で、実際のVPNの通信はWireGuardのアプリを使って行います。
作成可能なインターフェースに上限があるためログイン機能を設けており、一定時間経過後に自動的に削除されます。
VPN接続後は全ての通信がVPN側に流れるように設定しており、VPNを介した通信はインバウンド・アウトバウンド双方で128kbps制限をかけています。
使ったもの
WebアプリはNext.js+Dockerでデプロイしており、API経由でWireGuardのコマンドを叩いています。ユーザー管理はFirebaseを使っています。
あとはクラウドへのデプロイ時にTerraform使ったり、Cloudflare Workersを使って監視したりしています。
備考
ソースコードは現状非公開ですが、いつか公開するかもしれません。
公開しました。
Discussion