-
Hello all,
This is my second year of working on a project[1] with the goal of browsing the web, on an Android smartphone, without reliance on Wi-Fi or mobile data. While this concept might seem aimless, my goal was to provide a way for people in areas with limited, expensive, or censored cellular internet access a way to view the web in a basic format. I finished work on a basic client-server model last year[2], and this year, I implemented a new pseudo-distributed peer-to-peer model that allows any TxtNet Browser user to use their own smartphone to run a background server service that communicates via the user's own primary mobile number. The main advantage to this model over last year's use of the Twilio API is the fact that with an unlimited SMS plan from a consumer carrier, you will likely end up paying significantly less than the amount you would pay for Twilio credits (averaging about ~$0.50 per website). There's a lot going on with the stateless nature of SMS, GSM-7 encoding, and Brotli compression, so please ask any questions you might have!
I've also started up a test server instance running on a +1 country code phone number, so feel free to test out the app with your own smartphone. Like mentioned in the GitHub repo, please be aware that I (necessarily) have access to every phone number and associated request that is sent. Of course, anyone can host their own server instance, and if you would like to share it, feel free to get in touch so I can add the number to the repo! Also, there are likely many bugs still lurking, so feel free to report those.
[1] https://github.com/lukeaschenbrenner/TxtNet-Browser/
[2] https://news.ycombinator.com/item?id=32905496
-
InfluxDB
InfluxDB high-performance time series database. Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.
-
Thanks and yeah, that's another good application of the idea. It's somewhat similar to iodine[1] in that respect. On the ground in the US, this would probably only be useful if you're hiking in a remote area or something like that, due to how cheap data plans are. It might also come in handy if your carrier doesn't charge for SMS when abroad.
[1] https://github.com/yarrick/iodine
-
That's really cool! There are situations where data is unreliable or congested, having a backup is very handy. SMS is very common LMICs as data can be expensive, nevermind the devices themselves are difficult to come by. I see this is using GSM-7, I suppose this could be expanded to non-Latin alphabets using USC-2, but it would increase the amount of text messages needed due to the max number of characters. Neat to think about though.
I built something similar recently (inspired by this project), a SMS to DuckDuckGo search [1] and weather lookup [2]. The submitted repo's app is Android only, so having a more universal approach is fun to have. I live and work remotely, my closest neighbour's km's away do not have internet but only cell phones with unlimited SMS. With no internet, they would not be able to download the app. Sort a chicken and the egg problem.
[1] https://github.com/snacsnoc/smsferret
-
-
Russian internet censorship is very simple. They don't seem to be using DPI to target VPN protocols at all, instead trying to block IPs/subnets of known commercial VPN providers. Blocking IPs, subnets, and domains is the primary operating mode of Roskomnadzor.
There allegedly is DPI, but it only comes into play as an extra measure against things like domain fronting, proxies, and plaintext HTTP. It'd look at the SNI and inject a RST packet to drop the connection. As it does not even try to implement TCP, analyzing each IP packet in isolation, there are various interesting utilities[1] that mess with it by, for example, splitting the TLS ClientHello into two TCP packets in the middle of the domain name.
[1] https://github.com/ValdikSS/GoodbyeDPI
-
Maybe Carbonyl? (https://github.com/fathyb/carbonyl) It's a chromium browser for the terminal. You could use it as a backend.
-
[3] https://github.com/AwalaNetwork/specs/issues/81
-
CodeRabbit
CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.