{"id":21904,"date":"2013-02-12T08:01:38","date_gmt":"2013-02-12T08:01:38","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/snitch\/"},"modified":"2026-03-14T09:09:00","modified_gmt":"2026-03-14T09:09:00","slug":"snitch","status":"publish","type":"plugin","link":"https:\/\/fuc.wordpress.org\/plugins\/snitch\/","author":14478331,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.2.1","stable_tag":"1.2.1","tested":"6.9.4","requires":"3.8","requires_php":"5.2.4","requires_plugins":null,"header_name":"Snitch","header_author":"pluginkollektiv","header_description":"","assets_banners_color":"de9d9e","last_updated":"2026-03-14 09:09:00","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.paypal.com\/cgi-bin\/webscr?cmd=_donations&business=TD4AMD2D8EMZW","header_plugin_uri":"https:\/\/snitch.pluginkollektiv.org\/","header_author_uri":"https:\/\/pluginkollektiv.org\/","rating":4,"author_block_rating":0,"active_installs":900,"downloads":49886,"num_ratings":27,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.11":{"tag":"1.0.11","author":"sergej.mueller","date":"2014-04-21 13:58:17"},"1.0.12":{"tag":"1.0.12","author":"sergej.mueller","date":"2014-07-24 19:13:28"},"1.1.0":{"tag":"1.1.0","author":"sergej.mueller","date":"2014-09-25 12:02:38"},"1.1.1":{"tag":"1.1.1","author":"sergej.mueller","date":"2014-09-30 12:11:21"},"1.1.2":{"tag":"1.1.2","author":"sergej.mueller","date":"2014-12-01 18:39:55"},"1.1.3":{"tag":"1.1.3","author":"sergej.mueller","date":"2014-12-11 16:54:34"},"1.1.7":{"tag":"1.1.7","author":"Kau-Boy","date":"2019-03-22 13:08:28"},"1.1.8":{"tag":"1.1.8","author":"pluginkollektiv","date":"2019-09-08 08:45:01"},"1.1.9":{"tag":"1.1.9","author":"pluginkollektiv","date":"2023-11-09 12:35:43"},"1.2.0":{"tag":"1.2.0","author":"pluginkollektiv","date":"2023-11-09 16:31:26"},"1.2.1":{"tag":"1.2.1","author":"pluginkollektiv","date":"2026-03-14 09:09:00"}},"upgrade_notice":{"1.1.7":"<p>This is mainly a maintenance release which updates the readme and the plugin authors.<\/p>"},"ratings":{"1":6,"2":0,"3":1,"4":0,"5":20},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":2993186,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":2993186,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":2993186,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":2993186,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.11","1.0.12","1.1.0","1.1.1","1.1.2","1.1.3","1.1.7","1.1.8","1.1.9","1.2.0","1.2.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":2993186,"resolution":"1","location":"assets","locale":""}},"screenshots":{"1":"Snitch connection list"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[1174,131785,5603,325,10266],"plugin_category":[51,54],"plugin_contributors":[77798],"plugin_business_model":[],"class_list":["post-21904","plugin","type-plugin","status-publish","hentry","plugin_tags-firewall","plugin_tags-gdpr","plugin_tags-monitoring","plugin_tags-network","plugin_tags-sniffer","plugin_category-multisite","plugin_category-security-and-spam-protection","plugin_contributors-pluginkollektiv","plugin_committers-kau-boy","plugin_committers-pluginkollektiv","plugin_support_reps-krafit","plugin_support_reps-patrickrobrecht"],"banners":{"banner":"https:\/\/ps.w.org\/snitch\/assets\/banner-772x250.png?rev=2993186","banner_2x":"https:\/\/ps.w.org\/snitch\/assets\/banner-1544x500.png?rev=2993186","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/snitch\/assets\/icon-128x128.png?rev=2993186","icon_2x":"https:\/\/ps.w.org\/snitch\/assets\/icon-256x256.png?rev=2993186","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/snitch\/assets\/screenshot-1.png?rev=2993186","caption":"Snitch connection list"}],"raw_content":"<!--section=description-->\n<p>Network monitor for WordPress with connection overview for controlling and regulating data traffic from your site.<\/p>\n\n<h3>Trust, But Verify<\/h3>\n\n<p><em>Snitch<\/em> monitors and logs the outgoing data stream of your WordPress site. It records every outbound connection from WordPress and provides a log table for administrators.<\/p>\n\n<p><em>Snitch<\/em> does not only log connection requests, but enables you to block future requests either by target URL (internet address being called in the background), or by script (file being executed to open up a connection). Once blocked, a  connection will be visually highlighted. Blocked entries can be unblocked with a simple click.<\/p>\n\n<p><em>Snitch<\/em> is a perfect tool to \u201clisten in\u201d on outbound communication. It is also suitable to early recognize any malware and tracking software installed. You can youse <em>Snitch<\/em> to make sure you comply with GDPR.<\/p>\n\n<h3>Summary<\/h3>\n\n<p><em>Snitch<\/em> writes a log of both authorized and blocked attempts of connectivity. An overall view provides transparency and lets you control outgoing connections initialized by plugins, themes, or WordPress.<\/p>\n\n<h3>In A Nutshell<\/h3>\n\n<ul>\n<li>neat interface<\/li>\n<li>displays target URL and source file<\/li>\n<li>features grouping, sorting, searching<\/li>\n<li>visual highlighting of blocked requests<\/li>\n<li>show POST variables with a simple click<\/li>\n<li>block\/unblock connections by domain\/file<\/li>\n<li>monitors communication in back-end and front-end<\/li>\n<li>delete all entries by pressing a button<\/li>\n<li>free of charge, no advertising<\/li>\n<\/ul>\n\n<h3>Support<\/h3>\n\n<ul>\n<li>Community support via the <a href=\"https:\/\/wordpress.org\/support\/plugin\/snitch\">support forums on wordpress.org<\/a><\/li>\n<li>We don\u2019t handle support via e-mail, Twitter, GitHub issues etc.<\/li>\n<\/ul>\n\n<h3>Contribute<\/h3>\n\n<ul>\n<li>Active development of this plugin is handled <a href=\"https:\/\/github.com\/pluginkollektiv\/snitch\">on GitHub<\/a>.<\/li>\n<li>Pull requests for documented bugs are highly appreciated.<\/li>\n<li>If you think you\u2019ve found a bug (e.g. you\u2019re experiencing unexpected behavior), please post at the <a href=\"https:\/\/wordpress.org\/support\/plugin\/snitch\">support forums<\/a> first.<\/li>\n<li>If you want to help us translate this plugin you can do so <a href=\"https:\/\/translate.wordpress.org\/projects\/wp-plugins\/snitch\">on WordPress Translate<\/a>.<\/li>\n<\/ul>\n\n<h3>Credits<\/h3>\n\n<ul>\n<li>Author: <a href=\"https:\/\/sergejmueller.github.io\/\">Sergej M\u00fcller<\/a><\/li>\n<li>Maintainers: <a href=\"https:\/\/pluginkollektiv.org\/\">pluginkollektiv<\/a><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ul>\n<li>If you don\u2019t know how to install a plugin for WordPress, <a href=\"http:\/\/codex.wordpress.org\/Managing_Plugins#Installing_Plugins\">here\u2019s how<\/a>.<\/li>\n<\/ul>\n\n<!--section=faq-->\n<dl>\n<dt id=\"snitch%20creates%20a%20lot%20of%20database%20entries\"><h3>Snitch creates a lot of database entries<\/h3><\/dt>\n<dd><p><em>Snitch<\/em> is designed to log any outgoing connection in WordPress. If the database fills fast, you should look up the cause. Why does your WordPress and plugins communicate so often to the outside that the database table fills? Is this communication really necessary?<\/p>\n\n<p>As a reminder: <em>Snitch<\/em> is designed to help you improve your WordPress performance by detecting and displaying connections as bottleneck. The task for the blog administrator is to eliminate the source of the cause (plugin, theme, etc.).<\/p>\n\n<p><em>Snitch<\/em> automatically ensures that there are not more than 200 entries are kept in the database. If it is nevertheless necessary to remove <em>Snitch<\/em> entries from the database manually, two smart database commands could help:<\/p>\n\n<pre><code>sql\nDELETE FROM wp_postmeta` WHERE `post_id` IN ( SELECT `ID` FROM `wp_posts` WHERE `post_type` = 'snitch' )\n<\/code><\/pre>\n\n<p>DELETE FROM <code>wp_posts<\/code> WHERE <code>post_type<\/code> = 'snitch'\n`<\/p><\/dd>\n<dt id=\"are%20connections%20monitored%20in%20the%20front%20end%3F\"><h3>Are connections monitored in the front end?<\/h3><\/dt>\n<dd><p><em>Snitch<\/em> catches any connection that leaves the blog via <a href=\"http:\/\/codex.wordpress.org\/HTTP_API\">WordPress HTTP API<\/a> (internal WordPress interface for data communication). This affects both the back-end and the front-end of a WordPress installation.<\/p><\/dd>\n<dt id=\"why%20does%20snitch%20list%20wordpress%20cronjobs%3F\"><h3>Why does Snitch list WordPress cronjobs?<\/h3><\/dt>\n<dd><p>WordPress calls internal Cronjobs via <a href=\"http:\/\/codex.wordpress.org\/HTTP_API\">WordPress HTTP API<\/a> - exactly this interface is monitored by <em>Snitch<\/em> and also records Cronjob accesses accordingly.<\/p>\n\n<p>If cronjobs are listed too often, something possibly isn't correct. Therefore, it is recommend to check the list of scheduled cronjob jobs.<\/p>\n\n<p>The following code snippet in the WordPress configuration file <code>wp-config.php<\/code> switches off the logging of the internal WordPress queries:<\/p>\n\n<pre><code>php\ndefine('SNITCH_IGNORE_INTERNAL_REQUESTS', true);\n<\/code><\/pre><\/dd>\n<dt id=\"why%20are%20snitch%20entries%20indexed%20by%20google%3F\"><h3>Why are Snitch entries indexed by Google?<\/h3><\/dt>\n<dd><p><em>Snitch<\/em> stores its entries as <a href=\"https:\/\/codex.wordpress.org\/Post_Types\">WordPress Custom Post Types<\/a>. Important step: By a WordPress attribute Snitch marks all log entries as private, therefore not public. So far, the ideology with private and inaccessible entries would work if there were not WordPress plugins that would carry all - including private - Custom Post Types into the world and communicate with search engines. With fatal consequences for the blogger.<\/p>\n\n<p>And so it quickly happens that Google suddenly hits <em>Snitch<\/em> entries (as blog pages) which are not intended for public access. For example, because <em>Snitch<\/em> entries appear in the sitemap XML of the blog, as a sitemap XML plugin is of the opinion that it is also necessary to add private entries and to have them released for indexing. There is also no help to block via <code>robots.txt<\/code> because the <code>robots.txt<\/code> file does not prevent the indexing of the pages.<\/p><\/dd>\n<dt id=\"automatic%20shares%20go%20crazily\"><h3>Automatic Shares go crazily<\/h3><\/dt>\n<dd><p>The fact that every new <em>Snitch<\/em> entry automatically sends a message to Facebook and\/or Twitter, is clearly not due to <em>Snitch<\/em>. Rather, the cause is to be found in the inserted Auto-Tweet-Facebook-Plugin, which faulty triggers an automatic event at every - also non-public - <a href=\"https:\/\/codex.wordpress.org\/Post_Types\">WordPress Custom Post Type<\/a>. And that's wrong. The usage of such Plugins should be reconsidered.<\/p>\n\n<p>A complete documentation is available on the <a href=\"https:\/\/snitch.pluginkollektiv.org\/documentation\/\">Snitch website<\/a>.<\/p><\/dd>\n<dt id=\"where%20do%20i%20report%20security%20bugs%20found%20in%20this%20plugin%3F\"><h3>Where do I report security bugs found in this plugin?<\/h3><\/dt>\n<dd><p>Please report security bugs found in the source code of the Snitch plugin through the <a href=\"https:\/\/patchstack.com\/database\/vdp\/a690b1e7-428e-4bc5-a01d-2353ebf45f7b\">Patchstack Vulnerability Disclosure Program<\/a>. The Patchstack team will assist you with verification, CVE assignment, and notify the developers of this plugin.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h3>1.2.1<\/h3>\n\n<ul>\n<li>Tested up to WordPress 6.8<\/li>\n<li>Minor code-style adjustments<\/li>\n<li>Add plural translation to \"seconds\"<\/li>\n<li>Slashes in file paths are no longer removed (output issues on Windows systems)<\/li>\n<li>Added link to Patchstack mVDP<\/li>\n<\/ul>\n\n<h3>1.2.0<\/h3>\n\n<ul>\n<li>Shows schema of request (http\/https)<\/li>\n<li>No \"jerking\" in the retrieval list during mouse over<\/li>\n<li>Remove <code>lang<\/code> folder in favor of translations via translate.wordpress.org<\/li>\n<li>Support for WordPress 6.4<\/li>\n<\/ul>\n\n<h3>1.1.8<\/h3>\n\n<ul>\n<li>Support for WordPress 5.2<\/li>\n<li>Bugfix: Deprected Non-static call<\/li>\n<\/ul>\n\n<h3>1.1.7<\/h3>\n\n<ul>\n<li>Updated README<\/li>\n<li>Improved user interface<\/li>\n<li>Support for WordPress 4.9<\/li>\n<\/ul>\n\n<h3>1.1.6<\/h3>\n\n<ul>\n<li>Updated README<\/li>\n<li>Updated <a href=\"https:\/\/pluginkollektiv.org\/hello-world\/\">plugin authors<\/a><\/li>\n<\/ul>\n\n<h3>1.1.5 \/ 06.05.2015<\/h3>\n\n<ul>\n<li><a href=\"https:\/\/github.com\/pluginkollektiv\/snitch\">GitHub Repository<\/a><\/li>\n<\/ul>\n\n<h3>1.1.4<\/h3>\n\n<ul>\n<li>Support for WordPress 4.2<\/li>\n<li>Nice to have: <code>admin_url()<\/code> for <code>edit.php<\/code> requests<\/li>\n<\/ul>\n\n<h3>1.1.3<\/h3>\n\n<ul>\n<li>Support for WordPress 4.1<\/li>\n<\/ul>\n\n<h3>1.1.2<\/h3>\n\n<ul>\n<li>Feature: english translation for the readme file<\/li>\n<li>Feature: russian translation for plugin files<\/li>\n<\/ul>\n\n<h3>1.1.1<\/h3>\n\n<ul>\n<li>Feature: status code \u201c-1\u201d for failing connections<\/li>\n<\/ul>\n\n<h3>1.1.0<\/h3>\n\n<ul>\n<li>Feature: execution time as metric (thanks <a href=\"https:\/\/www.gaertner.de\">Matthias Kilian<\/a> for the idea)<\/li>\n<\/ul>\n\n<p>For the complete changelog, check out our <a href=\"https:\/\/github.com\/pluginkollektiv\/snitch\">GitHub repository<\/a>.<\/p>","raw_excerpt":"Network monitor for WordPress. Connection overview for monitoring and controlling outgoing data traffic.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/fuc.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/21904","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fuc.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/fuc.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/fuc.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=21904"}],"author":[{"embeddable":true,"href":"https:\/\/fuc.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/pluginkollektiv"}],"wp:attachment":[{"href":"https:\/\/fuc.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=21904"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/fuc.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=21904"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/fuc.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=21904"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/fuc.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=21904"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/fuc.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=21904"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/fuc.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=21904"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}