SSH 터널을 관리하는 SSH2HTTP Proxy Manager

여러 커뮤니티 웹사이트에 글이나 댓글을 남길 때 집의 IP를 남기는 건 꽤 껄끄러운 일이다. 요즘엔 IP만 알아도 집의 주소를 매우 정확하게 특정할 수 있기 때문이다. 그래서 필자도 해외에 만들어둔 리눅스 서버를 웹 프록시로 사용해 사용하곤 한다. 그래서 VPN도 사용해보고 Tailscale 같은 솔루션을 사용해보기도 했다.

하지만 정작 정착한 것은 해외 클라우드(물론 무료)에 만들어둔 리눅스 서버에 SSH를 사용해 접속하여 생성한 터널을 웹 프록시로 사용하는 것이다. 이 터널의 생성은 생각보다 간단한데 Windows에서 기본 제공하는 SSH 명령어 한줄이면 된다.

SSH 터널을 웹 프록시로 사용하는 방법은 이전 포스트에서 자세하게 다루었다.

SSH2HTTP 프록시 매니저 작성하기

리눅스 서버와 SSH 터널을 사용해 해외에 만들어둔 리눅스 서버를 웹 프록시로 사용하면서 궂이 다른 솔루션을 찾는 일은 없어졌다. 그만큼 안정성이나 속도도 웹 서핑에는 충분했다. 게다가 웹 브라우저에 설치는 프록시 관리 플러그인을 사용하면 원하는 웹사이트만 프록시를 통해 접속하고 일반 웹사이트들은 직접 접속하게 되기 때문에 더 편리했다.

단 하나의 단점은 매번 배치 프로그램을 실행해야 한다는 것이고 지금 프록시가 사용 가능한 상태인지 아닌지를 알 수 없으며 “예쁘지 않다”는 것이었다. 그래서 이 프록시를 관리하는 매니저 프로그램을 만들어 Windows 태스크바의 트레이에 넣어두고 싶어졌다. 그리고 실행된 ssh 명령어가 태스크바에 표시되지 않도록 해야 한다.

검토 결과 별도의 프레임워크나 컴파일러가 필요없는 C#으로 코딩하는 것이 가장 효율적이어서 바로 구글 제미나이와 작업에 들어갔고 한시간 만에 완성할 수 있었다.

Windows Tray에서 실행중인 ssh2http Proxy Manager
Windows Tray에서 실행중인 ssh2http Proxy Manager

트레이에서 실행중인 프록시 매니저에서 우클릭하면 다음과 같은 메뉴가 팝업된다.

프록시 매니저의 팝업 메뉴
프록시 매니저의 팝업 메뉴

현재 상태와 터널을 연결할 수 있는 메뉴, 터널 연결을 종료할 수 있는 메뉴 그리고 설정파일 열기, Windows 시작 시 프록시 매니저를 자동으로 실행할지를 선택하는 메뉴가 있다.

config.ini를 열면 다음의 설정을 할 수 있다.

ssh2http proxy manager config
ssh2http proxy manager config

소스코드는 github에 올려두었다.

https://github.com/taeho9/SSH2HTTP-Proxy

#ssh2http-proxy #웹프록시 #ip감추기

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다