34 lines
1.2 KiB
TypeScript
34 lines
1.2 KiB
TypeScript
import { ProxyReqMutator } from "../index";
|
|
|
|
/**
|
|
* Removes origin and referer headers before sending the request to the API for
|
|
* privacy reasons.
|
|
*/
|
|
export const stripHeaders: ProxyReqMutator = (manager) => {
|
|
manager.removeHeader("origin");
|
|
manager.removeHeader("referer");
|
|
|
|
// Some APIs refuse requests coming from browsers to discourage embedding
|
|
// API keys in client-side code, so we must remove all CORS/fetch headers.
|
|
Object.keys(manager.request.headers).forEach((key) => {
|
|
if (key.startsWith("sec-")) {
|
|
manager.removeHeader(key);
|
|
}
|
|
});
|
|
|
|
manager.removeHeader("tailscale-user-login");
|
|
manager.removeHeader("tailscale-user-name");
|
|
manager.removeHeader("tailscale-headers-info");
|
|
manager.removeHeader("tailscale-user-profile-pic");
|
|
manager.removeHeader("cf-connecting-ip");
|
|
manager.removeHeader("cf-ray");
|
|
manager.removeHeader("cf-visitor");
|
|
manager.removeHeader("cf-warp-tag-id");
|
|
manager.removeHeader("forwarded");
|
|
manager.removeHeader("true-client-ip");
|
|
manager.removeHeader("x-forwarded-for");
|
|
manager.removeHeader("x-forwarded-host");
|
|
manager.removeHeader("x-forwarded-proto");
|
|
manager.removeHeader("x-real-ip");
|
|
};
|