Repository navigation
TxtNet Browser 3.0.0
·
7 commits
to master
since this release
New Major Release!
While this release isn't as feature rich on its own, it incorporates breaking changes in the TxtNet communication protocol and as such, both server and client are not backwards compatible with releases before 3.0.0. It still incorporates all the changes from past 2.X releases. New to this release:
- Added CRC-5 checksum validation to every individual SMS packet in a transaction. If any packet fails, a toast will alert the user that the request needs to be retried. This was accomplished without sacrificing any bandwidth loss by embedding the CRC into the base-114 index counter using simple modulo arithematic. The CRC, with 32 possible combinations, is the remainder of a 32-indexed counter. This decreases the max amount of SMS per transaction from ~12,000 to 406, which seems reasonable given there is currently no way for the client to ACK a request or request dropped packets be resent yet.
- The homepage now uses JS and CSS for a cleaner presentation, but there was a regression that allowed any website to render JavaScript. While the attack surface for pre-filtered content is low, there is now a check to remove JavaScript from running on any non-local sites.
- Added a configurable server SMS interval in the server management page with a default of 5 seconds. Until 3.0.0, all SMS messages were queued immediately and Android made a best-effort attempt to deliver as quickly as possible. However, most carriers have systems to throttle large bursts of SMS activity for possibly minutes, and due to the nature of SMS as a protocol, some may have just been dropped.
- Added basic scaffolding for custom server User Agent and client SMS retry for missing or corrupted part. A custom user agent will be useful for older devices to preprocess sites with fewer browser deprecation messages, and will also provide a layer of anonymity to the device acting as a server (note that the server is still not anonymous, as clients can get parsed JS including almost any device and network property that Chromium allows.) SMS Retry is a planned feature that will, either immediately or at the end of an SMS stream, request all parts of a multi-part message that were either dropped or corrupted. TBD!