Using cloud technology for advanced rickrolling

a discord embedded video, it looks like mgmt's little dark age but when clicked it goes to rick astley's never going to give you up

As you can probably tell from the picture above, this is an app which will create embeds deceptively similar to YouTube’s, but will play the infamous ‘Never gonna give you up’ YouTube video when clicked, rickrolling the user regardless of what was ‘supposed’ to play.

When I was making my discord bot and studying into how discord embeds worked, I saw how many options there were, including video embeds. And I had an idea studying into how YouTube’s embeds worked. Recently, I made an open source project that allowed people to place any thumbnail over the ‘Never gonna give you up’ YouTube video, and here it is. This apps makes rickrolling virtually undetectable to the untrained eye, since it looks just like a standard embed.

Why build this?

I previously built a version of this without code using integration services, but this was far from optimal and you could only do so much. So I wanted to build a more versatile version that allowed more usage and more features.

But why? Rickrolling is dead!

This survey says different.

How do you use it, do you need to know how to program use it to rickroll people?

No, the system is designed to be simple (If you want to set up your own domain, you might need some programming knowledge, I’ll use my for now). You can simply extract a YouTube video ID from any video of your choice. You just have to copy everything after the watch?v= in the URL, see the picture below.

a screenshot of a youtube url with the video id highlighted

Once you’ve got this video ID, you can use it to tell the app what video to use. Depending on what type of YouTube embed you want, you can use either traditional YouTube embeds, by using<id> by replacing <id> with the video ID you copied.

a discord youtube video embed displaying little dark age

Or you can make it so it looks like a file has been uploaded, this can be done using the same video ID. You can use<id> to make it look like a video has been uploaded. You can also apply any file extension and the app will return the same thing.

two videos on discord, both of a rocket over a red back ground with a silhouette of vladimir lenin over it

How does it work?

When a website embeds in discord, it goes through a process where discord will make a request to the site. The site returns some HTML tags telling discord (and other social media platforms) how to make a preview of the site, and YouTube features a special kind of embed where it can play a video inside discord. These embeds are very versatile, which allows the app to tell discord to display any thumbnail for any video.

When a request is made to the app by discord, it includes a video ID, just like a YouTube video does. This tells the app what thumbnail and title it should display. It then makes a request to YouTube for this information, styles it into an embed that looks like YouTube’s embed and adds the rickroll behind the scenes. It then sends the embed back to discord, to catch out the unsuspecting victim.

Where’s the cloud technology?

If you’ve used Heroku before, you’ve probably received an email telling you that Heroku are shutting down some free tier products. As you might’ve guessed, the joke-embeds app was designed to run on these free dynos. With the shutdown of these free dynos, I’ve decided to stop hosting the app on, since I don’t use it anymore, and I don’t receive any comments on this post or the YouTube video of the app.

The app uses a free service called Heroku which is a PaaS (Platform as a Service) which allows users to deploy small applications, these apps can use custom domains which I’ve used to my advantage. The app and is designed to work specifically on Heroku. I previously constructed something that worked like this app, but it would use integration services like Integromat. However, these would quickly run out of uses since calling it would use up your monthly allowance and you would only be able to use it around 500 times per month. Heroku allows you hundreds of hours a month aswell as using your own domains.

If you want to work to host your own copy of the app on your own domain, Heroku provides instructions here for how to setup apps connected to your own domains. Bear in mind due to the SSL that Heroku uses, your app will need to work over HTTP than HTTPS.

Rickrolling has always been one of my favourite memes since it’s so simple to do but can be done in so many ways. What’s the most unique way you’ve rickrolled someone?

How some python and Heroku can be combined to put a new spin on rickrolling Click To share this post

2 thoughts on “Using cloud technology for advanced rickrolling

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.