You are here

MyTube

Update: MyTube is now available from drupal.org as of Tuesday, April 19th.

MyTube has been updated by Brian Swaney to work in Drupal 6, and is running on this website. The module works by automatically replacing embed code with local image tags that are replaced with the Flash embed when clicked. This prevents Flash cookies, remote-site requests, and similar invasions of privacy from automatically plaguing visitors when they access your page because until the user clicks play, no remote request is made to the Flash-hosting website. For certain websites, such as YouTube, the correct thumbnails will automatically be downloaded to your server and displayed without making remote requests. The module was originally written by Tim Jones of the Electronic Frontier Foundation to protect visitors' privacy while still allowing Flash (YouTube) videos or other embedded content to be loaded. See below for an example.

The module is ready for release. You can see our work in progress from our Git repository, and you can see a summary of changes and list of known errors here. Note, due to a security fix, the module requires the HTML Corrector filter to function properly. This is installed as part of the core for Drupal 6, but administrators of Drupal 5 will need to install it separately. HTML Corrector can be downloaded from here for Drupal 5. MyTube is released under the GNU General Public License and you are free to contribute code (use our contact form if you need help).

Example:
mytubethumbplay
Privacy info. Clicking this will serve remote content from youtube.com.

To install, download the stable from drupal.org to your sites/all/modules folder and extract it. In Unix or Linux, you can do this with the command tar -xzvf mytube-d6.tgz. Once extracted, you should be able to enable it following the instructions from the handbook, but if you're running Drupal 5, you'll have to do the same with HTML Corrector first. If you're updating MyTube, first copy the old mytube folder to a temporary location outside that folder (/tmp/ works), then download and extract the new package in the same place. Once you've confirmed the new version is working, you can delete the old folder. MyTube does not currently affect the database schema in any way, so running update.php is not required. You can access the development version in our git repository.

Note: MyTube does not escalate users' permissions. In order to use MyTube, the affected input format should have <embed>, <iframe>, <object>, and/or <param> tags whitelisted in the HTML filter. Since it is not possible to guarantee an arbitrary remote embed is not malicious, this poses a potential risk of cross-site scripting or spread of malware if anonymous or untrusted users can use it. Therefore, you should only allow MyTube for users you know and trust; despite reasonable efforts to prevent them, MyTube makes NO GUARANTEE that specially-crafted embeds will not escape it.

Comments

I am working on a version for Drupal 7 and Wordpress but I'm not overly familiar with their API and they haven't tested well. Anyone willing to help is welcome to do so.

Hi, I've been trying to find a link to this module on drupal.org - is there a reason it's not contributed back to the community? I'd be willing to help you get it there :)

The module is unfortunately not yet on drupal.org because I still have to apply for a CVS account. Right now things are pretty busy in school. I plan on signing up along with Tim Jones over Winter break.

If you're looking to help get it on drupal.org - and I'd definitely like to get it there - I'm worried about making sure the module meets their criteria before applying. If you or someone you know plays a role in the decision of whether to accept or reject a project, that would also help. I would really like to get it on drupal.org so it automatically detects updates, in addition to maybe seeing more widespread use.

Update: MyTube is in Drupal issue queue, pending approval.

After 4 long months, MyTube has finally been approved. http://drupal.org/project/mytube