Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
resterm — HTTP, GraphQL 및 gRPC용 터미널 API 클라이언트. diff 및 버전 관리가 가능한 일반 .http 파일로, 워크플로, 목(mocks), 프로파일링, 추적(tracing), OpenAPI 가져오기, SSH 터널, Kubernetes 포트 포워딩, WebSocket, SSE 및 CLI 러너를 지원합니다. | Kitploit
도구/GitHubGitHub/unkn0wn-root/resterm
Scripting & AutomationAPI Security TestingWeb SecurityCloud SecurityDevSecOpsUtilities & Frameworks
GitHubunkn0wn-root/resterm

resterm

HTTP, GraphQL 및 gRPC용 터미널 API 클라이언트. diff 및 버전 관리가 가능한 일반 .http 파일로, 워크플로, 목(mocks), 프로파일링, 추적(tracing), OpenAPI 가져오기, SSH 터널, Kubernetes 포트 포워딩, WebSocket, SSE 및 CLI 러너를 지원합니다.

저장소 보기
1.8k491일 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Resterm
Resterm

REST, GraphQL, gRPC, WebSocket 및 SSE를 위한 터미널 네이티브 API 클라이언트이자 워크벤치입니다.

Resterm TUI 기본 화면 스크린샷

Resterm은 diff, 검토 및 버전 관리가 가능한 일반 .http 및 .rest 파일을 기반으로 구축된 API-as-code 워크벤치, 즉 더 익숙한 용어로 표현하면 API 클라이언트입니다. 대화형 요청 편집과 선언적 워크플로우, 어서션, mock 서버, 트레이싱, 프로파일링 및 헤드리스 자동화를 결합합니다. 모든 것은 사용자 머신에만 보관됩니다. 계정도, 클라우드 동기화도, 텔레메트리도 없습니다.

GUI 컬렉션 중심의 Postman 스타일 클라이언트를 찾고 있다면 Resterm은 아마 적합하지 않을 것입니다. 그래도 한번 사용해 보세요!

[!NOTE] Resterm이 이제 v1입니다! 새로운 기능과 주요 변경 사항은 v1.0.0 릴리스 노트를 참조하세요.

빠른 링크: 스크린샷 둘러보기, 설치, 빠른 시작, 문서.

스크린샷 둘러보기

UI 작동 모습 보기 (클릭하여 펼치기)

워크플로우

워크플로우가 포함된 Resterm 스크린샷

트레이스 및 타임라인

타임라인이 포함된 Resterm 스크린샷

프로파일러

Resterm 프로파일러 스크린샷

Explain

Resterm Explain 탭 스크린샷

RestermScript

RestermScript가 포함된 Resterm 스크린샷

라이트 테마

라이트 테마의 Resterm 스크린샷

OAuth 브라우저 데모 (이전 UI 디자인)

Resterm OAuth 흐름

왜 Resterm인가

  • HTTP, GraphQL, gRPC, WebSocket 및 SSE를 기본 제공합니다.
  • 자동화는 요청 파일 안에 있습니다: 조건문(@when, @if/@elif/@else, @for-each), 다단계 워크플로우(@workflow / @step), 캡처, 변수 및 어서션(@capture, @var, @assert).
  • RestermScript는 Resterm을 위해 만들어진 작은 표현 언어로, 필요할 때 JavaScript 훅을 사용할 수 있습니다.
  • Vim 스타일 컨트롤로 상황에 맞는 하단 바 힌트, 검색 가능한 오프라인 도움말, 커서 아래 항목의 K 도움말, / 검색 및 :w, :q, , 같은 명령을 제공합니다.

빠른 시작

  1. Resterm을 설치합니다(스크립트, Windows 및 수동 설치 방법은 설치 참조).

    root@kitploit:~
    brew install resterm
    
  2. 워크스페이스를 생성합니다.

    root@kitploit:~
    mkdir my-api && cd my-api
    resterm init
    

    resterm init은 인터넷 연결 없이도 작동하는 소규모 프로젝트를 생성합니다. 생성된 requests.http에는 로컬 mock 시나리오와 서로 연계되는 몇 가지 요청이 포함되어 있습니다. 이들은 어서션, Bearer 인증, JSON 매칭, json-rules 및 @for-each를 다룹니다.

  3. 실행하고 첫 번째 요청을 보냅니다.

    root@kitploit:~
    resterm
    

    편집기에서 Ctrl+Enter를 눌러 강조 표시된 요청을 보냅니다.

