jeffcrouse/DeleteCity
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
Delete City By Jeff Crouse jefftimesten at gmail dot com http://www.jeffcrouse.info This software is licensed under the GNU-GPL version 3 or later. Delete City is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. Delete City is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. INTRODUCTION ========================= Delete City uses the ridiculous storage allotment of web hosting services like Dreamhost to cache large amounts of user generated content from sites like YouTube, Flickr, Facebook, etc. and then monitors to see if any of this content is subsequently taken down. When it finds removed content, it automatically posts the content to your WordPress blog. The nature of the content can be customized by the user by site, keyword, and other criteria. Devious? Maybe. But also one step in the fight against censorship. more info: http://www.jeffcrouse.info/projects/delete-city/ INSTALL ======================= To install the bleeding-edge version, try this: cd [wordpress root]/wp-content/plugins git clone https://github.com/jefftimesten/DeleteCity.git REQUIREMENTS ========================= *nix only! (Mac or Linux server) I use a bunch of system commands (mostly for process control) that I don't know how to translate into Windows. I'd love someone to help me, though! PHP >= 5.1 (according to http://phpduck.com/minimum-php-version-script/) Python >= 2.5 IMPORTANT: Apparently many videos are blocked outside of the US, so this plugin will probably fail for non-US users. YOUTUBE-DL ======================== This is a 3rd party script for downloading YouTube videos. You probably shouldn't use this directly - it is called from the other scripts. You can find out more about it here: http://rg3.github.com/youtube-dl/ TO DO ========================= -- Give user choice of categories for post -- IN admin form, cache process indicator doesn't change when runcache finishes -- Blacklist checks for existence of string, not word. For instance, any word with 'ass' anywhere in it (ie: assembly) will be blacklisted. -- Sort videos by feed -- Allow usernames in blacklist -- regex validation for rate limit -- Imlement dc_max_cache_size options (they currently do nothing) -- Can I include some file in runcache that will allow me to get Wordpress options? That would allow me to avoid all of this parameter passing... -- What should happen if someone changes their cache directory? -- Redesign admin interface -- need some UX help -- Testing if video had been removed: testing for presence of <?xml in response probably isn't good enough. Here are some removed videos to test with. http://www.youtube.com/watch?v=eouvTRd6szQ account terminated http://www.youtube.com/watch?v=PgEo_7rMH0Q account terminated http://www.youtube.com/watch?v=JdGJxI6LrX4 removed by user http://www.youtube.com/watch?v=vQsFI4Wp6kI removed by user -- Option to automatically email the video author to ask why the video was taken down :) -- Batch query in runcache.php? -- Catch exceptions from Video class -- Clean up runcache -- it's messy! -- Database security: save database file outside of web-readable directory? Is there a better way? -- Central database (on deletecity.org) ping when a deleted video is found. (optional for user) -- Use PDO instead of SQLite http://www.phpro.org/tutorials/Introduction-to-PHP-PDO.html#4.2 http://henryranch.net/software/ease-into-sqlite-3-with-php-and-pdo/ -- Look for media restriction tag in XML eg: http://gdata.youtube.com/feeds/api/videos/LnKJpYGCLsg <media:restriction type='country' relationship='deny'>DE</media:restriction> http://gdata.youtube.com/feeds/api/videos/CD2LRROpph0 <media:restriction type='country' relationship='deny'>DE</media:restriction> -- Check the PHP version at activation