/Windows-Mobile-Browser-Streaming

"Run" chromium on your windows phone

Primary LanguageC#

Windows-Mobile-Browser-Streaming

"Run" chromium on your windows phone

Currently a proof of concept inspired by browservice.

This was hacked together in a few days, much of it is hardcoded & the code is pretty ugly (for now) but it works.

When it grows up it aims to be a usable modern browser for windows mobile devices that anyone can install on a PC (server) and have an up to date web browser on WP (client).

How to try

For now your phone and your server needs to be on the same network

  1. Download the latest release.
  2. Run the server app on your PC
  3. Open the client app on your phone, enter the IP of the server (your PC's local IP in ws://localip:8081 format) and click connect
  4. Navigate to a page or search using google

What works

  • 2 way communication with websockets and JSON
  • Render buffer forwarding to a UWP client
  • Navigation events from UWP client
  • Touch input events (only 1 for now) from UWP client

What's needed

  • Auto finding the server if on local connection (UDP discovery packets)
  • Easy&secure remote connections via tunnels (Ngrok, ZeroTier, serveo)
  • Auto scaling renderview based on screen resolution/rotation/UWP viewport
  • HiDPI
  • Multitouch
  • Text input (basic, still WIP)
  • Auto save the last server address
  • Faster rendering (GPU?)
  • Faster & smarter transport (chunking?, rawbytes?, SYN/ACK)
  • Configurable streaming quality (ondemand rendering?)
  • Audio playback forwarding
  • File uploads
  • File downloads
  • Camera & microphone
  • Notifications

What's needed after

  • Tabs
  • In Private/Incognito
  • Back/Forward
  • General browser stuff
  • Continuum support/verify

How can you help

  • XAML! I don't like XAML. If you are a seasoned UWP/XAML/Windows Phone developer feel free to suggest changes.
  • UWP peformance & memory management. Yes, C# has GC so one might as well use it but still. If you have any cool tips on how can I make the UWP app faster besides getting down the memory allocations let me know.
  • We need a real name for the project
  • Report issues you encounter on the GitHub page
  • I don't do much user-facing stuff, If you find this useful and have the time make guides/tutorials for the less tech-savy :)