Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[New instance] https://y.hc.ws/ #554

Closed
9 tasks done
GlowingUmbreon opened this issue May 13, 2024 · 12 comments
Closed
9 tasks done

[New instance] https://y.hc.ws/ #554

GlowingUmbreon opened this issue May 13, 2024 · 12 comments
Assignees
Labels
instance-add passed-checks Passed the required manual checks for a public instance

Comments

@GlowingUmbreon
Copy link

GlowingUmbreon commented May 13, 2024

URL

https://y.hc.ws/

Mandatory checks

  • Instance has a domain name
  • Instance is served over HTTPS
  • Statistics (/api/v1/stats) are enabled
  • Instance is properly configured (including the mandatory post install configuration)
  • Instance has an automatic hourly restart setup of Invidious
  • If dash, proxy + download is enabled (default settings), the instance has unlimited traffic/bandwidth or close to unlimited (100TB minimum)
  • Instance is not running any kind of analytics

Maintainer chart

  • Ensure that my instance is up to date (less than one month old)
  • Ensure a proper uptime of my instance (around 90%)

Host country

Luxembourg / USA

Man in the Middle

No response

Source code URL

https://codeberg.org/hc-ws/invidious

Additional information

Server info:

  • Hosted on the latest version of FreeBSD.
  • Using the latest version of Invidous.
  • Uses nginx and forwards to either 3 upstream instances of Invidious.
  • They 3 Invidious instances are restarted every hour with a offset to each other so atleast 1 will always be running.

Source code changes:

  • Updated the Makefile to support bmake, FreeBSD uses bmake instead of gmake so I had to modify it to allow for compilation on the server.
  • Show the upstream server id and the current host ID within the footer.
  • Made the player js files minimized by default and set a few of the JavaScript files to load async to improve loading times.
  • Update how the maxres images load to make them significantly faster.
Copy link

Hello! Your instance has been added to our monitoring system: https://updown.io/r4mq
You need to wait 30 days before we add your instance, this is to evaluate that your instance will keep a good uptime for one month.

Make sure you double checked all the mandatory checks or this will slow down the process of adding your instance!

Please consult these two important tutorials:

It is highly recommended to follow these tutorials because it will allow the instance to stay stable and performant over the long term.

Please consider joining the Matrix room for public instance maintainers by joining our Matrix room: https://matrix.to/#/#invidious:matrix.org
then pinging @ unixfox, @ TheFrenchGhosty and @ SamantazFox for asking to be invited to the Matrix room.
We discuss troubles managing a public instance, sharing some advices and more.

@github-actions github-actions bot added the wait-30-days Wait 30 days good uptime label May 13, 2024
@perennialtech
Copy link
Collaborator

@GlowingUmbreon Thanks for submitting your instance. However, your network architecture may be causing a couple of issues with your instance currently:

  1. Thumbnail links in channel RSS feeds are pointing to y.hardcopy.ws:3000 rather than your main domain y.hc.ws (see example). This will prevent thumbnails from loading properly for users.

  2. User preferences do not appear to be saving correctly. When changing a setting and clicking save, the preferences should persist but currently do not.

  3. Although you've set max-age=31536000; includeSubDomains; preload for your HSTS header, your instance is not being preloaded. This is because the HSTS header needs to be set on the root domain hc.ws as well.

Also, if you haven't already, be sure to implement IPv6 rotation on your upstream Invidious instances as per the documentation.

@perennialtech perennialtech added the failed-checks Failed the required manual checks for a public instance label May 16, 2024
@GlowingUmbreon
Copy link
Author

Hi @perennialtech Thank you for the information,
1/2. It appears that invidious was still setup with the old y.hardcopy.ws domain. This has now been updated and testing the cases you provided me this appears to be working now.
3. I have switched from using Invidious's built in HSTS headers to instead using Nginx HSTS headers, this is now also set on the root hc.ws. I believe this should be working as expected now.

For IPv6 rotation I had been unable to use the smart IP rotator as suggested in the documentation, I believe the iproute python library does not support setting routes on FreeBSD. I however have made a similar utility which I should hopefully be able to get running on the server soon.

