[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fKtRJbVFb-2MaSjHTasytjMp-tMGwLq0o2-7nq7qTAdQ":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":32,"crawl_stats":29,"alternatives":39,"analysis":141,"fingerprints":340},"sync-media-with-aws-s3-cloudfront","Sync media with AWS S3 CloudFront","1.0.5","SoftSprint","https:\u002F\u002Fprofiles.wordpress.org\u002Fsoftsprint\u002F","\u003Cp>Plugin scans the media upload directory of your WordPress site and pushes media files from there to AWS S3 bucket. Thus files from wordpress upload directory (default it is wp-content\u002Fuploads) are moved to AWS S3 bucket. Besides it is possible to change your images files sources URLs to AWS ones – their src attribute in the HTML will have URLs of AWS bucket CloudFront. Finally you site performance will grow\u003C\u002Fp>\n","Plugin uploads the files from WordPress media upload directory to AWS S3 bucket and replaces their initial URLs with the new URLs of AWS S3 bucket (ch &hellip;",40,4347,68,5,"2025-04-08T13:53:00.000Z","6.8.5","5.3","7.1",[20,21,22,23,24],"aws","media","s3","uploads","wp-content","https:\u002F\u002Fsoftsprint.net\u002Fsync-media-with-aws-s3-cloudfront\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsync-media-with-aws-s3-cloudfront.zip",100,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":33,"display_name":7,"profile_url":8,"plugin_count":34,"total_installs":35,"avg_security_score":27,"avg_patch_time_days":36,"trust_score":37,"computed_at":38},"softsprint",2,140,30,94,"2026-04-04T10:53:21.048Z",[40,65,85,101,124],{"slug":41,"name":42,"version":43,"author":44,"author_profile":45,"description":46,"short_description":47,"active_installs":48,"downloaded":49,"rating":13,"num_ratings":50,"last_updated":51,"tested_up_to":52,"requires_at_least":53,"requires_php":54,"tags":55,"homepage":60,"download_link":61,"security_score":62,"vuln_count":63,"unpatched_count":28,"last_vuln_date":64,"fetched_at":30},"upcasted-s3-offload","Upcasted S3 Offload – AWS S3, DigitalOcean Spaces, Backblaze, MinIO Storage Integration","3.1.0","upcasted","https:\u002F\u002Fprofiles.wordpress.org\u002Fupcasted\u002F","\u003Cp>Upcasted S3 Offload seamlessly integrates your WordPress Media Library with AWS S3 and other S3-compatible storage providers including DigitalOcean Spaces, Linode Object Storage, MinIO, Wasabi, Backblaze, Vultr Object Storage, DreamObjects, and more.\u003C\u002Fp>\n\u003Cp>This powerful plugin optimizes your website’s performance by efficiently managing media files in cloud storage, reducing server load, and improving loading times. It automatically moves your media files to S3 storage and handles URL rewriting, ensuring a smooth user experience.\u003C\u002Fp>\n\u003Ch4>Why Choose Upcasted S3 Offload?\u003C\u002Fh4>\n\u003Ch4>⚡ Performance Benefits\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Significantly reduce server load through offloaded media storage\u003C\u002Fli>\n\u003Cli>Optimize website performance with cloud-based delivery\u003C\u002Fli>\n\u003Cli>Boost SEO rankings with faster page load times\u003C\u002Fli>\n\u003Cli>Enhance user experience with optimized content delivery\u003C\u002Fli>\n\u003Cli>Improve global reach with distributed storage locations\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>💰 Cost Savings\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Reduce hosting costs by offloading media storage\u003C\u002Fli>\n\u003Cli>Lower bandwidth usage on your main server\u003C\u002Fli>\n\u003Cli>Eliminate storage space concerns\u003C\u002Fli>\n\u003Cli>Avoid expensive hosting upgrades\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>🔒 Security & Reliability\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Bank-grade encryption for credentials\u003C\u002Fli>\n\u003Cli>Automatic file redundancy and backup\u003C\u002Fli>\n\u003Cli>Enterprise-level security protocols\u003C\u002Fli>\n\u003Cli>Protected file transfer system\u003C\u002Fli>\n\u003Cli>Leverages S3 providers’ robust infrastructure\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>🚀 Free Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Unlimited file migrations\u003C\u002Fli>\n\u003Cli>WordPress Multisite support\u003C\u002Fli>\n\u003Cli>One-click quick setup wizard\u003C\u002Fli>\n\u003Cli>One-click bucket creation\u003C\u002Fli>\n\u003Cli>Multi-provider compatibility (AWS S3, DigitalOcean, etc.)\u003C\u002Fli>\n\u003Cli>Custom endpoint configuration\u003C\u002Fli>\n\u003Cli>Flexible region selection\u003C\u002Fli>\n\u003Cli>Advanced file management\u003C\u002Fli>\n\u003Cli>Smart file type filtering\u003C\u002Fli>\n\u003Cli>Secure credential management\u003C\u002Fli>\n\u003Cli>High-performance uploads\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>💎 PRO Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Priority email support\u003C\u002Fli>\n\u003Cli>Automatic premium updates\u003C\u002Fli>\n\u003Cli>Custom batch size control\u003C\u002Fli>\n\u003Cli>Advanced file type filtering\u003C\u002Fli>\n\u003Cli>Background file migration\u003C\u002Fli>\n\u003Cli>CDN integration support\u003C\u002Fli>\n\u003Cli>Large file support (up to 5TB)\u003C\u002Fli>\n\u003Cli>Bulk migration tools\u003C\u002Fli>\n\u003Cli>Unified migration progress with elapsed time, ETA, remaining items, and finished notice\u003C\u002Fli>\n\u003Cli>Failed Items diagnostics panel with pagination, full error viewer, and single\u002Fbulk retry actions\u003C\u002Fli>\n\u003Cli>Progressive single-item retry with granular tasks and mini progress bar\u003C\u002Fli>\n\u003Cli>Migration Locks diagnostics with the ability to force unlock stuck runs\u003C\u002Fli>\n\u003Cli>Retry safety: max attempts and permanent failure handling (permanent badge; excluded from auto runs)\u003C\u002Fli>\n\u003C\u002Ful>\n","Easily migrate and manage WordPress Media Library files to AWS S3 or S3-compatible storage providers. Boost performance and reduce hosting costs.",200,11827,10,"2025-12-15T15:13:00.000Z","6.9.4","4.9","7.4",[56,57,58,59,22],"aws-s3","digitalocean-spaces","media-library","object-storage","https:\u002F\u002Fupcasted.com\u002Fupcasted-s3-offload","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fupcasted-s3-offload.3.1.0.zip",99,1,"2025-02-03 00:00:00",{"slug":66,"name":67,"version":68,"author":69,"author_profile":70,"description":71,"short_description":72,"active_installs":50,"downloaded":73,"rating":74,"num_ratings":63,"last_updated":75,"tested_up_to":76,"requires_at_least":77,"requires_php":78,"tags":79,"homepage":82,"download_link":83,"security_score":84,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"s3-spaces-sync","S3 Spaces Sync","1.0.0","Aris Ripandi","https:\u002F\u002Fprofiles.wordpress.org\u002Friespandi\u002F","\u003Cp>S3 Spaces Sync plugin connects your Media Library to a container in DigitalOcean Spaces. It syncs data from your website to cloud storage and replaces links to images (optional). You may keep the media locally (on your server) and make backup copy to cloud storage, or just serve it all from DigitalOcean Spaces.\u003C\u002Fp>\n\u003Cp>In order to use this plugin, you have to create a DigitalOcean Spaces API key.\u003C\u002Fp>\n\u003Cp>You may now define constants in order to configure the plugin. If the constant is defined, it overwrites the value from settings page.\u003C\u002Fp>\n\u003Ch4>Contants Description\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>S3_SPACE_KEY – DigitalOcean Spaces key\u003C\u002Fli>\n\u003Cli>S3_SPACE_SECRET – DigitalOcean Spaces secret,\u003C\u002Fli>\n\u003Cli>S3_SPACE_ENDPOINT – DigitalOcean Spaces endpoint,\u003C\u002Fli>\n\u003Cli>S3_SPACE_CONTAINER – DigitalOcean Spaces container,\u003C\u002Fli>\n\u003Cli>S3_SPACE_STORAGE_PATH – The path to the file in the storage, will appear as a prefix,\u003C\u002Fli>\n\u003Cli>S3_SPACE_FILE_ONLY – Keep files only in DigitalOcean Spaces or not, values (true|false),\u003C\u002Fli>\n\u003Cli>S3_SPACE_FILE_DELETE – Remove files in DigitalOcean Spaces on delete or not, values (true|false),\u003C\u002Fli>\n\u003Cli>S3_SPACE_FILTER – A Regex filter,\u003C\u002Fli>\n\u003Cli>S3_SPACE_CDN_URL – A full url to the files, WP Constant,\u003C\u002Fli>\n\u003Cli>S3_SPACE_UPLOAD_PATH – A path to the local files, WP Constant\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>There is a known issue with the built in WordPress Image Editor, it will not upload changed images. Know how to fix this, PR welcome.\u003C\u002Fp>\n","This plugin is allow you to synchronize your WordPress media library with DigitalOcean Spaces.",1474,20,"2018-12-31T21:24:00.000Z","5.0.25","4.6","5.6",[20,80,21,22,81],"digitalocean","storage","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fs3-spaces\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fs3-spaces-sync.1.0.0.zip",85,{"slug":86,"name":87,"version":88,"author":89,"author_profile":90,"description":91,"short_description":92,"active_installs":28,"downloaded":93,"rating":28,"num_ratings":28,"last_updated":94,"tested_up_to":52,"requires_at_least":95,"requires_php":96,"tags":97,"homepage":99,"download_link":100,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"opal-aws-s3","Opal Sync Media to Amazon S3","1.3.0","wpopal","https:\u002F\u002Fprofiles.wordpress.org\u002Fwpopal\u002F","\u003Cp>Boost your media workflow in WordPress using S3-compatible object storage. This plugin allows you to offload media files to Amazon S3 for better performance and scalability. Optionally, you can configure Amazon CloudFront as a CDN to serve your media files faster.\u003C\u002Fp>\n\u003Ch3>Features:\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Main Features\u003C\u002Fstrong>:\u003Cbr \u002F>\n– \u003Cstrong>Manual or Automatic Media Scan\u003C\u002Fstrong>: Scan your media library manually or automatically using WP-Cron. You can configure the cron schedule to fit your needs.\u003Cbr \u002F>\n– \u003Cstrong>Manual or Automatic Upload\u003C\u002Fstrong>: Upload scanned media files to S3 manually or automatically, with customizable scheduling similar to the scan feature.\u003Cbr \u002F>\n– \u003Cstrong>CloudFront Integration\u003C\u002Fstrong>: Easily integrate Amazon CloudFront to serve media files via CDN, improving delivery speed.\u003Cbr \u002F>\n– \u003Cstrong>Post Type Filtering\u003C\u002Fstrong>: Support scanning and uploading media files associated with specific post types only.\u003Cbr \u002F>\n– \u003Cstrong>WP CLI Support\u003C\u002Fstrong>: Provides WP CLI commands for fast and bulk operations if you have command line access.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Configuration Required\u003C\u002Fstrong>:\u003Cbr \u002F>\n– \u003Cstrong>AWS S3 Access key:\u003C\u002Fstrong>: Access key provided by S3 Service.\u003Cbr \u002F>\n– \u003Cstrong>AWS S3 Secret key:\u003C\u002Fstrong>: Secret key provided by S3 Service.\u003Cbr \u002F>\n– \u003Cstrong>Bucket Name\u003C\u002Fstrong>: The name of your S3 bucket where media files will be stored.\u003Cbr \u002F>\n– \u003Cstrong>Region\u003C\u002Fstrong>: The AWS region where your S3 bucket is located.\u003Cbr \u002F>\n– \u003Cstrong>CloudFront URL (Optional)\u003C\u002Fstrong>: If you use Amazon CloudFront, provide the distribution URL for faster delivery.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwpopal.com\u002Fcontact\u002F\" rel=\"nofollow ugc\">Free Support\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>External Services\u003C\u002Fh3>\n\u003Cp>This plugin connects to Amazon S3 and optionally Amazon CloudFront to offload and serve media files. Below is detailed information about the external services:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\n\u003Cp>\u003Cstrong>Service Name\u003C\u002Fstrong>: Amazon S3 (amazon.com)\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Purpose\u003C\u002Fstrong>: Used to store and serve media files (images, videos, documents, etc.) uploaded to the WordPress media library.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Data Sent\u003C\u002Fstrong>: Media files (e.g., images, videos, documents) and metadata (e.g., file names, paths) are sent to the configured S3 bucket.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>When\u003C\u002Fstrong>: Data is sent when a file is uploaded to the WordPress media library or when the plugin syncs existing files to S3.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Configuration Required\u003C\u002Fstrong>:\n\u003Cul>\n\u003Cli>Bucket Name\u003C\u002Fli>\n\u003Cli>AWS Region\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Terms of Service\u003C\u002Fstrong>: \u003Ca href=\"https:\u002F\u002Faws.amazon.com\u002Fservice-terms\u002F\" rel=\"nofollow ugc\">Amazon S3 Terms of Service\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Privacy Policy\u003C\u002Fstrong>: \u003Ca href=\"https:\u002F\u002Faws.amazon.com\u002Fprivacy\u002F\" rel=\"nofollow ugc\">Amazon Privacy Policy\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Optional Service\u003C\u002Fstrong>: Localstack (for testing environments localstack.cloud)\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Purpose\u003C\u002Fstrong>: Simulates Amazon S3 locally for testing purposes.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Data Sent\u003C\u002Fstrong>: Media files and metadata are sent to the Localstack instance running on the developer’s machine.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>When\u003C\u002Fstrong>: Data is sent when \u003Ccode>OAWS_LOCALSTACK_MODE\u003C\u002Fcode> is set to \u003Ccode>true\u003C\u002Fcode> in the plugin configuration.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Configuration\u003C\u002Fstrong>: To enable Localstack, set the constant \u003Ccode>OAWS_LOCALSTACK_MODE\u003C\u002Fcode> to \u003Ccode>true\u003C\u002Fcode> in your WordPress configuration file.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Documentation\u003C\u002Fstrong>: \u003Ca href=\"https:\u002F\u002Fdocs.localstack.cloud\u002F\" rel=\"nofollow ugc\">Localstack Documentation\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Optional Service\u003C\u002Fstrong>: Amazon CloudFront (if configured)\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Purpose\u003C\u002Fstrong>: Used as a Content Delivery Network (CDN) to serve media files faster by caching them closer to users.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Data Sent\u003C\u002Fstrong>: URLs of media files stored in S3.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>When\u003C\u002Fstrong>: Data is sent when the plugin generates URLs for media files.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Configuration Required\u003C\u002Fstrong>:\n\u003Cul>\n\u003Cli>CloudFront Distribution URL\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Terms of Service\u003C\u002Fstrong>: \u003Ca href=\"https:\u002F\u002Faws.amazon.com\u002Fservice-terms\u002F\" rel=\"nofollow ugc\">Amazon CloudFront Terms of Service\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Privacy Policy\u003C\u002Fstrong>: \u003Ca href=\"https:\u002F\u002Faws.amazon.com\u002Fprivacy\u002F\" rel=\"nofollow ugc\">Amazon Privacy Policy\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Fol>\n","This plugin uploads files from the WordPress media directory to an AWS S3 bucket and replaces their original URLs with the corresponding S3 or CloudFr &hellip;",431,"2025-12-05T02:53:00.000Z","5.0","7.0",[20,98,21,22],"cdn","https:\u002F\u002Fwpopal.com\u002Fcontact\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fopal-aws-s3.1.3.0.zip",{"slug":102,"name":103,"version":104,"author":105,"author_profile":106,"description":107,"short_description":108,"active_installs":109,"downloaded":110,"rating":111,"num_ratings":112,"last_updated":113,"tested_up_to":114,"requires_at_least":115,"requires_php":96,"tags":116,"homepage":120,"download_link":121,"security_score":122,"vuln_count":63,"unpatched_count":28,"last_vuln_date":123,"fetched_at":30},"add-from-server","Add From Server","3.4.5","Dion Hulse","https:\u002F\u002Fprofiles.wordpress.org\u002Fdd32\u002F","\u003Cp>This plugin offers limited support. Please do not expect new features or too many bugfixes. Features may be removed at any time.\u003C\u002Fp>\n\u003Cp>Add From Server is designed to help ease the pain of bad web hosts, allowing you to upload files via FTP or SSH and later import them into WordPress.\u003C\u002Fp>\n\u003Cp>This plugin is NOT designed to..\u003Cbr \u002F>\n * Be used as a replacement for the file uploader\u003Cbr \u002F>\n * Be used for migration of websites\u003Cbr \u002F>\n * Re-import your files after moving webhosting\u003Cbr \u002F>\n * Batch import media\u003C\u002Fp>\n\u003Cp>This plugins IS designed to..\u003Cbr \u002F>\n * Import files which are larger than your hosting allows to be uploaded.\u003Cbr \u002F>\n * Import files which are too large for your internet connections upload speed.\u003C\u002Fp>\n\u003Cp>WordPress does a better job of file uploads than this plugin, so please consider your needs before you use it.\u003C\u002Fp>\n\u003Cp>You may also want to look at using WP-CLI for media import purposes:\u003Cbr \u002F>\nhttps:\u002F\u002Fdeveloper.wordpress.org\u002Fcli\u002Fcommands\u002Fmedia\u002Fimport\u002F\u003C\u002Fp>\n","Add From Server is designed to help ease the pain of bad web hosts, allowing you to upload files via FTP or SSH and later import them into WordPress.",70000,1319395,92,239,"2020-12-11T07:32:00.000Z","5.5.18","5.4",[117,118,21,119,23],"admin","import","post","https:\u002F\u002Fdd32.id.au\u002Fwordpress-plugins\u002Fadd-from-server\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadd-from-server.3.4.5.zip",84,"2016-08-08 00:00:00",{"slug":125,"name":126,"version":127,"author":128,"author_profile":129,"description":130,"short_description":131,"active_installs":132,"downloaded":133,"rating":37,"num_ratings":134,"last_updated":135,"tested_up_to":52,"requires_at_least":17,"requires_php":18,"tags":136,"homepage":139,"download_link":140,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30},"media-sync","Media Sync","1.4.9","erolsk8","https:\u002F\u002Fprofiles.wordpress.org\u002Ferolsk8\u002F","\u003Cp>This plugin allows you to examine all files within the \u003Ccode>uploads\u003C\u002Fcode> directory to determine which ones are present in the Media Library and which ones are just sitting there unused. You can then choose the files you want to import into the database, thereby including them in the Media Library.\u003C\u002Fp>\n\u003Cp>Moreover, you can utilize FTP to upload files directly to the \u003Ccode>uploads\u003C\u002Fcode> directory and subsequently add these files to the Media Library avoiding any file size limitations.\u003C\u002Fp>\n\u003Ch4>Disclaimers\u003C\u002Fh4>\n\u003Col>\n\u003Cli>\n\u003Cp>“1 file first”\u003Cbr \u002F>\nPlease try to import only one file first – to see if it works as you expected.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>“All at once”\u003Cbr \u002F>\nThis plugin is designed for scanning, selecting, and importing \u003Cstrong>all files at once\u003C\u002Fstrong>. However, based on your server’s configuration, memory, and timeout challenges may arise with extensive file quantities. To mitigate this, a newly revamped \u003Ca href=\"https:\u002F\u002Fmediasyncplugin.com\u002F?utm_source=readme&utm_medium=base_plugin&utm_campaign=aao\" rel=\"nofollow ugc\">pro version\u003C\u002Fa> employs incremental directory scans to effectively tackle these issues.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>“Your setup is unique”\u003Cbr \u002F>\nPlease be aware that every WordPress installation is unique, and there may be instances where this plugin does not function as expected. Should this occur, we recommend enabling the debugging feature in the plugin’s settings to identify the issue. After investigating, kindly provide a detailed description of your findings in the Support section (or \u003Ca href=\"https:\u002F\u002Fusers.freemius.com\u002Fstore\u002F6428\u002Fsupport\" rel=\"nofollow ugc\">here\u003C\u002Fa> if you’re using pro version). The more comprehensive the details, the higher the likelihood of resolving the problem effectively.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Ignored files\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>various hidden files (.DS_Store, .htaccess),\u003C\u002Fli>\n\u003Cli>WP generated thumbnails (files ending with for example -100×100.jpg),\u003C\u002Fli>\n\u003Cli>WP generated scaled images (files ending with -scaled),\u003C\u002Fli>\n\u003Cli>optimized .webp versions of original images (.jpg.webp),\u003C\u002Fli>\n\u003Cli>retina thumbnails (-100×100@2x.jpg).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>These can be modified and enhanced using the new advanced filters available in the \u003Ca href=\"https:\u002F\u002Fmediasyncplugin.com\u002F?utm_source=readme&utm_medium=base_plugin&utm_campaign=df\" rel=\"nofollow ugc\">pro version\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Media Sync Pro features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Revised incremental scan\u003C\u002Fstrong>: Allows scanning and importing unlimited number of files.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Quick single directory rescan\u003C\u002Fstrong>: Easily rescan one directory to find new files or apply a different filter without reloading the whole page.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Advanced filters\u003C\u002Fstrong>: Find any file by customizing all default filters, search for a specific file type (images, videos, etc.), skip by tailor-made rules, or enter any custom pattern.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Schedule automatic imports\u003C\u002Fstrong>: Select a desired interval and let the plugin automatically import any new files it finds.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Import logs\u003C\u002Fstrong>: View the history of manual or scheduled imports.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Limit plugin access\u003C\u002Fstrong>: Limit plugin access to a specific role.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Get \u003Ca href=\"https:\u002F\u002Fmediasyncplugin.com\u002F?utm_source=readme&utm_medium=base_plugin&utm_campaign=pfl\" rel=\"nofollow ugc\">pro version here\u003C\u002Fa>.\u003C\u002Fp>\n","Simple plugin to scan \"uploads\" directory and bring those files into Media Library.",40000,527569,82,"2025-11-25T08:11:00.000Z",[137,118,21,138,23],"ftp","server","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmedia-sync\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmedia-sync.1.4.9.zip",{"attackSurface":142,"codeSignals":192,"taintFlows":295,"riskAssessment":321,"analyzedAt":339},{"hooks":143,"ajaxHandlers":162,"restRoutes":188,"shortcodes":189,"cronEvents":190,"entryPointCount":191,"unprotectedCount":191},[144,150,154,159],{"type":145,"name":146,"callback":147,"file":148,"line":149},"action","admin_menu","add_item_menu","sync-media-with-AWS-S3-CloudFront.php",11,{"type":145,"name":151,"callback":152,"file":148,"line":153},"admin_enqueue_scripts","link_scripts_styles",12,{"type":155,"name":156,"callback":157,"file":148,"line":158},"filter","pre_option_upload_url_path","change_featured_img_url",22,{"type":155,"name":156,"callback":160,"file":148,"line":161},"change_featured_img_url_no_cloudfront",24,[163,168,172,176,180,184],{"action":164,"nopriv":165,"callback":166,"hasNonce":165,"hasCapCheck":165,"file":148,"line":167},"test_smwas3c",false,"test_link",186,{"action":169,"nopriv":165,"callback":170,"hasNonce":165,"hasCapCheck":165,"file":148,"line":171},"save_configuration_smwas3c","save_configuration",187,{"action":173,"nopriv":165,"callback":174,"hasNonce":165,"hasCapCheck":165,"file":148,"line":175},"choose_files_smwas3c","choose_files",188,{"action":177,"nopriv":165,"callback":178,"hasNonce":165,"hasCapCheck":165,"file":148,"line":179},"load_files_smwas3c","load_files",189,{"action":181,"nopriv":165,"callback":182,"hasNonce":165,"hasCapCheck":165,"file":148,"line":183},"get_diff_files_smwas3c","get_diff_files",190,{"action":185,"nopriv":165,"callback":186,"hasNonce":165,"hasCapCheck":165,"file":148,"line":187},"clear_bucket_smwas3c","clear_bucket",191,[],[],[],6,{"dangerousFunctions":193,"sqlUsage":199,"outputEscaping":224,"fileOperations":219,"externalRequests":34,"nonceChecks":28,"capabilityChecks":28,"bundledLibraries":291},[194],{"fn":195,"file":196,"line":197,"context":198},"shell_exec","aws\\Aws\\Credentials\\CredentialProvider.php",519,"$json = shell_exec($credentialProcess);",{"prepared":200,"raw":149,"locations":201},14,[202,205,208,209,211,213,215,216,217,220,222],{"file":203,"line":11,"context":204},"scan.php","$wpdb->get_row() with variable interpolation",{"file":148,"line":206,"context":207},16,"$wpdb->get_var() with variable interpolation",{"file":148,"line":74,"context":204},{"file":148,"line":210,"context":207},35,{"file":148,"line":212,"context":204},81,{"file":148,"line":214,"context":204},83,{"file":148,"line":111,"context":204},{"file":148,"line":37,"context":204},{"file":218,"line":219,"context":204},"templates\\main_page_s3.php",44,{"file":221,"line":50,"context":207},"uninstall.php",{"file":221,"line":149,"context":223},"$wpdb->query() with variable interpolation",{"escaped":74,"rawEcho":210,"locations":225},[226,230,233,235,237,239,241,243,245,247,249,251,253,255,257,258,260,262,264,266,268,270,271,273,274,275,276,277,278,281,283,285,287,288,290],{"file":227,"line":228,"context":229},"aws\\Aws\\TraceMiddleware.php",62,"raw output",{"file":231,"line":232,"context":229},"options.php",57,{"file":231,"line":234,"context":229},69,{"file":203,"line":236,"context":229},95,{"file":203,"line":238,"context":229},113,{"file":203,"line":240,"context":229},121,{"file":203,"line":242,"context":229},125,{"file":203,"line":244,"context":229},142,{"file":203,"line":246,"context":229},211,{"file":203,"line":248,"context":229},227,{"file":203,"line":250,"context":229},271,{"file":203,"line":252,"context":229},292,{"file":203,"line":254,"context":229},295,{"file":148,"line":256,"context":229},138,{"file":148,"line":35,"context":229},{"file":148,"line":259,"context":229},154,{"file":148,"line":261,"context":229},156,{"file":148,"line":263,"context":229},165,{"file":148,"line":265,"context":229},173,{"file":148,"line":267,"context":229},180,{"file":218,"line":269,"context":229},148,{"file":218,"line":269,"context":229},{"file":218,"line":272,"context":229},175,{"file":218,"line":272,"context":229},{"file":218,"line":272,"context":229},{"file":218,"line":171,"context":229},{"file":218,"line":171,"context":229},{"file":218,"line":171,"context":229},{"file":279,"line":280,"context":229},"test_link.php",38,{"file":279,"line":282,"context":229},52,{"file":279,"line":284,"context":229},59,{"file":279,"line":286,"context":229},65,{"file":279,"line":214,"context":229},{"file":279,"line":289,"context":229},90,{"file":279,"line":37,"context":229},[292],{"name":293,"version":29,"knownCves":294},"Guzzle",[],[296,312],{"entryPoint":297,"graph":298,"unsanitizedCount":63,"severity":311},"load_files (sync-media-with-AWS-S3-CloudFront.php:161)",{"nodes":299,"edges":309},[300,304],{"id":301,"type":302,"label":303,"file":148,"line":263},"n0","source","$_POST['item']",{"id":305,"type":306,"label":307,"file":148,"line":263,"wp_function":308},"n1","sink","echo() [XSS]","echo",[310],{"from":301,"to":305,"sanitized":165},"medium",{"entryPoint":313,"graph":314,"unsanitizedCount":63,"severity":320},"\u003Csync-media-with-AWS-S3-CloudFront> (sync-media-with-AWS-S3-CloudFront.php:0)",{"nodes":315,"edges":318},[316,317],{"id":301,"type":302,"label":303,"file":148,"line":263},{"id":305,"type":306,"label":307,"file":148,"line":263,"wp_function":308},[319],{"from":301,"to":305,"sanitized":165},"low",{"summary":322,"deductions":323},"The \"sync-media-with-aws-s3-cloudfront\" plugin, in version 1.0.5, exhibits a concerning security posture primarily due to a significant attack surface exposed without proper authentication or authorization checks. All six identified AJAX handlers lack any form of security verification, presenting a direct pathway for unauthenticated users to potentially trigger plugin functionality. While the taint analysis did not reveal critical or high severity issues, the presence of two flows with unsanitized paths is a potential indicator of future vulnerabilities if input is not handled rigorously. The use of the `shell_exec` function is a critical red flag, as it opens the door to arbitrary command execution if not carefully controlled with validated and sanitized user input, which is not evident from the provided data.  Despite a clean vulnerability history, this does not negate the inherent risks identified in the code. The plugin's reliance on the Guzzle library could also pose a risk if the library itself is outdated or contains vulnerabilities, although this is not explicitly stated. Overall, while the plugin has no recorded CVEs, the extensive lack of security checks on its entry points and the presence of dangerous functions necessitate significant caution.",[324,326,328,330,332,335,337],{"reason":325,"points":50},"High attack surface without auth checks",{"reason":327,"points":50},"Dangerous function: shell_exec",{"reason":329,"points":50},"No nonce checks on AJAX handlers",{"reason":331,"points":50},"No capability checks on AJAX handlers",{"reason":333,"points":334},"Low percentage of properly escaped output",7,{"reason":336,"points":14},"Flows with unsanitized paths",{"reason":338,"points":14},"SQL queries not always using prepared statements","2026-03-16T22:14:48.110Z",{"wat":341,"direct":351},{"assetPaths":342,"generatorPatterns":345,"scriptPaths":346,"versionParams":348},[343,344],"\u002Fwp-content\u002Fplugins\u002Fsync-media-with-aws-s3-cloudfront\u002Fassets\u002Fscript_smwas3c.js","\u002Fwp-content\u002Fplugins\u002Fsync-media-with-aws-s3-cloudfront\u002Fassets\u002Fstyle_smwas3c.css",[],[347],"assets\u002Fscript_smwas3c.js",[349,350],"script_smwas3c.js?v1.0.0.6.0","style_smwas3c.css?v1.0.2",{"cssClasses":352,"htmlComments":353,"htmlAttributes":354,"restEndpoints":355,"jsGlobals":356,"shortcodeOutput":358},[],[],[],[],[357],"window.jQuery",[]]