अपडेट पर वापस जाएँ
New releaseSep 5, 2026

resterm v1.5.6

HTTP, GraphQL और gRPC के लिए टर्मिनल API क्लाइंट। सरल .http फ़ाइलें जिन्हें आप diff और version कर सकते हैं, साथ ही वर्कफ़्लो, मॉक, प्रोफाइलिंग, ट्रेसिंग, OpenAPI इम्पोर्ट, SSH टनल, Kubernetes पोर्ट-फ़ॉरवर्ड, WebSocket, SSE और CLI रनर की सुविधाएँ।

साझा करें

Resterm
Resterm

टर्मिनल के लिए एक API-as-code वर्कबेंच।

Resterm TUI बेस का स्क्रीनशॉट

टाइमलाइन के साथ Resterm का स्क्रीनशॉट
ट्रेस और टाइमलाइन व्यू

Resterm एक API क्लाइंट है जो अनुरोधों को सादे .http और .rest फ़ाइलों में संग्रहीत करता है, जो आपके बाकी कोड की तरह आपके रेपो में साथ-साथ रह सकती हैं। आप टर्मिनल UI का उपयोग कर सकते हैं, या CI में उन्हीं फ़ाइलों को resterm run के साथ चला सकते हैं।

क्विक लिंक: स्क्रीनशॉट, इंस्टॉल, क्विक स्टार्ट, रिक्वेस्ट फ़ाइलें, डॉक्यूमेंटेशन।

स्क्रीनशॉट

UI को काम करते हुए देखें (विस्तार के लिए क्लिक करें)

वर्कफ़्लो

वर्कफ़्लो के साथ Resterm का स्क्रीनशॉट

प्रोफाइलर

Resterm प्रोफाइलर का स्क्रीनशॉट

एक्सप्लेन

Resterm एक्सप्लेन टैब का स्क्रीनशॉट

RestermScript

RestermScript के साथ Resterm का स्क्रीनशॉट

Resterm क्यों

  • HTTP, GraphQL, gRPC, WebSocket और SSE समर्थन।
  • रिक्वेस्ट फ़ाइलों में ऑटोमेशन: शर्तें (@when, @if/@elif/@else, @for-each), मल्टी-स्टेप वर्कफ़्लो (@workflow / @step), कैप्चर, वेरिएबल और असर्शन (@capture, @var, @assert)।
  • रिक्वेस्ट फ़ाइल में टनल: @ssh और @k8s किसी अनुरोध को SSH बास्टियन या Kubernetes पोर्ट-फ़ॉरवर्ड के माध्यम से रूट करते हैं जिसे Resterm आपके लिए खोलता और बंद करता है, प्रति फ़ाइल या वर्कस्पेस प्रोफ़ाइल के साथ।
  • HTTP ट्रैफ़िक रिकॉर्ड करें और इसे Resterm .http फ़ाइलों में अनुरोधों या मॉक रिस्पॉन्स के रूप में एक्सपोर्ट करें।
  • RestermScript, Resterm के लिए बनाई गई एक छोटी एक्सप्रेशन लैंग्वेज, जिसमें आप चाहें तो JavaScript हुक भी हैं।
  • Vim-जैसे कंट्रोल शॉर्टकट संकेतों, खोजने योग्य ऑफ़लाइन सहायता, कर्सर के नीचे Shift+k सहायता, / खोज और :w, :q, :help और :docs जैसे कमांड के साथ।
  • Auth: OAuth 2.0 (क्लाइंट क्रेडेंशियल्स, पासवर्ड, PKCE के साथ ऑथराइज़ेशन कोड) और @auth command ताकि आपके पहले से इंस्टॉल किए गए CLI से टोकन का पुन: उपयोग किया जा सके, जैसे gh auth token।
  • CLI रनर: स्क्रिप्टेड रन और CI के लिए resterm run, JSON और JUnit आउटपुट के साथ।
  • मॉक सर्वर उन अनुरोधों के बगल में घोषित जिनकी वे नकल करते हैं, मैचिंग नियमों, सीक्वेंस, कॉल वेरिफिकेशन और हॉट रीलोड के साथ।
  • टाइमलाइन ट्रेसिंग, प्रोफाइलिंग और एनवायरनमेंट्स में रन की तुलना।
  • स्ट्रीमिंग ट्रांसक्रिप्ट और WebSocket और SSE के लिए एक इंटरैक्टिव कंसोल।
  • कोई AI इंटीग्रेशन नहीं

इंस्टॉल

macOS और Linux:

brew install resterm
# or
curl -fsSL https://raw.githubusercontent.com/unkn0wn-root/resterm/main/install.sh | bash

Windows:

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

सोर्स से, Go 1.25 या नए के साथ:

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

[!IMPORTANT] प्रीबिल्ट Linux बाइनरीज़ glibc 2.32 या नए पर निर्भर करती हैं। पुराने डिस्ट्रो पर, रिलीज़ आर्काइव का उपयोग करने से पहले नए glibc टूलचेन के साथ सोर्स से बिल्ड करें या glibc अपग्रेड करें।

Homebrew इंस्टॉल को brew upgrade resterm से अपडेट किया जाता है। रिलीज़ पेज या इंस्टॉल स्क्रिप्ट से मिली बाइनरीज़ resterm --check-update और resterm --update का उपयोग करती हैं, जो डाउनलोड, सत्यापन और इन-प्लेस इंस्टॉल करता है। Windows पर पुरानी बाइनरी नई के बगल में resterm.exe.old के रूप में रहती है और अगले अपडेट पर साफ़ कर दी जाती है।

