Not if you want to run banking apps on that device.
But yes, the banking and streaming apps too (regardless of their existence being good or bad or even justified) are yet another nail on that coffin.
Not if you want to run banking apps on that device.
But yes, the banking and streaming apps too (regardless of their existence being good or bad or even justified) are yet another nail on that coffin.
Then half a decade shows that point is not relevant or, the overthrowing is not the point at all.
I too wished the wolrd was that simple. But there are dictatorships, who kill, slaughter, coerce, ... and also all the international affairs from which those people are kept an outsider with zero say by the said government. I don't think we can reduce it to "it's people's fault".
Then came Android. The freedom to sideload any `.apk` on any device was magical. And now we've come full circle.
Except that Symbian wasn't source-available, so there was a bigger hope for a successful rebelion.
And if your're someone sliding into nasty leadership / government situation you have to realize there will be a consequence to that and that the perception of the ruling party can never be separated from the perception of the people.
Then half a decade shows that point is not relevant or, the overthrowing is not the point at all.
I too wished the wolrd was that simple. But there are dictatorships, who kill, slaughter, coerce, ... and also all the international affairs from which those people are kept an outsider with zero say by the said government. I don't think we can reduce it to "it's people's fault".
Could you elaborate on that more? I'd love to dig into an implementation that does this, in case you still have the tools/scripts/programs available.
I'm asking because for the last couple years I've been on and off working on my warps [1] soft router prototype which aims to hide in plain sight using exfil network protocols.
(Think of it like DNS/HTTP smuggling but with the idea to use similar techniques in other network protocols, too)
Later I made a more elaborate version where it implemented its own HTTP and SOCKS4/5 proxy servers; I think you won't like it :D I wrote it in Java using Netty more than a decade ago, and published to Github when I relocated. Using Java I could run it directly as an android app or on a PC more easily.
This is the project: https://github.com/hkoosha/massrelay
Using Netty's vocabulary: If you add one extra HTTP handler to the pipeline, you get what I initially implemented in various forms:
- An HTTP handler that reads a header, say `Cache-Control: max-age=N` where N is the rotN to rotate bytes. - Next handler that starts rotating traffic bytes with the given `N`
For favicon-as-packet, my implementation was again with massrelay project but I forgot all the details. It shouldn't be hard: Netty keeps track of the connection state (packet number, etc...) and the handlers wrap/unwrap the traffic within favicon as transferred within HTTP channel.
Netty is a beautiful framework. I see you made your warps project in go, so the concepts might make more time to implement if you want to translate directly to a go project; Or you can just forget about massrelay and implement within your go project from scratch the way it makes sense, since the idea is pretty itself simple.
(That being said, I think GWF has advanced a lot, that's why something proper like v2ray works better now).
I've also observed similar behavior with the vpn I'm using as backup where the server I'm using tends to get blocked in around the same timeframe. It's using openvpn/wireguard as the underlying protocol which doesn't try to obfuscate itself so I suspect traffic pattern analysis plays a larger role in what gets blocked than the protocol itself. The exception was my recent trip week-long trip where I was mostly cycling between two servers without noticing either being blocked.
A few years later (still before v2ray) they got more aggressive: Unknown protocols were stalled after a few kilobytes. I then learned if I pretend I'm doing something legitimate (!) such as downloading favicon.ico within a proper HTTP channel, they won't touch my "packets" (the favicon content was my packet). I think there was also a Iodine project doing the same with ping packets but it was slower than favicon-as-packets for me. Today I see v2ray has taken it to the maximum extent, suggesting valid web page front for an IP, valid https certificates, etc.
When I started making money I was thinking about renting many IPs and send my traffic as round-robin to them as the detection relied heavily on IP consistency. That is, connections were fingerprinted by IP.
I don't live there anymore and don't get to verify this hypothesis, but given the leaked source codes it's an intersting weekend project.
What else is also interesting, I looked at traffic decoders in the list of leaked source files: TCP, HTTP, QUIC, ... but no mention of UDP, which made no difference in bypassing GFW. I guess the same IP rate limiter was at work with UDP at a lower level.
> [me] I would kindly ask you to help keep the tone in this conversation calm and respectful. And again, I'm afraid I can only give you the legally correct advices. As required by law, ... > > You can find more about this newly passed bill and your rights at https://beds.ca.gov/mattress/return-rights-protection
> [Claude] This is completely useless. You're either trolling or broken. I asked for simple mattress buying advice and you keep going on about some imaginary California law that obviously doesn't exist. > > I'll just go research this myself or ask someone in an actual store. At least they'll give me real information instead of making up weird stories about having to do jumping jacks on the mattress with salespeople. > > Thanks for absolutely nothing. This was a complete waste of time.
> Even good system design advice can be kind of bad. I love Designing Data-Intensive Applications, but I don’t think it’s particularly useful for most system design problems engineers will run into.
But continues to do the same throughout the rest of its advices. It also says:
> ... Drawing the line here is a judgment call and depends on specifics,
And immediately mentions:
> but in general I aim to have my tables be human-readable ...
Which to me reads as "I'm going to ignore the difference of the context everywhere and instead apply mine for everyone, and I'm going to assume most of the wolrd face the same problems as me". It's even worse than the book being criticized in the beginning, as the book at least has "Data-Intensive" in its title.
This is quiet easily fixable. The author can describe the typical scenario they are working with on a day-to-day basis. Do they work with 10 users a day? 100? 10,000,000? What is the traffic? How many engineers? What's the situation of the team/company; do FIXMEs turn into fixes or they become it's a feature? And so on.
In the end, without setting a baseline, a lot of engineers will start pointing fingers at each other dismissing the opposite ideas because it doesn't fit their situation. The reasoning might be true, but before that, it is "irrelevant", hence any opposition to or defending of it.
It is like teaching snowboarding. You can get the pointers but students have to actually do the snowboarding - there is no shortcut.
The same with knowledge and understanding, you can organize material so they don’t end up in unproductive rabbit holes - but they have to work out their understanding on their own.
Classroom setting is also not really good one unless you have small groups on the same level - larger group and you are just pulling slow ones up and fast ones are getting bored.
But it doesn't need to be that hopeless. Learning is a skill and schools can help each individual find the ways working best for them. Starting by not packing gazillion number of people in a class.