Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Anarios/return-youtube-dislike.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/Docs
diff options
context:
space:
mode:
authorsy-b <94835959+sy-b@users.noreply.github.com>2022-01-10 19:28:28 +0300
committersy-b <94835959+sy-b@users.noreply.github.com>2022-01-10 19:28:28 +0300
commit05a3042e697f65293c97530d3a10a4eae3c10569 (patch)
treeb73dcdcebef8f0c3ad900824635afe3598207fa4 /Docs
parentac23425d0c27d075fa1c58b6b8623750369d438c (diff)
Guides --> Docs
Diffstat (limited to 'Docs')
-rw-r--r--Docs/FAQ.md21
-rw-r--r--Docs/Guide__Installing.md318
-rw-r--r--Docs/Guide__Troubleshooting.md187
-rw-r--r--Docs/SECURITY-FAQ.md30
-rw-r--r--Docs/readme.md38
5 files changed, 594 insertions, 0 deletions
diff --git a/Docs/FAQ.md b/Docs/FAQ.md
new file mode 100644
index 0000000..c0f1744
--- /dev/null
+++ b/Docs/FAQ.md
@@ -0,0 +1,21 @@
+# Frquently Asked Questions
+## Before asking a question on GitHub or Discord, please refer to this.
+
+### **1. Where does extension get data?**
+Combination of GoogleAPI data and scraped data.
+
+We save all available data to our DB for it to be available after google shuts down dislike counts in their API.
+
+### **2. Video dislike count doesn't update**
+Right now video dislikes are cached, and arent updated very frequenly. Once in 2-3 days, not more often.
+
+Yeah, it's not ideal, but it is what it is. Working on improving how often we can update them.
+
+### **3. How does this work?**
+The extension collects the video id of the video you are watching, fetches the dislike (and other fields like views, likes etc) using our API, if this is the first time the video was fetched by our API, it will use the YouTube API to get the data, then stores the data in a database for caching (cached for around 2-3 days) and archiving purposes and returns it to you. The extension then displays the dislikes to you.
+
+### **4. What will happen after the YouTube API stops returning the dislike count?**
+The backend will switch to using a combination of archived dislike stats, estimates extrapolated from extension user data and estimates based on view/like ratios for videos whose dislikes weren't archived and for outdated dislike archives.
+
+## I have security / privacy concerns
+See [this page](SECURITY-FAQ.md) for more info.
diff --git a/Docs/Guide__Installing.md b/Docs/Guide__Installing.md
new file mode 100644
index 0000000..a4cf8ac
--- /dev/null
+++ b/Docs/Guide__Installing.md
@@ -0,0 +1,318 @@
+# Downloading, Installing & Using
+
+**Contents**
+
+- [Downloading, Installing & Using](#downloading-installing--using)
+ - [Downloading](#downloading)
+ - [Desktop (all OS supported by these browsers)](#desktop-all-os-supported-by-these-browsers)
+ - [Chromium Based Browsers](#chromium-based-browsers)
+ - [Firefox Based Browsers](#firefox-based-browsers)
+ - [Mobile](#mobile)
+ - [Android](#android)
+ - [iOS](#ios)
+ - [Userscript](#userscript)
+ - [Installation](#installation)
+ - [Desktop](#desktop)
+ - [**Chromium based browsers**](#chromium-based-browsers-1)
+ - [From Chrome Webstore](#from-chrome-webstore)
+ - [From crx/zip file](#from-crxzip-file)
+ - [From unzipped folder](#from-unzipped-folder)
+ - [**Firefox Based Browsers**](#firefox-based-browsers-1)
+ - [From addon store](#from-addon-store)
+ - [From xpi/jar/zip file](#from-xpijarzip-file)
+ - [Mobile](#mobile-1)
+ - [Android](#android-1)
+ - [App from Play Store](#app-from-play-store)
+ - [On Firefox](#on-firefox)
+ - [iOS](#ios-1)
+ - [Using](#using)
+ - [Updating](#updating)
+ - [Extension / Addon](#extension--addon)
+ - [Miscellaneous](#miscellaneous)
+ - [Using YouTube website as an app with an extension](#using-youtube-website-as-an-app-with-an-extension)
+ - [Desktop](#desktop-1)
+ - [Chromium Based Browsers](#chromium-based-browsers-2)
+ - [Firefox Based Browsers](#firefox-based-browsers-2)
+ - [Mobile](#mobile-2)
+ - [Firefox Based Browsers](#firefox-based-browsers-3)
+ - [Chromium Based Browsers](#chromium-based-browsers-3)
+
+<br>
+
+<br>
+
+## Downloading
+
+### Desktop (all OS supported by these browsers)
+
+<br>
+
+#### [Chromium Based Browsers][4]
+
+This extension has been tested to work on these browsers.
+
+- [Google Chrome][1]
+- [Microsoft Edge][1]
+- [Brave][1]
+- [Opera][1]
+
+It should be able to work on [all Chromium-based browsers (list here)][4]. But that isn't guaranteed.
+
+<br>
+
+#### [Firefox Based Browsers][5]
+
+- [Firefox][2]
+- This addon should be able to run on most of the [Firefox-based browsers][5]. But isn't guaranteed.
+
+<br>
+
+### Mobile
+
+#### Android
+
+1. apk app file
+
+ You can download the apk file from
+ [https://github.com/jesperbakhandskemager/view-youtube-dislike/releases/](https://github.com/jesperbakhandskemager/view-youtube-dislike/releases/)
+
+ **Note: This app is NOT made by the original author of the extension**.
+
+ 2. [Firefox Nightly][2]
+
+- This addon should be able to run on most of the [Firefox-based browsers][5]. But isn't guaranteed.
+
+<br>
+
+#### iOS
+
+No Support on Firefox
+
+You can have a look at these pages for more information (the reason why it's not available on Firefox):
+
+- [https://support.mozilla.org/en-US/kb/add-ons-firefox-ios]
+- [https://support.mozilla.org/en-US/questions/1101350]
+
+For now, you can try this
+
+- [For Jailbroken iOS - **WE TAKE NO RESPONSIBILITY. USE AT YOUR OWN RISK**](https://chariz.com/get/return-youtube-dislike)
+
+ This is an iOS port [**developed by a separate team**](https://github.com/PoomSmart/Return-YouTube-Dislikes) not related to the owner of github.com/Anarios/return-youtube-dislike
+
+#### Userscript
+
+[Download from here](https://returnyoutubedislike.com/install)
+
+<br>
+
+<br>
+
+## Installation
+
+### Desktop
+
+<br>
+
+#### [**Chromium based browsers**][4]
+
+<br>
+
+##### From Chrome Webstore
+
+1. [Go to website (click here)][1]
+2. Click install
+3. Wait for the extension to download and
+4. ๐Ÿ™‚ Installed !!
+
+<br>
+
+##### From crx/zip file
+
+1. Download the crx/zip file.
+2. Type [`chrome://extensions`][6] in address bar
+3. Search for the "Developer Mode" switch and turn it on.
+4. Open the folder and the browser side by side.
+5. Drag and drop the crx/zip file in [chrome://extensions][6] tab
+6. Click on "Add extension"
+7. Installation Completed ๐ŸŽ‰
+8. Remember to **turn off the "developer mode"** if not needed
+
+<br>
+
+##### From unzipped folder
+
+1. Download the crx/zip file.
+2. Go to [`chrome://extensions`][6]
+3. Search for the "Developer Mode" switch and turn it on.
+4. Click on "Load Unpacked"
+5. Navigate to the folder & select it
+6. The extension should be installed ๐ŸŽ‰
+7. Remember to **turn off the "developer mode"** if not needed
+
+<br>
+
+#### [**Firefox Based Browsers**][5]
+
+##### From addon store
+
+1. Go to the addon store and find the extension or [click here][2].
+2. Click on `Add to Firefox`
+3. Done ๐ŸŽ‰ The extension should be installed.
+
+<br>
+
+##### From xpi/jar/zip file
+
+1. Type `about:addons` in the address bar and press "Enter". Alternatively, You can use
+ `Ctrl` + `Shift` + `A` on Windows and
+ `Cmd` + `Shift` + `A` on Mac and
+2. Click on the Setting Gear icon `โš™`.
+3. Click on `Install Add-on From File...`
+4. Locate and click on the .xpi/.jar/.zip file.
+5. Select and click to open it.
+6. Done ๐ŸŽ‰ The extension should be installed.
+
+<br>
+
+### Mobile
+
+#### Android
+
+##### App from Play Store
+
+- Although app(s) which use this API exists but aren't they official.
+
+##### On Firefox
+
+1. Install Firefox Nightly. Refer to this blog post for the procedure: [Expanded extension support in Firefox for Android Nightly](https://blog.mozilla.org/addons/2020/09/29/expanded-extension-support-in-firefox-for-android-nightly/)
+2. Install the extension in it from [addon store][2]
+3. If you want - install the site as an app. For that procedure [go here](#firefox-based-browsers-3).
+
+#### iOS
+
+- [For iOS click here](#ios)
+- Only available on Firefox-based browsers because Chromium-based browsers for the Android platform don't support installing extensions.
+
+<br>
+
+<br>
+
+## Using
+
+No more steps are required, it should start working right away.
+
+If required you can restart your browser.
+
+**๐ŸŽ‰ ๐ŸŽŠ Congratulations** ๐Ÿฅณ ๐ŸŽŠ
+
+<br>
+
+<br>
+
+## Updating
+
+### Extension / Addon
+
+On [Chromium based browsers][4]
+
+- [from webstore][1]
+- sideloading from [crx/zip file](#from-crxzip-file) or [unzipped folder](#from-unzipped-folder)
+
+On [Firefox based browsers][5]
+
+- [from addon store][2]
+- [sideloading from xpi/jar/zip file](#from-xpijarzip-file)
+
+On [Firefox based browsers][5] for mobile
+
+- [from addon store][2]
+
+<br>
+
+<br>
+
+## Miscellaneous
+
+### Using YouTube website as an app with an extension
+
+#### Desktop
+
+##### Chromium Based Browsers
+
+0. Go to YouTube
+1. Tap on menu button (`โ˜ฐ` / `โ‹ฏ` / `โ‹ฎ`)
+2. Click on "Install YouTube"
+3. ๐ŸŽ‰Done!
+
+<br>
+
+##### Firefox Based Browsers
+
+**โš  Doesn't work on newer versions.**
+
+1. Type [`about:config`](about:config) in address bar & press `Enter` key.
+2. When warned `Proceed with Caution` click on `Accept the Risk and Continue`
+3. Locate and click on the search bar on the page.
+4. Type `browser.ssb.enable`.
+5. click on `โ‡‹` and make sure the state is set to `true`.
+6. Restart the browser and Open YouTube.
+7. Click on `โ‹ฎ` located in the upper right corner
+8. Click `Install this website as an app` or `Install this website as an app` which depends on the version you are using.
+9. Done! ๐ŸŽ‰ You should be able to see the site's app in the start menu.
+
+You can also refer here (for pictures):
+
+[How to Enable the Site-Specific Browser (SSB) in Firefox - Make Tech Easier](https://www.maketecheasier.com/enable-site-specific-browser-firefox)
+
+<br>
+
+#### Mobile
+
+##### Firefox Based Browsers
+
+0. Install the extension
+1. Go to YouTube
+2. Tap on the three dots `โ‹ฎ` located at the bottom right corner of the screen.
+3. Turn on "Desktop Site".
+4. Refresh the page.
+5. Wait for it to completely load.
+6. Tap again on the three dots `โ‹ฎ` located at the bottom right corner of the screen.
+7. You will see an option as `Install`. Tap on it.
+8. Tap - `Add` when asked `Add to Home screen?`
+9. Enjoy the YT site as a Firefox nightly app !!
+
+<br>
+
+##### [Chromium Based Browsers][4]
+
+[**Chromium Based browsers**][4] **don't support extensions on Android or iOS**
+
+But still - here are the steps:
+
+1. Go to YouTube
+2. Tap on the three dots `โ‹ฎ` located at the bottom right corner of the screen.
+3. Turn on "Desktop Site".
+4. Refresh the page and wait for it to completely load.
+5. Tap again on the three dots `โ‹ฎ` located at the bottom right corner of the screen.
+6. You will see an option as `Install`. Tap on it.
+7. When asked `Install App` tap on `Yes`
+8. Tap - `Add` when asked `Add to Home screen?`
+9. Enjoy the YT site as an app !!
+
+<br>
+
+<br>
+
+<!-- links -->
+
+[1]: https://chrome.google.com/webstore/detail/return-youtube-dislike/gebbhagfogifgggkldgodflihgfeippi
+
+[2]: https://addons.mozilla.org/en-US/firefox/addon/return-youtube-dislikes/
+
+[3]: https://github.com/Anarios/return-youtube-dislike/raw/main/Extensions/UserScript/Return%20Youtube%20Dislike.user.js
+
+[4]: https://en.wikipedia.org/wiki/Chromium_(web_browser)#Browsers_based_on_Chromium
+
+[5]: https://en.wikipedia.org/wiki/Category:Web_browsers_based_on_Firefox
+
+[6]: chrome://extensions
diff --git a/Docs/Guide__Troubleshooting.md b/Docs/Guide__Troubleshooting.md
new file mode 100644
index 0000000..eb18610
--- /dev/null
+++ b/Docs/Guide__Troubleshooting.md
@@ -0,0 +1,187 @@
+Troubleshooting Guide
+
+**Index**
+
+- [Extension](#extension)
+ - [Basic checks](#basic-checks)
+ - [Check API status](#check-api-status)
+ - [Install certificates](#install-certificates)
+ - [Check for logs in the console](#check-for-logs-in-the-console)
+ - [In Chromium Based browsers](#in-chromium-based-browsers)
+ - [In Firefox Based Browsers](#in-firefox-based-browsers)
+ - [Check for conflicting extensions](#check-for-conflicting-extensions)
+ - [Known conflicts](#known-conflicts)
+- [iOS app](#ios-app)
+- [YouTube Vanced app](#youtube-vanced--app)
+- [Contact in Discord Server](#contact-in-discord-server)
+- [Useful Links](#useful-links)
+
+<br>
+
+## Extension
+
+(for Windows & Macs)
+
+### Basic checks
+
+1. Make sure you have the latest version of the extension installed. ([Click Here to check](https://chrome.google.com/webstore/detail/return-youtube-dislike/gebbhagfogifgggkldgodflihgfeippi#:~:text=Report%20abuse-,Version,-2.0.0.3))
+2. Close all the tabs & restart your browser
+3. Reinstall the extension.
+4. [Check API status]
+5. [Check service worker] (only for chromium based browsers)
+6. [If you are on Windows 7 read this](#install-certificates)
+
+<br>
+
+### Check API status
+
+If the basic checks didn't resolve anything
+
+[See if you get any response from this link (click here)](https://returnyoutubedislikeapi.com/votes?videoId=QOFEgexls14)
+
+- If you **don't see something like** this, then the **API is down** and **everything is fine on your side**.
+ `{"id":"QOFEgexls14","dateCreated":"2021-12-28T02:53:20.995329Z","likes":2968,"dislikes":204,"rating":4.725047080979285,"viewCount":29157,"deleted":false}`
+- If you see some responses but not in the above format (with likes and dislikes) then probably you are being rate-limited. It is done to prevent bot attacks and database vandalization. It depends on IP (its hash - which is never stored in non-volatile storage) for its countermeasures. If many people are accessing the server from the same IP (as in the case of public/institutional Wi-Fi) then it's possible that the IP is being rate-limited. If that's the case, There's no way for us to differentiate you from a bot/attacker.
+
+**If you see "Certificate error" and [if you are on Windows 7 (or earlier) read this](#install-certificates)**
+
+<br><br>
+
+### Install certificates
+
+**Applies for Windows 7 (and earlier) only**
+
+and only for [Chromium Based Browsers][1]
+
+- [Chromium-based browsers][1] don't have their own certificate manager.
+- They use Windows' certificates manager.
+- Microsoft has officially dropped the support for Windows 7
+
+You will have to install the latest certificates for that.
+
+You can follow this guide:
+
+[Fix error NET::ERR CERT DATE INVALID - Your connection is not private - Windows 7 - 2021](https://youtu.be/JYZLxP2Z8G4)
+
+If you don't want to install the certificate from Google drive
+
+- Here is the official link to the certificate [**x1.i.lencr.org**](http://x1.i.lencr.org/).
+- **You will have to close all the tabs** before downloading this certificate.
+
+**The thumb print of real certificate is `cabd2a79a1076a31f21d253635cb039d4329a5e8`**
+
+**To make sure that you have installed the correct certificate, you should consider checking if the thumbprints match.** To do this you can follow this guide: [How to check a certificate's thumbprint](https://knowledge.digicert.com/solution/SO9840.html)
+
+<br>
+
+### Check for logs in the console
+
+#### [In Chromium Based browsers][1]
+
+1. In Developer tools, go to [`console` panel](https://developer.chrome.com/docs/devtools/open/#console).
+ - For Windows press `Ctrl` + `Shift` + `J` all at once
+ - For Mac press `Cmd` + `Option` + `J` all at once
+2. Find `filter` box in the newly appeared window.
+3. Type `Return`.
+4. Check the [Check API Status](#check-api-status) and see if you get similar responses.
+5. If you see any errors in red [please contact us][4] and report them in our [discord server][3]
+
+<!-- If ever needed
+ - For Android refer to this article: [Remote debug Android devices](https://developer.chrome.com/docs/devtools/remote-debugging/) -->
+
+<br>
+
+#### [In Firefox Based Browsers][2]
+
+1. Open Browser Console
+ - For standard keyboard layout press `Ctrl` + `Shift` + `K` all at once
+ - For Mac keyboard layout press `Cmd` + `Option` + `K` all at once
+ - For Android refer to this article: [Remotely debugging Firefox <36 for Android](https://developer.mozilla.org/en-US/docs/Tools/Remote_Debugging/Firefox_for_Android)
+2. Find `Filter Output` box in the newly appeared window.
+3. Type `Return`.
+4. If you see any errors in red [please contact us][4] and report them in our [discord server][3]
+
+<br>
+
+### Check for conflicting extensions
+
+Some privacy and/or security-focused extensions such as ad- or script-blockers, as well as YouTube customization plugins might prevent the extension from working correctly.
+Try to disable all other extensions and test whether the extension works.
+If it does, find the extension(s) preventing RYD from working correctly and re-configure them in a way that'd stop them from interfering.
+
+<br>
+
+### Known conflicts
+
+>### scriptSafe
+>
+> **Solution:** Trust `returnyoutubedislikeapi.com` manually
+>
+> ![rust returnyoutubedislikeapi.com manually](https://cdn.discordapp.com/attachments/821116437720334397/929814357708247060/unknown.png)
+
+<br>
+
+> ### uMatrix
+>
+> **Solution:** Allow XHR for `returnyoutubedislikeapi.com` manually
+>
+> ![Allow XHR for `returnyoutubedislikeapi.com` manually](https://media.discordapp.net/attachments/821116437720334397/929813724238336141/unknown.png)
+
+<br>
+
+<br>
+
+## iOS app
+
+Coming soon. Please have patience.
+
+<br>
+
+<br>
+
+## YouTube Vanced app
+
+Coming soon. Please have patience.
+
+<br>
+
+<br>
+
+## Contact in Discord Server
+
+**Only if nothing mentioned above helped and you still have a problem.**
+
+[Discord server link: https://discord.gg/mYnESY4Md5][3]
+
+0. Join the discord server if haven't already
+1. Go to the #Bugs-and-problems channel
+2. There, thoroughly describe:
+ - your problem
+ - what you have tried & what didn't work
+ - results of the troubleshooting steps
+
+<!-- {
+ "update_frequency" : "low"
+} -->
+
+<br>
+
+<br>
+
+## Useful Links
+
+[List of Chromium Based Browsers][1]
+
+[List of Firefox Based Browsers][2]
+
+[Return-YouTube-Dislike Discord Server][3]
+
+<!-- links -->
+
+[1]: https://en.wikipedia.org/wiki/Chromium_(web_browser)#Browsers_based_on_Chromium
+
+[2]: https://en.wikipedia.org/wiki/Category:Web_browsers_based_on_Firefox
+
+[3]: https://discord.gg/mYnESY4Md5
+
+[4]: #contact-in-discord-server
diff --git a/Docs/SECURITY-FAQ.md b/Docs/SECURITY-FAQ.md
new file mode 100644
index 0000000..a8e27fc
--- /dev/null
+++ b/Docs/SECURITY-FAQ.md
@@ -0,0 +1,30 @@
+# Security
+
+### Are you tracking my viewing history?
+
+No. The extension's code is public and you can see it for yourself. The only information being sent is the video ID, which is required to fetch the dislike count for the videos. There are no additional headers being sent. Over the communication layer, your public IP will be exposed to the server, as well as the time when the request was made. However, none of these are uniquely identifying you in any way. Assuming a zero-trust environment, the best we could get is a dynamic IP. Which, today is yours, tomorrow is your neighbor's. If you're really worried about your IP being traced, you probably already use a VPN.
+
+### Can you uniquely identify me if I dislike?
+
+Yes. When you dislike a video, we create a randomly generated unique ID for you that is not tied to your Google account. This is done to prevent botting. But there is no way to tie this random Id to you or your personal youtube account.
+
+### What information do you have, exactly?
+
+Just the video ID. Not your comments, not your username, not who you've shared the video with, not any additional metadata. Nothing. Just the video ID.
+
+### How is my IP stored?
+
+The backend keeps unhashed IP addresses in volatile memory (RAM) only. These addresses aren't stored on a hard drive, and therefore aren't logged. We hash the IP addresses, and that's stored instead. This is done to prevent database vandalism.
+
+### I heard some discussion over OAuth, and access to my YouTube account!
+
+This feature will be optional, and very much opt-in. If you are a YouTube creator, and would like to share your dislike stats with us, you can. The way [OAuth](https://en.wikipedia.org/wiki/OAuth#:~:text=but%20without%20giving%20them%20the%20passwords.) was structured, is it's actually very secure. You can revoke access to your account at any time, and can give very specific permissions to us. We will not ask for any permissions that aren't required. We'll only ask for permissions to view your video stats.
+
+### How can I trust this dislike count?
+
+We have implemented measures to prevent bot attacks and are gonna continue to work on improving the effectiveness of the bot prevention system: this will help us keep the dislike count as a good representative of the actual count. Of course it will never be 100% accurate so it's up to you to decide whether you trust the count or not.
+
+### Why don't you share the backend code?
+
+We will share it at some point - but there's really no real reason to share it right now. It gives a false sense of security - because in a zero-trust system, we could just as well disclose one version but deploy another. There are plenty of reasons to keep the code hidden, specifically, how we battle spam. Hiding/Obfuscating the spam handling code is a fairly standard practice.
+
diff --git a/Docs/readme.md b/Docs/readme.md
new file mode 100644
index 0000000..52567fb
--- /dev/null
+++ b/Docs/readme.md
@@ -0,0 +1,38 @@
+**Contents**
+
+- [Guides](#guides)
+- [FAQs](#faqs)
+<!-- - [FAQs](#faqs)
+- [Other Lists](#other-lists) -->
+
+<br>
+
+## Guides
+
+- [Downloading, Installing & Using](https://github.com/Anarios/return-youtube-dislike/wiki/Downloading,-Installing-&-Using)
+- [Troubleshooting](https://github.com/Anarios/return-youtube-dislike/wiki/Troubleshooting-Guide)
+<!-- - [FAQ](FAQ.md)
+- [When & How to Report Bugs](Guide__Bug_Reporting.md)
+- [Contributing](https://github.com/Anarios/return-youtube-dislike/blob/main/CONTRIBUTING.md) -->
+<!-- - [How to update wiki](/) -->
+
+<br>
+
+
+## FAQs
+
+- [General](https://github.com/Anarios/return-youtube-dislike/blob/main/Guides/FAQ.md)
+- [Security](https://github.com/Anarios/return-youtube-dislike/blob/main/Guides/SECURITY-FAQ.md)
+
+<!-- - [Privacy](FAQ_Privacy.md)
+- [Technical](FAQ_Technical.md)
+- [Creators](FAQ_Creators.md)
+
+<br>
+
+## Other Lists
+
+- [Common Problems](Common_Problems.md)
+- [Repeated Questions](Repeated_Questions.md)
+- [Repeated Feature requests](Repeated_Feature_requests.md)
+- [Repeated Issues](Repeated_Issues.md) -->