Category: Computers and Internet

YouTube Annoyances Remover (GreaseMonkey JavaScript) 2020.01 update

Format labels are now included in the download links

Recently, I found that the thumbnails were not loading and the alternative download links were not getting listed. Both problems have been fixed in this update.

Youtube video download links and thumbnail fixed

About this User JS

Disables ads, turns off autoload/autoplay, adds RSS link, deletes “recommended for you” videos, unhides description, displays all comments, changes profile link to videos page; changes region to US, displays video thumbnail image, and adds a link to the lighter version on Hooktube if video is not playable for codec reasons. Supports Firefox-based browser up to Firefox 36. Newer versions should use a UserAgent (UA) spoofer add-on. YouTube loads a lighter version of the YouTube page for older browsers. This script will require the GreaseMonkey add-on to be executed by the Firefox browser. For embedded YouTube videos, use the script com.vsubhash.js.embedded-video-catcher.user.js.

The download links can then be sent to the DownThemAll add-on with the file renaming mask set to “*text*.mp4”.

EmailTweetor v2020.01.21 for Linux/Mac/Windows can list trolls (followers) and follow, unfollow, mute, unmute, block and unblock Twitter accounts

I will add a direct message option when the ones that I am following start following me.

I have written another book – a book of cartoons. I wanted the book to be privately reviewed by some American commentators and had to manually log into Twitter to follow them. ‘Following’ is the only way to send a direct message with the download link.

I also found that some accounts following my account. The only way to block an account is to visit that person’s timeline and then click on block option. I hate to look at these people. (I block everyone on Twitter and I do not follow anyone.)

So, I updated EmailTweetor with new options – trolls, follow, unfollow, block, unblock, mute, and unmute.

EmailTweetor.jar -jar trolls #list 1000 followers
EmailTweetor.jar -jar block HillaryClinton #blocks the mad cow
EmailTweetor.jar -jar unblock realJamesWoods #unblocks the jailed

http://www.vsubhash.com/subhash-email-tweetor-app-for-android.html

Bloomberg and New Yorker also protect their paywall with Javascript

Joins New York Times and BloombergQuint

Thanks to Modi’s slow Internet, I found yet another site taking forever to download. When the page finished downloading, the content of the article suddenly disappeared and paywall appeared. Now, Bloomberg is also confirmed to be using Javascript to protect its paywall.

A few months after I informed BloombergQuint, they implemented a real paywall with truncated content, instead of one protected by CSS. New York Times continues to be on Javascript security.

When you truncate content, search engines cannot find much value in the pages. These pages will not appear in the search results. CSS and Javascript paywalls continue to provide the content to search engines.

There is a simple alternative to all this. Like my website, use Javascript to lazy-load images, CSS, other Javascript files and content for sidebar, header and footer. Someone who disables Javascript will not see the images and miss out on formatting. Search engines will continue to index those pages.

Articles should be truncated and moved behind the paywall as they grow old. Their URLs should not be changed to retain whatever search engine mojo they have acquired. And, the meta tags for robots (in the HTML) should say “index,nofollow,nocache,noarchive”.

Update: I found that the New Yorker is also on Javascript security.

New York Times protects its paywall with JavaScript – BloombergQuint used CSS

Instead of promoting social media sites and writing click-baity articles using millennials, how about hiring some experienced journalists and programmers.

One of the advantages of having the Modi government’s slow Internet is that web pages take forever to download. I clicked on a link and this NYT page started downloading quite lethargically. For some time, I was able to read the article but when the Javascript gunk finished downloading the article suddenly got truncated and a floating panel asked me to register to read the article. So, I turned off Javascript and the article loaded in full. No registration necessary.

They say that the site is still free if you sign up but I was not going to investigate. With BloombergQuint, I had to write a GreaseMonkey script.

NYT paywall defeated by switching off Javascript

NYT paywall defeated by switching off Javascript


age

Thank you, Carlos Maza, for preventing Google from ever again fooling millennials with false promises of making money off YouTube videos

Google skewed page views to artificially create some YouTube millionaires to attract young content creators and new audiences. Not anymore, thanks to CNN, Carlos Maza and pressure groups.

Google employees used to hit schools, colleges and universities to encourage millennials to join YouTube and post videos. They made presentations of how young people with nothing more than a phone camera could make money off videos – money based on page views. It seemed too good to be true. Youtube also created some artificial millionaires to buttress their claims.

