5,596,128 Members 33,435 Now Online
XDA Developers Android and Mobile Development Forum

[XAP][Source] Root Webserver - v2.3.1 (supports Full or Root Tools unlock)

Tip us?
 
GoodDayToDie
Old
(Last edited by GoodDayToDie; 21st April 2012 at 04:05 AM.) Reason: Version 2.3.1 release
#1  
Recognized Developer - OP
Thanks Meter 2470
Posts: 5,291
Join Date: Jan 2011
Location: Seattle
Thumbs up [XAP][Source] Root Webserver - v2.3.1 (supports Full or Root Tools unlock)

UPDATE: Still working on a newer version of the webserver, but I've been distrcted by a number of other projects lately (including getting a new job). The most important news is that the Root Webserver works great with WP7 Root Tools; you don't need a full-unlocked ROM or HtcRoot compatibility anymore! Just mark the app as Trusted in the WP7 Root Tools policy pivot, and you're good to go.

Sorry for the long delay, I've been working on many different things. One of them is re-write of a substantial part of this app, to make it more modular and extensible and also to add more features. That re-write is far from done, any may end up being broken into a few smaller pieces once any of the new or re-written features reach release-quality without the whole app being unusably broken.

This project started out as a child of the HtcRoot project. It no longer requires HtcRoot; full-unlock or WP7 Root Tools work fine. It's also a child of the Functional Webserver / WebServer (Mango) projects, and builds on their open-source foundations. Its goal is to allow unfettered access to your phone through the convenience of a web browser.

Fifth release (v2.3.1)
Platform release, minor feature release, minor library update, bugfixes
Should now be compatible with fully unlocked custom ROMs, even if they can't use the HtcRoot project.
This release does not include NativeIO_Mango source, as it was not changed. If you need the source for this library, extract it from the 2.2.0 download.

Homebrew library (v1.6.3)
Better detection and reporting of exceptions due to not being root.
Should be safe to use the HtcRoot functionality on fully-unlocked ROMs.

Please see the changelog in the app for details and history

Note that this app requires a slight update to NativeIO_Mango from @fiinix's version. There were some bugs in the library that were making things difficult, so I fixed them. I also changed the return values of a couple functions (though the signatures are unchanged) to give the ability to return error codes from COM. Source code for both the managed Homebrew and COM NativeIO_Mango libraries is included, along with compiled binaries. Source code for the HtcUtility library can be downloaded from the HtcRoot proect.

Features:
View folder and ROM Module last-modified dates. (NEW 2.3.1)
File attribute info now presented better. (NEW 2.3.1)
Upload files anywhere. (2.2.0)
Create and delete directories anywhere. (2.2.0)
Delete writable files.
Add or Remove readonly attribute from files. (2.2.0)
See file size and attributes for any file.
Browse the entire filesystem.
Download any file (still not ROM modules, though).
Static HTML files in a "Content" folder for easier editing.
Easy link to browse (and add your own files) to Content folder (2.2.0)
All features of previous WebServer versions (IsoStore uploading, authentication, etc.)
Changelog

Bugfixes:
Fixed a case where setting file attributes or uploading a file would fail due to lacking permissions.
Fixed the potential for infinite loops on fully-unlocked ROMs compatibel with the HtcRoot project.
More effort to eliminate RootException / Error 1260.

Upcoming:
Access the registry as well as the filesystem.
Better access to installed application info and folders.
View, edit, move, and rename files.
Rename and move directories.
Server-side commands (process provxml, for example)?
Filesystem/Registry/Application search?

Known Bugs:
App may take several seconds to close; don't re-launch it immediately or weird things may happen.
Touching the screen while the app is in "root" mode appears to cause a crash, and posible resource leak.
Error 1260 (Least Privileged Chamber) may still occasionally appear on first access attempt or two... really wish I knew why.

Requirements:
Developer-unlocked phone (if you remove ID_CAP_INTEROPSERVICES it will work without root access, cutting off most of the filesystem).
For root access, you need *EITHER*
* A fully-unlocked ROM
* An interop-unlocked HTC phone with working HtcUtility driver
If your phone is compatible with the HtcRoot project, you're OK.

