Skip to content

Commit

Permalink
Merge branch 'main' into patch-1
Browse files Browse the repository at this point in the history
  • Loading branch information
gergelypap authored Sep 3, 2022
2 parents 8cd4d8c + 9a7554b commit 2391997
Show file tree
Hide file tree
Showing 39 changed files with 673 additions and 312 deletions.
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Read this in other languages: [Français](CONTRIBUTINGfr.md)
Read this in other languages: [русский](CONTRIBUTINGru.md), [Français](CONTRIBUTINGfr.md), [Türkçe](CONTRIBUTINGtr.md)

# Welcome To Return YouTube Dislikes contributing guide

Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTINGfr.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Lisez ceci dans d'autres langues : [English](CONTRIBUTING.md)
Lisez ceci dans d'autres langues : [English](CONTRIBUTING.md), [русский](CONTRIBUTINGru.md), [Türkçe](CONTRIBUTINGtr.md)

# Bienvenue dans le guide de contribution à Return YouTube Dislikes

Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTINGru.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Прочитать на других языках: [English](CONTRIBUTING.md)
Прочитать на других языках: [English](CONTRIBUTING.md), [Français](CONTRIBUTINGfr.md), [Türkçe](CONTRIBUTINGtr.md)

# Добро пожаловать в руководство по внесению вклада Return YouTube Dislikes

Expand Down
67 changes: 67 additions & 0 deletions CONTRIBUTINGtr.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
Bunu diğer dillerde okuyun: [English](CONTRIBUTING.md), [русский](CONTRIBUTINGru.md), [Français](CONTRIBUTINGfr.md)

# "YouTube Dislike Sayısını Geri Getir"in katkı kılavuzuna Hoş Geldiniz

