tampery
所属分类:WEB开发
开发工具:TypeScript
文件大小:194KB
下载次数:0
上传日期:2020-04-24 03:43:08
上 传 者:
sh-1993
说明: 篡改浏览器请求的可编程工具
(A programmable tool to tamper browser requests)
文件列表:
.prettierrc (69, 2020-01-11)
LICENSE (1071, 2020-01-11)
assets (0, 2020-01-11)
assets\dashboard.png (38078, 2020-01-11)
assets\edit.png (114473, 2020-01-11)
assets\popup.png (32662, 2020-01-11)
chrome (0, 2020-01-11)
chrome\icon.png (9935, 2020-01-11)
chrome\manifest.json (461, 2020-01-11)
package.json (1073, 2020-01-11)
src (0, 2020-01-11)
src\background.ts (3868, 2020-01-11)
src\dashboard (0, 2020-01-11)
src\dashboard\about.tsx (471, 2020-01-11)
src\dashboard\app.tsx (2084, 2020-01-11)
src\dashboard\context.tsx (1610, 2020-01-11)
src\dashboard\edit.tsx (2637, 2020-01-11)
src\dashboard\home.tsx (2815, 2020-01-11)
src\dashboard\index.tsx (379, 2020-01-11)
src\dashboard\utils.ts (1054, 2020-01-11)
src\examples (0, 2020-01-11)
src\examples\allow-cors.js (1098, 2020-01-11)
src\examples\blank.js (581, 2020-01-11)
src\examples\change-user-agent.js (902, 2020-01-11)
src\examples\remove-google-analytics-utm-tokens.js (972, 2020-01-11)
src\global.d.ts (26, 2020-01-11)
src\popup.tsx (1722, 2020-01-11)
src\types.ts (518, 2020-01-11)
src\utils.ts (416, 2020-01-11)
tsconfig.json (5177, 2020-01-11)
webpack.config.js (1354, 2020-01-11)
webpack.config.production.js (259, 2020-01-11)
# Tampery
[![Chrome Web Store](https://img.shields.io/chrome-web-store/v/bipnikifgdamlhpdkkmoaiokbgfkeapl.svg)](https://chrome.google.com/webstore/detail/tampery/bipnikifgdamlhpdkkmoaiokbgfkeapl)
Tampery is a browser extension to tamper browser requests in flight. It is **programmable**, which means you could write your own script to intercept, block, or modify browser requests.
## Installation
Install it from [Chrome Web Store](https://chrome.google.com/webstore/detail/tampery/bipnikifgdamlhpdkkmoaiokbgfkeapl)
_Notice_: Currently we only support Chrome 63+, because [dynamic import](https://developers.google.com/web/updates/2017/11/dynamic-import) is used to import your script.
## Examples
There are some simple examples to show how it works:
- [Change User-Agent](src/examples/change-user-agent.js)
- [Remove Google Analytics UTM tokens](src/examples/remove-google-analytics-utm-tokens.js)
- [Allow CORS](src/examples/allow-cors.js)
## Usage
Tampery use `chrome.webRequest` API under the hood. Basically, every script should export an object as `default`, which has `lifecycle`, `callback`, `filter` and `extraInfoSpec` as keys.
For example, if we want to change User-Agent in request headers, we could create a script as follows:
```js
const myUserAgent =
'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1'
export default {
lifecycle: 'onBeforeSendHeaders',
callback: ({ requestHeaders }) => {
for (var i = 0; i < requestHeaders.length; ++i) {
// Find the key named `User-Agent` and change its value
if (requestHeaders[i].name.toLowerCase() === 'user-agent') {
requestHeaders[i].value = myUserAgent
break
}
}
return { requestHeaders } // Return to change headers
},
filter: {
urls: ['
'], // Specify it takes effect on which URLs
},
extraInfoSpec: [
'requestHeaders',
'blocking', // Add `blocking` here since we want to change request headers
],
}
```
Checkout [examples](#examples) to understand it quickly.
For more information, see documentation of `webRequest` API of [Chrome](https://developer.chrome.com/extensions/webRequest) and [Firefox](https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/webRequest)
## License
MIT
近期下载者:
相关文件:
收藏者: