[SOURCE] Good HTTP server for UWP - Windows 10 Mobile

I need good HTTP 1.1 server for UWP app, with ability to handle large files (like big mp4s) and with good error handling.
Definitely need an open source implementation.
Anyone can recommend? Thanks!
P.S. Hope, some programmers still reading this forum...

Found a really good one. And code author, Peter Waher, is a very nice and helpful person! Thanks, Peter!

How about https://blogs.windows.com/buildingapps/2016/09/06/windows-10-iot-core-blockly/#OPfojSKxTXMoEZvC.97?

augustinionut said:
How about https://blogs.windows.com/buildingapps/2016/09/06/windows-10-iot-core-blockly/#OPfojSKxTXMoEZvC.97?
Click to expand...
Click to collapse
I need to ask my 7.5 yo daughter; however probably she'll not like this project, we've already played and finished with the LEDs
P.S. Sorry, but I don't understand your question. How your link related to the UWP HTTP server? In my second post, I provided a link to really well written UWP web server (author followed RFC step by step). Most of other "web servers" hosted on github just are slightly modified MS example, with minimal functionality (actually, 99.99% of these "servers" can return small text responses on HTTP GET request, that's all).
P.P.S. My initial question isn't related to IoT but for Windows 10 UWP; I'm working on the "Cast to" modification now, adding built-in DLNA server (buggy MS casting API doesn't works with my new TV).

Here is m$ 's shiny new http server (iis killer?)
https://docs.microsoft.com/en-us/aspnet/core/
The purpose of this server is to serve asp.net (json, javascript style). It is not uwp, but even more portable.

Related

Is there small unofficial API (or SDK) for PPC2002 ?

Hello there,
as you know, MS PPC SDK is too big for dial up user like me
So, I'm looking for small unofficial API so I can download it and develop for it
I don't need a big API, jus API lets me add textbox and button
If there is no such API like this, please I need some developer to develop small application. I'll tell him details (Its sooo small app)
Regards
For simple apps, it's quite easy to knock them up in HTML and javascript. Also the PPC platform contains an ASP web server, for more complex apps that need file access etc. It also means that you can build/tweak them on the go directly on the device.
Wow, thats would be great to develop in ASP,HTML and Javascript. especilally in ASP which has good functionality
but this would be in IE, or it will be ran as independent program ?
Pardon my english
Yeah, unfortunately it'd all run under pocket internet explorer.
There's a plethoa of other freebie/cheap languages out there
PocketC; NSBasic; CEBasic; PocketPCPython; Waba; PocketScheme; J; etc; but at the end of the day it's worth getting the MS dev tools as they're what everybody uses.
Don't MS offer a CD of it for a nominal charge .. aha eVT3 $7.85 from https://microsoft.order-5.com/trial...oper+Tools&product_id=X09-17298&cookie_test=1
What exactly is it you're trying to build and on what platform?
Thanks very much for the link
I'll buy it now, its really cheap
I want to develop a program for PPC2002 PE, Windows2003Mobile to handle SMS better than inbox program
I found good program for developing palm os,symbian and ppc applications using VB6. the program is MobileVB and it is not too big to download
Regards
Handling SMS - a word of caution, the XDAI doesn't have a decent way of handling SMS receiving - you either need to pick it up from the inbox, or replace the entire existing SMS handing application with your own app - and that's a lot of code - not just messages, but also receipts, QOS, WAP push etc.
MobileVB is quite nice, but it's rather expensive for the casual developer.
Hello there
Thanks for answering
I bought eVT and waiting for it
I tried MobileVB but it doesn't worth that money so I didn't buy it
Actually , my idea was to get the messages from sms inbox and show it to be compaitable with nokia screen in addition to to view MMS better and Biz Cards correctly
If you have any helpfull informations I'll be glad to hear from you
Regards

[Work in Progress] dIRCa - WP7 IRC Client

Welcome! I wanted to let the community know about the IRC client I was building but there are some major caveats that may turn you off.
First, you absolutely need a dev unlocked phone. This can't be sold on the Marketplace yet because I'm using Homebrew sockets from this very forum (well the hacking one but you get what I mean). Mango will change this but that's a good 6 months off if we're lucky.
Second, in it's current state it is pretty bare and you may hate me for it. There is currently no tombstone support so you have to connect again any time you move out of the app. This is my highest priority to fix.
The project is hosted on codeplex at http://dirca.codeplex.com/ and will be OSS. If any developers are interested you can either submit patches or I may give commit access depending on your previous work. I'll be honest, I need help in the form of feedback because I do have a direction finally but the IRC client code completely zapped me of all interest. There is more than enough work in just getting a functional UI but to have to work out IRC quirks is completely draining. After working on this, I would *never* recommend anyone work on an IRC client from scratch. You absolutely have to use a library like ircdotnet or smartirc4net to keep your sanity.
There's a SketchFlow project recently committed that outlines where I plan to take this, which is IRC with the look and feel of a Twitter client. The current incarnation feels way too much like mIRC which isn't a problem on it's own but that type of client doesn't translate to the phone well and this proves it.
Thankx my friends, very good project in WP7 !!
any way of connecting to a specific irc server or am I being a bit stupid??
Works, and You are on right path gui-wise so don't worry about that.
GUI is good, i like the way one moves through channels. Some thoughts after some testing:
- Possible bug: didn't connect to server in port 39998 without changing the option of default port to 39998 even when own server had port-option right.
- In auto-feeding of discussion in channels last line (the most recent line) is cut of, i.e the auto-feed is "one line too slow"
You're in very good way with this, I'll be checking in to this as I'm a irc-user and have been without irc in WP7 so far, thanks for the work!
Wishlist (always got to have a wishlist!)
- Option to change text-color & size
- tombstone will be great when it comes

DropBox ver 1 API and/or non-MS and not ugly SkyDrive API

First, I'd like to wish happy New Year for everybody!
Second, I have a question to xda's developers: is there a working and non-ugly (without involving WebBrowser window) library for WP7 to access DropBox API version 1 (it's important, new apps can't use ver 0 anymore; all codeplex'es libs are using version 0 and seems like nobody planned to improve their non-working stuff).
I'm also interested in non-ugly (as Microsoft Live SDK) access library to SkyDrive, also without WebBrowser (it's a most stupidest and ugly API I've ever seen!).
If you have your own working code, could you please share with me for my new free app? I don't have much time to write my own implementation, and I hope that someone has already done this job.
Thanks!
I saw already apps, check BoxShot:
Free: http://www.windowsphone.com/en-US/apps/0be109c4-08be-4ac3-a96b-70ef2b0580e3
Pay: http://www.windowsphone.com/en-US/apps/1abb6e8c-d1ca-4209-a7b8-c2d657ffc9b4
Budniu said:
I saw already apps, check BoxShot:
Click to expand...
Click to collapse
Hmm... Seems like you didn't understand me, I need Silverlight library, not an app.
BoxShot is using DropNet library, ver 0 of DropBox API only...
Ok, sr. You're right, I don't understand.
How about this: http://sharpbox.codeplex.com/releases/view/74634
singularity0821 said:
How about this: http://sharpbox.codeplex.com/releases/view/74634
Click to expand...
Click to collapse
Unfortunately, not working at all (for DropBox) even their demo app Also, they are using synchronous http calls and current code just block whole thread execution.
sensboston said:
Unfortunately, not working at all (for DropBox) even their demo app Also, they are using synchronous http calls and current code just block whole thread execution.
Click to expand...
Click to collapse
I'm sure we can figure out how to get it without using the web browser . I'll see what I can figure out if you want.
snickler said:
I'm sure we can figure out how to get it without using the web browser . I'll see what I can figure out if you want.
Click to expand...
Click to collapse
I'm 100% sure it's possible I just don't have time to work with the new API (v 1) specs and OAuth. So if you have time and want to implement - it's really will be great! And of course I can help you with testing (using my project).
P.S. BTW, SharpBox designed to use synchronous calls; I don't like this way. IMHO good implementation should be more "WP7-oriented"...
And how about this: http://dkdevelopment.net/what-im-doing/dropnet/
singularity0821 said:
And how about this: http://dkdevelopment.net/what-im-doing/dropnet/
Click to expand...
Click to collapse
This one is working but it's "lazy" and kinda ugly solution (author is using WebBrowser window to login to Dropbox account). I completely dislike this way. Same ugly as MS SkyDrive API
sensboston said:
This one is working but it's "lazy" and kinda ugly solution (author is using WebBrowser window to login to Dropbox account). I completely dislike this way. Same ugly as MS SkyDrive API
Click to expand...
Click to collapse
Isn't that how most apps that use OAuth work?
PG2G said:
Isn't that how most apps that use OAuth work?
Click to expand...
Click to collapse
I don't know, actually, but all Dropbox access libs (API v. 0) are working without showing browser window.
P.S. I've found on the Dropbox devs forum, it's possible (but not a guaranteed) to ask dropbox support team to change your app and secret keys to API version 0.
sensboston said:
I don't know, actually, but all Dropbox access libs (API v. 0) are working without showing browser window.
P.S. I've found on the Dropbox devs forum, it's possible (but not a guaranteed) to ask dropbox support team to change your app and secret keys to API version 0.
Click to expand...
Click to collapse
Hello,
I'm the developer behind DropNet. Just a bit of background on the change to API v1: Dropbox wanted to support the full oauth spec which actually requires the web login. I know this makes it not as "clean" for the apps but makes it more secure for Dropbox. They have also announced they will be turning off API v0 sometime in the future (Though they have not stated when).
I dont think the authentication is process is too bad, once you get your head around it. Its accepted by users that they will have to login via the website nowadays (Twitter and Facebook do it as well).
d1k_is said:
actually requires the web login
Click to expand...
Click to collapse
What do you mean by that? I don't know term "web login"... If you mean - "I guess it requires a kinda unknown - for me - parameters or headers for HTTP POST/GET request" - I'll agree but it's definitely not a point to display slow loading and ugly web page each time you need an access to your files. Do you know, what is the actual login technique in API 1 (I mean what kind of params , headers, cookies are used, not a "web login" stuff)?
sensboston said:
What do you mean by that? I don't know term "web login"... If you mean - "I guess it requires a kinda unknown - for me - parameters or headers for HTTP POST/GET request" - I'll agree but it's definitely not a point to display slow loading and ugly web page each time you need an access to your files. Do you know, what is the actual login technique in API 1 (I mean what kind of params , headers, cookies are used, not a "web login" stuff)?
Click to expand...
Click to collapse
Hmmm, sounds like you have the wrong idea about the authentication.
First of all the authentication is a 3 step process (for the developer), step 1 is to get a request token from the API, step 2 is to browse to the site (using the request token as page parameters) so the user can login, step 3 is authorizing the request token (changing it to an access token).
Once you get an access token you can save that in your app and use it forever (or until the user removes access from your app) this means the user will only have to login the first time they run the app as you will have their access token saved locally which you can use to access the API functions (but the access token only works with the API Keys it was created with).
For more info check out the DropNet documentation for the Authentication process (http://dkdevelopment.net/what-im-doing/dropnet/) Theres also a sample app in the Github project.
It sound like you have no idea how the browsers works... "Browse", "navigate" - it's good terms for users, not for developers. From a technical point of view, browser makes an HTTP or HTTPS request to the host and receive a response. So, what you (and dropbox dev and marketing team) called "token" is a text/binary data, part of the response.
So, what is preventing you to make a direct call to dropbox web service using WebRequest?
P.S. I definitely don't like the whole idea to use browser cookies (it suppose to be a kind cookie) for authentication: as for dropbox, as for ms skydrive. It's just ugly - period. And about security - I don't think it's a huge improvement.
sensboston said:
It sound like you have no idea how the browsers works... "Browse", "navigate" - it's good terms for users, not for developers. From a technical point of view, browser makes an HTTP or HTTPS request to the host and receive a response. So, what you (and dropbox dev and marketing team) called "token" is a text/binary data, part of the response.
So, what is preventing you to make a direct call to dropbox web service using WebRequest?
P.S. I definitely don't like the whole idea to use browser cookies (it suppose to be a kind cookie) for authentication: as for dropbox, as for ms skydrive. It's just ugly - period. And about security - I don't think it's a huge improvement.
Click to expand...
Click to collapse
Sorry I was only trying to help.
The tokens are string values and you use a GET via HTTPS sending them as page parameters.
You dont use browser cookies as the dropbox API keeps track of the token you are authenticating against.
Just tried your WP7 example app from DropNet. Actually it demonstrates a little bit more than nothing Could you make a real example, with folders browsing and file operations, please?
P.S. You should use mobile version of dropbox - it feets WP7 screen much better than regular desktop.
600 MB additional free storage
Hi all
Just found a smart way to increase your Dropbox account with 600 MB:
1 Sign into your existing Dropbox account (or create a new account)
2 Goto https://www.dropbox.com/free
3 Follow instructions ... and voila 600 MB additional free storage
thx for the tip, I now got 3,12 GB

Syncing the Kin--Linux

Long time follower of all of the work done here. Its a shame that the device is so locked down and no progress has been made. However, I thought I would share with anyone who is interested that its now possible to sync your kin on linux without the need for a virtualbox and windows loaded up.
You can find the fork of lib-mtp at: github [dot] com/kbhomes/libmtp-zune
I've tested it and am able to now sync via terminal or with gMTP. The project was started with the hopes of syncing zunes.. Zune has the same handshake process as the KIN (MTPz)
The background on how it came to be can be found on his project blog: kbhomes.github [dot] com/blog [dot] html.
Hope this helps anyone else who just would like to sync pictures, video, images, songs.
Back to lurking I will go.
Well, it was possible already. No one here uses virtual machines (i hope) in linux but mono runtime.
At least till Kino version comes, so more native (c++ over libusb) approach would be taken.
If you are able to use the standard MTPz way (not our shorcut mtp propietary command), a better approach would be to help here into decrypting the app syncing/uploading procedure, so we could understand what xna framework does in the background and do homebrew launch (which could then help the phone development).
On the other hand, being able to "transparent" sincing would be kind of a good stuff if you could use the kin in software like rythmbox
Sounds good. I hadnt thought abou going at the KIN through Linux before although it would make sense if the KIN was open source. I dont know how much this will help us though.
What he's providing is a fork of the mighty libmtp libraries & tools which is a open implementation of mtp (right one) used by almost any access on the linux environment to mtp devices.
in that fork, he redid the real stuff (aka MTPz) which could be just said as "bypassing" the kin handshake between zune and the device. At least if kin operates exactly like a Zune device (which we think).
It could help by using the kin as a normal (not protected) device on linux providing which kino does IF programs are redirected to it instead normal libmtp, so you can access files and also use in Zune-like software.
On my test field, i wasn't able to compile the software "out of the box" to try on my debian box, so no providing compilation instructions nor a .deb file (debian & ubuntu flavours) or a .rpm file (fedora & redhat 's) makes it just another utility which is non usable by common joe.
What i meant above is that the blog (which i followed back in the day) explains what he did for reversing mtpz protocol, but is not a walkthrough, so we can't just take it and learn, for example, how the kin receives "half succesfully" a XNA application, as i did back in the day in the thread "XNA madness".
better now?
What f we programm an application split it in half and add a part we dont care about for the other half that does nothing then send it to the device with a strip that tells it to complete itself by recommbining itslef on the device?

