type Cloudflare = {
token: string;
email: string;
key: string;
};
/**
* Edit zone settings info
* Edit settings for a zone.
*/
export async function main(
auth: Cloudflare,
zone_identifier: string,
body: {
items: (
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & { id?: "0rtt"; value?: "on" | "off"; [k: string]: unknown })
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "advanced_ddos";
value?: "on" | "off";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "always_online";
value?: "on" | "off";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "always_use_https";
value?: "on" | "off";
[k: string]: unknown;
} & string)
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "automatic_https_rewrites";
value?: "on" | "off";
[k: string]: unknown;
} & string)
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & { id?: "brotli"; value?: "off" | "on"; [k: string]: unknown })
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "browser_cache_ttl";
value?:
| 0
| 30
| 60
| 120
| 300
| 1200
| 1800
| 3600
| 7200
| 10800
| 14400
| 18000
| 28800
| 43200
| 57600
| 72000
| 86400
| 172800
| 259200
| 345600
| 432000
| 691200
| 1382400
| 2073600
| 2678400
| 5356800
| 16070400
| 31536000;
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "browser_check";
value?: "on" | "off";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "cache_level";
value?: "aggressive" | "basic" | "simplified";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "challenge_ttl";
value?:
| 300
| 900
| 1800
| 2700
| 3600
| 7200
| 10800
| 14400
| 28800
| 57600
| 86400
| 604800
| 2592000
| 31536000;
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & { id?: "ciphers"; value?: string[]; [k: string]: unknown })
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "cname_flattening";
value?: "flatten_at_root" | "flatten_all";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "development_mode";
time_remaining?: number;
value?: "on" | "off";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & { id?: "early_hints"; value?: "on" | "off"; [k: string]: unknown })
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "edge_cache_ttl";
value?:
| 30
| 60
| 300
| 1200
| 1800
| 3600
| 7200
| 10800
| 14400
| 18000
| 28800
| 43200
| 57600
| 72000
| 86400
| 172800
| 259200
| 345600
| 432000
| 518400
| 604800;
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "email_obfuscation";
value?: "on" | "off";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "h2_prioritization";
value?: "on" | "off" | "custom";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "hotlink_protection";
value?: "on" | "off";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & { id?: "http2"; value?: "on" | "off"; [k: string]: unknown })
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & { id?: "http3"; value?: "on" | "off"; [k: string]: unknown })
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "image_resizing";
value?: "on" | "off" | "open";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "ip_geolocation";
value?: "on" | "off";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & { id?: "ipv6"; value?: "off" | "on"; [k: string]: unknown })
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "max_upload";
value?: 100 | 200 | 500;
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "min_tls_version";
value?: "1.0" | "1.1" | "1.2" | "1.3";
[k: string]: unknown;
} & string)
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "minify";
value?: {
css?: "on" | "off";
html?: "on" | "off";
js?: "on" | "off";
[k: string]: unknown;
};
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & { id?: "mirage"; value?: "on" | "off"; [k: string]: unknown })
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "mobile_redirect";
value?: {
mobile_subdomain?: string;
status?: "on" | "off";
strip_uri?: boolean;
[k: string]: unknown;
};
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "nel";
value?: { enabled?: boolean; [k: string]: unknown };
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "opportunistic_encryption";
value?: "on" | "off";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "opportunistic_onion";
value?: "on" | "off";
[k: string]: unknown;
} & string)
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "orange_to_orange";
value?: "on" | "off";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "origin_error_page_pass_thru";
value?: "on" | "off";
[k: string]: unknown;
} & string)
| {
id: "origin_max_http_version";
modified_on?: string;
[k: string]: unknown;
}
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "polish";
value?: "off" | "lossless" | "lossy";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "prefetch_preload";
value?: "on" | "off";
[k: string]: unknown;
} & string)
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & { id?: "proxy_read_timeout"; value?: number; [k: string]: unknown })
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "pseudo_ipv4";
value?: "off" | "add_header" | "overwrite_header";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "response_buffering";
value?: "on" | "off";
[k: string]: unknown;
} & string)
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "rocket_loader";
value?: "on" | "off";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "automatic_platform_optimization";
value?: {
cache_by_device_type: boolean;
cf: boolean;
enabled: boolean;
hostnames: string[];
wordpress: boolean;
wp_plugin: boolean;
[k: string]: unknown;
};
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "security_header";
value?: {
strict_transport_security?: {
enabled?: boolean;
include_subdomains?: boolean;
max_age?: number;
nosniff?: boolean;
[k: string]: unknown;
};
[k: string]: unknown;
};
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "security_level";
value?:
| "off"
| "essentially_off"
| "low"
| "medium"
| "high"
| "under_attack";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "server_side_exclude";
value?: "on" | "off";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & { id?: "sha1_support"; value?: "off" | "on"; [k: string]: unknown })
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "sort_query_string_for_cache";
value?: "on" | "off";
[k: string]: unknown;
} & string)
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "ssl";
value?: "off" | "flexible" | "full" | "strict";
[k: string]: unknown;
})
| { enabled?: boolean; id?: "ssl_recommender"; [k: string]: unknown }
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & { id?: "tls_1_2_only"; value?: "off" | "on"; [k: string]: unknown })
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "tls_1_3";
value?: "on" | "off" | "zrt";
[k: string]: unknown;
} & string)
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "tls_client_auth";
value?: "on" | "off";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "true_client_ip_header";
value?: "on" | "off";
[k: string]: unknown;
} & string)
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & { id?: "waf"; value?: "on" | "off"; [k: string]: unknown })
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & { id?: "webp"; value?: "off" | "on"; [k: string]: unknown })
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & { id?: "websockets"; value?: "off" | "on"; [k: string]: unknown })
)[];
[k: string]: unknown;
}
) {
const url = new URL(
`https://api.cloudflare.com/client/v4/zones/${zone_identifier}/settings`
);
const response = await fetch(url, {
method: "PATCH",
headers: {
"X-AUTH-EMAIL": auth.email,
"X-AUTH-KEY": auth.key,
"Content-Type": "application/json",
Authorization: "Bearer " + auth.token,
},
body: JSON.stringify(body),
});
if (!response.ok) {
const text = await response.text();
throw new Error(`${response.status} ${text}`);
}
return await response.json();
}
Submitted by hugo697 383 days ago
type Cloudflare = {
token: string;
email: string;
key: string;
};
/**
* Edit zone settings info
* Edit settings for a zone.
*/
export async function main(
auth: Cloudflare,
zone_identifier: string,
body: {
items: (
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & { id?: "0rtt"; value?: "on" | "off"; [k: string]: unknown })
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "advanced_ddos";
value?: "on" | "off";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "always_online";
value?: "on" | "off";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "always_use_https";
value?: "on" | "off";
[k: string]: unknown;
} & string)
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "automatic_https_rewrites";
value?: "on" | "off";
[k: string]: unknown;
} & string)
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & { id?: "brotli"; value?: "off" | "on"; [k: string]: unknown })
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "browser_cache_ttl";
value?:
| 0
| 30
| 60
| 120
| 300
| 1200
| 1800
| 3600
| 7200
| 10800
| 14400
| 18000
| 28800
| 43200
| 57600
| 72000
| 86400
| 172800
| 259200
| 345600
| 432000
| 691200
| 1382400
| 2073600
| 2678400
| 5356800
| 16070400
| 31536000;
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "browser_check";
value?: "on" | "off";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "cache_level";
value?: "aggressive" | "basic" | "simplified";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "challenge_ttl";
value?:
| 300
| 900
| 1800
| 2700
| 3600
| 7200
| 10800
| 14400
| 28800
| 57600
| 86400
| 604800
| 2592000
| 31536000;
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & { id?: "ciphers"; value?: string[]; [k: string]: unknown })
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "cname_flattening";
value?: "flatten_at_root" | "flatten_all";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "development_mode";
time_remaining?: number;
value?: "on" | "off";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & { id?: "early_hints"; value?: "on" | "off"; [k: string]: unknown })
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "edge_cache_ttl";
value?:
| 30
| 60
| 300
| 1200
| 1800
| 3600
| 7200
| 10800
| 14400
| 18000
| 28800
| 43200
| 57600
| 72000
| 86400
| 172800
| 259200
| 345600
| 432000
| 518400
| 604800;
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "email_obfuscation";
value?: "on" | "off";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "h2_prioritization";
value?: "on" | "off" | "custom";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "hotlink_protection";
value?: "on" | "off";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & { id?: "http2"; value?: "on" | "off"; [k: string]: unknown })
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & { id?: "http3"; value?: "on" | "off"; [k: string]: unknown })
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "image_resizing";
value?: "on" | "off" | "open";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "ip_geolocation";
value?: "on" | "off";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & { id?: "ipv6"; value?: "off" | "on"; [k: string]: unknown })
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "max_upload";
value?: 100 | 200 | 500;
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "min_tls_version";
value?: "1.0" | "1.1" | "1.2" | "1.3";
[k: string]: unknown;
} & string)
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "minify";
value?: {
css?: "on" | "off";
html?: "on" | "off";
js?: "on" | "off";
[k: string]: unknown;
};
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & { id?: "mirage"; value?: "on" | "off"; [k: string]: unknown })
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "mobile_redirect";
value?: {
mobile_subdomain?: string;
status?: "on" | "off";
strip_uri?: boolean;
[k: string]: unknown;
};
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "nel";
value?: { enabled?: boolean; [k: string]: unknown };
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "opportunistic_encryption";
value?: "on" | "off";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "opportunistic_onion";
value?: "on" | "off";
[k: string]: unknown;
} & string)
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "orange_to_orange";
value?: "on" | "off";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "origin_error_page_pass_thru";
value?: "on" | "off";
[k: string]: unknown;
} & string)
| {
id: "origin_max_http_version";
modified_on?: string;
[k: string]: unknown;
}
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "polish";
value?: "off" | "lossless" | "lossy";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "prefetch_preload";
value?: "on" | "off";
[k: string]: unknown;
} & string)
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & { id?: "proxy_read_timeout"; value?: number; [k: string]: unknown })
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "pseudo_ipv4";
value?: "off" | "add_header" | "overwrite_header";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "response_buffering";
value?: "on" | "off";
[k: string]: unknown;
} & string)
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "rocket_loader";
value?: "on" | "off";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "automatic_platform_optimization";
value?: {
cache_by_device_type: boolean;
cf: boolean;
enabled: boolean;
hostnames: string[];
wordpress: boolean;
wp_plugin: boolean;
[k: string]: unknown;
};
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "security_header";
value?: {
strict_transport_security?: {
enabled?: boolean;
include_subdomains?: boolean;
max_age?: number;
nosniff?: boolean;
[k: string]: unknown;
};
[k: string]: unknown;
};
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "security_level";
value?:
| "off"
| "essentially_off"
| "low"
| "medium"
| "high"
| "under_attack";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "server_side_exclude";
value?: "on" | "off";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & { id?: "sha1_support"; value?: "off" | "on"; [k: string]: unknown })
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "sort_query_string_for_cache";
value?: "on" | "off";
[k: string]: unknown;
} & string)
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "ssl";
value?: "off" | "flexible" | "full" | "strict";
[k: string]: unknown;
})
| { enabled?: boolean; id?: "ssl_recommender"; [k: string]: unknown }
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & { id?: "tls_1_2_only"; value?: "off" | "on"; [k: string]: unknown })
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "tls_1_3";
value?: "on" | "off" | "zrt";
[k: string]: unknown;
} & string)
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "tls_client_auth";
value?: "on" | "off";
[k: string]: unknown;
})
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & {
id?: "true_client_ip_header";
value?: "on" | "off";
[k: string]: unknown;
} & string)
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & { id?: "waf"; value?: "on" | "off"; [k: string]: unknown })
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & { id?: "webp"; value?: "off" | "on"; [k: string]: unknown })
| ({
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & { id?: "websockets"; value?: "off" | "on"; [k: string]: unknown })
)[];
[k: string]: unknown;
}
) {
const url = new URL(
`https://api.cloudflare.com/client/v4/zones/${zone_identifier}/settings`
);
const response = await fetch(url, {
method: "PATCH",
headers: {
"X-AUTH-EMAIL": auth.email,
"X-AUTH-KEY": auth.key,
"Content-Type": "application/json",
Authorization: "Bearer " + auth.token,
},
body: JSON.stringify(body),
});
if (!response.ok) {
const text = await response.text();
throw new Error(`${response.status} ${text}`);
}
return await response.json();
}
Submitted by hugo697 810 days ago
type Cloudflare = {
token: string;
email: string;
key: string;
};
/**
* Edit zone settings info
* Edit settings for a zone.
*/
export async function main(
auth: Cloudflare,
zone_identifier: string,
body: {
editable?: true | false;
id: string;
modified_on?: string;
value: { [k: string]: unknown };
[k: string]: unknown;
} & { id?: "0rtt"; value?: "on" | "off"; [k: string]: unknown }
) {
const url = new URL(
`https://api.cloudflare.com/client/v4/zones/${zone_identifier}/settings`
);
const response = await fetch(url, {
method: "PATCH",
headers: {
"X-AUTH-EMAIL": auth.email,
"X-AUTH-KEY": auth.key,
"Content-Type": "application/json",
Authorization: "Bearer " + auth.token,
},
body: JSON.stringify(body),
});
if (!response.ok) {
const text = await response.text();
throw new Error(`${response.status} ${text}`);
}
return await response.json();
}
Submitted by hugo697 920 days ago