-
Notifications
You must be signed in to change notification settings - Fork 7
/
faq.html
226 lines (222 loc) · 11.3 KB
/
faq.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="robots" content="index, follow">
<link rel="stylesheet" href="css/style.css">
<link rel="icon" type="image/x-icon" href="img/icon.svg">
<link rel="canonical" href="https://libredirect.github.io">
<meta property="og:type" content="website">
<meta property="og:title" content="LibRedirect – Privacy-friendly Redirector">
<meta property="og:site_name" content="libredirect.github.io">
<meta property="og:description"
content="A web extension that redirects YouTube, Twitter, Instagram, etc. requests to alternative privacy-friendly frontends">
<title>FAQ</title>
<meta name="referrer" content="same-origin">
<meta http-equiv="Content-Security-Policy" content=" default-src 'none' base-uri 'self' script-src 'none' form-action 'none' frame-ancestors 'none' ">
</head>
<body>
<div id="body">
<div id="logo">
<img src="img/icon.svg" width="160" height="160" alt="LibRedirect icon">
<h1>LibRedirect</h1>
</div>
<div class="nav_bar">
<a href="./index.html">Home</a>
<a href="./download.html">Download</a>
<a href="./source_code.html">Source Code</a>
<a href="./contact.html">Contact</a>
<a href="./faq.html" style="font-weight: bold;">FAQ</a>
<a href=" ./docs.html">Docs</a>
<a href="./donate.html">Donate</a>
</div>
<h2>Frequently Asked Questions</h2>
<h3 id="why_libredirect"><a href="#why_libredirect">Why LibRedirect?</a></h3>
<p>Normally, you would watch YouTube videos through <a href="https://www.youtube.com">youtube.com</a>; problem is, everything
you watch is tied to your Google Account. Even if you don't use an account, your IP address is still visible to their server.
Even if you use <a href="https://www.torproject.org/">Tor</a>, you still have <a
href="https://en.wikipedia.org/wiki/JavaScript">JavaScript</a> enabled, which can gather all sorts of creepy
information about your browser and system – just go to <a href="https://deviceinfo.me">deviceinfo.me</a>
or <a href="https://www.amiunique.org">amiunique.org</a> and see for yourself!<br></p>
<p>So, why not disable JavaScript? Great idea! Now YouTube is broken, as it requires JavaScript to function
¯\_(ツ)_/¯</p>
<p>Fortunately, there's a way to make a script that scrapes data off of <a href="https://www.youtube.com/">youtube.com</a> and presents
it in a nice simple webpage that doesn't require JavaScript. People have done this already! There's a project
called <a href="https://github.com/iv-org/invidious">Invidious</a> that doesn't require JavaScript for you to
watch YouTube videos – e.g. <a href=https://yewtu.be/watch?v=dQw4w9WgXcQ>https://yewtu.be/watch?v=dQw4w9WgXcQ</a>.
</p>
<p>Invidious and others are called alternative <span class="yellow">frontends</span>, where you're
still using YouTube (or another website) but with a different interface, in this case a more privacy-friendly one.<br></p>
<p>
Changing links every time from e.g.<br>
<a href="https://youtube.com/watch?v=dQw4w9WgXcQ">https://youtube.com/watch?v=dQw4w9WgXcQ</a>
<span>→</span>
<a href="https://yewtu.be/watch?v=dQw4w9WgXcQ">https://yewtu.be/watch?v=dQw4w9WgXcQ</a>
<br> is an inconvenient process and best to be automated, so we did that!<br>
</p>
<p>LibRedirect's main functionality is to make the use of those frontends easier by automating it. It makes life
much easier and privacy more convenient.</p>
<h3 id="suggest_frontend">
<a href="#suggest_frontend">Suggest a frontend</a>
</h3>
<p><strong>Requirements:</strong></p>
<ol>
<li>Open source</li>
<li>Enhances privacy over main site</li>
<li>Can be self-hosted, so it's decentralised</li>
</ol>
<p><strong>Good examples:</strong></p>
<ul>
<li>
<a href="https://github.com/iv-org/invidious" class="green">Invidious</a>
</li>
<li>
<a href="https://github.com/redlib-org/redlib" class="green">Redlib</a>
</li>
<li>
<a href="https://simple-web.org/projects/simplytranslate.html" class="green">SimplyTranslate</a>
</li>
</ul>
<p><strong>Bad examples:</strong></p>
<ul>
<li>
<a href="https://pixiv.moe/" class="red">PixivMoe</a>
– Wasn't meant to be an alternative private frontend in the first place.
</li>
<li>
<a href="https://imginn.com/" class="red">Imginn</a>
– Wasn't meant to be an alternative private frontend in the first place.
</li>
<li>
<a href="https://www.startpage.com/" class="red">Startpage</a>
– There's already an <a
href="https://addons.mozilla.org/en-US/firefox/addon/startpage-private-search/">extension</a> for it.
</li>
<li>
<a href="https://old.reddit.com/" class="red">Old Reddit</a>
– There's already an <a href="https://addons.mozilla.org/en-US/firefox/addon/old-reddit-redirect">extension</a>
for it.
</li>
<li>
<a href="https://pinafore.social/" class="red">Pinafore</a>
– A full featured web app for <a href="https://joinmastodon.org/">Mastodon</a>, not a frontend.
</li>
<li>
<a href="https://playsoju.netlify.app/" class="red">Soju</a>
– A website that gives you samples of Spotify songs, not a
frontend. If you want to use it, just visit their
website and paste the
Spotify link for the song you want to get a sample of.
</li>
<li>
PornInvidious – <a href="https://codeberg.org/LibRedirect/libredirect/issues/11#issuecomment-630922">See
discussion</a>.
</li>
</ul>
<h3 id="why_fork_privacy_redirect">
<a href="#why_fork_privacy_redirect">Why fork Privacy Redirect?</a>
</h3>
<p>
<a href="https://github.com/SimonBrazell/privacy-redirect">Privacy Redirect</a>
hasn't been maintained since 6 December 2021. Many instances are hard-coded.
Some should be removed as they've since gone offline and many others should be
added. Many pull requests were left pending and waiting, so we stepped
in. Later, we started improving it further by adding new features and
frontends.
</p>
<p>
Even though we forked from Privacy Redirect, LibRedirect is now independent, as it is
ahead of the main project with several improvements and new features.
</p>
<h3 id="why_all_those_permissions">
<a href="#why_all_those_permissions">Why all those permissions?</a>
</h3>
<p>Let's examine them one by one:</p>
<ul>
<li>
<a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest">webRequest</a>,
<a>webRequestBlocking</a>: To block <code>http</code> requests or
redirect them (e.g. to redirect to Invidious before it can
reach YouTube's servers).
</li>
<li>
<a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/storage">storage</a>: To
save LibRedirect's settings permanently.
</li>
<li>
<a href="https://developer.mozilla.org/en-US/docs/Web/API/Clipboard/writeText">Clipboard.writeText</a>:
To write the original link to the clipboard while using Copy Raw.
This permission is only used to write data. LibRedirect does <em>not</em> read
the data in your clipboard.
</li>
<li>
<a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/menus">menus</a>:
To add LibRedirect buttons to the Context Menus:
<br>
<br>
<div>
<img class="align" src="./img/docs/context-menu.webp"
alt="A screenshot of some buttons that are added to the context menu.">
</div>
</li>
<li>
<a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/bookmarks">bookmarks</a>
(optional):
To add the same Context Menus to Bookmarks too.
</li>
<li>
<a href="https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Match_patterns">all_urls</a>:
The targets, e.g. <a href="https://youtube.com">youtube.com</a>,
<a href="https://twitter.com">twitter.com</a> can be static,
but the Switch Instance and Copy Raw buttons require access
to the instances' URLs which are custom to each user, and thus can't be static.
</li>
</ul>
<h3 id="where_the_hell_are_those_instances_coming_from">
<a href="#where_the_hell_are_those_instances_coming_from">Where the hell are those instances coming from?</a>
</h3>
<p>
Almost every frontend project has a list of public instances, e.g.
<a href="https://api.invidious.io/">Invidious' official instances list</a> and
<a href="https://github.com/TeamPiped/Piped/wiki/Instances">Piped's official instances list</a>. We fetch
those lists using an automated
<a href="https://github.com/libredirect/instances">Python script</a>,
which gets triggered daily. We neither intercept nor
modify the lists outside of removing invalid URLs (i.e. the structure is not that of a URL).
They are not our responsibility, they are the projects maintainers'.
<p>Hence, if you are not comfortable with certain instances' policies or have found malicious instances, please report them to
the project maintainers to remove them from their lists. We will then update our lists manually to make sure those
instances are removed, only after you contact us via our <a href="https://matrix.to/#/#libredirect:matrix.org">Matrix room</a>
or by <a href="https://fosstodon.org/@libredirect">Mastodon</a> and if the case is of high severity which will affect our users;
if not, please wait until the script fetches the instances automatically and removes them.</p>
</p>
<h3 id="embeds">
<a href="#embeds">Embeds aren't working, why?</a>
</h3>
<p><ul>
<li>The Webpage you are trying to use may have implemented CSP (<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP">Content Security Policy</a>) which prevents Libredirect from replacing them with the frontends.</li>
<li>It could be broken because of Top layer in HTML element of the embed that maybe a Custom Video Player or Ads.</li>
<li>Some instances doesn't support embeds at all or displaced them explicitly</li>
<p>They are disabled by default to not help website in creating a fingerprint on you as websites can detect when you redirect an embed inside it.</p>
</ul>
</p>
<h3 id="chrome_web_store">
<a href="#chrome_web_store">Chrome Web Store?</a>
</h3>
<p>
We can't publish LibRedirect to the Chrome Web Store as it requires Manifest v3,
which removed essential features that LibRedirect needs.
However, you can still <a href="./download_chromium.html">install it manually</a>.
</p>
<p>
We are planning to adopt Manifest v3 in Firefox though, as they will support
the features LibRedirect needs. If other browsers adopt Mozilla's
Manifest, then you might see LibRedirect in the Chrome Web Store someday.
</p>
</div>
<br>
<br>
<br>
</body>
</html>