The proxy interceptor for web apps and Smart TVs.
Mock, rewrite, delay and block any API call: in Chrome, in your JavaScript app, and on Tizen, webOS and Android TV.
No SSL certificates. No Wi-Fi proxy settings. No redeploys.
⭐ If ProxyCeptor saves you an hour, please star this repo. It is the single best way to help other developers find it.
What is it · See it · Quick start · Features · How it works · Built for · Compare · FAQ · Community
ProxyCeptor (proxy + interceptor) sits between your app and the APIs it calls, so you can see and change HTTP traffic in real time:
- return a mock for an endpoint that doesn't exist yet,
- patch one field in a live JSON response and keep the rest,
- force a 401, 429, 500 or 503,
- add 2 seconds of latency to see your loading states,
- rewrite URLs to point production UI at staging or
localhost, - block a call to simulate an outage.
Desktop proxies like Charles, Fiddler or Proxyman work by intercepting the device's network connection, which means installing and trusting a root SSL certificate. That's painful on a laptop and often impossible on a Smart TV. ProxyCeptor works inside the runtime instead: in the browser through a Chrome extension, or inside your app through a small JavaScript SDK. Nothing to install on the device, no certificate to trust, no backend change to wait for.
Rules live in one shared JSON format. Create them once in the cloud dashboard and every teammate, browser and test TV picks them up.
| 🧩 JavaScript SDK | ☁️ Cloud workspace | 🧪 Chrome extension | |
|---|---|---|---|
| For | Any web app, plus Smart TV apps on Tizen, webOS, Android TV and Fire TV | Teams that want everyone on the same scenarios | Developers and QA working in Chrome DevTools |
| How | One <script> tag. Patches fetch, XMLHttpRequest and sendBeacon in memory |
Dashboard at app.proxyceptor.com with workspaces, profiles and API keys | A DevTools panel with rules, a network log, HAR export and session replay |
| Status | ✅ Live: proxyceptor-sdk.js |
✅ Live, free to start | 🔜 Chrome Web Store listing coming soon |
JSON deep merge: the real server response on the left, the same response after a ProxyCeptor rule on the right. Three fields changed, everything else untouched.
👉 Open the live sandbox and run real requests through the SDK in your own browser. No sign-up needed.
Open proxyceptor.com/demo. The real SDK is already loaded there, with preset rules you can toggle and fire against live endpoints.
No account needed: pass your rules inline.
<script src="https://proxyceptor.com/proxyceptor-sdk.js"></script>
<script>
const proxy = ProxyCeptor.init({
rules: [
{
id: 'vip-profile',
name: 'Every user is VIP, and the profile loads slowly',
enabled: true,
match: { urlPattern: '*/api/user/profile*', matchType: 'wildcard', methods: ['GET'] },
request: { delay: 1500 }, // 1.5 s of extra latency
response: {
body: { enabled: true, mode: 'merge-json', mergeValue: { is_vip: true, plan: 'premium' } }
}
},
{
id: 'checkout-down',
name: 'Checkout returns 503',
enabled: true,
match: { urlPattern: '*/api/checkout*', methods: ['POST'] },
response: {
body: { enabled: true, mode: 'replace', statusCode: 503, value: '{"error":"maintenance"}' }
}
},
{
id: 'no-trackers',
name: 'Block analytics',
enabled: true,
match: { urlPattern: '*google-analytics.com*' },
block: true
}
]
});
</script>That's it. Every matching fetch, XMLHttpRequest or sendBeacon call is now intercepted in memory, in any framework (React, Next.js, Vue, Angular, Svelte, plain JS) and on any browser engine your TV ships with. The SDK is ES5 with zero dependencies, about 10 KB gzipped.
Connect it to your team instead: create a free workspace, copy an API key, and the SDK pulls your team's rules from the cloud (and refreshes them every 5 minutes):
const proxy = ProxyCeptor.init({ apiKey: 'sdm_live_your_workspace_key', showUI: true });
proxy.getAllRules(); // what's loaded right now
proxy.toggleRule('rule-id'); // flip a single rule on or off
proxy.disableProxy(); // pause all interception (enableProxy() resumes)
proxy.destroy(); // restore the original fetch / XHR / sendBeaconshowUI: true adds a small floating panel with a master switch and a checkbox per rule, so testers can switch scenarios on a TV or phone without a console.
The ProxyCeptor Chrome extension (Manifest V3, Chrome 105+) puts everything in a DevTools panel: rules, a network log with HAR export, JavaScript/CSS snippets and a rolling session replay.
🔜 The Chrome Web Store listing is coming soon. Click Watch → Custom → Releases at the top of this repo to be notified the day it's live, and ⭐ star the repo so you can find it again.
- Create a free workspace (no credit card).
- Create rules in the dashboard at app.proxyceptor.com. The rule form needs no code: enter a URL pattern, set a status, a mock body or a delay, and toggle it on.
- Generate an API key and paste it into the SDK. Every app and TV using that key gets the same rules. In the extension, sign in to the same workspace.
| ⇄ Change requests | ⚡ Change responses | ⏱ Change the network |
|---|---|---|
URL rewrite & redirect: swap hosts, paths or whole URLs (prod → staging → localhost)Header rules: set or remove any request header ( Authorization, User-Agent, feature flags)Body edits: replace or deep-merge POST/PUT/PATCH payloads
|
Mock: return any body, status and content type without calling the server (works for endpoints that don't exist yet) JSON deep merge: change a few keys in a live response and keep everything else JavaScript transform: a function that receives the live response and returns a new one, run in your own browser or app Response headers: CORS, caching, cookies |
Latency: add a delay in milliseconds to any matching call Status override: 401, 403, 404, 429, 500, 503… Block: drop a request entirely to simulate an outage or strip trackers Beacons: intercept navigator.sendBeacon analytics and telemetry
|
| ☁️ Team & cloud | 🔍 Debugging tools | 🛡️ Safety |
|
Workspaces, profiles and API keys: one rule set per team, environment or tester Central sync: change a rule once in the dashboard and every connected browser and TV picks it up on its next refresh Local wins: personal overrides never overwrite the shared rule set |
Network log with original vs modified data side by side, plus HAR export Session replay (rrweb): a rolling ~5-minute buffer you can play inline or export as one HTML file with DOM, network and console in sync Commander: a browser-based REST client with collections, cURL and HAR import, and a server-side forwarder for CORS-blocked calls |
Fail-safe by design: a broken rule, bad JSON or throwing transform falls back to the original request or response. Your app never breaks Traffic stays on your device: interception happens in the browser or app, and the cloud only stores rule definitions One kill switch: disable all interception with one toggle or one call |
flowchart LR
APP["Your app<br/>(web, Chrome tab or Smart TV)"] -- "fetch · XHR · sendBeacon" --> PC{"ProxyCeptor<br/>rule engine"}
CLOUD[("Cloud workspace<br/>app.proxyceptor.com")] -. "rules, by API key" .-> PC
PC -- "no match: passthrough" --> API[("Real API")]
PC -- "rewrite · headers · delay" --> API
API -- "live response" --> PC
PC -- "mock · merge · transform · status" --> APP
PC -. "block" .-x API
- In your app (SDK): the SDK wraps
fetch,XMLHttpRequestandnavigator.sendBeaconbefore your code runs. Each call is matched against the rules (wildcard, regex or exact URL, plus HTTP method) and changed in memory. Because this happens inside the JavaScript runtime, HTTPS is never broken open, so there is no certificate to install. - In Chrome (extension): two layers work together. Chrome's native
declarativeNetRequestAPI handles blocking, redirects and header changes inside the browser's network stack. An in-page interceptor handles what that API can't do: response bodies, deep merges, transforms and delays. - In the cloud: rules are plain JSON documents in your workspace. Clients fetch them with an API key; your traffic is never sent to the cloud.
Want the deep dive? Read How ProxyCeptor works behind the curtain.
| Platform | How ProxyCeptor runs | SSL certificate |
|---|---|---|
| Chrome and Edge (desktop) | Chrome extension (coming soon) or the SDK in your app | ✅ Not needed |
| Any modern browser (Firefox, Safari…) | SDK in your app | ✅ Not needed |
| Samsung Tizen, LG webOS | SDK in the TV web app | ✅ Not needed |
| Android TV, Google TV, Fire TV (WebView apps) | SDK in the web layer | ✅ Not needed |
Staging, preview deploys, localhost |
SDK or extension | ✅ Not needed |
| Native iOS, Android or desktop apps | Not supported (see below) | – |
Guides: Debug Smart TV apps without SSL certificates · Mock HLS/DASH video manifests
| Role | What you do with ProxyCeptor |
|---|---|
| 🧪 QA engineers | Turn "checkout returns 503", "the orders list is empty" or "the profile loads in 8 seconds" into named rules you toggle in one click, on every device. |
| 🎨 Frontend developers | Keep building when the API is missing, wrong or slow. Mock the agreed contract, force error states, or point the UI at your local backend. |
| 📺 Smart TV & OTT teams | Mock APIs and swap video CDNs on Tizen, webOS and Android TV without certificates or Wi-Fi proxy setup. |
| 🛠️ Backend & API developers | Try a response change against the real frontend before you deploy it: a new field, a removed field, a new error code. |
| 🔐 Security testers | Keep persistent in-browser rules (swap IDs, change roles, strip headers) next to Burp or ZAP. |
| 📋 Engineering managers | Give the whole team one shared set of test scenarios instead of stale Charles rewrite files on every laptop. |
We'd rather you pick the right tool. ProxyCeptor is a developer and QA tool for web and Smart TV runtimes; it is not a security scanner and it does not intercept closed native apps.
| If you need… | Choose | ProxyCeptor is the better fit when… |
|---|---|---|
| Native iOS or macOS app debugging | Proxyman | you work on web front ends or Smart TV web apps and QA and developers need the same scenarios |
| System-wide capture of every app on your machine | Charles, Fiddler | you want certificate-free mocking in Chrome and on TVs, with rules the whole team can use |
| Intercepting Android apps and backend processes from one desktop app | HTTP Toolkit | you work in Chrome or TV web apps and want shared mock scenarios with no device setup |
| Penetration testing, scanning and fuzzing | Burp Suite | you're doing day-to-day development and QA (many security testers run both) |
| Versioned, code-reviewed mocks in automated tests | MSW | you're debugging by hand, running QA scenarios, demoing or reproducing bugs on devices |
| Collecting browser requests into Postman collections | Postman Interceptor | you want to change what your app receives while you develop or test |
| A browser extension that rewrites requests | Requestly | you need Smart TV support without certificates, or partial JSON deep merges instead of full-body replaces |
More: all comparisons · Charles Proxy alternatives · The 10 best proxy interceptor tools in 2026
Do I need to install SSL certificates or change proxy settings?
No. ProxyCeptor runs inside the JavaScript runtime (the SDK) or uses Chrome's own extension APIs (the extension). HTTPS is never intercepted at the network level, so there is no root certificate to install and no Wi-Fi proxy to configure. That is exactly why it works on Smart TVs where certificates can't be installed.
Does my API traffic go to your servers?
No. Requests and responses are intercepted and changed locally, in the browser or on the device. Your workspace stores only rule definitions (a URL pattern, a mock body, a delay…). The one exception is opt-in: Commander's server-side forwarder relays the requests you explicitly send through it, to get around CORS.
Is it free?
You can create a free workspace without a credit card, and the SDK works with inline rules without any account at all.
Which frameworks does it support?
All of them. ProxyCeptor intercepts
fetch, XMLHttpRequest and sendBeacon at runtime, so React, Next.js, Vue, Angular, Svelte, Axios, TanStack Query and plain JavaScript all work without code or config changes.
What happens if a rule is broken?
Nothing bad. If mock JSON fails to parse or a transform throws, ProxyCeptor logs a warning and falls back to the original, unmodified request or response. It never crashes the page.
Does it work with native mobile apps, GraphQL or WebSockets?
Native iOS/Android apps: no. ProxyCeptor intercepts web runtimes (browsers, WebViews, TV web apps); for native apps use Proxyman, Charles or HTTP Toolkit.
GraphQL over HTTP: yes. It is a normal request, so you can mock, merge, delay or fail it. Rules match on URL and method (not the operation name yet), so a rule applies to every operation on that endpoint.
WebSockets: not yet. It's on the roadmap.
When is the Chrome extension on the Web Store?
Soon. Watch this repo (Watch → Custom → Releases) to hear about it first.
👉 All 20+ how-to guides · Blog · Glossary
| Want to… | Here's how |
|---|---|
| ⭐ Star this repo | Stars help other developers discover ProxyCeptor, and they keep a small team shipping. Star it here ↗ |
| 👀 Watch releases | Watch → Custom → Releases to hear about the Chrome Web Store launch and new features. |
| 🐛 Report a bug | Open a bug report |
| 💡 Request a feature | Suggest a feature |
| 💬 Ask a question | GitHub Discussions |
| 🔒 Report a security issue | Privately, please: see SECURITY.md |
| 🐦 Follow along | X / Twitter · YouTube · Instagram · Facebook |
| ✉️ Talk to us | admin@proxyceptor.com |
Know a team that still fights with proxy certificates? Share ProxyCeptor on X or on LinkedIn.
proxyceptor.com · Dashboard · Live demo · Commander · Press kit
© ProxyCeptor. Made for developers, QA teams and everyone who has ever said "works on my machine".





