안녕하십니까! 로그인이 귀찮아서 눈팅만 하다 오랜만에 로그인해보네요
이번에 소개할 것은, 제가 3일 정도 바이브코딩해서 만든 Wireguide라는 Wireguard GUI Client 앱입니다.
일단, 만들게 된 배경은, 이번에 스타트업에서 VPN을 L2TP에서 Wireguard로 옮기는 작업 및 네트워크 지원의 자동화 등을 제가 진행하게 되었고, 셀프 안정성 테스트를 하던 중 M1 Macbook Air에서 이상한 증상이 발생하더라구요.
M4 맥미니에선 크게 체감이 안 됐는데, 유독 M1 Macbook Air에서만 Wireguard의 터널을 하나라도 키면 CPU 스로틀링 및 네트워크 먹통 현상이 발생했고, 지웠다 깔든 무슨 쌩쇼를 다 해도 해결이 안 되고, reddit /WireGuard 등을 뒤져보면 생각보다 같은 증상을 호소하는 사람들이 많았습니다.
문제는 Wireguard 공식 Client앱이 전부 3년 전에 지원이 중단되었다는 점.. 아마 그 사이 OS 버전업이 2번 이상 이뤄지면서 네트워크 레이어도 많이 바뀌고, 그래서 충돌 이슈가 생겨서 CPU 사용량이 급증하는데, M1이 성능이 더 낮다보니 바로 체감이 심하게 오는게 아닌가 싶습니다.
근데 wg-quick 등 Wireguard CLI 툴들은 다 계속 업데이트 중이고, 맥에서도 잘 동작하는 것을 확인했고, 반대급부로 오픈소스 Wireguard GUI 클라이언트는 몇 없는데 그나마도 제 맘엔 안 들더라구요.
그래서 그냥 제가 직접 만들어버렸습니다.. 아래 사진 한번 봐 주시죠
https://github.com/korjwl1/wireguide/blob/main/README.ko.md




원래 저는 Rust 성애자이긴 한데, Wireguard가 GoLang 기반이다보니 Go에서 Tauri 비슷한 프레임워크를 찾다가 Wails라는 프레임워크를 찾아서 이를 기반으로 만들었고, 핵심 엔진은 최신 Wireguard-go를 쓰되 여러가지 편의성을 덧보태고 터널 관련 안정성을 최대한 챙겨서 만들었습니다.
특징으로는 다음과 같은 점들이 있습니다!
- Drag & Drop 기반 Tunnel 추가
- 자동완성 및 문법 검사기가 달린 Editor
- Apple 비밀번호 까먹어도 설치가 가능한 brew 배포 (개발자라면 brew죠)
- 다국어 지원, 멀티 OS 지원 가능 (곧 윈도우랑 리눅스에서 안정성 테스트 거치면 3개 OS로 배포할 예정입니다.)
- 기존 Client 대비 훨씬 낮은 리소스 사용률
바이브코딩을 하더라도, 기존 중급 이상 개발자로서 철저하게 설계 및 QA를 거치면서 했고, 그래서 사실 제가 실제로 맞딱드릴 시나리오는 아니라서 QA가 덜 된 부분 외에는 어느정도 안정성이 잡힌 것 같습니다. 혹시 기존에 MacOS에서 불편함 겪으시던 분들이라면 한번 써보시면 좋을 것 같고, 문제가 발생하면 issue나 댓글 남겨주시면 감사하겠습니다!
암튼 이런것도 자작? 가능한 바이브 시대가 열리는군요.
이 부분은 근데 기존 사실 사람이 짜던 시절에도 마찬가지 이슈라 생각하고, 2년 전에는 바이브코딩하던 사람들을 제가 그러면 실력 안 는다고 혼내던 시절이 있지만, 요즘은 반대로 적어도 사용을 해보기 전에도 상당히 많은 부분, 특히 GUI가 얽히지 않은 엔진이나 백엔드는 LLM으로 test코드도 직접 짜고, 단순 ralph 루프가 아닌, 직접 내용 하나하나 검증하면서 리뷰 무한 사이클 돌리는 것으로 잡히는 부분이 더 많고, 작년 Kiro까지 때와는 다르게 최근에는 스킬+에이전트를 잘 갖춘 바이브코딩이 기존 개발자보다 낫다 느껴져서 오히려 전체 바이브코딩을 하고 있었습니다.
그러다보니 요즘 더 아쉬운건, 적어도 저는 이거 개발에 3시간 쓴다면, LLM으로 QA 및 최적화에 8시간 이상을 쓰고 있는데, 대부분이 뒷 과정이 지루하고 재미 없으니 안 하고 던지는 사례가 많아진게 문제가 아닌가..
이것 한번 설치해보겠습니다. 여러 의심 앱들을 추가/삭제했었지만 wireguard는 그냥 app store에 있는것을 사용했었네요. 지금보니 wireguard-go라도 사용하는게 훨 좋은 선택이었겠네요.
어쨌건 잘 사용해보겠습니다.