मैनुअल इंस्टॉल

macOS, Linux और Windows (amd64 और arm64) के लिए बाइनरीज़ रिलीज़ पेज पर हैं। नीचे दिए गए कमांड वही करते हैं जो रिलीज़ पेज से मैनुअल डाउनलोड करने पर होता है। Unix संस्करण को curl और jq चाहिए।

# Find the latest release 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)"

# Install on PATH
chmod +x resterm
sudo install -m 0755 resterm /usr/local/bin/resterm
$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 move to a directory on PATH:
Move-Item resterm.exe "$env:USERPROFILE\bin\resterm.exe"

क्विक स्टार्ट

mkdir my-api && cd my-api
resterm init
resterm

resterm init एक छोटा प्रोजेक्ट बनाता है जिसे आप तुरंत उपयोग करना शुरू कर सकते हैं। जनरेट की गई requests.http में लोकल मॉक सिनेरियो और कुछ अनुरोध हैं जो एक-दूसरे पर बने हैं, जो असर्शन, बियरर ऑथ, JSON मैचिंग, json-rules और @for-each को कवर करते हैं। मॉक सर्वर शुरू करने के लिए g Shift+m दबाएँ, फिर कर्सर के नीचे के अनुरोध को भेजने के लिए Ctrl+Enter दबाएँ।

आप init के बिना भी सीधे Resterm खोल सकते हैं। resterm चलाएँ, एक URL टाइप करें और Ctrl+Enter दबाएँ। आप curl कमांड भी पेस्ट कर सकते हैं - वह भी काम करता है।

वही फ़ाइल TUI के बिना चलती है:

resterm run --request CreateUser requests.http

रिक्वेस्ट फ़ाइलें

Resterm मानक HTTP सिंटैक्स का समर्थन करता है, लेकिन यह कॉन्फ़िगरेशन और ऑटोमेशन के लिए # @ डायरेक्टिव्स के साथ उससे बहुत आगे जाता है:

# @setting base-url https://api.example.com/v1/

### Create users
// Send this request once for each name in the list.
# @for-each ["david", "tom"] as name
# @when env.mode == "development"
# @assert response.statusCode == 201
POST users
Content-Type: application/json

{"name":"{{= name }}"}

पहले अनुरोध से पहले @setting रखने पर यह पूरी फ़ाइल पर लागू होता है। ### एक नया अनुरोध शुरू करता है, और डायरेक्टिव्स अपने नीचे के अनुरोध को दोहरा सकते हैं, सीमित कर सकते हैं या जाँच सकते हैं। अधिक जानकारी _examples/ और डायरेक्टिव रेफ़रेंस में।

मॉक सर्वर

मॉक रिस्पॉन्स उन्हीं फ़ाइलों में परिभाषित होते हैं जिनमें अनुरोध होते हैं (लेकिन ऐसा होना ज़रूरी नहीं है)। उदाहरण, एक रूट पर दो सिनेरियो:

### 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"}

एक फ़ाइल या पूरी डायरेक्टरी सर्व करें:

resterm mock ./requests.http
resterm mock --recursive --addr 127.0.0.1:9090 ./requests

query, headers और body पर मैचिंग, पोलिंग टेस्ट के लिए रिस्पॉन्स सीक्वेंस, कॉल वेरिफिकेशन और हॉट रीलोड को मॉक सर्वर रेफ़रेंस में कवर किया गया है। काम करने वाला उदाहरण: _examples/mocks.http।

ट्रैफ़िक रिकॉर्ड करना

आप अपने एप्लिकेशन को Resterm प्रॉक्सी के माध्यम से रूट कर सकते हैं और यह ट्रैफ़िक को Resterm .http फ़ाइल में अनुरोधों, मॉक या दोनों के रूप में कैप्चर करता है।

resterm record --upstream https://api.example.com --out captured.http --mode both

अपने एप्लिकेशन का API बेस URL http://127.0.0.1:9000 पर पॉइंट करें, फिर Ctrl+C से रिकॉर्डिंग बंद करें। TUI :record start --upstream <origin> के साथ वही करता है, साथ ही :record as-request और :record as-mock से कैप्चर को खुली फ़ाइल में डाल सकते हैं।

अधिक जानकारी रिकॉर्डिंग रेफ़रेंस में।

अधिक

कीज़

सामान्य Resterm सहायता के लिए ? दबाएँ और कर्सर के नीचे जो भी है उस पर सहायता के लिए Shift+k दबाएँ। पूरी तालिका UI टूर में है। क्विक स्टार्ट के लिए, आपको केवल इतना चाहिए:

  • Ctrl+Enter अनुरोध भेजता है
  • Tab / Shift+Tab पैन बदलता है
  • g p रिस्पॉन्स पर जाता है

डॉक्यूमेंटेशन

  • docs/resterm.md रिक्वेस्ट सिंटैक्स, डायरेक्टिव्स, स्क्रिप्टिंग और ट्रांसपोर्ट को कवर करता है।
  • docs/cli.md resterm run, इम्पोर्टर्स, कलेक्शन और हिस्ट्री को कवर करता है।
  • docs/restermscript.md RestermScript रेफ़रेंस है।
  • कम्पैटिबिलिटी बताता है कि v1 तक क्या स्थिर रहता है।

TUI के अंदर, :help <topic> एम्बेडेड मैनुअल खोलता है और :docs <topic> इंस्टॉल किए गए रिलीज़ के लिए वेब कॉपी खोलता है।

लाइसेंस

Apache License 2.0।

श्रेणियाँ