Commit graph

141 commits

Author SHA1 Message Date
a6a33526a4
ci: enable docker build cache
All checks were successful
CI / build (push) Successful in 1m28s
2025-04-24 18:44:55 -04:00
dcb87b225a
fix: Fix content-range header in video proxy for partial requests
from: https://github.com/iv-org/invidious-companion/pull/101
2025-04-24 18:42:10 -04:00
a9c845651d
forgot to delete those println xd
All checks were successful
CI / build (push) Successful in 1m1s
2025-03-28 23:47:32 -03:00
71aa6edd67
fix: handling range headers correctly when full content requested
All checks were successful
CI / build (push) Successful in 58s
From: 71341b894c
2025-03-28 02:03:53 -03:00
356e523bc8
enforce 16 characters for companion.secret_key
All checks were successful
CI / build (push) Successful in 59s
ref: 23ff6135bb
2025-03-27 22:11:51 -03:00
e13b2e02a7
fix checkRequest checking 2025-03-27 22:07:09 -03:00
cb370138b8
change how the encrypted parameters are handled.
based on 7a56a46864
2025-03-27 22:06:56 -03:00
235a2c48a6 feat: display the current values of the configuration on start
All checks were successful
CI / build (push) Successful in 57s
2025-03-24 21:54:09 -03:00
6a8c4ea562 fix: do not tolower on secret_key 2025-03-24 21:53:47 -03:00
76e9807a34 fix: add missing secret_key config value
All checks were successful
CI / build (push) Successful in 1m9s
2025-03-24 21:45:07 -03:00
40faa994da style: move configuration to it's own package and more
All checks were successful
CI / build (push) Successful in 51s
- Remove https, it's useless and reverse proxies like haproxy, caddy and
  nginx are better at handling TCP and SSL connections
- Ability to disable the UDS and HTTP servers
2025-03-24 18:36:50 -03:00
6e970fcb43 update go.mod 2025-03-24 15:03:03 -03:00
6bd0f28d77
feat: add support for encrypted query parameters
All checks were successful
CI / build (push) Successful in 1m18s
2025-03-14 22:17:23 -03:00
81aa259a31
use http/1.1 by default
All checks were successful
CI / build (push) Successful in 1m4s
http/2 is not useful for DASH video streaming.
2025-03-10 22:53:25 -03:00
83fff3d861
remove client check since it's not needed for now
Some checks failed
CI / build (push) Failing after 16s
2025-03-10 15:07:42 -03:00
77c8730391
fix: fix data race on headers
All checks were successful
CI / build (push) Successful in 49s
2025-03-07 01:19:48 -03:00
d268f1a2c2
style: remove dead code in form of comments
All checks were successful
CI / build (push) Successful in 1m9s
2025-03-06 22:25:21 -03:00
3563b4e819
feat: change how headers are passed to the client and move constant variables 2025-03-06 22:25:21 -03:00
f7e75ce5e7
feat: use invidious-companion way to handle Range header and query parameter 2025-03-06 21:31:37 -03:00
1045548164
style: remove dead code comments and move comments
All checks were successful
CI / build (push) Successful in 51s
2025-03-04 15:21:55 -03:00
c50e482085
remove domain only access, that can be done in the reverse proxy side 2025-03-04 15:16:32 -03:00
94edee02d1
remove bandwidth limiter, that is being done in the reverse proxy side 2025-03-04 15:14:10 -03:00
f9b7cf20ed
add option to enable http server or not 2025-03-04 15:10:26 -03:00
6f4567df0c
include prefix for all environment variables
All checks were successful
CI / build (push) Successful in 1m4s
2025-03-04 15:06:13 -03:00
f66aa3efa6
ci: update go build path on Dockerfile and update CI file
All checks were successful
CI / build (push) Successful in 1m38s
2025-02-20 02:12:42 -03:00
340ee021bb
chore: get rid of the stats and only use prometheus metrics
Some checks failed
CI / build (push) Failing after 31s
2025-02-20 01:27:30 -03:00
8821540bd9
style: refactor project to use the standard go project layout 2025-02-20 01:13:40 -03:00
cc4671c677
feat(httppaths): remove connection checker
All checks were successful
CI / build (push) Successful in 59s
I doubt this is even used
2025-02-19 20:01:35 -03:00
319991c7b8
fix(videoplayback): Use HEAD requests to get the location of the videoplayback URL before doing a POST
All checks were successful
CI / build (push) Successful in 1m1s
"RFC 1945 and RFC 2068 specify that the client is not allowed to change
the method on the redirected request. However, most existing user agent
implementations treat 302 as if it were a 303 response, performing a GET
on the Location field-value regardless of the original request method.
The status codes 303 and 307 have been added for servers that wish to
make unambiguously clear which kind of reaction is expected of the
client."