Why do I say that YouTube created artificial millionaires? If today YouTube can surreptitiously choke traffic (shadow banning) to right-leaning channels, then after Google’s acquisition YouTube could certainly have been driving traffic to artificially “organically” grow some channels.

Besides that, YouTube does not make money, as neither do most Google services. Except for Adsense. It is a combination of creating accounting and tax evasion. Adsense is a corporate legal fiction created in multiple tax havens that the IRS and EU tax officials have refused to look closely. Every big US multinational corporation is doing the same thing. Adsense makes just enough money within the US to float Alphabet above water while secreting most of the profits away from the IRS. Adsense is more of an Irish or Dutch company than American.

YouTube Search becomes useless, as censorship decimates discoverability

After CNN campaigned against conspiracy theorist Alex Jones, advertisers asked YouTube to shadow ban channels that were too opinionated or off centre. Now, Youtube search is totally useless. Old search terms do not work. Notifications do not work. Useless videos from TV channels appear like spam in the results.

Vox Adpocalypse

Anyway, former Vox ‘journalist’ Carlos Maza waged a long crusade against a conservative YouTuber named Steven Crowder. (I put the word journalist in quotation marks because Mr. Maza says the job of a journalist is not supply the news but to censor it.)

Maza has published many openly partisan and anti-Trump videos. Crowder took him to task by giving many of his videos point-by-point rebuttals. Crowder is a comedian and he peppered his criticism with sarcastic jokes about Maza. Maza identifies himself as a ‘Marxist pig’ and has also called for violence against conservative politicians. He still took offense at Crowder’s swipes at him. Despite being a male, grownup and a ‘journalist’, he complained to Google that Crowder was bullying him. He complained to YouTube that the site was not a ‘safe space‘ for precocious man-boys like him.

YouTube reviewed Crowder’s content and found them legally safe and withing the terms of the site policy. After all, it is not Youtube’s job to protect someone from ridicule and criticism. Maza was not satisfied and went raving mad. Crowder’s channel was demonetized and censored from searches, ‘related videos’ and other places. Crowder was one of the first batch of ‘Youtube Partners’ and feels betrayed by Google.

Google-YouTube censorship deserves FTC action

Google claims it is a private company and can deal anyway it feels like with its content creators. This is not legally tenable. By making false promises and bait-switching, Google has indulged in anti-competitive and anti-consumer business practices. This invites action from Federal Trade Commission. If YouTube did not sign any agreement with its creators, it would have been legally safe but by making a contract Google has bound itself with normal business rules. It cannot indulge in censorship without proper explanation. Many class-action suits have already been filed against Youtube. One Youtuber went as far as shooting up the offices of the outfit.

Subscriptions are increasing but page views are decreasing, indicating suppression

Remember the time, when Google claimed that a programmer wrote Street Maps van code that inadverdantly collected wireless network IDs and passwords. Something similar will happen when it is discovered that Google algorithmic skewing suppressed page views to decrease payouts to content creators.

Eli, the computer guy, was another early Youtuber. He used to make lots of money from videos. He decided to become a full-time YouTuber and made investment in video and studio equipment. Now, despite having nearly one million subscribers, he gets only 1000 views on all new videos. He has also been deprived of the ability to livestream videos using some unwritten rule that his channel manager in Youtube refuses to disclose to him. Eli sometimes speaks about controversial topics. That must have upset somebody. So, some Youtube manager dedicated a few hours of his life to sit through Eli’s videos, found that livestreaming was crucial to Eli at that moment, and took away that privilege.

There are many such YouTubers. They have millions of subscribers but their channels are not recording as many views. How can this happen? With everyday, subscribers are increasing? Shouldn’t page views similarly? Who is stealing the page views if not for Google.

These content creators have been given false promises by YouTube and now their investments have been rendered useless. They abandoned their careers and their lives have been permanently ruined.

Suppressing page views has not been enough so Youtube has simply deleted or demonetized thousands of channels. Videos that have been on YouTube for years without any problems have suddenly been demonetized. If YouTube had money like earlier, this would not happen.

The new advertiser-friendly and censorship-heavy Youtube is making less money than earlier and even lesser to share with content creators. Youtube is suppressing traffic stats across the site, irrespective of the nature of the content. Everyone is suffering from low page views. This is also a clear deceptive trade practice. They have become trapped by Google. They cannot move their business elsewhere. It is time to break up Google.

