[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fGdH2cfYsuH9w4StOeNd2zclEDoOw3M2Jr7bgNN1QWYs":3},{"slug":4,"display_name":5,"profile_url":6,"plugin_count":7,"total_installs":8,"avg_security_score":9,"avg_patch_time_days":10,"trust_score":11,"computed_at":12,"plugins":13},"geralddrissner","Gerald Drißner","https:\u002F\u002Fprofiles.wordpress.org\u002Fgeralddrissner\u002F",2,0,100,30,94,"2026-08-29T12:27:14.469Z",[14,35],{"slug":15,"name":16,"version":17,"author":5,"author_profile":6,"description":18,"short_description":19,"active_installs":8,"downloaded":20,"rating":8,"num_ratings":8,"last_updated":21,"tested_up_to":22,"requires_at_least":23,"requires_php":24,"tags":25,"homepage":31,"download_link":32,"security_score":9,"vuln_count":8,"unpatched_count":8,"last_vuln_date":33,"fetched_at":34},"ai-image-disclosure-labels","AI Image Disclosure & Labels","2.0.4","\u003Cp>AI Image Disclosure & Labels adds a visible AI disclosure label to images — but only when an editor explicitly enables it. The plugin never marks images automatically, and existing content remains untouched.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Why label AI images?\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Article 50 of the EU AI Act distinguishes between providers and deployers of AI systems. Providers of certain generative AI systems must add machine-readable marks to generated or manipulated outputs. Separate disclosure duties apply to deployers in specified cases, including deepfakes and certain public-interest text. The relevant rules apply from August 2, 2026. This plugin helps site owners add a visible disclosure and an optional publisher-supplied structured-data declaration to selected images.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Features\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Per-image switch for Gutenberg Image blocks.\u003C\u002Fli>\n\u003Cli>Separate per-post\u002Fper-page switch for the featured image.\u003C\u002Fli>\n\u003Cli>Optional custom text for each marked image.\u003C\u002Fli>\n\u003Cli>Global editable default text.\u003C\u002Fli>\n\u003Cli>Optional machine-readable Schema.org \u003Ccode>digitalSourceType\u003C\u002Fcode> declarations using standardized IPTC source categories.\u003C\u002Fli>\n\u003Cli>Global default and per-image source type: created using generative AI or edited using generative AI.\u003C\u002Fli>\n\u003Cli>Four positions and three design presets, plus detailed design controls with live preview.\u003C\u002Fli>\n\u003Cli>Responsive behavior based on the actually rendered image width: hide the label on tiny thumbnails, show a compact AI symbol on medium images, and the full text label on large images.\u003C\u002Fli>\n\u003Cli>Three built-in SVG symbols (AI Monogram, Sparkle, Chip) plus a custom PNG\u002FSVG symbol from the Media Library.\u003C\u002Fli>\n\u003Cli>Symbol size in pixels or as a percentage of the rendered image width.\u003C\u002Fli>\n\u003Cli>Optional disclosure popover for compact symbols: hover or keyboard focus on desktop, tap-to-toggle on touch devices.\u003C\u002Fli>\n\u003Cli>Theme integration: works with the WordPress default themes and common featured-image markup out of the box; unusual themes can be supported by adding CSS selectors in the settings — no code required. Developers can additionally use the \u003Ccode>gdaiidl_featured_selectors\u003C\u002Fcode> and \u003Ccode>gdaiidl_post_types\u003C\u002Fcode> filters.\u003C\u002Fli>\n\u003Cli>Compatible with common page caches: labels are rendered server-side where possible, and supported page caches are cleared automatically when settings or labels change.\u003C\u002Fli>\n\u003Cli>Clean uninstall: removes all options and post metadata when the plugin is deleted.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Important legal note\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>This plugin can provide both a visible disclosure label and an optional publisher-supplied Schema.org declaration in the page source. The structured data uses standardized IPTC Digital Source Type categories, but it does not modify the image file, create or verify C2PA Content Credentials, prove origin or authenticity, or replace machine-readable markings supplied by the provider of a generative AI system. Whether and how specific content must be labeled depends on your role, your content and the applicable law. This plugin is a tool, not legal advice.\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>For support, visit \u003Ca href=\"https:\u002F\u002Fdrissner.media\u002Fkontakt\" rel=\"nofollow ugc\">drissner.media\u002Fkontakt\u003C\u002Fa>. If the plugin is useful to you, you can support its development through \u003Ca href=\"https:\u002F\u002Fwww.paypal.com\u002Fpaypalme\u002Fdrissner\" rel=\"nofollow ugc\">PayPal\u003C\u002Fa>.\u003C\u002Fp>\n","Adds visible AI image labels plus optional machine-readable source information to selected WordPress images.",58,"2026-07-21T16:49:00.000Z","7.0.2","6.7","7.4",[26,27,28,29,30],"ai-image","ai-generated-content","content-transparency","eu-ai-act","image-disclosure","https:\u002F\u002Fgithub.com\u002Fgerald-drissner\u002Fai-image-disclosure-labels","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fai-image-disclosure-labels.2.0.4.zip",null,"2026-07-22T17:31:50.256Z",{"slug":36,"name":37,"version":38,"author":5,"author_profile":6,"description":39,"short_description":40,"active_installs":8,"downloaded":41,"rating":8,"num_ratings":8,"last_updated":42,"tested_up_to":22,"requires_at_least":43,"requires_php":44,"tags":45,"homepage":51,"download_link":52,"security_score":9,"vuln_count":8,"unpatched_count":8,"last_vuln_date":33,"fetched_at":34},"voffload-cloudflare-stream","Voffload for Cloudflare Stream","1.0.1","\u003Cp>\u003Cstrong>Voffload for Cloudflare Stream\u003C\u002Fstrong> moves the heavy lifting of video hosting and playback off your own server and onto Cloudflare Stream. You pick existing video attachments in your WordPress Media Library, the plugin uploads them to Cloudflare Stream, and your visitors then watch them through Cloudflare’s adaptive‑bitrate player instead of downloading large files from your origin.\u003C\u002Fp>\n\u003Cp>This is useful if self‑hosted videos are slowing your site down, eating bandwidth, or stressing your host. Cloudflare Stream handles transcoding, multiple quality levels, and global delivery for you.\u003C\u002Fp>\n\u003Cp>\u003Cem>This plugin is an independent project. It is not affiliated with, endorsed by, or sponsored by Cloudflare, Inc. “Cloudflare” and “Cloudflare Stream” are trademarks of Cloudflare, Inc., used here only to describe compatibility.\u003C\u002Fem>\u003C\u002Fp>\n\u003Ch4>What it does\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Lists the video attachments already in your Media Library and shows their Cloudflare Stream status (Not uploaded \u002F Processing \u002F Ready \u002F Error).\u003C\u002Fli>\n\u003Cli>Uploads selected videos to Cloudflare Stream. It first asks Cloudflare to fetch the public file URL (“URL copy”). If Cloudflare cannot reach that URL (for example because of hotlink protection, a firewall rule, or Automatic Platform Optimization), it automatically falls back to a direct upload from your server for files under 200 MB.\u003C\u002Fli>\n\u003Cli>Stores each video’s Cloudflare Stream UID and processing status on the attachment.\u003C\u002Fli>\n\u003Cli>Can non-destructively sync existing Cloudflare Stream videos back to matching WordPress video attachments when metadata or a unique exact title\u002Ffilename match identifies the local attachment.\u003C\u002Fli>\n\u003Cli>Can delete selected Cloudflare Stream videos from the plugin dashboard, individually or in bulk, while keeping the original WordPress media attachments.\u003C\u002Fli>\n\u003Cli>Tracks “processing” videos with a background check (WP‑Cron) that runs every 10 minutes — but only while at least one video is still processing. When everything is ready, the background check stops on its own, so the plugin does not make unnecessary calls.\u003C\u002Fli>\n\u003Cli>Automatically replaces your local video output on the frontend with the Cloudflare Stream player once the matching Stream video is ready (this is optional and can be turned off — see “Automatic replacement” below).\u003C\u002Fli>\n\u003Cli>Provides a shortcode for manual placement of the player (see the “Shortcode” section below for the exact tag and options).\u003C\u002Fli>\n\u003Cli>Includes a non‑destructive \u003Cstrong>Connection test\u003C\u002Fstrong> that checks your token, account access, and playback settings without uploading anything.\u003C\u002Fli>\n\u003Cli>Uses a structured dashboard with setup status, workflow descriptions, action guidance, and a small version\u002Fcopyright\u002Flicense footer.\u003C\u002Fli>\n\u003Cli>Never deletes your local video files. Deleting a Stream copy from Cloudflare only clears the plugin’s local Stream metadata; removing local files is intentionally left to you.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Do I need a paid Cloudflare account?\u003C\u002Fh4>\n\u003Cp>You need a Cloudflare account and an active \u003Cstrong>Cloudflare Stream\u003C\u002Fstrong> subscription. A few clarifications, because this is a common point of confusion:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Cloudflare Stream is a separate, usage‑based product. As of 2026 it is billed at roughly \u003Cstrong>$5 per 1,000 minutes of video stored\u003C\u002Fstrong> per month and \u003Cstrong>$1 per 1,000 minutes delivered\u003C\u002Fstrong>. Encoding and ingest are free, and there are no per‑GB egress fees.\u003C\u002Fli>\n\u003Cli>You do \u003Cstrong>not\u003C\u002Fstrong> need a Cloudflare Pro plan specifically, and Stream does \u003Cstrong>not\u003C\u002Fstrong> require the Workers Paid plan. A \u003Cstrong>free Cloudflare account works\u003C\u002Fstrong>, as long as you have added a Stream subscription to it.\u003C\u002Fli>\n\u003Cli>If you are on a \u003Cstrong>Pro or Business\u003C\u002Fstrong> plan, Cloudflare includes a small monthly allowance (around 100 minutes of storage and 10,000 minutes of delivery) on top.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Always confirm current pricing on Cloudflare’s own pricing page, as it can change.\u003C\u002Fp>\n\u003Ch3>Dashboard guide\u003C\u002Fh3>\n\u003Cp>The plugin dashboard is available under \u003Cstrong>Media \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Cloudflare Stream\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>The top overview explains the three-step workflow: configure Cloudflare, upload or reconnect videos, then serve and maintain the Stream copies.\u003C\u002Fli>\n\u003Cli>The setup status pills show whether the Account ID, API token, and Customer Code are present before you run actions that need them.\u003C\u002Fli>\n\u003Cli>The \u003Cstrong>Video Library\u003C\u002Fstrong> table lists WordPress video attachments and shows their local file link, Stream status, Stream UID, and shortcode.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Upload selected\u003C\u002Fstrong> creates a Cloudflare Stream copy for selected local WordPress videos. The WordPress attachment remains in the Media Library.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Refresh selected status\u003C\u002Fstrong> reads the current processing state from Cloudflare. If no local UID is saved, the plugin first attempts a safe reconnect.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Reconnect selected from Cloudflare\u003C\u002Fstrong> finds existing Stream videos for selected local attachments by stored metadata first and then by exact unique title\u002Ffilename matches.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Delete from Cloudflare\u003C\u002Fstrong> deletes the remote Stream asset after confirmation and clears only local Stream metadata. It does not delete the WordPress attachment.\u003C\u002Fli>\n\u003Cli>The manual UID fallback is for rare cases where automatic matching is unsafe because Cloudflare metadata is missing or multiple possible matches exist.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Compatibility\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Requires WordPress 6.5 or newer.\u003C\u002Fli>\n\u003Cli>Tested up to WordPress 7.0.\u003C\u002Fli>\n\u003Cli>Requires PHP 8.1 or newer. PHP 8.3 or newer is recommended for current WordPress installations.\u003C\u002Fli>\n\u003Cli>Tested with modern PHP 8.x environments, including PHP 8.5.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Getting your Cloudflare details\u003C\u002Fh3>\n\u003Cp>You need three pieces of information from your Cloudflare account.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>1. Account ID\u003C\u002Fstrong>\u003Cbr \u002F>\nLog in to the Cloudflare dashboard at https:\u002F\u002Fdash.cloudflare.com\u002F and open the \u003Cstrong>Stream\u003C\u002Fstrong> product (or any account page). Your Account ID is shown in the URL and on the account\u002Foverview pages. It is a 32‑character hexadecimal string.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>2. API Token (with Stream permission)\u003C\u002Fstrong>\u003Cbr \u002F>\nCreate a scoped token so the plugin can upload and check status. Do \u003Cstrong>not\u003C\u002Fstrong> use the Global API Key.\u003C\u002Fp>\n\u003Col>\n\u003Cli>In the Cloudflare dashboard, go to \u003Cstrong>Manage Account \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> API Tokens\u003C\u002Fstrong> or \u003Cstrong>My Profile \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> API Tokens\u003C\u002Fstrong> and choose \u003Cstrong>Create Token \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Create Custom Token\u003C\u002Fstrong>. Direct link: https:\u002F\u002Fdash.cloudflare.com\u002Fprofile\u002Fapi-tokens\u003C\u002Fli>\n\u003Cli>Under \u003Cstrong>Permissions\u003C\u002Fstrong>, add \u003Cstrong>Account \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Stream \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Edit\u003C\u002Fstrong>. Some Cloudflare screens use the newer label \u003Cstrong>Account \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Stream \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Write\u003C\u002Fstrong>; that is the equivalent write permission. Uploads, status updates, sync\u002Freconnect, and remote deletion require Edit\u002FWrite. Read-only tokens can verify access but cannot upload or delete videos.\u003C\u002Fli>\n\u003Cli>Under \u003Cstrong>Account Resources\u003C\u002Fstrong>, scope the token to the specific Cloudflare account that owns the Stream library.\u003C\u002Fli>\n\u003Cli>Do not add unnecessary permissions. This plugin does \u003Cstrong>not\u003C\u002Fstrong> need DNS, Zone, Workers, Cache Purge, or Global API Key permissions.\u003C\u002Fli>\n\u003Cli>(Recommended) Set an expiration and, if your server has a static IP, restrict the token to that IP.\u003C\u002Fli>\n\u003Cli>Click \u003Cstrong>Continue to summary \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Create Token\u003C\u002Fstrong>. \u003Cstrong>Copy the token immediately\u003C\u002Fstrong> — Cloudflare shows it only once and you cannot retrieve it later.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>For better security you can define the token in your \u003Ccode>wp-config.php\u003C\u002Fcode> instead of saving it in the database:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>define( 'VOFFLOADCFS_API_TOKEN', 'xxx' );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>When this constant is set, the plugin uses it and never stores the token in the WordPress database (so it stays out of database backups).\u003C\u002Fp>\n\u003Cp>\u003Cstrong>3. Customer Code\u003C\u002Fstrong>\u003Cbr \u002F>\nThis is the code in your Stream playback URLs, of the form \u003Ccode>customer-CODE.cloudflarestream.com\u003C\u002Fcode>. The plugin needs it to build the official Cloudflare Stream iframe URL. To find it, open \u003Cstrong>Cloudflare Dashboard \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Stream \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Videos\u003C\u002Fstrong>, open any uploaded video, and copy the embed\u002Fiframe code. The iframe \u003Ccode>src\u003C\u002Fcode> contains \u003Ccode>customer-CODE.cloudflarestream.com\u003C\u002Fcode>. You may paste the bare code, the full customer subdomain, the iframe URL, or the full iframe snippet; the plugin extracts and stores only the code.\u003C\u002Fp>\n\u003Ch3>Automatic replacement (serve from Cloudflare Stream when available)\u003C\u002Fh3>\n\u003Cp>In \u003Cstrong>Media \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Cloudflare Stream \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Settings\u003C\u002Fstrong> you control when ready videos are automatically served from Cloudflare instead of from your server. There are independent checkboxes so you can enable exactly what you want:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Automatically replace Gutenberg video blocks\u003C\u002Fstrong> — replaces the core\u002Fvideo block on the frontend when the linked attachment has a Stream UID.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Automatically replace WordPress [video] shortcodes\u003C\u002Fstrong> — replaces the built‑in \u003Ccode>[video]\u003C\u002Fcode> shortcode output.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Automatically replace local video HTML and video‑file links\u003C\u002Fstrong> — also catches classic‑editor \u003Ccode>\u003Cvideo>\u003C\u002Fcode> tags, video blocks that have no attachment ID, and direct links to local video files.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Automatic replacement happens only for videos that already have a saved Cloudflare Stream UID and are marked ready. While Cloudflare is still processing a video, the local WordPress video output remains in place. If you turn every automatic option off, nothing on your frontend changes until you place a shortcode yourself.\u003C\u002Fp>\n\u003Ch3>Shortcode\u003C\u002Fh3>\n\u003Cp>Use the shortcode to place a Cloudflare Stream player manually, for example inside a post, page, or widget.\u003C\u002Fp>\n\u003Cp>By WordPress attachment ID (the ID shown in the Media \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Cloudflare Stream table):\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[voffloadcfs_video id=\"123\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>By Cloudflare Stream UID directly:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[voffloadcfs_video uid=\"VIDEO_UID\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Optional attributes:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>title\u003C\u002Fcode> — accessible title for the player iframe.\u003C\u002Fli>\n\u003Cli>\u003Ccode>aspect\u003C\u002Fcode> — aspect ratio as \u003Ccode>width\u002Fheight\u003C\u002Fcode> (default \u003Ccode>16\u002F9\u003C\u002Fcode>). Example: \u003Ccode>aspect=\"4\u002F3\"\u003C\u002Fcode>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Example with options:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[voffloadcfs_video id=\"123\" title=\"My talk\" aspect=\"16\u002F9\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The shortcode requires the \u003Cstrong>Customer Code\u003C\u002Fstrong> setting to be filled in, because that is what builds the official Cloudflare Stream iframe URL. If a logged‑in editor views a shortcode that cannot render (missing UID, wrong ID, missing Customer Code), the plugin shows a short admin‑only notice explaining why; normal visitors simply see nothing.\u003C\u002Fp>\n\u003Ch3>External services\u003C\u002Fh3>\n\u003Cp>This plugin connects to \u003Cstrong>Cloudflare Stream\u003C\u002Fstrong>, a third‑party service operated by Cloudflare, Inc., because that is the service it exists to integrate with.\u003C\u002Fp>\n\u003Cp>What is sent, and when:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>When you upload a video:\u003C\u002Fstrong> the plugin sends the video (or the public URL of the video so Cloudflare can fetch it), the attachment title, the attachment ID, and your site URL to the Cloudflare API. This happens only when you choose to upload a video.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>When you check status, run the connection test, reconnect selected videos, or sync existing Stream videos:\u003C\u002Fstrong> the plugin sends your Account ID and API token (as an authorization header) to the Cloudflare API to read video status, verify the token, list Stream video metadata, search Stream videos by name for a selected local attachment, or verify a manually entered Stream UID. The connection test, reconnect, and sync do not upload any video.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>When you delete a Stream video from the plugin dashboard:\u003C\u002Fstrong> the plugin sends your Account ID, API token, and the selected Cloudflare Stream video UID to the Cloudflare API. Cloudflare deletes the remote Stream video and its copies. The original WordPress media attachment is not deleted.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>On the frontend:\u003C\u002Fstrong> when a video is served from Stream, the visitor’s browser loads the Cloudflare Stream player iframe from \u003Ccode>customer-CODE.cloudflarestream.com\u003C\u002Fcode>, so the visitor’s browser communicates directly with Cloudflare.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Cloudflare API endpoint: https:\u002F\u002Fapi.cloudflare.com\u002F\u003Cbr \u002F>\nCloudflare terms of service: https:\u002F\u002Fwww.cloudflare.com\u002Fterms\u002F\u003Cbr \u002F>\nCloudflare privacy policy: https:\u002F\u002Fwww.cloudflare.com\u002Fprivacypolicy\u002F\u003C\u002Fp>\n\u003Cp>No data is sent anywhere else, and the plugin does not send analytics about your site to the plugin author.\u003C\u002Fp>\n","Upload your WordPress video attachments to Cloudflare Stream and serve them through the fast Cloudflare Stream player from the Media Library.",119,"2026-06-16T16:40:00.000Z","6.5","8.1",[46,47,48,49,50],"cloudflare","cloudflare-stream","media-offload","video","video-hosting","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fvoffload-cloudflare-stream\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fvoffload-cloudflare-stream.1.0.1.zip"]