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

bonk

0

bonk은 nekidaz가 개발한 로컬 우선 데스크톱 API 클라이언트로, HTTP 및 gRPC 요청을 다룹니다.

API 클라이언트Git 친화적로컬 우선

소개

bonk은 nekidaz가 개발한 로컬 우선 데스크톱 API 클라이언트로, HTTP 및 gRPC 요청을 다룹니다. Rust와 Tauri를 기반으로 제작되어 Electron 기반 클라이언트보다 훨씬 가벼우며, 요청은 일반 파일로 저장되어 Git과 호환됩니다. 오프라인 사용이 가능하며, 계정이나 클라우드 동기화가 필요하지 않습니다. Windows, macOS, Linux를 지원하며, Chocolatey를 통해 Windows에 설치할 수 있습니다.

상세정보

HTTP 및 gRPC 지원

bonk은 HTTP 요청의 메서드, URL, 쿼리 파라미터, 헤더, 본문(raw/JSON, form-data, url-encoded, 바이너리, GraphQL), 리다이렉트, 타이밍, 응답 크기, 취소, 그리고 pretty/raw/preview 응답을 지원합니다. 또한 gRPC에 대해 네이티브 서버 리플렉션, 메서드 피커, 예시 메시지 템플릿, 메타데이터, 취소, 그리고 포맷된 응답을 제공합니다.

파일 기반 워크스페이스

워크스페이스는 디렉터리 트리와 정확히 일치하며, 각 폴더는 디렉터리이고 각 저장된 요청은 *.bonk.json 파일입니다. 매니페스트 없이 중첩된 폴더를 지원하며, 워크스페이스는 Git과 호환되어 diff 및 커밋이 용이합니다.

스마트 저장 및 기록

⌘S (또는 Ctrl+S)를 누르면 기존 파일을 제자리에서 업데이트하거나 새 요청의 저장 위치를 묻습니다. 요청 기록은 구성 가능한 제한, 일시 정지, 그리고 한 번의 클릭으로 다시 열기 기능을 제공합니다.

cURL 가져오기 및 코드 내보내기

curl 명령을 붙여넣어 요청을 만들 수 있으며, 어떤 요청이든 20개 이상의 언어로 코드로 내보낼 수 있습니다.

자동 업데이트 및 오프라인 지원

앱은 실행 시 더 새로운 서명된 릴리즈를 확인하고, 사용 가능한 업데이트 프롬프트를 표시합니다. 한 번의 클릭으로 다운로드, 설치, 재시작이 이루어집니다. 폰트는 벤더링되어 CDN에 의존하지 않으며, 라이트 및 다크 테마를 지원합니다.

다운로드·설치 방법

Windows에서는 Chocolatey를 통해 choco install bonk 명령으로 설치할 수 있습니다. 또는 GitHub 릴리즈 페이지에서 직접 Windows 설치 프로그램을 다운로드할 수 있습니다. macOS에서는 Homebrew Cask(brew install --cask nekidaz/tap/bonk) 또는 Apple Silicon용 unsigned .dmg 파일을 사용할 수 있습니다. Linux에서는 AppImage 또는 Debian/Ubuntu용 .deb 패키지를 제공합니다.

기본 사용법/명령어

앱을 실행하면 워크스페이스 폴더를 열 수 있습니다. 워크스페이스 폴더 안에서는 각 요청이 *.bonk.json 파일로 저장됩니다. 요청을 만들려면 왼쪽 사이드바에서 폴더를 선택하거나 새로 만든 후, 상단의 ‘Create’ 메뉴에서 요청 유형을 선택합니다. HTTP 요청의 경우 URL, 메서드, 헤더, 본문을 설정하고 ‘Send’ 버튼을 누릅니다. gRPC 요청의 경우 서버 반사를 통해 메서드를 선택하고 메시지를 입력한 후 ‘Invoke’를 누릅니다. 응답은 하단 패널에 상태 코드, 소요 시간, 크기와 함께 표시됩니다.

이런 경우에 유용합니다

API 개발 및 테스트 중에 요청을 자주 수정하고 Git으로 변경 사항을 추적해야 하는 개발자에게 유용합니다. 요청이 일반 파일이므로 diff를 통해 정확히 무엇이 바뀌었는지 확인할 수 있고, 팀원과 충돌 없이 병합할 수 있습니다. 또한 인터넷이 없는 환경이나 클라우드 계정 사용을 선호하지 않는 사용자에게 적합합니다.

지원 환경·시스템 요구사항

bonk은 Windows, macOS, Linux를 지원합니다. Windows에서는 Chocolatey 또는 직접 다운로드한 설치 프로그램을 통해 실행할 수 있습니다. 구체적인 시스템 요구사항은 공식 문서에 명시되지 않았습니다.

최신 버전·업데이트

현재 버전은 0.1.1입니다. bonk은 실행 시 더 새로운 서명된 릴리즈를 확인하고, 사용 가능한 업데이트 프롬프트를 표시합니다. 설정에서 ‘Check for updates’를 수동으로 트리거할 수도 있습니다.

제한 사항·확인 사항

현재까지의 증거에서는 특정한 제한 사항이나 확인 사항이 명시되지 않았습니다.

화면으로 보는 주요 기능

gRPC 요청 생성 화면

gRPC 요청 생성 화면

gRPC 요청을 생성하는 화면으로, 'Create Everything'이라는 이름의 요청이 선택되어 있다. 왼쪽에는 'Collections'와 'ENVS' 등의 네비게이션 메뉴가 있고, 중앙에는 'Message' 탭이 활성화되어 있으며, JSON 형식의 요청 본문이 표시되어 있다. 오른쪽 상단에는 'Create' 버튼과 'Invoke' 버튼이 있다. 하단에는 응답 결과가 JSON 형식으로 표시되어 있으며, 상태 코드는 'OK', 시간은 '105 ms', 크기는 '188 B'이다.

GET 요청 설정 화면

GET 요청 설정 화면

GET 요청을 설정하는 화면으로, 'fetch story list'라는 이름의 요청이 선택되어 있다. 왼쪽에는 'Collections'와 'ENVS' 등의 네비게이션 메뉴가 있고, 중앙에는 'Params' 탭이 활성화되어 있으며, 'lang'과 'include_meta'라는 키-값 쌍이 표시되어 있다. 오른쪽 상단에는 'Send' 버튼이 있다. 하단에는 응답 결과를 볼 수 있는 영역이 있으며, 아직 요청이 보내지지 않아 응답이 비어 있다.

요청 생성 메뉴

요청 생성 메뉴

요청을 생성하는 메뉴가 열려 있는 화면으로, 'Create' 버튼을 클릭하여 나타난 드롭다운 메뉴가 보인다. 메뉴에는 'addsvc.Add', 'Concat', 'Create', 'CreateBody', 'Lookup', 'Update', 'UpdateV2', 'PatchWithFieldMaskInBody' 등의 옵션이 있다. 오른쪽 상단에는 'Invoke' 버튼이 있다.

새 요청 생성 화면

새 요청 생성 화면

새로운 요청을 생성하는 화면으로, 'New Request'라는 이름의 요청이 선택되어 있다. 왼쪽에는 'HISTORY' 목록이 있고, 중앙에는 'Body' 탭이 활성화되어 있으며, JSON 형식의 요청 본문이 표시되어 있다. 오른쪽 상단에는 'Send' 버튼이 있다. 하단에는 응답 결과를 볼 수 있는 영역이 있으며, 아직 요청이 보내지지 않아 응답이 비어 있다.

시스템 요구사항

별도의 시스템 요구사항이 등록되지 않았습니다.