아직 파일이 없나요? resterm을 실행하고 URL을 입력한 다음 Ctrl+Enter를 누르기만 하면 됩니다. 붙여넣은 curl 명령도 작동합니다.

CLI

resterm run은 TUI를 열지 않고 .http / .rest 파일을 실행하며, CI에서 실행되는 방식입니다.

root@kitploit:~
resterm run --request CreateUser requests.http

생성된 프로젝트는 로컬 mock 서버와 통신합니다. 먼저 다른 터미널에서 시작하세요:

root@kitploit:~
resterm mock requests.http

TUI에서는 g Shift+M을 눌러 워크스페이스에서 동일한 mock 서버를 시작할 수 있습니다.

CLI 문서에는 셀렉터, 출력 형식 및 더 많은 예제가 포함되어 있습니다.

Mock 서버

요청을 담고 있는 동일한 파일이 HTTP mock을 제공할 수 있습니다.

  • 쿼리, 헤더 또는 JSON 본문으로 들어오는 요청을 매칭한 다음, 이름이 지정된 응답 또는 기본 응답을 선택합니다.
  • 리소스 또는 호출자별 독립 커서를 포함하여, 응답 시퀀스로 폴링 및 재시도 흐름을 모델링합니다.
  • 응답을 고정 시간만큼 지연시키거나, random, normal, jitter로 요청마다 다른 지연 시간을 지정합니다.
  • 동적 데이터용 생성기와 함께 경로, 쿼리, 헤더 및 본문 값으로 응답을 구성합니다.
  • @expect로 호출 횟수를 검증하거나 RestermScript에서 수신된 트래픽을 검사합니다.
  • 선택적 TLS와 함께 소스 파일 및 픽스처를 핫 리로드합니다.

하나의 라우트에 두 가지 시나리오:

root@kitploit:~
### Payment accepted
# @mock method=POST path=/payments name=accepted default=true latency=150ms
HTTP/1.1 202 Accepted
Content-Type: application/json

{"id":"pay_123","status":"pending"}

### Payment declined
# @mock method=POST path=/payments name=declined
# @match query={"mode":"decline"} headers={"X-Tenant":"demo"} json={"amount":0}
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json

{"error":"amount must be positive"}

단일 파일 또는 전체 디렉터리를 제공합니다:

root@kitploit:~
resterm mock ./requests.http
resterm mock --recursive --addr 127.0.0.1:9090 ./requests

자세한 내용은 Mock 서버 참조, resterm mock CLI 가이드 및 작동 예제를 참조하세요.

헤드리스

headless 패키지는 TUI와 CLI를 구동하는 동일한 엔진의 공개 Go API입니다. 자체 Go 코드 또는 CI에서 요청, 워크플로우, 어서션, 실행 비교 및 프로파일을 실행하는 데 사용하세요.

직접 러너를 구축하고 싶지 않다면 resterm-runner가 있습니다.

키보드 치트 시트

  • 패널 포커스 및 레이아웃
    • Tab / Shift+Tab: 사이드바, 편집기 및 응답 간 이동.
    • g+r, g+i, g+p: 요청, 편집기 또는 응답으로 이동.
    • g+h / g+l: 가로 크기 조정. 사이드바가 포커스된 경우 사이드바 너비를 변경하고, 그 외에는 편집기/응답 분할을 변경합니다.
    • g+j / g+k: 세로로 쌓인 경우 편집기/응답 높이를 조정하고, 네비게이터에서 분기를 접거나 펼칩니다.
    • g+v / g+s: 응답 패널을 인라인과 세로 레이아웃 간에 전환합니다.
    • g+1, g+2, g+3: 사이드바, 편집기, 응답을 최소화하거나 복원합니다.
    • g+z / : 포커스된 패널을 확대하고, 확대를 해제합니다.