A channel with 30 million subscribers struggles to get even 1 million views per video, unless it is about India.

CNN, Maza and pressure groups have ensured that Youtube is not a profitable site for independent content creators. This is good for millennials. While many young kids say that they want to be Youtubers, once they realise how little money they can make off videos and how dramatic algorithmic changes can affect their earnings, better sense will prevail. Young people will find real stable jobs offline. Thanks, Maza. You have unwittingly done something useful in your life.

A liberal left-leaning angel of peace.

How to browse like it is 2009

Firefox has committed suicide by destroying its add-on ecosystem. Google must be very happy but not as happy as it will be when Firefox becomes a Chrome clone.

If there was a conspiracy to destroy Firefox, it must have begun when some homosexuals started campaigning for the ouster of Javascript inventor and Mozilla chief Brendan Eich for some political donations he made in his personal capacity.

After Eich left, Mozilla abandoned Gecko HTML engine and switched to a new one written in Rust. This made the vast ecosystem of Firefox add-ons incompatible with the Firefox browser.

The new HTML engine was written to support Google Chrome’s WebExtensions add-on format. The trouble was that Chrome users are technological morons. Unlike Firefox users, Chrome users do not know what add-ons are and have no use for them. They are too stupid to even change the browser home page settings and that’s how Google like its users to be.

If Firefox users are power-users, then I am a super-power-user. I worked mostly on the old Presto-based 12x Opera and rarely on Firefox. After Opera became a Chrome clone, I had to reluctantly use Firefox more than I would like. It has been several years now and I am not entirely veined off Opera but I am more reliant on Firefox.

Use CA Add-ons Archive

To force holdouts like me to switch to the new and lousy Firefox, Mozilla has cut access to the add-ons portal. When you try to install add-ons in older Firefox versions, Firefox website asks you to update to the latest version.

Fortunately, some developers have salvaged the add-ons archive and made it available to Firefox v45 using an add-on named CA Add-ons Archive. You will need to turn off the “about:config” setting “xpinstall.signatures.required” to false to enable this add-on.

WARNING: As the signature verification has been turned off, no financial transactions or other mission-critical operations should be performed in such compromised browsers.

The CA Add-ons Archive also allows you to download older versions of add-ons, not just the last one. This is very useful because I do not use v45 either but a much older version. Older versions of Firefox require older add-ons. Firefox v45 and CA Archive add-on is good just for that.

Many sites become too slow on v45. On older versions of Firefox, sites like YouTube load the older and lighter version of the site and work well with my Greasemonkey scripts.

Turn off mediastreaming

In newer versions of Firefox, mediastreaming is used to load videos. This makes it difficult to grab streaming video files. (I am unable to stream Internet videos because a group of monkeys play with my Internet connection and power supply.)

Type “about:config” in the address bar, disable the options for “mediasource” and restart. Then, my Greasemonkey scripts work.

Use a userContent.css stylesheet

In your Firefox profile directory, there has to be a chrome directory. If not, create it. Then, create a userContent.css file there to prevent ad blocks from appearing on sites that you usually visit. The ads work fine on newer browsers. On older browsers, they block the page from loading. Here is an example of the file contents.

body { background-image: none!important; } /* For all sites */
@-moz-document url-prefix(https://us.cnn.com/) { /* Only for CNN */
  /* Don't use quotation marks for class or ID names */
  #breaking-news, section[data-zone-label="Shopping Content by CNN Underscored"] { display: none!important;
}

Prevent right-click capture

Some sites prevent you from using the right-click context menu. In “about:config”, disable “dom.event.contextmenu.enabled”

BSNL is injecting ads into http websites

BSNL injects Javascript code into HTTP webpages, which makes them load ads and popups.

On my main computers/OSes, I use Linux with a firewall. The firewall allows only DNS (53), http (80) and https (443) outgoing requests. All other ports are blacklisted. When I send mail, I manually open the firewall and close it immediately afterward. The Javascript is loaded from a BSNL Internet Backbone IP on port number 3000. My firewall blocks all unwanted ports and this javascript was note loaded and I did not see any ads.

When browsing a newer version of Ubuntu where no firewall was installed, the ads got loaded. I have not installed the firewall because it has become obsolete and no available in newer Linux distributions. I use the new Ubuntu installation only when I have to book tickets on the IRCTC website, which does not work with old browsers.  After I looked up the syntax for IP tables, I blocked unwanted ports. Now, the ads do not get loaded.

