1秒で作る量産型Proxy Server
挨拶
こんにちは,いかがお過ごしでしょうか.
Proxy サーバを2,3作ってからというもの,それ以降のサーバ作りがめちゃくちゃめんどくさいし嫌になったので勢い余ってProxy Serverを作るgemを作りました.(こちらから)
(*今んところubuntuしか対応してないです、増やすかも)
で,タイトルがかなりイキってるんですがとりあえずこれさえすりゃ一瞬でProxyサーバができるよ!
というツールなのでそれ以外の用途があったりもっと作り込みたいみたいな人にはひょっとしたら不向きかもしれません.
とにかくシンプルさと即効性を求めたGemです.
1秒で作るProxy Sever
server = Proproxy::Server.new(:ubuntu, 'xxx.xxx.xxx.xxx', 22)
server.provision
server.update_ip_table('yyy,yyy,yyy,yyy',zzz)
これでProxyサーバの出来上がりです(!?)
xxx.xxx.xxx.xxx にはproxyサーバにしたいサーバのIP
yyy.yyy.yyy.yyy には接続を許可するIP(wifi名とか) を入れればもうおしまいです.
zzz はport番号です,接続を許可するport番号を指定してください.
なので自分のwifiのIPとproxy serverにしたいサーバのIPさえわかれば,コピペしてenterで終わりです🎉(1秒は盛ったね !)
Proxy サーバ概要
proxy
という言葉には 代理
とかいう意味があるらしく,平たくいうとインターネットにつなぐときにIPをwifiのIPからproxy server自体のIPに変更するための踏み台サーバのことです.
基本的な用途としてはやっぱりスクレイピングやセレニウムみたいなweb driverを使ってる時のIPバンされた時の対策とかですかね.
で、結局この Proproxy
ってナニモン?というのは以下から↓↓↓↓
Proproxy
基本的に sshkit
をラップしたもので,サーバには squid
というサーバをインストールすることだけします.
Proproxy::Server#initiailize
を呼んだタイミングでssh接続を開始し, Proproxy::Server#provision
でsquidをインストールします.
provisionが終わって Proproxy::Server#update_ip_table
でipの設定をするんですが、ここでipを間違えたりportとか間違えたりすると一生誰もログインできなくなります,悪しからず.
最終的なconfファイルの設定とかは 5分で作るPROXYサーバー を参考にしてます.
options
だいたいREADME に書いたんですが, squidの振る舞いをローカルから操作できるようにしました.
server.clear_squid_cache
server.stop_squid
server.start_squid
server.restart_squid
未実装なこと
ubuntuでしか使えない
まずubuntuで apt-get
が使えるバージョンのものしかまだ使えてません.
ほんとはCentOSとかいい感じにやってみたかったんですが,めんどくさくてまだできていません.
間違えて追加したIPとかは手動でしか消せない
結構これは実装しないといけないなと思いながら全く実装できてないんですが,
何せshell scriptが全然できないので部分一致の行をいい感じに削除するとかどうやったらできるんだ(vimをexecuteするしかない気がしてるけどめんどくさそう.)
サーバの立ち上げからできたら嬉しい(かも)
個人的に DigitalOceanやVultrのVPSを使用しているんですがこれ,APIがめっちゃ充実しててかなり使いやすいです.
なので Proproxy::VPS::DigitalOcean.create
みたいな感じでできるとひょっとして幸せかも..?
まあここはちょっとやりすぎ感もあります.
まとめ🖋
めちゃめちゃシンプルにproxy サーバを量産したり,シンプルに作りたい人には良いのではないか?
とおもう一方でもうちょっとローカルからの操作性を重視したいなと思います.
とりあえず僕個人としては Vultr APIをたたいてサーバ作ってIP取得して, Proproxy::Server.newに渡すということでProxyサーバ作成に関しては完全自動化することができました🎉
時間があったら未実装なやりたいことをちょこちょこアプデしていけたらなと思います.
Author And Source
この問題について(1秒で作る量産型Proxy Server), 我々は、より多くの情報をここで見つけました https://qiita.com/100010/items/91d3e540c184891cd0b7著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .