All Projects β†’ reddtoric β†’ Skipytads

reddtoric / Skipytads

Licence: gpl-3.0
Don't want to use AdBlockers? Skip annoying Youtube Ads with this python script!

Programming Languages

python
139335 projects - #7 most used programming language
python3
1442 projects

Projects that are alternatives of or similar to Skipytads

yout
πŸ”₯ YouTube playlist player for desktop. Free, no YouTube ads, floating window. Available for Linux, Mac and Windows.
Stars: ✭ 82 (+115.79%)
Mutual labels:  youtube, ads
Skip Ad
A simple lightweight Chrome extension that automatically skips YouTube Ads.
Stars: ✭ 54 (+42.11%)
Mutual labels:  ads, youtube
Blog Post Workflow
Show your latest blog posts from any sources or StackOverflow activity or Youtube Videos on your GitHub profile/project readme automatically using the RSS feed
Stars: ✭ 910 (+2294.74%)
Mutual labels:  youtube
100 Days Of Swiftui
πŸ‘¨β€πŸ’»πŸ‘©β€πŸ’»100 Days Of SwiftUI free course from Hacking with Swift. πŸ‘¨β€πŸ’»πŸ‘©β€πŸ’»
Stars: ✭ 35 (-7.89%)
Mutual labels:  youtube
Distro Delves
YouTube web-series looking at operating systems in an informational & entertaining format.
Stars: ✭ 31 (-18.42%)
Mutual labels:  youtube
Clinet
Official repository for Clinet, a Discord bot intended for assistance and control within your guilds.
Stars: ✭ 28 (-26.32%)
Mutual labels:  youtube
Youtubetospotify
A Python script to fetch tracks of music channels on Youtube, find them on Spotify and add them to a playlist
Stars: ✭ 33 (-13.16%)
Mutual labels:  youtube
Youtube Dl Gui
A cross platform front-end GUI of the popular youtube-dl written in wxPython.
Stars: ✭ 7,914 (+20726.32%)
Mutual labels:  youtube
React Native Youtube Ui
React native tutorial showing how to build Youtube mobile app UI
Stars: ✭ 37 (-2.63%)
Mutual labels:  youtube
Plyr
Plyr Mediaplayer (Video und Audio) im Front- und Backend
Stars: ✭ 30 (-21.05%)
Mutual labels:  youtube
Feeds
Importiert Daten aus API-Quellen wie Facebook, Instagram, Twitter, YouTube, Vimeo oder RSS (ehemals YFeed)
Stars: ✭ 34 (-10.53%)
Mutual labels:  youtube
Theconsolelog
A weekly podcast all about JavaScript.
Stars: ✭ 30 (-21.05%)
Mutual labels:  youtube
Videojs Youtube
YouTube playback technology for Video.js
Stars: ✭ 948 (+2394.74%)
Mutual labels:  youtube
Ytspotifydl
Youtube and Spotify music downloader with metadata.
Stars: ✭ 34 (-10.53%)
Mutual labels:  youtube
Youtube Auto Subtitle To Chinese Subtitle Download
δΈ‹θ½½ Youtube θ‡ͺεŠ¨ε­—εΉ•ηΏ»θ―‘ζˆδΈ­ζ–‡ε­—εΉ•εŽηš„ε­—εΉ•ζ–‡δ»Ά
Stars: ✭ 29 (-23.68%)
Mutual labels:  youtube
Firedm
python open source (Internet Download Manager) with multi-connections, high speed engine, based on python, LibCurl, and youtube_dl https://github.com/firedm/FireDM
Stars: ✭ 977 (+2471.05%)
Mutual labels:  youtube
Pornlist
Ad-blocking porn websites filter list for Adblock Plus and uBlock Origin.
Stars: ✭ 21 (-44.74%)
Mutual labels:  ads
Richtextview
iOS Text View (UIView) that Properly Displays LaTeX, HTML, Markdown, and YouTube/Vimeo Links
Stars: ✭ 953 (+2407.89%)
Mutual labels:  youtube
Youtube Fetcher
πŸ“Ί Youtube Podcasting 🎧
Stars: ✭ 31 (-18.42%)
Mutual labels:  youtube
Node Ytdl
Command line youtube video downloader.
Stars: ✭ 986 (+2494.74%)
Mutual labels:  youtube