Projemize katkıda bulunmak için zaman ayırdığınız için teşekkür ederiz! Tüm değişiklikleriniz, uzantının bir sonraki sürümüne (veya [internet sitesi](https://www.returnyoutubedislike.com/)ne) yansıtılacaktır.

## Başlarken

Lütfen formatlama işlemi için, Prettier'i varsayılan ayarlardayken kullanın.

#### Ön Şartlar

Kaynağın paketlenmiş sürümünü oluşturmak için node ve npm'nin kurulu olması gerekir.

Kurulum sırasında kullanılan sürümler:

- node: 12.18.4
- npm: 6.14.6

Bu uzantının iş mantığının çoğunu içeren `bundled-content-script.js`yi oluşturmak için, önce tüm bağımlılıkları yüklemeniz gerekir.

1. Deponun köküne gidin ve şu komutu çalıştırın:

```
npm install
```

2. `manifest.json` içinde kullanılan `bundled-content-script.js` dosyasını oluşturmak için aşağıdaki komutu çalıştırın.

```
npm start // derleme dosyasının/dosyalarının oluşturulması ve kaydedilmesi sırasında çalışırken yeniden yüklenen bir dosya izleyicisini başlatmak için
// ya da
npm run build // derleme dosyasını/dosyalarını bir kez oluşturmak için
```

Tebrikler, artık geliştirmeye hazırsınız!

Chrome uzantıları geliştirme konusunda yeniyseniz veya fazladan yardıma ihtiyacınız olursa lütfen [bu YouTube öğreticisi](https://www.youtube.com/watch?v=mdOj6HYE3_0)ne bakın.

### Issue'lar

#### Yeni bir issue başlatmak

Uzantıyla ilgili herhangi bir sorununuz varsa, sorunun önceden bildirilmediğinden emin olmak için lütfen arama yapın. Eğer daha önce bildirilmediyse, bir konu açın. Sorun formunu kullanmanız şiddetle tavsiye edilir ancak zorunlu değildir.

#### Bir issue'yu çözmek

Çözebileceğinizi düşündüğünüz bir sorun bulduysanız, çekinmeyin. Düzeltmeyi içeren bir PR açın ve düzelttiğiniz sorunu belirttiğinizden emin olun.

### Özellik Talebi

#### Yeni bir özellik talebi açmak

Uzantı hakkında bir fikriniz varsa, bir özellik isteği açmaktan çekinmeyin, ancak özelliğin daha önce önerilmediğinden emin olmak için lütfen önce arama yapın. Özellik formunun kullanılması şiddetle tavsiye edilir ancak zorunlu değildir.

#### Bir özellik isteğini uygulamak

Uygulayabileceğinizi düşündüğünüz bir özellik bulduysanız, çekinmeyin. Düzeltmeyi içeren bir PR açın ve uyguladığınız özelliği belirttiğinizden emin olun.

### Hangi tür PR'leri kabul ediyoruz?

- Sorun düzeltmeleri.
- Özellik uygulaması.
- Yazım hataları veya daha anlaşılabilir ve kullanımı daha kolay kelimeler.
- Site katkıları.
2 changes: 1 addition & 1 deletion Docs/FAQ.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Read this in other languages: [Français](FAQfr.md)
Read this in other languages: [русский](FAQru.md), [Français](FAQfr.md), [Türkçe](FAQtr.md)

# Frequently Asked Questions

Expand Down
2 changes: 1 addition & 1 deletion Docs/FAQfr.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Lisez ceci dans d'autres langues : [English](FAQ.md)
Lisez ceci dans d'autres langues : [English](FAQ.md), [русский](FAQru.md), [Türkçe](FAQtr.md)

# Foire Aux Questions

Expand Down
43 changes: 23 additions & 20 deletions Docs/FAQru.txt → Docs/FAQru.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,24 @@
# Часто задаваемые вопросы
## Прежде чем задать вопрос на GitHub или в Discord, пожалуйста, ознакомьтесь с этим.

### **1. Откуда это расширение получает данные?**
Комбинация API Google и старых данных.

Мы сохраняем все имеющиеся данные в нашей базе данных, чтобы они были доступны после того, как Google прекратит подсчёт отметок «Не нравится» в своём API.

### **2. Количество не понравившихся видео не обновляется**
В настоящее время видео с отметками «Не нравится» кэшируются и обновляются не очень часто. Раз в 2-3 дня, не чаще.

Да, это не идеально, но это то, что есть. Мы работаем над тем, чтобы улучшить частоту их обновления.

### **3. Как это работает?**
Расширение собирает идентификатор видео, которое вы смотрите, извлекает данные об отметках «Не нравится» (и другие поля, такие как просмотры, отметки «Нравится» и т.д.) с помощью нашего API, если видео было извлечено нашим API впервые, оно использует YouTube API для получения данных, затем сохраняет данные в базе данных для кэширования (кэшируются около 2-3 дней) и архивирования и возвращает их вам. После этого расширение отображает отметки «Не нравится» вам.

### **4. Что произойдёт после того, как API YouTube перестанет возвращать данные о количестве отметок «Не нравится»?**
Внутренняя часть нашего сервера переключится на использование комбинации архивных статистик отметок «Не нравится», оценок, экстраполированных из данных о пользователях расширения, и оценок, основанных на соотношении просмотров и отметок «Нравится» для видео, чьи отметки «Не нравится» не были заархивированы, и для устаревших архивов с отметками «Не нравится».

## Я беспокоюсь о безопасности / конфиденциальности
Read this in other languages: [English](FAQ.md), [Français](FAQfr.md), [Türkçe](FAQtr.md)

# Часто задаваемые вопросы

## Прежде чем задать вопрос на GitHub или в Discord, пожалуйста, ознакомьтесь с этим.

### **1. Откуда это расширение получает данные?**
Комбинация API Google и старых данных.

Мы сохраняем все имеющиеся данные в нашей базе данных, чтобы они были доступны после того, как Google прекратит подсчёт отметок «Не нравится» в своём API.

### **2. Количество не понравившихся видео не обновляется**
В настоящее время видео с отметками «Не нравится» кэшируются и обновляются не очень часто. Раз в 2-3 дня, не чаще.

Да, это не идеально, но это то, что есть. Мы работаем над тем, чтобы улучшить частоту их обновления.

### **3. Как это работает?**
Расширение собирает идентификатор видео, которое вы смотрите, извлекает данные об отметках «Не нравится» (и другие поля, такие как просмотры, отметки «Нравится» и т.д.) с помощью нашего API, если видео было извлечено нашим API впервые, оно использует YouTube API для получения данных, затем сохраняет данные в базе данных для кэширования (кэшируются около 2-3 дней) и архивирования и возвращает их вам. После этого расширение отображает отметки «Не нравится» вам.

### **4. Что произойдёт после того, как API YouTube перестанет возвращать данные о количестве отметок «Не нравится»?**
Внутренняя часть нашего сервера переключится на использование комбинации архивных статистик отметок «Не нравится», оценок, экстраполированных из данных о пользователях расширения, и оценок, основанных на соотношении просмотров и отметок «Нравится» для видео, чьи отметки «Не нравится» не были заархивированы, и для устаревших архивов с отметками «Не нравится».

## Я беспокоюсь о безопасности / конфиденциальности
Более подробную информацию смотрите на [этой странице](SECURITY-FAQ.md).
61 changes: 61 additions & 0 deletions Docs/FAQtr.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
Bunu diğer dillerde okuyun: [English](FAQ.md), [русский](FAQru.md), [Français](FAQfr.md)

# Sıkça Sorulan Sorular

## GitHub'da veya Discord'da bir soru sormadan önce, lütfen buraya göz atın.

<br>

### **1. Bu uzantı verileri nereden alıyor?**

Google API'lerinin ve kazınmış verilerin bir kombinasyonu.

Google, API'lerinde dislike sayılarını kapattıktan sonra kullanılabilir olması için mevcut tüm verileri DB'mize kaydederiz.

<br>

### **2. Video'nun dislike sayısı güncellenmiyor**

Şu anda video dislike'ları önbelleğe alınır ve çok sık güncellenmez. Her 2-3 günde bir, daha sık değil.

Evet, ideal değil, ama olan bu. Bunları nasıl daha sık güncelleyebileceğimizi öğrenmeye çalışıyoruz.

<br>

### **3. Bu uzantı nasıl çalışıyor?**

Uzantı, izlediğiniz videonun video kimliğini alır, dislike'larını (ve görüntülemeleri, like'ları vb. diğer alanları) API'mizi kullanarak getirir; video, API'miz tarafından ilk kez getiriliyorsa YouTube API'sini kullanır. Verileri almak için, verileri önbelleğe alma (yaklaşık 2-3 gün önbelleğe alınır) ve arşivleme amacıyla bir veritabanında saklanır ve size geri döndürülür. Uzantı daha sonra size dislike'ları gösterir.

<br>

### **4. YouTube API'si, dislike sayısını döndürmeyi durdurduğunda ne olacak?**

Backend, arşivlenmiş dislike istatistikleri, uzantı kullanıcı verilerinden tahmin edilen tahminler ve like'ları arşivlenmemiş videolar ve eski dislike arşivleri için izlenme/like oranlarına dayalı tahminlerin bir kombinasyonunu kullanmaya geçecektir.

<br>

### **5. Dislike sayısı nasıl hesaplanıyor?**

YDS, dislike sayısını tahmin etmek için kullanıcılarının oylarını kullanır.

- Video, API kapatıldıktan sonra yüklendiyse:

$$ \textup{YDS'nin Dislike Sayısı} = \left( \frac{\textup{YDS Kullanıcılarının Like Sayısı}}{\textup{YDS Kullanıcılarının Dislike Sayısı}} \right) \times \textup{Halka Açık Like Sayısı} $$

- YDS veritabanı bir şekilde gerçek like ve dislike sayısına sahipse (yükleyici tarafından veya arşivden sağlanır), dislike sayısı hem kullanıcıların oyları hem de arşivlenen değer temelinde hesaplanacaktır. Arşivlenen değer, eskidikçe son sayım üzerinde daha az etkiye sahip olacaktır.

<br>

---

Bu video şeklinde

[![IReturn YouTube Dislike Explained](https://yt-embed.herokuapp.com/embed?v=GSmmtv-0yYQ)](https://www.youtube.com/watch?v=GSmmtv-0yYQ)

---

<br>

## Gizlilik / güvenlik hakkında endişelerim var

Daha fazla bilgi için [bu sayfa](SECURITY-FAQtr.md)ya göz atın.
7 changes: 7 additions & 0 deletions Docs/Privacy Policy
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
The only data collected from users is their likes and dislikes made while the extension is installed.

No personal info, account name or watch history is collected or saved.

Users are identified by a random user ID, which is not directly linked to any of their accounts, the only purpose of this user ID is to make voting process possible.

None of the saved data is shared with any third parties,
2 changes: 1 addition & 1 deletion Docs/SECURITY-FAQ.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Read this in other languages: [Français](SECURITY-FAQfr.md)
Read this in other languages: [русский](SECURITY-FAQru.md), [Français](SECURITY-FAQfr.md), [Türkçe](SECURITY-FAQtr.md)

# Security

Expand Down
2 changes: 1 addition & 1 deletion Docs/SECURITY-FAQfr.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Lisez ceci dans d'autres langues : [English](SECURITY-FAQ.md)
Lisez ceci dans d'autres langues : [English](SECURITY-FAQ.md), [русский](SECURITY-FAQru.md), [Türkçe](SECURITY-FAQtr.md)

# Sécurité

Expand Down
2 changes: 1 addition & 1 deletion Docs/SECURITY-FAQru.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Прочитать на других языках: [English](SECURITY-FAQ.md)
Прочитать на других языках: [English](SECURITY-FAQ.md), [Français](SECURITY-FAQfr.md), [Türkçe](SECURITY-FAQtr.md)

# Безопасность

Expand Down
31 changes: 31 additions & 0 deletions Docs/SECURITY-FAQtr.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
Read this in other languages: [English](SECURITY-FAQ.md), [русский](SECURITY-FAQru.md), [Français](SECURITY-FAQfr.md)

# Güvenlik

### İzleme geçmişimi takip ediyor musunuz?

Hayır. Uzantının kodu herkese açıktır ve kendiniz görebilirsiniz. Gönderilen tek bilgi, videolar için dislike sayısını almak için gereken video kimliğidir. Gönderilen başka bir ek header yoktur. İletişim katmanı üzerinden, genel IP'niz sunucuya ve isteğin yapıldığı zamana maruz kalacaktır. Ancak, bunların hiçbiri sizi hiçbir şekilde benzersiz bir şekilde tanımlamıyor. Sıfır güven ortamını varsayarsak, elde edebileceğimizin en iyisi dinamik bir IP'dir. Ki, bu IP bugün sizin, yarın komşunuzun olabilir. IP'nizin izlenmesinden gerçekten endişeleniyorsanız, muhtemelen zaten bir VPN kullanıyorsunuzdur.

### Bir videoya dislike atarsam, beni benzersiz bir şekilde tanımlayabilir misiniz?

Evet. Bir videoya dislike attığınızda, sizin için Google hesabınızla bağlantılı olmayan rastgele oluşturulmuş benzersiz bir kimlik oluştururuz. Bu, bot kullanılmasını önlemek için yapılır. Ancak bu rastgele kimliği, size veya kişisel YouTube hesabınıza bağlamanın bir yolu yoktur.

### Tam olarak hangi bilgilere sahipsiniz, gerçekten?

Sadece video ID'si. Yorumlarınızı değil, kullanıcı adınızı değil, videoyu kiminle paylaştığınız değil, ek meta verilerinden hiçbiri değil. Hiç bir şey. Sadece video ID'si.

### IP adresim nasıl saklanıyor?

Backend, karma olmayan IP adreslerini yalnızca geçici bellekte (RAM'de) tutar. Bu adresler, bir sabit sürücüde depolanmaz ve bu nedenle günlüğe kaydedilmez. IP adreslerini hash ederiz ve bunun yerine depolanır. Bu, veri tabanı vandalizmini önlemek için yapılır.

### OAuth üzerinden YouTube hesabıma erişmek konusunda bazı tartışmalar duydum!

Bu özellik isteğe bağlı olacak ve çok fazla tercih edilecek. Bir YouTube içerik üreticisiyseniz ve dislike istatistiklerinizi bizimle paylaşmak istiyorsanız, bunu yapabilirsiniz. [OAuth](https://en.wikipedia.org/wiki/OAuth#:~:text=but%20without%20giving%20them%20the%20passwords.) yapılandırılma şekli, aslında çok güvenlidir. Hesabınıza erişimi istediğiniz zaman iptal edebilir ve bize çok özel izinler verebilirsiniz. Gerekli olmayan herhangi bir izini istemeyeceğiz. Yalnızca video istatistiklerinizi görüntülemek için izin isteyeceğiz.

### Bu dislike sayısına nasıl güvenebilirim?

Bot saldırılarını önlemek için önlemler aldık ve bot önleme sisteminin etkinliğini arttırmak için çalışmaya devam edeceğiz: bu, dislike sayısını gerçek sayının iyi bir temsilcisi olarak tutmamıza yardımcı olacaktır. Tabii ki hiçbir zaman %100 doğru olmayacaktır, bu yüzden sayıma güvenip güvenmemek size kalmıştır.

### Neden backend kodunu paylaşmıyorsunuz?

Bir noktada paylaşacağız - ama şu anda paylaşmak için ortada gerçekten gerçek bir sebep yok. Yanlış bir güvenlik hissi verebilir - çünkü sıfır güvenli bir sistemde, bir sürümü ifşa edebilir, ancak bir başkasını devreye alabiliriz. Özellikle spam ile nasıl mücadele ettiğimiz gibi, kodu gizli tutmak için birçok neden vardır. İstenmeyen posta işleme kodunu örtmek/gizlemek oldukça standart bir uygulamadır.
2 changes: 1 addition & 1 deletion Docs/readme.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Read this in other languages: [Français](readmefr.md)
Read this in other languages: [Français](readmefr.md), [Türkçe](READMEtr.md)

**Contents**

Expand Down
2 changes: 1 addition & 1 deletion Docs/readmefr.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Lisez ceci dans d'autres langues : [English](readme.md)
Lisez ceci dans d'autres langues : [English](readme.md), [Türkçe](READMEtr.md)

**Contenu**

Expand Down
39 changes: 39 additions & 0 deletions Docs/readmetr.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
Read this in other languages: [English](readme.md), [Français](readmefr.md)

**İçerikler**

- [Rehberler](#rehberler)
- [SSS'ler](#sss'ler)
<!-- - [SSS'ler](#sss'ler)
- [Diğer Listeler](#diğer-listeler) -->

<br>

## Rehberler

- [İndirme, Yükleme ve Kullanma](https://github.com/Anarios/return-youtube-dislike/wiki/Downloading,-Installing-&-Using)
- [Sorun Giderme](https://github.com/Anarios/return-youtube-dislike/wiki/Troubleshooting-Guide)
<!-- - [SSS](FAQtr.md)
- [Hata Raporları Ne Zaman ve Nasıl Bildirilir](Guide__Bug_Reporting.md)
- [Katkı sağlama](https://github.com/Anarios/return-youtube-dislike/blob/main/CONTRIBUTINGtr.md) -->
<!-- - [Wiki nasıl güncellenir](/) -->

<br>

## SSS'ler

- [Genel](https://github.com/Anarios/return-youtube-dislike/blob/main/Guides/FAQtr.md)
- [Güvenlik](https://github.com/Anarios/return-youtube-dislike/blob/main/Guides/SECURITY-FAQtr.md)

<!-- - [Gizlilik](FAQ_Privacy.md)
- [Teknik](FAQ_Technical.md)
- [Üreticiler](FAQ_Creators.md)
<br>
## Diğer Listeler
- [Common Problems](Common_Problems.md)
- [Repeated Questions](Repeated_Questions.md)
- [Repeated Feature requests](Repeated_Feature_requests.md)
- [Repeated Issues](Repeated_Issues.md) -->
18 changes: 16 additions & 2 deletions Extensions/UserScript/Return Youtube Dislike.user.js
Original file line number Diff line number Diff line change
Expand Up @@ -94,10 +94,24 @@ function getLikeButton() {
return getButtons().children[0];
}

function getLikeTextContainer() {
return (
getLikeButton().querySelector("#text") ??
getLikeButton().getElementsByTagName("yt-formatted-string")[0]
);
}

function getDislikeButton() {
return getButtons().children[1];
}

function getDislikeTextContainer() {
return (
getDislikeButton().querySelector("#text") ??
getDislikeButton().getElementsByTagName("yt-formatted-string")[0]
);
}

let mutationObserver = new Object();

if (isShorts() && mutationObserver.exists !== true) {
Expand Down Expand Up @@ -197,15 +211,15 @@ function setLikes(likesCount) {
likesCount;
return;
}
getButtons().children[0].querySelector("#text").innerText = likesCount;
getLikeTextContainer().innerText = likesCount;
}

function setDislikes(dislikesCount) {
if (isMobile) {
mobileDislikes = dislikesCount;
return;
}
getButtons().children[1].querySelector("#text").innerText = dislikesCount;
getDislikeTextContainer().innerText = dislikesCount;
}

function getLikeCountFromButton() {
Expand Down
Loading

0 comments on commit 2391997

Please sign in to comment.