Before doing this, POST requests that got a 302 status code, get
converted automatically to GET requests by the standard, which should
not happen. That is why Invidious does 5 HEAD requests to get the
Location header and send a correct URL on the POST request (NOTE:
INVIDIOUS UPSTREAMS STILL USES GET REQUESTS TO GET THE VIDEO FROM
YOUTUBE, THAT IS SUBJECT TO CHANGE with https://github.com/iv-org/invidious/issues/5034:

164d764d55/src/invidious/routes/video_playback.cr (L48-L78)

Due to this the redirects, the Host header can also change, so if the
stream is open for a long time and it gets redirected to another URL,
the Host header used the old Host header instead of the new one returned
by the Location header on the HEAD request to googlevideo.com, making
the request fail.

I hope this shit works tho
2025-02-19 18:41:49 -03:00
197a807b90
feat: func to rotate the IP address from gluetun automatically depending of the traffic
this is supposed to execute every second to be able to calulate the difference of the transmitted bytes

fuck

fuck fuck: change block checker cooldown back to 60 seconds
2025-02-19 17:21:59 -03:00
53d04ac79b
feat: WIP stat to calculate the rate of 403 videoplayback requests
All checks were successful
CI / build (push) Successful in 51s
2025-02-11 23:45:21 -03:00
f66ae3187f
feat(http client): Add environment variable to use a proxy (http, socks5, socks5h, etc...) 2025-01-06 22:11:29 -03:00
3fc14dd18b
the 'c' query params is not is not strictly necessary. It can break hls streams 2025-01-01 01:03:17 -03:00
a98a4ba1bf
check if the connection has been closed before doing the request to google servers 2024-12-22 01:09:19 -03:00
71abe2ae58
Add option to disable the host restriction 2024-12-21 14:54:46 -03:00
b156a52420
test 2024-12-21 14:53:33 -03:00
e28d86018e
and also disable range query becuase I'm not willing to fix it right now 2024-12-21 01:37:52 -03:00
86170fd39e
disable arm builds for now 2024-12-21 00:59:12 -03:00
2a6e80380d
fix bool environment variables 2024-12-21 00:58:55 -03:00
985ef449c5
alr query param makes youtube return an URL and not video data 2024-12-21 00:34:04 -03:00
279570d47b
show version of the proxy on x-powered-by headers 2024-12-20 23:52:43 -03:00
571a2351e9
strip report-to header from responses 2024-12-20 17:28:19 -03:00
161c61bcce
use videoplayback conventions from invidious-companion 2024-12-20 17:13:23 -03:00
200a536207
better env variables handling 2024-12-20 17:12:59 -03:00
0a4dd54393
update dockerfile and docker compose file 2024-12-20 17:12:17 -03:00
03a37009c4
handle user-agent header based on  query param 2024-12-16 02:34:09 -03:00
46d11bfa53
Update docker compose file 2024-12-13 17:25:01 -03:00
e698c1df4d
use log. instead of fmt. for logging 2024-12-13 17:24:52 -03:00
ff9f99c1b6
better 403 request handling 2024-12-13 17:24:03 -03:00
802dd65edf
Add HSTS header 2024-12-11 13:53:06 -03:00