[SDK] Promocodes for your app

Hello!
I'm software developer from Russia, and made one very popular app in local market. Very soon I realized that I need an ability to give licensed version of app for my friends or reviewers or someone else.
Unfortunately AppHub doesn't provide such functionality(private distribution is pain in ass), so I created a webservice for myself.
After two days I realized that it may be useful for other developers, so here it is:
promo.g33k.ru (here I wanted to post url, but I can't due to low post count. You may find it in my profile->interests)
Now it has:
- JSON/SDK with RSA1024/SHA1 sign for additional security checks
- Binary SDK available
- Russian localization(if anyone cares ) (btw, if you can help translating to other language(s) or correct english misspellings - i will appreciate this).
Now this service works in beta mode.
So for developers I have two questions:
1) Is such service useful for you?
2) How to develop it further, in which way?
Not yet clear
I am sorry, but after reading your post and also checking your website I am still not sure what you offer. For me there is just not enough information to understand and then judge the usefulness of your service.
Maybe you could give a step-by-step scenario: Dev does this, then interested user does that, dev then this ...
Ok, I'll try to describe a little more details:
1) Developer wants to add capability of promo codes in his app(to give some specific users full licensed app).
The first problem is that developer need his own server for checking of promo code validity(hardcoding is not an option, of course).
2) So, Developer registers in my service, add his app's guid to his app list and create a promo code for specific app via web.
3) Developer adds support for promo codes in his app by:
a) adding an text box for user to enter promode
b) adding a web request to specific URL for promocode activation
c) adding to his license check web request for checking is current user activated a promo code.
Benefits for developer:
- Add support for promo codes without owning a server.
- Simple way to give full version of program to friends
Benefits for users:
- User may found promo code for specific app somewhere and use it to get full version of app in simple manner.
Benefits for reviewers/portals:
- Developers can easily give promo code for reviewing purpose or as giveaway for news post.
Clear now
Thanks for the additional info, now it's clear
Well yes, sounds useful. Properly implemented is probably really easier than Microsoft's "closed beta" mechanism, and of course can be used for other, non-beta apps as well.
The icing on the cake would be a "frame application" as sample code that basically does nothing more than asking for a promo code and then check against the list of valid codes on your server.
Sounds intresting but how do you ensure security?
chabun, I thought about security and situation is same as with default checking for trial - there is no security Man-in-the-Middle and direct cracking of xap will work, and there is no way out. I could use RSA signing for MitM, but still cracking of xap is very easy option today, so no one really interested will try to use MitM. When WP8 SDK will be out(I believe it will be in several weeks) - some developers may implement trial checks in native code - this will be much harder to crack.
As for server part there are following possible problems
- App's ID squatting(same as domain, someone else could reserve developer's app's guid). Don't know yet what to do with this, may be think about it later when this happens?
- Promocode's for App ID bruteforce - could be easily avoided via server throttling, if this ever happens - i'll add such checks
- Server DDoS - every webmaster's nightmare, I hope this never happens(or my Amazon AWS will pour my purse empty
rbrunner7, nice idea, I'll add a sample app as soon as possible on site.
This looks like an interesting concept
Sent from my SGH-i917 using XDA Windows Phone 7 App
Yop, you can never avoid direct cracking... However, RSA signing would be good I'd say as it will avoid MitM - with MitM you could create simple tools which can be used by every noob outhere. Cracking xaps requires some skill and it will need an unlocked WP7 as well.
I can see this working i have been thinking about something similar also. You can encrypt the data on device before sending it off to the cloud, you can than verify the encrypted data with a password and compare it to the codes registered on the server. Than link a code to a certain device id (once the code becomes 'registered') if a certain code is already coupled to a deice id and the device is not the same than the app will jump back into trial mode. Otherwise one can use the paid mode.
This can defenetly work and will prevent reselling th codes. Although it requires a server. And users can still hack/patch the app ofcourse but that will require an unlocked device so I should not worry to much about it.
Also to prevent spoofing you can frequently check with the server if this device is legitetmately registered.
Marvin_S said:
I can see this working i have been thinking about something similar also. You can encrypt the data on device before sending it off to the cloud, you can than verify the encrypted data with a password and compare it to the codes registered on the server. Than link a code to a certain device id (once the code becomes 'registered') if a certain code is already coupled to a deice id and the device is not the same than the app will jump back into trial mode. Otherwise one can use the paid mode.
This can defenetly work and will prevent reselling th codes. Although it requires a server. And users can still hack/patch the app ofcourse but that will require an unlocked device so I should not worry to much about it.
Also to prevent spoofing you can frequently check with the server if this device is legitetmately registered.
Click to expand...
Click to collapse
That's what I thought of... private/public key
chabun, so, for example, how about following scenario:
for each developer server creates public/private key pair.
when checking license on server: if success server encodes userid with developer private key
when checking license in app: server response decoding via public key(hardcoded in app) and comparing to userId. if ok -> licensed.
You might want to ask @ngreader guys on twitter. They do have this concept implemented in their app.
diverofdark said:
chabun, so, for example, how about following scenario:
for each developer server creates public/private key pair.
when checking license on server: if success server encodes userid with developer private key
when checking license in app: server response decoding via public key(hardcoded in app) and comparing to userId. if ok -> licensed.
Click to expand...
Click to collapse
I'm not sure if it would be good to encode the request to the server as well but otherwise it sounds really cool now... I'll use this service when I need this (and tell my friends about it)
Here is one way to do it http://stackoverflow.com/questions/599837/how-to-generate-and-validate-a-software-license-key
wpxbox said:
Here is one way to do it http://stackoverflow.com/questions/599837/how-to-generate-and-validate-a-software-license-key
Click to expand...
Click to collapse
Well, what they suggest is not as good as diverofdark's service which is a lot more secure and still easy to use for the customers...
Greetings everyone!
Today I updated promo.g33k.ru, now it has:
- more detailed about page,
- SDK now includes RSA1024/SHA1 sign for additional security checks
- Binary SDK available
- Russian localization(if anyone cares ) (btw, if you can help translating to other language(s) or correct english misspellings - i will appreciate this).
- Many minor bugfixes.
So, from now this service works in beta mode
diverofdark said:
Greetings everyone!
Today I updated promo.g33k.ru, now it has:
- more detailed about page,
- SDK now includes RSA1024/SHA1 sign for additional security checks
- Binary SDK available
- Russian localization(if anyone cares ) (btw, if you can help translating to other language(s) or correct english misspellings - i will appreciate this).
- Many minor bugfixes.
So, from now this service works in beta mode
Click to expand...
Click to collapse
Thanks! I will check this out
Hey diverofdark
It would be nice if you update the first post in the thread with all information. That's the way it's usually done in the forum.
A possible user (here dev ) can read it and without having to browse the whole thread, he can use your promocode service...
Thanks for mentioning it, I updated the first post.

Categories

Resources