Thanks To:
Davux (original author of the "Functional Webserver" app)
Fiinix (Ported the NativeIO library and Webserver app to Mango)
MarysFetus (designed icons and graphics for the webserver app - site http://klaus-widraw.de)
Everybody who helped make the HtcRoot project possible.


Have fun!
Win8/Windows RT projects:
List of desktop apps for hacked RT devices

WP8 projects:
Native Access WebServer and Libraries
WP8 Interop Unlocks
Storage Cleanup tool

WP7 projects:
XapHandler, Root Webserver, OEM Marketplace XAPs, Bookmarklets collection (Find On Page), Interop-unlock hacks.


Do not private message me with questions that should have been posted on the forum! Not only are you wasting your time - I'm not going to bother writing an answer to such a question for only one person - but I will probably block you from PMing me in the future as well.
The Following 24 Users Say Thank You to GoodDayToDie For This Useful Post: [ Click to Expand ]
 
GoodDayToDie
Old
#2  
Recognized Developer - OP
Thanks Meter 2470
Posts: 5,291
Join Date: Jan 2011
Location: Seattle
Reserved for OP
Win8/Windows RT projects:
List of desktop apps for hacked RT devices

WP8 projects:
Native Access WebServer and Libraries
WP8 Interop Unlocks
Storage Cleanup tool

WP7 projects:
XapHandler, Root Webserver, OEM Marketplace XAPs, Bookmarklets collection (Find On Page), Interop-unlock hacks.


Do not private message me with questions that should have been posted on the forum! Not only are you wasting your time - I'm not going to bother writing an answer to such a question for only one person - but I will probably block you from PMing me in the future as well.
The Following 2 Users Say Thank You to GoodDayToDie For This Useful Post: [ Click to Expand ]
 
GoodDayToDie
Old
#3  
Recognized Developer - OP
Thanks Meter 2470
Posts: 5,291
Join Date: Jan 2011
Location: Seattle
Also reserved.
Win8/Windows RT projects:
List of desktop apps for hacked RT devices

WP8 projects:
Native Access WebServer and Libraries
WP8 Interop Unlocks
Storage Cleanup tool

WP7 projects:
XapHandler, Root Webserver, OEM Marketplace XAPs, Bookmarklets collection (Find On Page), Interop-unlock hacks.


Do not private message me with questions that should have been posted on the forum! Not only are you wasting your time - I'm not going to bother writing an answer to such a question for only one person - but I will probably block you from PMing me in the future as well.
The Following 2 Users Say Thank You to GoodDayToDie For This Useful Post: [ Click to Expand ]
 
KlausWidraw
Old
#4  
KlausWidraw's Avatar
Senior Member
Thanks Meter 84
Posts: 145
Join Date: Jul 2011
Location: Berlin

 
DONATE TO ME
pretty neat

Windows Phone App: Zero to Hero
 
voluptuary
Old
(Last edited by voluptuary; 23rd January 2012 at 01:25 AM.)
#5  
voluptuary's Avatar
Senior Member
Thanks Meter 731
Posts: 939
Join Date: Dec 2010
Location: Mukwonago

 
DONATE TO ME
I'm not by my HTC HD2 but anybody know if will this work on it under the B.t.t.F ROM?

Awesome work GDTD!

EDIT: Doesn't work on a HTC HD2 on B.t.t.F v2.1 @ 8107 (no SP1) I get the following error when trying to connect from my PC:
Code:
Exception while getting the listing for /!
Homebrew.InteropException: Error listing subdirectories of ! GetLastError: 1260 at Homebrew.IO.DirectoryInfo.GetDirectories(String filter) at Homebrew.IO.DirectoryInfo.GetDirectories() at WebServer.MainPage.handler.BuildDirectoryListing(String dirPath) at WebServer.MainPage.handler.Process(RequestContext context) at HttpServer.Server.ProcessModules(RequestContext context) at HttpServer.Server.HandleRequest(RequestEventArgs e) at HttpServer.Server.OnRequest(Object sender, RequestEventArgs e) at HttpServer.HttpListener.OnRequest(Object sender, RequestEventArgs e) at HttpServer.HttpContext.OnRequest(Object sender, FactoryRequestEventArgs e) at HttpServer.Messages.MessageFactoryContext.OnMessageComplete(Object sender, EventArgs e) at HttpServer.Messages.Parser.HttpParser.OnComplete() at HttpServer.Messages.Parser.HttpParser.GetHeaderName() at HttpServer.Messages.Parser.HttpParser.Parse(Byte[] buffer, Int32 offset, Int32 count) at HttpServer.Messages.MessageFactoryContext.Parse(Byte[] buffer, Int32 offset, Int32 length) at HttpServer.HttpContext.ParseBuffer(Int32 bytesLeft) at HttpServer.HttpContext.OnReceive(Int32 bytesLeft) at HttpServer.HttpContext.b__a() at System.Threading.ThreadHelper.ThreadStartHelper(ThreadHelper t) at System.Threading.ThreadHelper.ThreadStart_Context(Object state) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.ThreadHelper.ThreadStartHelper()
It is interop unlocked so I don't get the error.
 
dragonide
Old
(Last edited by dragonide; 23rd January 2012 at 12:27 AM.)
#6  
dragonide's Avatar
Senior Member
Thanks Meter 69
Posts: 267
Join Date: Jul 2010
Location: Rome
NOOOO I AM CRYING !!! THIS IS WHAT I WANTED AND I CAN'T EVEN TRY IT !!

Kill me now ;_; sigh sob sigh

EDIT : good work and good luck
Interop Unlocked Samsung ATIV S (thank you GoodDayToDie and W_O_L_F)
Fully Unlocked HTC Titan with DFT HSPL bootloader and ultrashot Dynamics7 v2.0 Custom ROM WP7.8 ! (stolen )
HowTo - What I did to Flash my Titan
 
GoodDayToDie
Old
#7  
Recognized Developer - OP
Thanks Meter 2470
Posts: 5,291
Join Date: Jan 2011
Location: Seattle
@voluptuary: If you can run the HtcUtilityTest app successfully (from the HtcRoot page) then yes, this will work.

On that thread, I have the following listed as compatible:
HD2 (BttF [XBmod-Yuki] v2 SP1)

That your ROM?
Win8/Windows RT projects:
List of desktop apps for hacked RT devices

WP8 projects:
Native Access WebServer and Libraries
WP8 Interop Unlocks
Storage Cleanup tool

WP7 projects:
XapHandler, Root Webserver, OEM Marketplace XAPs, Bookmarklets collection (Find On Page), Interop-unlock hacks.


Do not private message me with questions that should have been posted on the forum! Not only are you wasting your time - I'm not going to bother writing an answer to such a question for only one person - but I will probably block you from PMing me in the future as well.
The Following User Says Thank You to GoodDayToDie For This Useful Post: [ Click to Expand ]
 
GoodDayToDie
Old
#8  
Recognized Developer - OP
Thanks Meter 2470
Posts: 5,291
Join Date: Jan 2011
Location: Seattle
@Voluptuary:
To quote from the Known Bugs section:
First attempt to access the filesystem will often fail or take too long; hit refresh a couple times and it should work.

I don't know why it does this. I built in some delays and some automatic retries, and that improved things dramatically - it will *almost* always work on the first freresh attempt (or second click on the Filesystem link) now - but didn't eliminate the problem. I'm not sure what it is; on the test app the switch to SYSTEM token is effectively instant. Maybe it has to do with the number of threads or something?

Anyhow, give it another shot and it should work. I contemplated just putting in a 5-second auto-refresh on the error page...
Win8/Windows RT projects:
List of desktop apps for hacked RT devices

WP8 projects:
Native Access WebServer and Libraries
WP8 Interop Unlocks
Storage Cleanup tool

WP7 projects:
XapHandler, Root Webserver, OEM Marketplace XAPs, Bookmarklets collection (Find On Page), Interop-unlock hacks.


Do not private message me with questions that should have been posted on the forum! Not only are you wasting your time - I'm not going to bother writing an answer to such a question for only one person - but I will probably block you from PMing me in the future as well.
The Following User Says Thank You to GoodDayToDie For This Useful Post: [ Click to Expand ]
 
voluptuary
Old
#9  
voluptuary's Avatar
Senior Member
Thanks Meter 731
Posts: 939
Join Date: Dec 2010
Location: Mukwonago

 
DONATE TO ME
Quote:
Originally Posted by GoodDayToDie View Post
@Voluptuary:
To quote from the Known Bugs section:
First attempt to access the filesystem will often fail or take too long; hit refresh a couple times and it should work.

I don't know why it does this. I built in some delays and some automatic retries, and that improved things dramatically - it will *almost* always work on the first freresh attempt (or second click on the Filesystem link) now - but didn't eliminate the problem. I'm not sure what it is; on the test app the switch to SYSTEM token is effectively instant. Maybe it has to do with the number of threads or something?

Anyhow, give it another shot and it should work. I contemplated just putting in a 5-second auto-refresh on the error page...
Sorry, I should have read your post better. I hate when people do that to me in my threads, I should know better.

Anyways I got it working, kinda. It still gave the error at the top of the page but then it listed the directories anyways, then navigating to Windows always fails, just times out or stays loading forever. This is over Wifi, I guess it could be a latency problem but everything else on my network runs fine.
 
Ttblondey
Old
#10  
Ttblondey's Avatar
Senior Member
Thanks Meter 105
Posts: 1,678
Join Date: Jan 2008
I install but it does nothing.It shows serial on usb, softwareloopback interface1,bcmsddhd1

Tags
htcroot, source, webserver, xap
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes