00:00:00완벽한 세상이라면 로컬 호스트 공유가 쉬워야 하겠지만, 왠지 모르게 항상
00:00:05일이 복잡해집니다.
00:00:06ngrok을 열면 제한에 걸리고, 무작위 URL을 받게 되죠. 10초면 끝날 일이
00:00:11모든 걸 망쳐버립니다.
00:00:12더 나쁜 건, 특정 한 사람과만 공유하고 싶은데
00:00:16공개하고 싶지는 않은 경우입니다.
00:00:17이것이 바로 zrock입니다.
00:00:18OpenZiti를 기반으로 제로 트러스트가 내장된 ngrok의 오픈 소스 대안이며, 현재 많은
00:00:24개발자들이 터널링의 고질적인 문제를 해결해주기 때문에 이 도구로 전환하고 있습니다.
00:00:33그렇다면 zrock이란 무엇일까요?
00:00:34기본적으로 포트를 열거나 라우터를 건드리지 않고, 공인 IP 없이도 로컬 앱, 파일,
00:00:40심지어 TCP 및 UDP 서비스를 공개 또는 비공개로 공유할 수 있게 해줍니다.
00:00:45모든 것이 종단간 암호화되므로, 실제로 필요한 것 이상을 노출하지 않고
00:00:50원하는 것만 노출할 수 있다는 개념입니다.
00:00:52무료이며 직접 호스팅 가능하고, 제로 트러스트 메시 기반이라서 여러분의 트래픽은
00:00:58원치 않는 한 공용 인터넷에 노출되지 않습니다.
00:01:01또한 사용감이 더 매끄럽다는 점이 마음에 듭니다.
00:01:03커스텀 도메인, 더 나은 성능, 그리고 새로운 UI 같은 것들 말이죠.
00:01:07하지만 속도가 빠르지 않다면 이 모든 게 소용없겠죠. 직접 보여드리겠습니다.
00:01:10워크플로우를 앞당길 오픈 소스 도구와 코딩 팁을 좋아하신다면, 꼭
00:01:15Better Stack 채널을 구독해 주세요.
00:01:16새로운 영상이 항상 올라오고 있습니다.
00:01:18좋습니다. 깔끔한 환경에서 로컬 호스트에 간단한 Next.js 앱을 실행 중입니다.
00:01:23거창한 건 아니고, 그냥 기본적인 기본 페이지입니다.
00:01:26이걸 공유하려면 몇 단계 과정이 필요할 것 같죠?
00:01:30포트, 설정, 아마도 몇 가지 셋업이 필요하겠지만, 이걸 보세요.
00:01:34먼저 zrock 환경이 활성화되어 있는지 확인합니다.
00:01:37zrock enable 명령어로 한 번만 설정하면 됩니다.
00:01:40그런 다음 여기서 명령어 하나만 실행하면 됩니다.
00:01:44정말 그게 전부입니다.
00:01:45설정 파일도, 추가 셋업도 없이 즉시 공개 https URL을 받게 됩니다.
00:01:51여기서 열어보면, 네, 바로 잘 작동합니다.
00:01:55앱이 인터넷에 실시간으로 연결되었습니다.
00:01:57포트 포워딩도 필요 없습니다.
00:01:58방화벽 변경도 필요 없습니다.
00:02:00이 시점에서는 공개 상태이지만, 동시에 여기서부터 문제가 생길 수도 있습니다.
00:02:05그러니 중단해 보겠습니다.
00:02:06Control C를 누릅니다. 이제 대부분의 개발자가 실제로 원하는 버전을 해보죠.
00:02:10zrock share private localhost, 같은 앱과 장치지만 이제 완전히 다르게 동작합니다.
00:02:17공개 URL 대신 토큰을 받게 되는데, 이것이 가장 큰 차이점입니다.
00:02:23이제 액세스가 그냥 열려 있는 것이 아니라,
00:02:25이 토큰을 사용해야만 권한이 부여되기 때문입니다.
00:02:28제가 신뢰하는 사람이라면 누구든 제가 준 토큰으로 zrock access private을 실행하여
00:02:34오직 그때만 접속할 수 있습니다.
00:02:36엔드포인트를 스캔하는 봇도, 앱에 접속하는 무작위 트래픽도 없습니다.
00:02:42그저 제어된 액세스일 뿐입니다.
00:02:44앱을 노출하는 대신, 원하는 대상에 따라 선택적으로 액세스를 허용한 것이죠.
00:02:49이것이 두 방식의 큰 차이이며, 앱에만 국한되지 않습니다.
00:02:53파일과 폴더에도 동일한 개념이 적용됩니다.
00:02:56backend mode drive를 통해 전체 디렉토리를 탐색 가능한 드라이브로 공유할 수 있습니다.
00:03:02단순한 터널링이 아니라 제어된 공유입니다.
00:03:04그것이 바로 zrock이 우리에게 제공하는 진짜 가치입니다.
00:03:06그럼 이 모든 게 왜 중요할까요?
00:03:08대부분의 터널링 도구는 절충안을 강요하기 때문입니다.
00:03:12ngrok은 세련되었지만 무료 티어는 제약이 많습니다.
00:03:15Cloudflare 터널은 훌륭하지만 설정과 추가 단계가 따릅니다.
00:03:19Tailscale은 좋지만 단순히 빠르게 공유하고 싶을 때는 과한 느낌이 들 수 있죠.
00:03:24그래서 속도, 프라이버시, 제어권 중 하나를 선택해야만 하는데 zrock이 그 문제를 해결합니다.
00:03:29방화벽 설정이 필요 없습니다. 아주 훌륭하죠.
00:03:32NAT 문제도 없습니다. 좋습니다.
00:03:35비공개 공유가 실제로 비공개로 유지됩니다. 우리가 원하는 것이죠.
00:03:38게임 서버, VOIP, IoT를 위한 UDP 지원과 내장된 파일 공유까지.
00:03:44이것이 바로 일상적인 개발 작업입니다.
00:03:46웹훅 테스트도 포함해서 말이죠.
00:03:48이 모든 것들에 zrock을 아주 유용하게 쓸 수 있습니다.
00:03:52그럼 빠르게 zrock과 ngrok을 비교해 보겠습니다.
00:03:54ngrok은 세련된 상용 제품 같은 느낌을 줍니다. 실제로 그렇기도 하고요.
00:03:58zrock은 여러분이 실제로 소유한 도구라는 느낌을 줍니다.
00:04:00그것이 주요 차이점입니다.
00:04:02ngrok은 폐쇄형 소스이고, zrock은 오픈 소스입니다.
00:04:05직접 호스팅할 수도 있습니다.
00:04:06제어권과 프라이버시를 중요하게 생각한다면 큰 장점이죠.
00:04:10다음은 비공개 공유입니다.
00:04:12ngrok에서는 이것이 추가 기능에 가깝습니다.
00:04:15통합된 기능이 아니죠.
00:04:16반면 zrock에서는 모든 것의 중심이 되는 핵심 개념입니다.
00:04:19프로토콜도 중요합니다.
00:04:22ngrok은 주로 HTTP와 TCP에 집중합니다.
00:04:26zrock은 그 두 가지를 모두 지원하면서 UDP도 지원합니다.
00:04:29공정하게 말하자면, ngrok은 여전히 요청 리플레이와 검사 기능을 갖추고 있습니다.
00:04:35zrock에는 그 기능이 없죠.
00:04:36그리고 그 차이는 실제로 중요할 수 있습니다.
00:04:37zrock은 좋습니다.
00:04:38하지만 완벽하지는 않습니다.
00:04:39사람들이 좋아하는 이유는 단순하게 느껴지기 때문입니다.
00:04:41프라이버시 우선입니다.
00:04:43그것은 매우 큰 장점이죠.
00:04:44그리고 직접 호스팅하면 모든 것을 완벽하게 제어할 수 있습니다.
00:04:47물론 다른 오픈 소스 도구처럼 여전히 절충해야 할 부분은 있습니다.
00:04:50더 깊이 파고들려면, 특히 셀프 호스팅 측면에서 학습 곡선이 있습니다.
00:04:55ngrok처럼 내장된 요청 검사 기능도 없습니다.
00:04:58설정 환경에 따라 약간의 지연 시간을 느낄 수도 있습니다.
00:05:01하지만 그런 단점에도 불구하고 대부분의 개발자에게는 더 적합한 도구입니다.
00:05:05그렇다면 zrock은 가치가 있을까요?
00:05:06그것이 바로 여기서 던지는 질문입니다.
00:05:08무언가를 빠르게 공유하는 것이 고민이라면, 네, 확실히 가치가 있습니다.
00:05:12특히 제어권이나 프라이버시를 포기할 필요가 없다면 말이죠.
00:05:15zrock이 그 문제를 해결해 줍니다.
00:05:16이와 같은 오픈 소스 코딩 도구와 팁을 즐기셨다면, 꼭 Better
00:05:20Stack 채널을 구독해 주세요.
00:05:21다른 영상에서 또 뵙겠습니다.