SkipYTAds

Hate YouTube ads but don't want to use an ad blocker? You don't mind those ads because some are good or introduces you to new things but you don't want those extra long annoying ones? Well, here's a python script just for that!

This script automatically searches for the skip button every 6 seconds (adjustable) and if there is a skippable ad, it'll skip it for you. And if you're in the middle of watching a skippable ad but interested in continuing, just press the pause button (before it does it's thing) and it'll pause the script. Then returns your cursor back to where it was (but does not refocus your original window; a desired feature possibly added).

Best for when you are doing something not necessarily on PC and you have videos playing as background tv.

!Important: The skip button has to be visible! It cannot be hidden behind another window.

(A python script that uses python-imagesearch to search for matching various YouTube's skip buttons and uses PyAutoGUI to click the button.)

Table of Contents

Prerequisites

*To do. Python 3?

Running the script

In a cli, traverse into the directory and run $ py ./skip_ads.py or double click script to run.

Pausing/Unpausing script

Press the keyboard pause button to toggle between pausing and resuming the script.

Verbosity Modes

Adjustable in file/overridable with cli arguments.
'a' = Show all outputs
't' = Show toggle (pause/unpause) outputs & also when it skips an ad (Default)
'q' = Quiet
Show all example: $ py .\skip_ad.py -v a

Adjustable Interval

Default interval is 6 seconds but is adjustable in file/overridable with cli arguments. Accepts float number greater than or equal to 1. $ py .\skip_ad.py -i 1

Running multiple monitors?

Use the opt_verify_corner_pos script to find out the position value of your top-left corner.
I have a 2x2 setup where my bottom-right monitor is the main display. So, my top-left corner are negative values. My monitors are 2560x1080 so I have to override the screen min values like so override_screen_min = Point(-2560, -1080) in user settings section.

If you're like me with a 2x2 setup, uncomment all code sections under "Ref: Stick Corner Workaround". This solution isn't foolproof. It's simply code that centers the cursor on my main monitor or the monitor above depending on where is the button/cursor destination and then moves it to avoid the center corners where it's a little sticky by going horizontally/vertically rather than diagonally.

Mismatched monitor sizes can cause problems.

Compatibility

Tested on Windows 10. Not tested on Linux/MacOS.

Script is not browser dependent so you can use your favorite browser. (If button image is different size, screenshot and replace the original images.)

Other settings

accuracy accuracy of the image match. See python-imagesearch docs for more info. Default is 0.8. min: 0, max: 1 Accuracy is now 0.9 and not a settings anymore because anything less than β‰ˆ0.87 accuracy will have false positives with YT's video titles with capital 'A'.

Ad not skipping? Want script to match other images to click?

If button image is a different size or different color, the imagesearch will not match because it's not an AI script; it literally matches pixels.

Simply add additional or replace original images in the images folder. No need to add anything like "filename.png" in the script.

Known issues

  • Does not match button when a (non-solid black color) video is in the background of the button. Basically anything that does not match any images in the images folder. This problem won't be fixed in this project because that would require a different implementation (i.e. AI image recognition). | Ideal working example | Example of what will not work | | --- | --- | | Ideal example | Example of what will not work |

Features to implement

  • Set focus back to original window to minimize interruption
  • More robust solution
  • GUI notification for pause/resume
  • Run in background
  • Auto start up app

Libraries used


Specs

What I wanted:

  • Skips ads for me so that I don't have to physically do it for whatever reason
  • Does not completely block ads because I want to see some ads
  • Offer a way to stop from skipping

Dev note

This script may be clunky and not robust but it works to my specs. I wanted something that clicks the button for me when I'm doing stuff and have a video playing.

It doesn't work while in a game that centers your cursor and not allowing it outside of the window which I'm okay with.

I don't use ad blockers because I actually like to see some of the ads. But other ads like an ad of a tutorial on a brand of smart lights that is several minutes long is extremely displeasing. I DON'T OWN ANY. Why is an ad showing me how to use smart lights!? Just assuming that it's popular or everyone owns them.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].