6 ms·
A small C++/Go/... proxy can do the same thing with much, much less overhead. Been there, done that - for something well-defined like this, it is more stable an
by lima 2y ago
A small C++/Go/... proxy can do the same thing with much, much less overhead. Been there, done that - for something well-defined like this, it is more stable and less work than fighting mitmproxy.
Routing everything through the proxy will degrade performance even with SNI interception.
Same with pfSense - a plain Linux server and a simple iptables rules set would do the job without having to fight against all the pfSense abstraction layers.
Write a .proto file with just enough of the reverse-engineered proto fields to auto-generate code and flip the flag. Cheaper than the Python implementation and easier to update when the proto changes.
Ignoring unknown field tags is an important Protobuf feature - it allows for compatible schema changes without breaking existing deployments.
- pcardoso 2y agoI would love to degrade my YouTube experience and make it slower when switching videos, would make it a lot less addictive specially with shorts.
- brainzap 2y agoI am experimenting a bit and definitly, a little bit loading delay helps to break the loop and „wake up“
- ushiroda80 2y ago21th century will be remembered as the great digital drug crisis.
- catlikesshrimp 2y agoOr the Start of the Digital Drug Era.
- haagendos 2y ago[dead]
- layer8 2y agoMaybe wait until the brain implants.
- j45 2y agoSlowing down certain domains bandwidth can help too.
- pcardoso 2y agoIt would, but it would also decrease the video quality. I'm not opposed to letting my kids watch YouTube, there is a lot of good quality content there, but having some agency in what they pick would be a lot better than the current behavior of short after short after short. Just like snacking on fast food.
- j45 2y agoInteresting points and some things I've been exploring too: Video quality does decrease, and sometimes that's good a good thing.. :) - Lower video quality is lower resolution = less addictive. - Decreasing saturated colors reduces children's brain heroin. (Try to put the tv in normal or movie color mode and see the addictiveness fall off). - Lowering the sound helps kids hear less of the background addictive noises and strain their hearing a little more and can help them get tired. - Lowering brightness can help with as well. - Kids device for viewing could be different than adults to allow filtering and shaping. As for content, I agree. - Recently I heard there's more and more fraudulent content under official channels that includes bad content inside the good stuff. This needs to be caught. - Managing access to shorts is important, if not limit outright. Do you have a youtube premium account that removes ads by chance?
- Always42 2y agoThought this was sarcasm till the end. Good idea
- create-username 2y agoIsn’t Google degrading your user experience well enough?
- j45 2y agoThis comment made me wonder if some folks have been compelled to find a way to block shorts. My use of YouTube predates shorts, and I haven’t been a huge shorts consumer on social platforms, and I seem kind of indifferent to them. Anyone else? Maybe there is something we can figure out and share with our friends who want to manage their shorts use. Also, apps like opal can be really helpful. https://www.opal.so/ https://www.opal.so/
- pcardoso 2y agoI never got used to shorts/reels/etc, but it is troubling to see kids addicted to them. I have been thinking that by forcing some pause between videos it would remove some of their addictiveness.
- immibis 2y agoIt does. Sometimes I click on an interesting short and then keep swiping to see if anything else is interesting. When the app takes ten seconds to load, I go do something else because there's no real value in the shorts.
- Narishma 2y agoGoogle has been doing that for you since they bought Youtube.
- ok_dad 2y agoI gotta say, I don’t get that perspective. The content is one thing, but YouTube is super reliable for me, streaming or watching. I can easily stream in 4k 60FPS from OBS and YouTube has never had issues ingesting it, though I generally do 1440p because my computer is slow. When watching, I have never had an interruption on my wired Apple TV even for 4k/60FPS. I do hate the pushing of shorts and the algorithm that seems to have a 3 video memory, but aside from that I’m pretty happy, I don’t get the weird right wing stuff or creepy videos pushed at me or my kids.
- Narishma 2y agoFor me the content is not the main problem, rather the consistent bloating and enshitification of the player and interface over the years. Nowadays I don't bother anymore and just use mpv and ytdlp to play the few videos I'm interested in.
- vachina 2y agoThe time you spent wrangling your player and scripts costs at least x10 the time it takes for you to open a browser, and visit m.youtube.com
- Narishma 2y agoI don't even bother using scripts, I just manually paste the URL of the video I want to watch into mpv. It's not slow enough for me to have to deal with the garbage Youtube interface.
- Razengan 2y ago> A small C++/Go/… proxy Got any recommendations for lightweight proxies that can run on macOS and serve other devices in the home?
- oefrha 2y agohttps://github.com/elazarl/goproxy https://github.com/elazarl/goproxy is pretty nice Go library for writing proxies, I used it once. Supports both HTTPS passthrough and MITM. Here's a trivial example MITMing connections to www.google.com and rejecting requests to https://www.google.com/maps https://www.google.com/maps while allowing everything else through: package main import ( "log" "net/http" "strings" "github.com/elazarl/goproxy" ) func main() { proxy := goproxy.NewProxyHttpServer() proxy.Verbose = true proxy.OnRequest(goproxy.DstHostIs("www.google.com")).HandleConnect(goproxy.AlwaysMitm) proxy.OnRequest(goproxy.DstHostIs("www.google.com")).DoFunc(func(r *http.Request, ctx *goproxy.ProxyCtx) (*http.Request, *http.Response) { if strings.HasPrefix(r.URL.Path, "/maps") { return r, goproxy.NewResponse(r, "text/plain", 403, "Forbidden") } return r, nil }) log.Fatal(http.ListenAndServe(":8080", proxy)) } Try: curl -k -x localhost:8080 https://www.google.com/ curl -k -x localhost:8080 https://www.google.com/maps curl -x localhost:8080 https://www.apple.com/ -k is to ignore cert error; note how we don't need it for apple.com due to passthrough. Remember to use your own cert rather than the hardcoded one in "production" (a trusted network like your home of course, probably a bad idea to expose it on the open Internet).
- dcow 2y agoCan you put together a guide in response showing where the inefficiencies are and how to mitigate them with more simple software? It sounds like the author was aware of at least parts of your comment. The post is very thorough. They benchmarked using python and c++ and the final impl doesn’t even decode protobuf. They used various mitm solutions. They are using pfsense for more than just “it’s muh security router”—they are vlanning and vpning the traffic so they can target inly the appletv on their network. Your comment is cheap and dismissive. The author’s post is not. You owe it to the community to put your money where your mouth is.
- Starmina 2y agoExactly my thoughts.
- WD-42 2y ago[flagged]
- haagendos 2y ago[dead]
- lima 2y agoNot sure what kind of answer you are looking for? I did not criticize the author's post. It was an enjoyable read, and I personally would have given up a long time before going to such impressive lenghts. The fact that the app isn't using certificate pinning is really interesting and the sheer amount of hacker spirit and determination is extremely wholesome. I am, however, very familiar with this particular engineering challenge (specifically, attempting to build on pfSense and using mitmproxy scripts in production), so I wanted to share my personal experiences to hopefully save someone else some time and frustration while attempting the same thing. Should I not have commented at all?
- dcow 2y agoI mean, it doesn’t bring any actual value to the conversation so probably not. I was trying to be nice about it.
- WD-42 2y agoSounds great, looking forward to the detailed blog post where you share how to do it!