Thank you again for alerting me to these mistakes.

@GlowingUmbreon
Copy link
Author

GlowingUmbreon commented May 22, 2024

Had around ~1.5 hours of downtime last night. I ran make as sudo instead of as invidious which broke some permissions. Testing the website after running make worked fine for a period of time, it was only after all the upstreams went through their automatic restart that the instance went down. This is now fixed though.

@perennialtech
Copy link
Collaborator

@GlowingUmbreon Thanks for the update and for addressing the issues with the instance. A few additional notes:

  1. I have switched from using Invidious's built in HSTS headers to instead using Nginx HSTS headers, this is now also set on the root hc.ws. I believe this should be working as expected now.

As a heads up, hstspreload.org is still showing an issue with the root domain hc.ws being inaccessible over plain HTTP. For example, trying to curl http://hc.ws/ returns a connection refused error:

$ curl -v http://hc.ws/ 
* Failed to connect to hc.ws port 80 after 510 ms: Couldn't connect to server
* Closing connection
curl: (7) Failed to connect to hc.ws port 80 after 510 ms: Couldn't connect to server

Seems like your server isn't accepting any HTTP traffic on port 80, rather than redirecting to HTTPS. It would be best to get this resolved so that people accessing the site over plain HTTP will be automatically redirected to HTTPS.

For IPv6 rotation I had been unable to use the smart IP rotator as suggested in the documentation, I believe the iproute python library does not support setting routes on FreeBSD. I however have made a similar utility which I should hopefully be able to get running on the server soon.

Regarding IPv6 rotation, the maintainer of invidious.incogniweb.net has apparently had success using RFC 8981 Temporary Address Extensions and the net.ipv6.conf.eth0.use_tempaddr=2 sysctl as a workaround. If your utility leverages the same principle, everything should be fine though.

Had around ~1.5 hours of downtime last night

No worries about the brief downtime. As long as you can maintain >90% uptime overall, your instance will remain listed.

@perennialtech perennialtech added passed-checks Passed the required manual checks for a public instance and removed failed-checks Failed the required manual checks for a public instance labels May 22, 2024
@GlowingUmbreon
Copy link
Author

Oh thank you, I was aware there was the temporary address extension but I was unable to find a way to enable it within FreeBSD. I will get this activated later on today.

I was aware that the server is not listening on port 80 but I did not believe that to be a problem as modern browsers should be able to redirect but I will update the nginx config to account for this.

@GlowingUmbreon
Copy link
Author

Apologies for the delay, I was unable to use temporary address extension within freeBSD as it required DHCPv6 to function which my provider does not support. I
have finished making a script that rotates the ipv6 for freeBSD, I would like for adding this server to the official list on hold for a week just to make sure that the script does not encounter any errors. Once this is done I believe everything should be good to go.

@GlowingUmbreon
Copy link
Author

Okay it looks like the IP has rotated successfully each time and I have not noticed any other problems so I am happy for this to go ahead now.

@unixfox
Copy link
Member

unixfox commented Jun 23, 2024

Since iv-org/invidious#4759, I would recommend to at least offer DASH. Otherwise people will be stuck in 480p only.

@GlowingUmbreon
Copy link
Author

Proxying/DASH has been added, is there anything else that you believe would be beneficial to change?

@bugmaschine
Copy link
Collaborator

@GlowingUmbreon We've recently released a new workaround for the Youtube block. Please ensure you have applied it as currently your instance dosen't work, and we can't add it otherwise.

@unixfox
Copy link
Member

unixfox commented Sep 22, 2024

Closing as instance is not functioning (due to the recent issues).

@unixfox unixfox closed this as not planned Won't fix, can't repro, duplicate, stale Sep 22, 2024
@github-actions github-actions bot removed the wait-30-days Wait 30 days good uptime label Sep 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
instance-add passed-checks Passed the required manual checks for a public instance
Projects
None yet
Development

No branches or pull requests

5 participants