renge/invidious: Document as private
This commit is contained in:
parent
da37f01af7
commit
3ca5a57043
|
@ -44,15 +44,6 @@
|
||||||
https_only = lib.mkForce true;
|
https_only = lib.mkForce true;
|
||||||
|
|
||||||
registration_enabled = false;
|
registration_enabled = false;
|
||||||
banner = ''
|
|
||||||
<div style="background: #ff7f7f7f;padding: 1em;">
|
|
||||||
<h2>Deprecation notice</h2>
|
|
||||||
<p>
|
|
||||||
This service will no longer be publicly available after <em>2024-09-27</em>.
|
|
||||||
<a href="https://sbruder.xyz/#deprecation">Read more</a>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
'';
|
|
||||||
|
|
||||||
# this can be removed
|
# this can be removed
|
||||||
# when this service is re-deployed on a host with state version ≥ 24.05
|
# when this service is re-deployed on a host with state version ≥ 24.05
|
||||||
|
@ -74,7 +65,6 @@
|
||||||
'';
|
'';
|
||||||
locations = {
|
locations = {
|
||||||
"/robots.txt".return = "200 'User-agent: *\\nDisallow: /'";
|
"/robots.txt".return = "200 'User-agent: *\\nDisallow: /'";
|
||||||
"/privacy".return = "301 'https://sbruder.xyz/#privacy'";
|
|
||||||
"/feed/popular".return = "403"; # leaks data about its users
|
"/feed/popular".return = "403"; # leaks data about its users
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,63 +0,0 @@
|
||||||
# SPDX-FileCopyrightText: 2023 Simon Bruder <simon@sbruder.de>
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
|
|
||||||
# I don’t do this, because I want to.
|
|
||||||
# I think I might have to do this because of § 8.2 of Hetzner’s ToS.
|
|
||||||
{ config, lib, ... }:
|
|
||||||
let
|
|
||||||
serviceBlocks = {
|
|
||||||
nitter = [
|
|
||||||
{ path = "/ks1v/status/1439866313476689924"; report = "2023-04-21-Hetzner-C591581F-ROSKOMNADZOR.txt"; }
|
|
||||||
];
|
|
||||||
iv = [
|
|
||||||
{ video = "NR57D2UVqm4"; report = "2023-04-28-Hetzner-C633C02D-ROSKOMNADZOR.txt"; }
|
|
||||||
];
|
|
||||||
libreddit = [
|
|
||||||
];
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
services.nginx.virtualHosts = lib.mapAttrs'
|
|
||||||
(domain: blocks: lib.nameValuePair "${domain}.sbruder.xyz" {
|
|
||||||
locations = lib.listToAttrs
|
|
||||||
(map
|
|
||||||
(block:
|
|
||||||
let
|
|
||||||
# workaround for nginx dropping parent headers
|
|
||||||
# see https://github.com/yandex/gixy/blob/master/docs/en/plugins/addheaderredefinition.md
|
|
||||||
parentHeaders = lib.concatStringsSep "\n" (lib.filter
|
|
||||||
(lib.hasPrefix "add_header ")
|
|
||||||
(lib.splitString "\n" config.services.nginx.commonHttpConfig));
|
|
||||||
transparency_url = "https://sbruder.xyz/transparency/${block.report}";
|
|
||||||
return_statement = ''
|
|
||||||
${parentHeaders}
|
|
||||||
add_header Link "<${transparency_url}>; rel=blocked-by" always;
|
|
||||||
add_header Content-Type text/html always;
|
|
||||||
return 451 '<html><head><title>451 Unavailable For Legal Reasons</title></head><body><center><h1>451 Unavailable For Legal Reasons</h1><p><a href="${transparency_url}">Transparency</a></p></center><hr><center>nginx</center></body></html>';
|
|
||||||
'';
|
|
||||||
path =
|
|
||||||
if block ? "path"
|
|
||||||
then block.path
|
|
||||||
else
|
|
||||||
(if block ? "video"
|
|
||||||
then "/" # not pretty, but I don’t know how to do this differently
|
|
||||||
else throw "invalid block");
|
|
||||||
location_block =
|
|
||||||
if block ? "video"
|
|
||||||
then {
|
|
||||||
extraConfig = ''
|
|
||||||
if ($arg_v = ${block.video}) {
|
|
||||||
${return_statement}
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
else { extraConfig = return_statement; };
|
|
||||||
in
|
|
||||||
lib.nameValuePair
|
|
||||||
path
|
|
||||||
location_block)
|
|
||||||
blocks);
|
|
||||||
})
|
|
||||||
serviceBlocks;
|
|
||||||
}
|
|
|
@ -5,10 +5,6 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
|
||||||
./blocks.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
services.nginx.virtualHosts."sbruder.xyz" = {
|
services.nginx.virtualHosts."sbruder.xyz" = {
|
||||||
root = pkgs.stdenvNoCC.mkDerivation {
|
root = pkgs.stdenvNoCC.mkDerivation {
|
||||||
name = "sbruder.xyz";
|
name = "sbruder.xyz";
|
||||||
|
|
|
@ -4,32 +4,26 @@ SPDX-FileCopyrightText: 2022-2024 Simon Bruder <simon@sbruder.de>
|
||||||
SPDX-License-Identifier: CC-BY-SA-4.0
|
SPDX-License-Identifier: CC-BY-SA-4.0
|
||||||
-->
|
-->
|
||||||
|
|
||||||
On this domain, the following services are currently available:
|
## End of life
|
||||||
|
|
||||||
* [Invidious](https://iv.sbruder.xyz) ([deprecated](#deprecation))
|
|
||||||
|
|
||||||
## Deprecation
|
|
||||||
|
|
||||||
Because of the increasing hostility of YouTube,
|
Because of the increasing hostility of YouTube,
|
||||||
the public availability of the Invidious service will be discontinued after **2024-09-27**.
|
the public availability of the Invidious service was discontinued on **2024-09-27**.
|
||||||
Registration of new accounts is disabled since **2024-08-22**.
|
Registration of new accounts is disabled since **2024-08-22**.
|
||||||
Access by unauthenticated users is disabled since **2024-08-28**.
|
Access by unauthenticated users is disabled since **2024-08-28**.
|
||||||
|
All accounts which did not explicitly opt out were deleted on **2024-09-29**.
|
||||||
|
|
||||||
If you have an account,
|
This information site is scheduled to be deleted in late Q4 2024.
|
||||||
please export/transfer your data using the built-in functionality of Invidious.
|
|
||||||
All accounts will be deleted within 30 days after the discontinuation.
|
|
||||||
You may also delete your account yourself until 2024-09-27.
|
|
||||||
Should you request your account to be retained, I might do so at my discretion.
|
|
||||||
|
|
||||||
## History
|
## History
|
||||||
|
|
||||||
Previously, the following services were also available:
|
Previously, the following services were also publicly available:
|
||||||
|
|
||||||
|
* [Invidious](https://iv.sbruder.xyz)
|
||||||
* [Libreddit](https://libreddit.sbruder.xyz)
|
* [Libreddit](https://libreddit.sbruder.xyz)
|
||||||
* [Nitter](https://nitter.sbruder.xyz)
|
* [Nitter](https://nitter.sbruder.xyz)
|
||||||
|
|
||||||
They are no longer offered,
|
They are no longer offered,
|
||||||
as both Twitter (which no longer exists in its previous form) and Reddit
|
as Twitter (which no longer exists in its previous form), Reddit, and YouTube
|
||||||
have become extremely hostile to third party applications,
|
have become extremely hostile to third party applications,
|
||||||
which made them unreliable and forced the developers (at least for Libreddit)
|
which made them unreliable and forced the developers (at least for Libreddit)
|
||||||
to discontinue development.
|
to discontinue development.
|
||||||
|
@ -38,40 +32,10 @@ The recommended migration path is to use alternative hosted instances
|
||||||
(<https://nitter.net> has been mostly working at the time of writing this)
|
(<https://nitter.net> has been mostly working at the time of writing this)
|
||||||
or discontinue usage of that platform.
|
or discontinue usage of that platform.
|
||||||
|
|
||||||
<!-- REUSE-IgnoreStart -->
|
|
||||||
## A Note to Copyright Holders
|
|
||||||
|
|
||||||
The services are only relaying content that is otherwise already available on the Internet.
|
|
||||||
If your rights are infringed by content available from this site,
|
|
||||||
please report this to the site originally making it available.
|
|
||||||
Otherwise the content will still be available on the Internet.
|
|
||||||
|
|
||||||
If you still want to report illegal content to me instead of the original site,
|
|
||||||
you can contact me by the means specified in the imprint.
|
|
||||||
Please don’t send letters by snail mail if you want a fast response.
|
|
||||||
<!-- REUSE-IgnoreEnd -->
|
|
||||||
|
|
||||||
## Imprint
|
## Imprint
|
||||||
|
|
||||||
See [Imprint](/imprint/).
|
See [Imprint](/imprint/).
|
||||||
|
|
||||||
## Privacy
|
|
||||||
|
|
||||||
If you log in to an Invidious account,
|
|
||||||
the data you provide to the service will be stored.
|
|
||||||
You can export or delete that data by using its built-in data control feature.
|
|
||||||
|
|
||||||
In the case of an error, details of the problematic request might be stored on the server
|
|
||||||
and used strictly for debugging and fixing the error.
|
|
||||||
|
|
||||||
## Transparency
|
|
||||||
|
|
||||||
For transparency reasons,
|
|
||||||
you can find all take down requests [here](/transparency/).
|
|
||||||
|
|
||||||
I was not sure if the reported content could be seen as violating Hetzner’s ToS,
|
|
||||||
and therefore complied, even though I don’t want to support the authority asking for removal.
|
|
||||||
|
|
||||||
#### Fine Print
|
#### Fine Print
|
||||||
|
|
||||||
<small>
|
<small>
|
||||||
|
|
Loading…
Reference in a new issue