But, this is still troublesome because most Linux users think that their OS is virus-free.

On the mobile, I have no firewall (and that is why I don’t do any financial transactions on the phone). I was surprised to see that my own website serving ads. My website http://www.vsubhash.com does not have ads. It has no Google tracking/analytics code, social media sharing javascripts, and other junk that slows down websites. There is no Javascript other than what I had written on my own as part of my CMS – Subhash SqlSiteServer. One day when I was visiting my own website, I found the browser asking permission to open a popup. I examined the code of the web page and there was some Javascript in it. Who put it there? I noted that the URLs of the popup requests were similar to the ones I experienced on some other websites. On further examination, I found that these ads were injected by the ISP (BSNL) for all requests of http websites.

BSNL code injection

BSNL has injected Javacript code into my website, which is still on http.

I examined the Javascript code. It was obfuscated and downloads some of the c-r-a-p-p-i-e-s-t ads from several international and Indian ad sources. The Javascript encodes the BSNL subscriber’s IP, some unique subscriber ID, browser UA string, and some other data.

Ads are loaded from a dozen ad servers: Inmobi, Mobvista, Admaven, Adcash, etc.

Initially, I thought some hackers have taken control of BSNL DNS server. I emailed CERT-IN and got no response. It was clear that they knew what BSNL was doing and decided to be quiet.

Some years ago, I found that these ads also interfere with some files that Ubuntu or some application downloads for updates. This process was downloading a particular XML file and BSNL javascript code inside the XML made the program crash.

In the US too, ISPs tried this form of ads but I am not sure if it is still allowed. This problem affects HTTP sites and not HTTPS sites.

The HTTPS Everywhere propaganda people are using this to goad everyone to add SSL certificates to their sites. Google is the biggest beneficiary of this campaign. People are more likely to upgrade their Android phones the browsers are unable to access SSL sites and sites with newer certificates.

I have all forms of ad-blocking – ad-blocking HOSTS file, user scripts, user CSS, ad-safe DNS providers. All of this gets defeated if the ISP inject ads hosted from their own IP address. Lesson learned – never browse without a firewall. Block all unwanted ports. Constantly update your HOSTS files to ensure that no ads are ever displayed.

Good job, BSNL! Thanks for nothing.

Modi wants all Indians to conduct digital transactions and you are not helping, are you? What am I talking about? Even Modi’s app has been reported as a personal information stealer.

YouTube Annoyances Remover 2019.06 Update

Disables ads, turns off autoload/autoplay, adds RSS link, deletes “recommended for you” videos, unhides description, displays all comments, changes profile link to videos page; changes region to US, displays video thumbnail image, lists offline download links, and adds a link to the lighter version on Hooktube if video is not playable for codec reasons.

Youtube video download links