[!TIP] 세 가지 단축키만 기억하세요:

  • Ctrl+Enter 요청 보내기
  • Tab / Shift+Tab 패널 전환
  • g+p 응답으로 이동

설치

Linux / macOS (Homebrew)

root@kitploit:~
brew install resterm

[!NOTE] Homebrew 설치는 Homebrew로 업데이트해야 합니다(brew upgrade resterm). 내장된 resterm --update 명령은 GitHub 릴리스 또는 설치 스크립트에서 설치된 바이너리용입니다.

Linux / macOS (Shell script)

[!IMPORTANT] 사전 빌드된 Linux 바이너리는 glibc 2.32 이상에 의존합니다. 이전 버전 배포판에서는 릴리스 아카이브를 사용하기 전에 최신 glibc 툴체인으로 소스에서 빌드하거나 glibc를 업그레이드하세요.

root@kitploit:~
curl -fsSL https://raw.githubusercontent.com/unkn0wn-root/resterm/main/install.sh | bash

또는 wget 사용:

root@kitploit:~
wget -qO- https://raw.githubusercontent.com/unkn0wn-root/resterm/main/install.sh | bash

Windows (PowerShell)

root@kitploit:~
iwr -useb https://raw.githubusercontent.com/unkn0wn-root/resterm/main/install.ps1 | iex

스크립트는 아키텍처를 감지하고 최신 릴리스를 다운로드한 후 바이너리를 설치합니다.

수동 설치

[!NOTE] 수동 설치 도우미는 curl과 jq를 사용합니다. 패키지 관리자로 jq를 설치하세요(brew install jq, sudo apt install jq 등).

Linux / macOS

