snuffyDev / Beatbump

Alternative YouTube Music frontend built with Svelte/SvelteKit 🎧
https://beatbump.io/
GNU Affero General Public License v3.0
1.05k stars 88 forks source link

403 loop using yt-hls-rewriter audio proxy #111

Open Smig0l opened 2 years ago

Smig0l commented 2 years ago

image

Tried clearing site data and switching hls/http. Browser Chrome Desktop. Probably geo-location? (Europe)

snuffyDev commented 2 years ago

So I’m not entirely sure what caused this to happen (my best guess would be that it’s rejecting because the proxy’s IP is triggering geo restrictions), but good news potentially is that I managed to finally get an Oracle Cloud account, so I’m going to be migrating the proxy to that.

Once the proxy server gets moved to Oracle Cloud I should be able to tackle some of the geo-restriction issues that come with audio playback

martadinata666 commented 2 years ago

The proxy is this https://github.com/snuffyDev/Beatbump/tree/master/packages/proxy-server/ part? Can you add minimal README.md to deploy it? There is deno and rust, rust compile pretty straight forward i guess? But not really sure about deno part. Thanks.

snuffyDev commented 2 years ago

The proxy is this https://github.com/snuffyDev/Beatbump/tree/master/packages/proxy-server/ part? Can you add minimal README.md to deploy it? There is deno and rust, rust compile pretty straight forward i guess? But not really sure about deno part. Thanks.

The Rust proxy is unstable currently, the default one that Beatbump uses is the Deno proxy. There is a Dockerfile in the Deno folder, as well as pre compiled binaries in the ‘bin’.

If you want to run the Deno proxy straight without Docker, all that is required is to install Deno (https://deno.land/#installation) and compile it or run it directly using the command line.

Edit

To compile the Deno proxy yourself, in your terminal navigate to /packages/proxy-server/deno in your local Beatbump folder, then depending on your OS run one of these commands:

Windows: deno compile --target x86_64-pc-windows-msvc --allow-net --lock=lock.json --output bin\proxy-x86_64-windows index.ts

Linux: deno compile --target x86_64-unknown-linux-gnu --allow-net --lock=lock.json --output bin\proxy-x86_64-linux index.ts

After it finishes compiling, the binary will be located in ./bin

martadinata666 commented 2 years ago

Thanks for the guide i use the dockefile method and it works, So after test and try a bit, few questions.

  1. When deploying using docker we dont need the binary?
  2. Can we set proxy to something like http://localhost:3001 as usually when docker deployed app coupling together in single network we can use something like "http://container-name:3001"