Edits history of script submission #5363 for ' Edit zone settings info (cloudflare)'

  • nativets
    One script reply has been approved by the moderators
    Ap­pro­ved
    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

  • nativets
    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

  • nativets
    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