root@kitploit:~
# Detect latest tag
LATEST_TAG=$(curl -fsSL https://api.github.com/repos/unkn0wn-root/resterm/releases/latest | jq -r .tag_name)

# Download the matching binary (Darwin/Linux + amd64/arm64)
curl -fL -o resterm "https://github.com/unkn0wn-root/resterm/releases/download/${LATEST_TAG}/resterm_$(uname -s)_$(uname -m)"

# Make it executable and move it onto your PATH
chmod +x resterm
sudo install -m 0755 resterm /usr/local/bin/resterm

Windows (PowerShell)

root@kitploit:~
$latest = Invoke-RestMethod https://api.github.com/repos/unkn0wn-root/resterm/releases/latest
$asset  = $latest.assets | Where-Object { $_.name -like 'resterm_Windows_*' } | Select-Object -First 1
Invoke-WebRequest -Uri $asset.browser_download_url -OutFile resterm.exe
# Optionally relocate to a directory on PATH, e.g.:
Move-Item resterm.exe "$env:USERPROFILE\bin\resterm.exe"

소스에서 빌드

root@kitploit:~
go install github.com/unkn0wn-root/resterm/cmd/resterm@latest

업데이트

root@kitploit:~
resterm --check-update
resterm --update

첫 번째 명령은 최신 릴리스가 있는지 보고합니다. 두 번째 명령은 새 릴리스를 다운로드하고 검증한 후 제자리에 설치합니다. Windows에서는 이전 바이너리가 resterm.exe.old로 새 바이너리 옆에 남으며 다음 업데이트 시 정리됩니다.

구성

  • 환경은 요청 디렉터리, 워크스페이스 루트 또는 CWD에서 발견되는 JSON 파일(resterm.env.json)입니다. 파일은 api, app, credentials 등과 같은 명명된 환경 또는 독립 그룹을 정의할 수 있으며, 이들이 결합되어 하나의 환경이 됩니다. Dotenv 파일(.env, .env.*)은 --env-file을 통해 선택적으로 사용하며 단일 워크스페이스 전용입니다. 그룹 환경 및 _examples/grouped/의 실행 가능한 샘플을 참조하세요.
  • 구성은 OS별로 저장되며 RESTERM_CONFIG_DIR로 재정의할 수 있습니다:
    • macOS: ~/Library/Application Support/resterm
    • Windows: %APPDATA%\resterm
    • Linux/Unix: ~/.config/resterm

컬렉션

워크스페이스를 Git 친화적인 번들로 내보내고 다른 워크스페이스로 가져올 수 있습니다. 번들에는 체크섬이 포함된 manifest.json이 포함되어 있어 가져오기 시 파일 무결성을 먼저 검증합니다. 환경 값은 REPLACE_ME 자리 표시자로 내보내지므로 비밀 값이 머신을 벗어나지 않습니다.

root@kitploit:~
resterm collection export --workspace ./my-api --out ./shared/my-api-bundle
resterm collection import --in ./shared/my-api-bundle --workspace ./my-local-api

가져오기 미리보기에는 --dry-run을, 기존 파일 덮어쓰기에는 --force를 추가하세요. 문서: 컬렉션 공유.

Curl 가져오기

편집기에 curl 명령을 붙여넣고 Ctrl+Enter를 누르면 구조화된 요청으로 변환됩니다. Resterm은 일반적인 플래그를 이해하고, 반복되는 데이터 세그먼트를 병합하며, 멀티파트 업로드를 그대로 유지합니다. sudo나 $ 같은 셸 접두사는 무시됩니다. CLI도 --from-curl로 동일한 변환을 수행합니다.

다음 입력은:

root@kitploit:~
curl -X POST https://api.example.com/login \
  -H "Content-Type: application/json" \
  --user demo:secret \
  -d '{"user":"demo"}'

이렇게 변환됩니다:

root@kitploit:~
### POST https://api.example.com/login
# @auth basic demo secret
POST https://api.example.com/login
Content-Type: application/json

{"user":"demo"}

문서: 인라인 요청 및 가져오기 예제.

RestermScript

RestermScript(RTS)는 Resterm을 위해 만들어진 작은 표현 언어입니다. 요청 형식, 워크플로우 및 지시문을 직접 대상으로 하여 스크립트를 짧고 예측 가능하게 유지합니다. 더 필요한 경우 JavaScript 훅을 계속 사용할 수 있습니다.

간단한 예제(RTS 모듈 + 요청):

root@kitploit:~
// rts/helpers.rts
module helpers
export fn authHeader(token) {
  return token ? "Bearer " + token : ""
}
root@kitploit:~
# @use ./rts/helpers.rts
# @when env.has("feature")
# @assert response.statusCode == 200
GET https://api.example.com/users/{{= vars.get("user") }}
Authorization: {{= helpers.authHeader(vars.get("auth.token")) }}

전체 참조: docs/restermscript.md.

심층 분석

OAuth 2.0

클라이언트 자격 증명, 비밀번호 권한 부여 및 PKCE 인증 코드를 지원합니다. 인증 코드 흐름의 경우 Resterm은 브라우저를 열고 127.0.0.1에서 로컬 콜백 서버를 실행한 후 리디렉션을 캡처하여 코드를 교환합니다. 토큰은 환경별로 캐시되며 만료되면 갱신됩니다. 문서: docs/resterm.md#oauth-20-directive 및 _examples/oauth2.http.

워크플로우 및 스크립팅

@workflow와 @step으로 요청을 연결하고, 단계 간에 데이터를 전달하며, 필요할 때 JS 훅을 추가합니다. 문서 및 샘플: docs/resterm.md#workflows 및 _examples/workflows.http.

실행 비교

@compare 또는 --compare로 여러 환경에서 동일한 요청을 실행한 다음, g+c로 응답을 나란히 비교합니다. 문서: docs/resterm.md#compare-runs.

트레이싱 및 타임라인

예산과 함께 @trace를 추가하여 DNS, 연결, TLS, TTFB 및 전송 타이밍을 캡처합니다. Resterm은 초과 시간을 강조하고 스팬을 OpenTelemetry로 내보낼 수 있습니다. 문서: docs/resterm.md#timeline--tracing.

스트리밍(WebSocket 및 SSE)

@websocket을 @ws 단계와 함께 사용하거나 @sse로 스트림을 스크립팅하고 기록합니다. Stream 탭은 트랜스크립트를 보관하고 대화형 콘솔을 포함합니다. 문서: docs/resterm.md#streaming-sse--websocket.

gRPC

트랜스크립트, 메타데이터 및 본문 확장을 지원하는 단항(Unary) 및 스트리밍 호출. 문서: docs/resterm.md#grpc.

OpenAPI 가져오기

--from-openapi를 사용하여 로컬 파일 또는 http(s) URL에서 OpenAPI 3 스펙을 .http 컬렉션으로 변환합니다. 생성할 블록은 --openapi-mode requests, mocks 또는 both로 선택합니다. 원격 가져오기는 전역 --insecure 및 --proxy 플래그를 따릅니다. 문서: docs/cli.md#import-examples.

SSH 터널

@ssh 프로파일로 배스천 호스트를 통해 HTTP, gRPC, WebSocket 및 SSE 트래픽을 라우팅합니다. 문서: docs/resterm.md#ssh-tunnels 및 _examples/ssh.http.

Kubernetes 포트 포워딩

@k8s 프로파일로 동일한 개념을 적용하며, 파드, 서비스, 디플로이먼트 또는 스테이트풀셋을 대상으로 합니다. 문서: docs/resterm.md#kubernetes-port-forwards 및 _examples/k8s.http.

테마 및 바인딩

구성 디렉터리의 themes/*.toml 및 bindings.toml 또는 bindings.json으로 색상과 키 바인딩을 사용자 지정할 수 있습니다. 문서: docs/resterm.md#theming 및 docs/resterm.md#custom-bindings.

문서

  • docs/resterm.md는 요청 구문, 지시문, 스크립팅 및 전송 방식을 다룹니다.
  • docs/cli.md는 resterm run, 가져오기 도구, 컬렉션 및 기록을 다룹니다.
  • 호환성은 v1에 대한 Resterm의 호환성 보장을 설명합니다.

TUI 내부에서 ?를 누르거나 :help를 실행하세요. 설치된 릴리스의 전체 웹 매뉴얼이 필요하면 :docs를 사용하세요.

라이선스

Apache License 2.0.

도구 다운로드
:help
:docs
  • 내장된 인증 및 터널링: OAuth 2.0(클라이언트 자격 증명, 비밀번호, PKCE 인증 코드), 기존 CLI 기반 인증, SSH 터널 및 Kubernetes 포트 포워딩. 추가 도구가 필요 없습니다.
  • CLI 러너: 스크립트 실행 및 CI를 위한 resterm run, JSON 및 JUnit 출력 지원.
  • mock 서버는 모방하는 요청 옆에 선언되며, 매칭 규칙, 시퀀스, 호출 검증 및 핫 리로드를 지원합니다.
  • 타임라인 트레이싱, 프로파일링 및 환경 간 실행 비교.
  • WebSocket 및 SSE를 위한 스트리밍 트랜스크립트와 대화형 콘솔.
  • AI 통합은 절대 없습니다.
  • g+Z
  • 환경 및 전역 변수
    • Ctrl+E: 환경 전환.
    • Ctrl+G: 캡처된 전역 변수 확인.
  • 도움말 및 명령
    • ?: 검색 가능한 오프라인 도움말 인덱스 열기.
    • K (편집기 일반 모드): 커서 아래의 지시문, 템플릿 또는 키워드에 대한 도움말 열기.
    • :help <topic> / :man <topic>: 내장 주제 열기; :docs <topic>은 버전에 맞는 전체 매뉴얼을 엽니다.
    • Ctrl+O: 파일/워크스페이스 팝업 열기. 입력하여 필터링하고 Up / Down으로 스크롤하며 Tab으로 디렉터리 안으로 이동합니다.
    • :: 명령줄 열기. Up / Down으로 제안 사항을 선택하고, Tab으로 자동 완성하거나 Enter로 선택 항목을 수락하여 실행합니다. :mock start --source 및 :edit 같은 경로 인자는 동일한 팝업에서 파일 시스템을 탐색합니다.
  • 응답
    • Ctrl+V / Ctrl+U: 나란히 비교할 수 있도록 응답 패널을 분할합니다.
    • Ctrl+Shift+C 또는 g y (응답 포커스): Pretty, Raw 또는 Headers 탭 전체를 복사합니다.
    • g x: 활성 요청을 보내지 않고 Explain 미리보기를 표시합니다.
    • g e: 현재 파일을 외부 편집기에서 엽니다.