본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

Resonance

0

Resonance는 DBMobile이 MIT 라이선스로 공개한 오픈소스 API 클라이언트입니다. 로컬에서 동작하며 계정과 클라우드 동기화가 필요 없고, 텔레메트리도 수집하지 않습니다.

오픈소스자바스크립트클라이언트

소개

Resonance는 DBMobile이 MIT 라이선스로 공개한 오픈소스 API 클라이언트입니다. 로컬에서 동작하며 계정과 클라우드 동기화가 필요 없고, 텔레메트리도 수집하지 않습니다. Tauri와 Rust로 만들어진 단일 데스크톱 앱에서 REST, GraphQL, gRPC, WebSocket, MQTT, SSE 등 다양한 프로토콜을 한 곳에서 다룰 수 있도록 설계된 점이 특징입니다.

상세정보

다양한 프로토콜 지원

  • REST/HTTP: HTTP/1.1과 HTTP/2를 지원하며 JSON, 폼 데이터, URL 인코딩, 텍스트, 바이너리, 멀티파트 파일 업로드 등 모든 본문 모드를 다룹니다. DNS·TCP·TLS·TTFB·다운로드 단계별 타이밍 분석과 쿠키 표시, 설정 가능한 타임아웃도 함께 제공됩니다.
  • GraphQL: 구문 강조와 자동 포맷을 갖춘 전용 쿼리·변수 에디터, 그리고 graphql-transport-ws 기반의 라이브 서브스크립션을 지원합니다.
  • gRPC: 서버 리플렉션(v1/v1alpha)으로 서비스를 자동 탐지하고, 로컬 .proto 파일을 불러올 수 있습니다. Unary, 서버 스트리밍, 클라이언트 스트리밍, 양방향 스트리밍 네 가지 RPC 종류와 TLS·mTLS 옵션, 메타데이터·트레일러 표시를 제공합니다.
  • WebSocket: 탭별로 유지되는 영구 연결과 핸드셰이크 헤더, 메시지 트랜스크립트 표시를 지원합니다.
  • Server-Sent Events: retry 지시를 존중하는 자동 재연결, Last-Event-ID 재개, 라이브 연결 상태 표시를 제공합니다.
  • MQTT: 평문·TLS 브로커, 와일드카드를 포함한 토픽 구독·발행, QoS 0/1/2, retain 플래그, 라이브 연결 상태를 지원합니다.

가져오기·내보내기·모킹

  • OpenAPI 3.0(YAML/JSON), Postman v2.0/v2.1 컬렉션과 환경, cURL 명령을 가져올 수 있고 OpenAPI(YAML/JSON)와 Postman 형식으로 내보낼 수 있습니다.
  • 9개 언어(cURL, Python, JavaScript Fetch/Axios, Node.js, Go, PHP, Ruby, Java)로 요청을 코드로 생성할 수 있습니다.
  • Markdown 또는 HTML 형식의 API 문서를 컬렉션으로부터 생성할 수 있습니다.
  • OpenAPI 스키마를 기반으로 응답을 생성하는 내장 모의 서버를 제공하며, 엔드포인트별 커스텀 응답 본문과 지연, 요청 로그 기능을 포함합니다.

자동화와 테스트

  • 사전 요청·테스트 스크립트는 Boa 엔진 기반 샌드박스 JavaScript에서 실행되며 request 변경, expect() 단언, environment 접근, sendRequest()를 통한 요청 체이닝이 가능합니다.
  • 컬렉션 러너는 순서 지정, 변수 체이닝, 오류 시 중단, 지연, 저장된 실행 설정을 지원합니다.
  • {{ variable }} 템플릿, {{$uuid}}·{{$timestamp}}·랜덤 데이터 등 동적 변수, 환경 간 즉시 전환, 가져오기·내보내기를 제공합니다.

보안

  • Bearer, Basic, API Key, OAuth 2.0, Digest, NTLM, AWS Signature v4 인증을 요청·폴더·컬렉션 단위로 구성할 수 있습니다.
  • 호스트별 PEM 인증서와 커스텀 CA 신뢰를 통한 mTLS를 지원합니다.
  • 자격 증명과 비밀 변수는 GNOME Keyring/KWallet, macOS Keychain, Windows Credential Manager 등 OS 키체인에 저장되며 Git으로 공유하는 컬렉션 파일에는 기록되지 않습니다.
  • HTTP/HTTPS/SOCKS 프록시와 인증, 우회 목록을 지원합니다.

워크플로우와 사용성

  • 워크스페이스 탭과 검색·재실행이 가능한 요청 히스토리를 제공합니다.
  • Ctrl/⌘ 기반 플랫폼 인지 키보드 단축키, 라이트·다크·시스템 3종 테마와 9가지 액센트 컬러, 영어·독일어·스페인어·프랑스어·이탈리아어·브라질 포르투갈어 등 6개 언어 인터페이스를 지원합니다.

Windows 설치

winget을 사용한 설치가 공식 README에 안내되어 있으며, 패키지 식별자는 DBMobile.Resonance입니다.

winget install DBMobile.Resonance

또는 GitHub 릴리스 페이지에서 .exe 설치 파일을 내려받아 설치할 수 있습니다.

Linux 설치

  • Flathub: flatpak install flathub io.github.db_mobile.resonance
  • Snap: snap install db-mobile-resonance (Secret Service에 접근해 비밀 변수를 암호화하려면 snap connect db-mobile-resonance:password-manager-service 필요)
  • AUR: yay -S resonance-bin
  • 그 외 AppImage 또는 .deb 패키지를 릴리스 페이지에서 내려받을 수 있습니다.

macOS 설치

  • Homebrew: brew tap db-mobile/resonance 후 brew install –cask resonance
  • 또는 .dmg 인스톨러를 내려받아 설치합니다.

소스에서 빌드

git clone https://github.com/db-mobile/resonance.git
cd resonance
npm install
npm run dev          # 개발 모드, 핫 리로드
npm run build:tauri  # 프로덕션 빌드

계정이 필요한가요?

필요하지 않습니다. 로컬 우선 zero-account 방식으로 동작하므로 계정 생성이나 로그인 없이 사용할 수 있습니다.

어떤 프로토콜을 지원하나요?

REST/HTTP, GraphQL(서브스크립션 포함), gRPC, WebSocket, Server-Sent Events, MQTT를 하나의 클라이언트에서 다룹니다.

컬렉션은 어디에 저장되나요?

컬렉션, 환경 변수, 히스토리, 설정이 사람이 읽을 수 있는 파일 형태로 로컬 디스크에 저장되어 Git으로 버전 관리하고 공유할 수 있습니다.

시스템 요구사항

Windows에서는 Windows 10 이상이 필요하며, winget으로 설치하는 경우 관리자 권한 없이 NSIS 설치본을 사용할 수 있습니다. 소스에서 직접 빌드하려면 Node.js v22 이상과 Rust(stable)가 필요하고, 추가로 Tauri의 플랫폼 의존성(Linux는 webkit2gtk·openssl·ayatana 등 개발 패키지, macOS는 Xcode Command Line Tools, Windows는 MSVC Build Tools)이 요구됩니다. 또한 자동 업데이트는 AppImage와 직접 다운로드 방식에서만 동작하며, 패키지 관리자를 통해 설치한 경우 각 패키지 매니저의 업데이트 메커니즘을 따릅니다.