The current video link, the Hooktube video link, and other format/bitrates are linked. These links when used with DownThemAll add-on (file renaming option set to “*text*.mp4” will ensure the download is completed offline.

This script supports Firefox-based browser up to version 36. Newer versions should use a UserAgent (UA) spoofer add-on. YouTube loads a lighter version of the YouTube page for older browsers. This script will require the GreaseMonkey add-on to be executed by the Firefox browser. The download links can then be sent to the DownThemAll add-on with the file renaming mask “*text*.mp4”.

It seems that Mozilla has effectively destroyed its add-on ecosystem by switching over to Google Chrome’s WebExtensions format. I recently installed the latest version of Firefox and it has no add-ons worth naming in its download portal. DTA is not there and neither is Greasemonkey. If had Google had infiltrated Mozilla and decapitated its top management, Firefox couldn’t be worse. Mozilla’s own management is diluting its brand appeal, frustrating add-on developers, disappointing its user community and effectively throwing Internet users to the jaws of the Google spyware called Chrome. (https://www.thewindowsclub.com/microsoft-disabled-these-chromium-services-features-in-new-edge)

For embedded YouTube videos, use the new script com.vsubhash.js.embedded-video-catcher.user.js.

Unable to stream YouTube and other videos

I have lived in several houses in three South Indian states. In all of them, there are unusual electric disturbances. The net connection is also very unstable. (I wrote the NetCheck desktop and mobile application for this reason – http://vsubhash.com/netcheck-app-for-android.html) When the net connection seems to be stable, the electrical disturbances trips the Internet modem.

For this reason, I am unable to play videos as an online stream. I have to download them first and play them offline on the TV. The downloads have to be constantly restarted because the net connection stops intermittently.

The electrical disturbances destroys electrical appliances. I run the entertainment systems and computers on a UPS and this protects them. But, I can hear the UPS relay clicking incessantly. Earlier, the modem was on the mains directly. Now, it runs of the UPS. Even then, the modem stops net connection for some reason.

Apart from the electrical disturbances, the power supply is cut several dozen times a day – in all three states. In a month, they are off for an entire day or an entire night for at least three or four days. This always happens when I am visiting someone and trying to work on a computer. The UPS supports the modem and the network switch for about 20 minutes if my laptop is powered from the battery. If I am on the desktop, the backup lasts for just five minutes.

I rarely use the mobile now. Here too, the net connection is not stable.

In this video, you can hear the racket created by the relay. In the background, you can hear the fan speed going up and down with the voltage fluctuations.

GreaseMonkey Javascript Source Code

How to composite videos using FFMPEG

Video overlays are not easy but can be done.

I have two videos and I need to place them side-by-side in a new video. The dimensions first video (blob.mp4) was 1280×720. The second video (aoc.mp4) was 406×720.

The compositing was achieved by using a complex filter:

ffmpeg -i blob.mp4 -i aoc.mp4 -filter_complex "[0:v]pad=1686:720:0:[a]; [a][1:v]overlay=1280:0[b]" -map "[b]" -pix_fmt yuv420p aoc-meets-garbage-disposal.mp4

In the first part of the filter, I specified that the first input video (blob.mp4) will have a dimension of 1686×720, where 1686 is the total width of the both videos side-by-side. A map identifier “[a]” is used for this screen canvas. Next, with a semicolon delimiter, the second video is specified as appearing at 1280 pixels from the left edge at 0. (Yes, it begins at zero. I got a stupid “Overlay area … not within the main area … or zero-sized… Failed to configure input pad on Parsed_overlay_1” error when I thought I had to use 1281 as the starting point of the second video.) The overlaid video is then map identified as “[b]”. This map is then encoded to the output video.

Of course, this video does not have audio. So, I extracted the audio from both videos using FFMPEG, mixed them using Audacity (although I could have done it using FFMPEG as well), and slipstreamed the audio to the composite video using FFMPEG.

ffmpeg -i blob.mp4 -vn blob.mp3
ffmpeg -i aoc.mp4 -vn aoc.mp3

#Created garbage.mp3 from blob.mp3 and aoc.mp3 using Audacity

ffmpeg -i aoc-meets-garbage-disposal.mp4 -i garbage.mp3 -codec copy aoc-meets-garbage-disposal-mix.mp4

Alexandria Ocasio-Cortez, the US Congresswoman, lived in New York where garbage disposal machines were banned and people did not buy them even after the ban was lifted. She recently caused worldwide hilarity after posting an ominous video about her discovery of the garbage disposal machine in her sink. She must have at least seen them in movies or TV.

How to beat Google’s censorship of YouTubers’ videos – eliminate TV shows from the results

After CNN started a campaign to ban Alex Jones from the online world, YouTube was hit with a boycott by ad agencies for promoting conspiracy videos. In response, YouTube now displays clips from TV shows in the results while videos uploaded by ordinary YouTubers have been demoted.

Recently, I was trying to find the funny video of Joe Biden posted by US president Donald Trump and found that YouTube has censored the video. In its place are numerous TV reports talking about the Trump twitter message.

If you check the results page of YouTube search, you will find a “filters” drop-down list. In this list, YouTube will allow ordering the results by “relevance” and “view count”. The default is “relevance” and by YouTube’s definition, it means TV shows are always better than videos uploaded by ordinary YouTube users. To make YouTube search work like earlier, you need to select “Video” under “Type” and “View Count” under “Sort By”.

Censored YouTube search: https://www.youtube.com/results?search_query=trump+trolls+biden

Uncensored YouTube search: https://www.youtube.com/results?search_query=trump+trolls+biden&sp=CAMSAhAB

YouTube search filter

To make this easy, I created a custom YouTube search engine XML file based on the OpenSearch standard at:

Save this file as YouTube-Search.xml and copy it to your ‘searchplugins’ directory in the Firefox profile directory.

This is not a real solution, as Google censorship is very open when it comes to Trump.