1초로 만드는 양산형 Proxy Server

인사



안녕하세요, 어떻습니까?

프록시 서버를 2,3 만들고 나서, 이후의 서버 만들기가 엉망이되어 싫어졌기 때문에 기세가 너무 프록시 서버를 만드는 gem을 만들었습니다. (여기에서)
(* 지금 ubuntu 밖에 대응하고 있지 않습니다, 늘릴지도)

그래서, 타이틀이 꽤 이키하고 있습니다만 일단 이것조차도 순식간에 Proxy 서버를 할 수 있어요!

다른 도구가 있기 때문에 다른 응용 프로그램이 있거나 더 많이 만들고 싶은 사람들에게는 어쩔 수 없습니다.

어쨌든 단순성과 즉각성을 요구하는 Gem입니다.

1초만에 만드는 프록시 서버


 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는 프록시 서버로 만들 서버의 IP

yyy.yyy.yyy.yyy에 연결을 허용하는 IP (wifi 이름 등)를 넣으면 이미 끝납니다.

zzz는 포트 번호입니다. 연결을 허용하는 포트 번호를 지정하십시오.

그래서 자신의 wifi의 IP와 프록시 서버로 하고 싶은 서버의 IP만 알면, 복사해서 enter로 끝입니다 🎉(1초는 담겼다!)

프록시 서버 개요




proxy라는 단어는 代理라는 의미가있는 것처럼 보입니다. 인터넷에 연결할 때 IP를 wifi의 IP에서 프록시 서버 자체의 IP로 변경하는 발판 서버입니다.

기본적인 용도로는 역시 스크래핑이나 셀레늄 같은 web driver를 사용하고 있을 때의 IP 밴이 되었을 때의 대책이라든지.

그래서 결국이 Proproxy는 나니몬? 라는 것은 이하로부터 ↓↓↓↓

Proproxy



기본적으로 sshkit를 래핑하고 서버에 squid라는 서버를 설치하기 만하면됩니다.
Proproxy::Server#initiailize를 호출 한 시점에서 ssh 연결을 시작하고 Proproxy::Server#provision에서 squid를 설치하십시오.

프로비저닝이 끝나고 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

구현되지 않은 것



우분투에서만 사용할 수 있습니다.



먼저 우분투에서 apt-get를 사용할 수있는 버전 만 아직 사용할 수 없습니다.

정말 CentOS 나 좋은 느낌을 얻고 싶었지만 귀찮아서 아직 만들지 않았습니다.

실수로 추가 한 IP는 수동으로 만 지울 수 있습니다.



상당히 이것은 구현하지 않으면 안된다고 생각하면서 전혀 구현할 수 없습니다만,

어쨌든 shell script를 전혀 할 수 없기 때문에 부분 일치 행을 좋은 느낌으로 삭제한다면 어떻게 할 수 있습니다 (vim을 execute 할 수밖에 없다고 생각하지만 귀찮아 보인다.

서버의 시작부터 할 수 있으면 기쁩니다 (지도)



개인적으로 DigitalOcean 및 Vultr VPS를 사용하고 있습니다. API가 매우 충실하고 사용하기 쉽습니다.

그래서 Proproxy::VPS::DigitalOcean.create 같은 느낌으로 할 수 있으면 혹시 행복할지도..?

음, 여기는 조금 너무 느껴집니다.

정리🖋



엄청 간단하게 proxy 서버를 양산하거나, 심플하게 만들고 싶은 사람에게는 좋은 것이 아닌가?

그리고 다른 한편으로는 조금 로컬에서의 조작성을 중시하고 싶습니다.

우선 저 개인으로서는 Vultr API를 두드려서 서버 만들어 IP 취득하고, Proproxy::Server.new에 건네주는 것으로써 Proxy 서버 작성에 관해서는 완전 자동화할 수 있었습니다 🎉

시간이 있다면 구현하지 않으려는 것을 어쩔 수 없을 것입니다.

좋은 웹페이지 즐겨찾기