International Nexus 6 Pushbullet Java Server channel
I can't setup Nexus 6 Pushbullet Channels outside US because is where I'm living now but I can share a Java program that will work at any country so you can setup your country channel.
Be aware:
The program will check the page where the server or computer is located.
If you use a VPN be careful because maybe the server will be checking a different country page.
The only restriction is that the Nexus 6 page has to be available.
If you share your channel please try to run the Pushbullet server 24/7 because people will be disappointed if the nexus appear and the server is not running.
How to setup:
Setup a Pushbullet account: https://www.pushbullet.com/
Create a new channel: https://www.pushbullet.com/my-channels
Find and save your api key also called acces token: https://www.pushbullet.com/account
Download the servernexus.jar file
Install the latest Java in your laptop, PC or Server.
Setup your java environment variables properly (help)
Open your terminal or cmd
Go to the path where your file is located
Run your servernexus.jar file as: java -jar servernexus.jar <api key> <channel tag> (help)
Example: java -jar servernexus.jar 11KJ45JH34NDWFN234N423 nexus6availabilityuk
If everything works well you will see a Pushbullet notification on your channel indicating that the server is running.
The refresh time is 5 seconds
US Nexus 6 Pushbullet channel
For those who are still waiting for it I prepared this Pushbullet channel for myself and it worked fine so if you want to use it go ahead I'll keep my server running until stock gets fluent.
The refresh time is 5 seconds
Channel: allnexus6availabilityus
Web: https://www.pushbullet.com/channel?tag=allnexus6availabilityus
International browser launcher Nexus 6
If you don't believe in Pushbullet notifications and you prefer something different I also prepared this nexus.jar file that will look for your desired device and if it's available will launch your browser into the device page when appears available.
The refresh time is 2 seconds
To use it you will need the latest Java installed on your computer and java path in your environment variables.
Then for N6 Blue 32Gb introduce: java -jar nexus.jar 0
For N6 White 32Gb introduce: java -jar nexus.jar 1
For N6 Blue 64Gb introduce: java -jar nexus.jar 2
For N6 White 64Gb introduce: java -jar nexus.jar 3
Hopefully will be usefull for somebody.
Worked great. Many thanks. Got the 34 gig midnight blue. Average stock available time was about 8 seconds.
geebee1932 said:
Worked great. Many thanks. Got the 34 gig midnight blue. Average stock available time was about 8 seconds.
Click to expand...
Click to collapse
You are very welcome Did you use the Pushbullet Channel or the Java file though?
I used Pushbullet. It was the first time using it.
Thanks! Hoping for some luck next week if not sooner. Using the channel.
geebee1932 said:
Worked great. Many thanks. Got the 34 gig midnight blue. Average stock available time was about 8 seconds.
Click to expand...
Click to collapse
Damn bro. Where'd you see the 34GB option? All I could do was the 32 or 64!
Can anybody do anything similar for the UK?
bigf00t said:
Can anybody do anything similar for the UK?
Click to expand...
Click to collapse
If you have a computer in UK that can be online 24/7 I can share you my program so you can setup your own channel if you want.
For anyone looking for a python script, I did this, based on another scrit. Sorry, I lost the original script to give credits
I don't use pushbullet, I use notify my android (https://play.google.com/store/apps/details?id=com.usk.app.notifymyandroid)
First, download the python lib to send notifications to NotifyMyAndroid
https://github.com/uskr/pynma
Download the zip and unpack it. Go to the extracted dir and create a file. ex: nexus632gbblue.py
Code:
#!/usr/bin/python
from urllib import urlopen
import logging
import pynma
#nma api key
nma = "your_nma_api_key"
#change to your desired model
urlnex = "https://play.google.com/store/devices/details?id=nexus_6_blue_32gb"
contents = urlopen(urlnex).read()
if contents.find("Add to cart") != -1: #Found magic button!
try:
p = pynma.PyNMA([nma])
# application, event, description, (opt) url, (opt) priority, (opt) batch mode
res = p.push("Nexus 6 Available", 'Nexus 6 - Blue 32gb ', 'Nexus 6 - Blue 32GB Available', urlnex, 2, batch_mode=False)
except Exception:
print logging.exception('')
To test:
chmod +x nexus632gbblue.py
python nexus632gbblue.py
edit: on crontab, to set update interval less than 1 minute:
You can change the script and put a while loop and a sleep on python script. It's just an example
Code:
* * * * * python nexus632gbblue.py
* * * * * sleep 10; python nexus632gbblue.py
* * * * * sleep 20; python nexus632gbblue.py
* * * * * sleep 30; python nexus632gbblue.py
* * * * * sleep 40; python nexus632gbblue.py
* * * * * sleep 50; python nexus632gbblue.py
Now, just put on your job scheduler and chose the update time
Thanks X, that channel has been very helpful in keeping me up to date with the stock.
Is there a script to automate the ordering? Like click Buy, Checkout, etc so I don't waste seconds fumbling for the button?
xbassols said:
If you have a computer in UK that can be online 24/7 I can share you my program so you can setup your own channel if you want.
Click to expand...
Click to collapse
Hi xbassols, If you could share the program that would be much appreciated. The uk play store is now showing the Nexus 6, all be it with "coming soon" but it would be good to get prepared.
Cheers,
Rochey
This works for specific country or just US?
Rochey13 said:
Hi xbassols, If you could share the program that would be much appreciated. The uk play store is now showing the Nexus 6, all be it with "coming soon" but it would be good to get prepared.
Cheers,
Rochey
Click to expand...
Click to collapse
I've updated the first page.
Seadra said:
This works for specific country or just US?
Click to expand...
Click to collapse
The channel only in US but the java files everywhere where the nexus 6 page exists
Hey, what text does this search for on the page and/or does it just detect changes between a previous version and the current version of the page? I ask as the UK site says "add to basket" when available rather than "add to cart" as the US does. Other than that, the pushbullet java server seems to be up and running well for me here - thanks!
GavinAshford said:
Hey, what text does this search for on the page and/or does it just detect changes between a previous version and the current version of the page? I ask as the UK site says "add to basket" when available rather than "add to cart" as the US does. Other than that, the pushbullet java server seems to be up and running well for me here - thanks!
Click to expand...
Click to collapse
Don't worry about that, it doesn't really search any visible text. It works monitoring the class name of some specific tags so can work at any country even if the page language is different and it's way more reliable than other programs that just search any difference in the webpage.
It will work properly if Google don't mess with the internal classes and that shouldn't happen.
If you intend to keep your pc running 24/7 or so, I think other users would appreciate having the opportunity to use your channel
BTW don't forget to subscribe to your own channel... For some weird reason it's not done automatically when you create the channel.
uknexus6stockcheck
Just managed to set this up on my mac mini which is on in the uk 24/7.
Updating Java was a pain as OS X wanted to keep using version 1.6. In the end I had to symlink the 1.8 java in /usr/bin/.
Seems to be working now. If I start the script I get a pushbullet notification saying that the "server is up and running" and I can see the poll every few seconds.
Thanks for the script and if anyone wants the channel name to use themselves subscribe to;
uknexus6stockcheck
Quick query, Does the script check for both colors and sizes? I'm assuming it will message when each comes available as there are no options. Just thought I'd check.
Thanks again for the java script and instructions - here's to hoping that I get a nexus 6 before a few of my friends! lol!
Yeah you're right, a quick compare of the page source US vs UK does indeed show the class names all match between both.
Unfortunately I doubt I'll be keeping my PC on 24/7 else I'd gladly share. No-one wants to be prematurely excited about a notification to then see its just the server starting again!
Thanks for the heads up, I had already noticed that I wasn't automatically subscribed to my own channel, I found it odd too.
could someone make a channel for the german playstore?
thanks in advance
Meh. I changed my mind. Not talented enough to set this up.
Now if someone could just make a .jar that monitors motorola.com's "Out of Stock" message for the Nexus 6 Buy page...
Related
I am in need of a very small app (just a few lines of code) to display a "toast" message in the active window.
I have the milestone, and made some mods on it, and using the hw keyboard i made shortcuts to execute functions and i would like to display a status from the scripts, and so far it only works with Beanshell(Android Scripting Environment), but the window popup is simply to annoying. so if somebody can make the toast command in a java app, and add the, i think, intent call function so i can execute this using "am" from shell script.
Yes, i know, i could probably do it myself, but i am no good at the "I-went-to-the boat->on my cycle->using my legs" object oriented programming thingy..
If anybody can help me out, any help is appreciated...
I was interested in looking into this to help my growth of android, so gave it a shot.
This is an app that starts, displays the input message, then exits.
run it through command line using the following:
am start -a android.intent.action.MAIN -e message mytoastmessage -n com.rja.utility/.ShowToast
whatever is passed in for the 'message' is displayed in a long toast.
if nothing is passed a toast saying such is displayed.
Let me know if this works for you.
corruptor64 said:
I was interested in looking into this to help my growth of android, so gave it a shot.
This is an app that starts, displays the input message, then exits.
run it through command line using the following:
am start -a android.intent.action.MAIN -e message mytoastmessage -n com.rja.utility/.ShowToast
whatever is passed in for the 'message' is displayed in a long toast.
if nothing is passed a toast saying such is displayed.
Let me know if this works for you.
Click to expand...
Click to collapse
Hmm cant get it to work can you write a example script and upload plz thanks.
ngagephone said:
Hmm cant get it to work can you write a example script and upload plz thanks.
Click to expand...
Click to collapse
Ok it works now is there any chance you can reupload your app but make the icon from the app drawer gone you can do this by removing <category android:name="android.intent.category.LAUNCHER" /> from the manifest file thanks in advance.
ngagephone said:
Ok it works now is there any chance you can reupload your app but make the icon from the app drawer gone you can do this by removing <category android:name="android.intent.category.LAUNCHER" /> from the manifest file thanks in advance.
Click to expand...
Click to collapse
Good call on removing the icon from the drawer. It really doesn't belong there for this type of application.
corruptor64 said:
Good call on removing the icon from the drawer. It really doesn't belong there for this type of application.
Click to expand...
Click to collapse
Thanks will give it a go cheers.
Ok just tested works good this will be nice for my custom rom for displaying msg from my scripts thanks.
Sent from my Pulse Mini using XDA App
I edited the original reply and added a signed apk for the no drawer icon version.
The original version will expire in a year and will not be able to be installed after that since it was signed using debug certs which are valid for a year after the apk was created.
Download the latest one and use that. Glad i could help.
cool, can you guys make one to play a sound? or is their a script or line of code that will play a sound? I made a few scripts to download/install a boot animation but i cant figure out how to notify once its done, thats what im going for. as of right now it just reboots the phone when its done.
corruptor64 said:
I was interested in looking into this to help my growth of android, so gave it a shot.
This is an app that starts, displays the input message, then exits.
Click to expand...
Click to collapse
thanks alot! it already sounds like it works for others.. this is a very nice idea for giving status backs in customs, so its worth alot for modders somehow, when the java is not a knowledge you have
ill test it tomorrow and see how it works out.
corruptor64 said:
I edited the original reply and added a signed apk for the no drawer icon version.
The original version will expire in a year and will not be able to be installed after that since it was signed using debug certs which are valid for a year after the apk was created.
Click to expand...
Click to collapse
resigning when making new mods is less a problem, than coding it
im sure it'll work out in the end...
Damn i think i spoke to soon it works fine via the adb shell it shows the msg i made on the phone but if i try to run it in terminal emulator on the phone it does not work. Any ideas? if any one has it working via terminal emulator do you mind uploading a sample script?
ngagephone said:
Damn i think i spoke to soon it works fine via the adb shell it shows the msg i made on the phone but if i try to run it in terminal emulator on the phone it does not work. Any ideas? if any one has it working via terminal emulator do you mind uploading a sample script?
Click to expand...
Click to collapse
It works through adb shell for me and using Terminal Emulator app on my phone. I copy and pasted the following in terminal emulator on my phone and it showed a toast as expected.
am start -a android.intent.action.MAIN -e message 'this is the displayed text in a toast' -n com.rja.utility/.ShowToast
I don't do scripting so can't help there, sorry. Hopefully someone else can provide you the script you need. From my perspective i think everything is good. Let me know if you find out otherwise.
Good Luck!
Hmm it does work the problem i had is i was making the scripts in windows using notepad++ and i have noticed if i open the script on android i have blocks at the ends of each line. I have had this problem in linux when doing scripts via windows. Any way its not a problem with your app so thanks.
ngagephone said:
Hmm it does work the problem i had is i was making the scripts in windows using notepad++ and i have noticed if i open the script on android i have blocks at the ends of each line. I have had this problem in linux when doing scripts via windows. Any way its not a problem with your app so thanks.
Click to expand...
Click to collapse
UltraEdit rulez!
foxdog66 said:
cool, can you guys make one to play a sound? or is their a script or line of code that will play a sound? I made a few scripts to download/install a boot animation but i cant figure out how to notify once its done, thats what im going for. as of right now it just reboots the phone when its done.
Click to expand...
Click to collapse
Per this request, I made an app that plays a specified sound stream for the duration requested. It does not force a specific sound, but plays whatever sound is set for the type at the time.
/*
* Example run command:
* am start -a android.intent.action.MAIN -e raisevolume 'true' -e soundduration '8000' -e soundtype 1 -n com.rja.utilities/.PlaySound
*
* Program Options and valid values:
* Not passing in a flag is the same as passing false.
* raisevolume - boolean that forces the sound to be played.
* - sets sound mode to normal and raises volume to max - after sound is played, resets mode and volume to previous values
* soundtype - number to indicate type of sound to play
* - Valid Values:
* - 0 - ringtone
* - 1 - notification
* - 2 - alarm
* soundduration 8000 -- if nothing is passed default is 4000. This is the duration the sound is played.
*/
Please let me know if you have any questions or problems with it.
right on! thanks dude! ill give it a go and let you know how it works
Two years ago I was in need of a simple notification tool that could have been run by a command line in a script.
So far the best I found was this thread and the tiny app made by corruptor64.
That wasn't exactly what I was looking for so I finally decided to try to make the tool by myself.
Starting from scratch (I am not an Android developer) in a few days of studying and developing I ended up with a working small app, that I named Notify4Scripts and I made it public only this past June, here on GitHub
https://github.com/halnovemila/Notify4Scripts
Note that since the app is basically a service that has to be launched by the Android's shell "am" (activity manager) command, the Android system needs to be rooted first in order to be able to use such am command and have notify4scripts executed.
halnovemila said:
Two years ago I was in need of a simple notification tool...
Click to expand...
Click to collapse
Could you please write an intent to open a directory given as a variable when I tap notification. I want to use it with clamav daemon running on my phone so that I can open the directory containing infected file when I get the notification. Please note that directory can be out of $EXTERNAL_STORAGE e.g. /data/data/ which is only accessible with root privileges.
Can the notification be multi lined or expandable with "b_noicon 0" so that complete path and virus name is visible before opening the directory?
Thanks for this great tool.
mirfatif said:
Could you please write an intent to open a directory given as a variable when I tap notification. I want to use it with clamav daemon running on my phone so that I can open the directory containing infected file when I get the notification. Please note that directory can be out of $EXTERNAL_STORAGE e.g. /data/data/ which is only accessible with root privileges.
Can the notification be multi lined or expandable with "b_noicon 0" so that complete path and virus name is visible before opening the directory?
Thanks for this great tool.
Click to expand...
Click to collapse
Hi,
the intent depends on the app you are willing to use to "open" the target folder.
If you are willing to use a terminal emulator app you can look at the many example I've wrote on the wiki available at the GitHub page of my tiny project (here's the direct link to the wiki https://github.com/halnovemila/Notify4Scripts/wiki ).
In such examples I illustrate how to call the terminal emulator app and have commands passed to it for execution.
If you'd like to use other apps, like a file explorer app, then you need to know the proper intent for that app.
The "easy" way is to make a home screen shortcut of the app opening a folder, then locate the Launcher app database, open it and read the intent used for the shortcut (that's how I found out all the intent used in the examples).
When the notification layout is set to "Custom View" (which always is when b_noicon is set to 1) multi lines text content is possible (also with use of \n new line escape code in the text) but it's not "expandable". You can adjust the content text size and remove the title line (with str_title "") to gain more room and be able to fit longer text on the notification box.
Hope this helps
Version Alpha 0.6.0 is now available
I'm back! Not dead yet, I promise. This is actually a relatively small update in terms of user-facing features, with only one really big new thing - support for file uploading - but that's a lot bigger than it might sound. It's the first write support I've implemented in the server, and it also required some fairly massive updates to the HttpServer component (support for binary requests, for POST parameters, for MIME multipart parsing). These will be built upon in forthcoming versions to add support for things like registry editing, in-browser file viewing (possibly editing), and so on. There are also a large number of small fixes and improvements that I've made over the last two-weeks-shy-of-a-year, which should make the server faster, more robust, better able to support concurrent connections, and lighter on device resources. Finally, while the app still targets WP8.0 and should run on 8.0, it now is designed for 8.1 compatibility (especially the AllCapabilities version).
Previous update (0.5.6): This version is mostly bug fixes and UI changes. The biggest changes are: clearer display of weird registry data types, the server now consumes fewer threads (it used to spawn them with wild abandon) and does faster string compares, the app version is now shown on the phone, error pages are now better, if you launch the app without a WiFi IP address it'll offer to take you to the WiFi settings page, connections are no longer closed as soon as the app starts sending a response, and the server now defaults to using the Connection: keep-alive header, with a two-minute timeout. The last change, combined with the second-to-last, should hopefully both do away with the tendency to have the app fail to display a page. However, I shouldn't have *needed* to switch it to "keep-alive" - using "close" should have worked - but it still veeeery occasionally would kill the connection early. Agh. Anyhow, this is better in the meantime.
DevDB offers me a support / Q&A thread. Please use that thread to ask questions; don't PM me unless it needs to be kept private for some reason!
ISSUES ON WP8.1:
It *should* work to deploy the app with "Application Deployment", but if you have a problem try deploying with "Windows Phone Application Deployment 8.1" instead.
Problems have been reported in the past when the app is installed to the SD card. It's small, though; putting it on internal storage shouldn't be a problem.
RESOLVED The AllCapabilities version included a few capabilities that were present in 8.0 but removed in 8.1. Those capabilities have been removed; the AllCapabilities version now deploys and runs on capability-unlocked WP8.1 phones.
IN CASE OF OTHER ISSUES: Please provide a *detailed* error report - what phone and OS version you have, what hacks you've installed, what Webserver version you're running, what you do to get the error to occur, and exactly *what* occurs - and I'll fix it as soon as I can! There's a DevDB section for posting bug reports, and you can also use CodePlex if you want.
I finally implemented file upload! I'll work on getting more stuff like that (file delete, possibly file rename/move/copy, various registry edits), hopefully soon! I also hope to add support for different areas, like an "Applications" path, a "Processes" path, a "Services" path... eventually. Many of those are really hard without good privileges. I'm also looking at moving the server to a background process and making the app just a control UI for it, adding support for authentication and/or HTTPS, adding some stylesheets to the web UI, adding caching, and much more. I did finally implement Connection header support.
Once again, the XAP is published twice. One is a fairly standard XAP that any phone can sideload, and the second has many exotic capabilities to enable viewing of (and writing to) slightly more of the file system and registry. The standard XAP has had its list of capabilities expanded to pretty much all of them that can be used without interop-unlock. The high-capability variant requires not just interop-unlock, but the additional capability-unlock hack available in the interop-unlock thread. The AllCapabilities version now works with WP8.1; sorry for the long delay on that!
An item of note: the AllCapabilities version (or either version, on WP8.1) can open other drives in the file system. On phones with an SD card, it is mounted at D: and you can browse it as normal. Credit to @hjc4869 for this discovery!
DESCRIPTION: This is a simple webserver app which can enumerate those files that are in folders readable from the sandbox, can download and upload (access permitting) files, can browse the registry, and can display the contents of registry values of any type. It runs on WP8.x (not yet tested on W10M). It is a spiritual successor to the Functional Webserver / WebServer (Mango) projects from WP7. This version is still missing a lot of functionality as I decided to implement it from scratch, but it is advancing swiftly. Note that there's no access controls implemented; use it on a public network only at your own risk!
Instructions are simple: sideload the XAP, connect to WiFi (required), run the app (called "WebServer Native Access"), point a web browser (on a PC or phone that is also on that local network) to the URL that the app displays. You should get a basic index page. Click on a Filesystem or Registry link to begin browsing the phone. There's a textbox near the top of all filesystem pages, type in a path there (for example, "C:windows" with no quotes) and hit Enter or click Get Files. You'll see a list of the contents of that folder. Click on a file to download it or a directory to open it. There's also a box for uploading files, one at a time, to the current directory. Navigating the registry is similar, except you'll need to specify the registry hive and then the path from that hive (or no path, to access the root of the hive).
As of v0.6.0, uploading files is finally supported! Other modifications (editing files, creating, deleting, or changing registry keys or values) are currently not supported. They will be "soon" although my personal testing suggests that basically the whole registry, and most of the file system, is off-limits for writing unless you use restricted capabilities.
You might see an error code (error 5 is "ACCESS_DENIED", you'll see it a lot; I should replace it with an appropriate 403 or whatever). Or you might see a status 500 message because of an exception in the server. Or the server may just crash (hopefully not so often anymore...). I'm making it more resilient, but there are still bugs. Please report any previously-unreported issues you find, including how to reproduce them, and I'll fix them if possible.
Also feel free to request features or changes; I'll implement them if reasonably possible. The app is a mixture of C++ and C# code; I could probably have done it all in one or the other but wanted to have a C++ component in case I ran into something that wasn't available in C#, and although it probably would have saved some time, I decided that hacking up a web server in C++ was maybe not the best idea.
The source code is on Codeplex, at the following projects: https://wp8webserver.codeplex.com/ for the server and the app (C#) and https://wp8nativeaccess.codeplex.com/ for the native access wrappers (C++). You may have to fix up the reference paths to get the C# component to see the C++ component correctly. The code is reasonably well documented, but let me know if you have any questions. Permission to re-use the code or components is granted under the MS-PL (Microsoft Permissive License) as posted on Codeplex.
Go forth and find cool stuff!
Version history (see the git commit logs for more detail:
07 July 2013 - 0.2.0: Initial release, FS only, 920 downloads (source: 652 downloads)
14 July 2013 - 0.3.2: initial registry, HTTP server and web app encapsulation, source on Codeplex, 225 downloads
0.3.3: bugfixes, 454 downloads
0.4.2: basic registry values display, 86 downloads
0.4.3: bugfixes, 326 downloads
0.4.6: multistring registry values, bugfixes, updated libraries, first AllCapabilities version (950 downloads), 453 downloads
25 Oct 2013 - 0.4.8: binary and long registry values, formatting and bugfixes, 451 downloads AllCaps, 201 normal
22 Dec 2013 - 0.4.9: all registry value types, better threading, proper resume, remembers port, 97 downloads AllCaps, 53 normal
24 Dec 2013 - 0.5.0: background operation using Location APIs. Downloads: 1011 AllCaps, 963 Normal
20 Jul 2014 - 0.5.1: More capabilities, better navigation. Downloads: 358 AllCaps, 352 normal
07 Aug 2014 - 0.5.3: .REG export, better traversal, bugfixes. Downloads as of 0.5.5 release: 260 AllCaps, 164 normal
10 Oct 2014 - 0.5.5: Bugfixes and back-end work. Downloads as of 0.6.0 release: 140 AllCaps, 113 normal
25 Oct 2014 - 0.5.6: Bugfixes and UI tweaks. Downloads as of 0.6.0 release: 1720 AllCaps, 1334 normal
12 Oct 2015 - 0.6.0: Binary requests, file uploads, bugfixes.
XDA:DevDB Information
WebServer Native Access, Tool/Utility for the Windows Phone 8 General
Contributors
GoodDayToDie
Source Code: https://wp8webserver.codeplex.com/
Version Information
Status: Alpha
Created 2014-10-17
Last Updated 2015-10-12
I'm going to use this space to mention something that's pretty cool:
J. Arturo of http://www.komodosoft.net is using a modified version of the HTTP server that powers this app in the ShareFolder app (http://www.windowsphone.com/s?appid=e2b9c82e-eaa1-4a3b-9d4a-8a2933a8bdb4) to support opening video files directly from Windows network shares! This was done to work around a limitation of the WP8 media control: it can only source from an isolated storage file or a HTTP URL. By running a server in the background and streaming the video file through it, and pointing the video player control at the localhost URL, it becomes possible to play the file on the phone without first copying it to the app's isolated storage. A very cool way to solve the problem! Also, reviewing the changes that were made to the network code of the server pointed me toward those threading fixes I made that have hopefully much improved version 0.4.9.
Please note that the updated version of ShareFolder with this feature may not yet be available, although it should be soon. It is a commercial (paid) app, but the author sought and received permission to use my code (although the license does not require such permission be received).
What exactly is the problem with sockets? I am battling myself with sockets atm too, maybe we can share knowledge?
Strictly speaking, the problem was with the phone's limited subset of the Sockets API forcing me to access it through functions I wouldn't normally use (asynchronous everything, SocketAsyncEventArgs and lambdas and AutoResetEvents and so on everywhere...) but I've got a pretty good handle on it now, at least for the System.Net.Sockets.Socket and its friends. The new .NET 4.x ones (using the async keyword and all) are in a different namespace; I didn't mess with them. They are more abstracted from the Bekeley sockets interface that I'm used to from C, but they are also (supposedly) more user-friendly, especially if you don't feel like writing all your own thread management code (and in fairness, I should re-write the webserver's threading to use threadpools; they're better for this type of work).
If you want to ask questions about the topic, I suggest starting a new thread (possibly in the Q&A subforum, although it's also dev related...) and I'll answer if I can.
GoodDayToDie, just an idea: how about sharing your source code via CodePlex or GitHub?
Oh man, this is pretty nice! GoodDayToDie does it again!
So far, I can read \Windows, the current install folder which you access just by typing "." with no quotes and the current application folder by typing ".." I can access the .dlls, .winmd and AppManifest.xml from the current install, but from everywhere else, it goes boom. This is a great step towards something awesome though!
EDIT:
I was wrong. For some reason, when you click on a folder it's trying to "download" it, rather than chdir. I can get pretty far into the Windows directory.
THAT's what you meant by "Click on a file (note: there's no current way to tell the difference between files and folders) to download it.
You might see an error code (error 5 is "ACCESS_DENIED", you'll see it a lot). Or you might see a status 500 message because of an exception in the server. It's getting a lot more resilient but there are surely still some bugs. ".
If you see a folder, just type the full path to it instead of clicking on it and you will be able to read the contents.
ANOTHER EDIT:
I just found a file inside of the \Windows\System32 directory named [guid].devicemetadata-ms (It's easier to just search for "devicemetadata-ms"). It's a cab file with some metadata about WP8 with a sign.cat and packagesign.cat file in the archive. I don't know what these files could potentially be useful for.
New version in a day or two (busy tonight). Features I plan to implement (not necessarily in the next version or at any particular time):
File upload (IsoStore and, of all crazy things, install directory are writable. I think I'll put a flag on each FS page that says whether the current dir is writable...).
File deletion (where possible, of course).
File and Directory distinction in the listing (clicking a dir should open it, not error out).
Filesystem index page with links to folders that can be accessed successfully (since the root isn't readable).
Some more file info (size, probably attributes, possibly permissions).
Possibly an option to preview a file (as plain text) without downloading it.
Some kind of background mode (the server uses minimal resources when not actively servicing a request, so I'll see if I can get it to work in the background, perhaps by abusing the music transfer agent...)
Some kind of offline mode (at least basic file browsing within the app, as an alternative to using the web interface, though I might just make a second app for that).
Source code changes: separate the server code from the webapp / phone app code (move it into its own project).
Source code changes: move to a hosted version control service, probably CodePlex (good suggestion sensboston).
Maybe add an icon and such...
Any other suggestions?
I also want to try experimenting with various non-standard capabilities and see if I can get access to more of the system . I've already added the ability to access removable storage, but I've also found a bunch of really weird and frequently undocumented capabilities in the OS's policy configuration files, and I need to look into those... The interesting (and possibly the uninteresting) ones are probably blocked for unsigned sideloaded apps, but it's worth checking on anyhow.
Yeah sorry, I should have been more explicit about clicking on dirs. not working in 0.2.0. Also, it's "unofficial" but if you check the URL bar you'll see a URL parameter called something like "pattern" (by default, it's *) and if you change that, you can filter the results. For example, "foo*.exe" (note: no quotes!) will search for EXE files whose names start with "foo". Among other uses, this makes it a lot faster to load large dirs like System32. This will be added to the UI at some point. Also note that URL decoding is applied correctly to querystring parameters (Probably already noticed with the path sometimes written using %5C for \) so you can add special characters that way if needed, though currently any of them but \ will probably just cause an exception.
...
Actually, does this filesystem support Alternate Data Streams? If so, you should be able to download them by appending a : and the ADS name to the filename in the download URL...
OK, so that was a new version in five days. Sorry, stuff takes time.
The source code is now on Codeplex. The native access portion is at https://wp8nativeaccess.codeplex.com/, and the web server portion is at https://wp8webserver.codeplex.com/. Both are licensed MS-PL and use Git for version control. The full XAP is also available for download from the Webserver project on Codeplex.
GoodDayToDie said:
OK, so that was a new version in five days. Sorry, stuff takes time.
The source code is now on Codeplex. The native access portion is at https://wp8nativeaccess.codeplex.com/, and the web server portion is at https://wp8webserver.codeplex.com/. Both are licensed MS-PL and use Git for version control. The full XAP is also available for download from the Webserver project on Codeplex.
Click to expand...
Click to collapse
You are a god. I'll be sure to post my findings .
Hmm. When I first load up WebServer File Access then access from my laptop, I get the main page then the program crashes on my phone. It seems to hold a lock on to the socket as i can no longer access port 9999 from any other device when re-opening the app. I can access it again when I reboot, but the same thing happens.
EDIT: I think it may be due to the WiFi at work... it's junky. I'll try again when I get home. I was just able to browse some directories.
Wow, that's completely unexpected... I can beef up the error chacking and handling around the listener port though. That part of the code is really straightforward, so I actually haven't hardened it very much. I can also put in a Finally block to close the socket and/or mark the socket as re-usable so that other apps (or the same one again) can listen on it in the future.
I also plan to add support for setting your own port, but that doesn't solve the underlying problem. I'll put in more error reporting as well, to enable better debugging. Thanks for the report! Always good to have users report problems so I know where to prioritize fixes.
GoodDayToDie said:
Wow, that's completely unexpected... I can beef up the error chacking and handling around the listener port though. That part of the code is really straightforward, so I actually haven't hardened it very much. I can also put in a Finally block to close the socket and/or mark the socket as re-usable so that other apps (or the same one again) can listen on it in the future.
I also plan to add support for setting your own port, but that doesn't solve the underlying problem. I'll put in more error reporting as well, to enable better debugging. Thanks for the report! Always good to have users report problems so I know where to prioritize fixes.
Click to expand...
Click to collapse
I tried the app at home and it DOES crash on the first hit of the home page, but I'm able to open it up again and it works fine.
The new version 0.3.3 should be more rebust; try it and let me know if you still have issues. If you do, let me know what the exception message is (and any other info you can provide) and I'll try to track it down.
Downloading really big files should also work now. The app will read and push files in smaller chunks (the code to do this existed in the NativeAccess library before, but wasn't used).
a simple SDK?
Dear Sir
Will it be possible for you to make some sort of SDK from this so other developers can integrate this into their apps and enable browsing isolatedstorage?
Sorry if it is a stupid question.
Bruce_X_Lee said:
Dear Sir
Will it be possible for you to make some sort of SDK from this so other developers can integrate this into their apps and enable browsing isolatedstorage?
Sorry if it is a stupid question.
Click to expand...
Click to collapse
With the restrictions in permissions, this app only allows browsing of the app's isolatedstorage locally. You are able to use the IsolatedStorage API within your app to browse files and directories already.
snickler said:
With the restrictions in permissions, this app only allows browsing of the app's isolatedstorage locally. You are able to use the IsolatedStorage API within your app to browse files and directories already.
Click to expand...
Click to collapse
That's right. What I want is to allow the end user to be able to browse the isolatedstorage. Imagine I have a video download app, I want the user to be able to transfer those downloaded videos from the app's isolated storage to, say, a PC.
One can do this by integrating the webserver code into the said app.
Bruce_X_Lee said:
That's right. What I want is to allow the end user to be able to browse the isolatedstorage. Imagine I have a video download app, I want the user to be able to transfer those downloaded videos from the app's isolated storage to, say, a PC.
One can do this by integrating the webserver code into the said app.
Click to expand...
Click to collapse
Ahh I see what you mean now. That sounds like a pretty nice idea. I think more research needs to be done to see whether it would even be allowed in the marketplace.
The webserver portion is stand-alone (builds to its own .NET DLL with no dependencies on the other parts) and has a pretty clean interface. You'd need to implement the web application portion of it yourself - the thing that generates the response pages for a given request - but the HttpResponse class in the server does a lot of the work of that for you; you basically just specify the content you want to send (as a String or byte array) and it sends it.
Hello,
I am developping an application for EPG, but I have a big problem.
The application is very slow cause the construction of the Fragment view after commit() it takes a lot of time.
Operations:
- download of the xml file from an URL
- parsing all data
- saving data into a local db
- reading data to build the fragment view
The fragment has the following layout:
- 2 ScrollViews (1 horizontal and 1 vertical)
- 1 LinearLayout Vertical
- 1 LinearLayout Horizontal for every channel
- 1 or more inflated RelativeLayouts for every Program
- TextViews for program details (title, hour, rating....)
Here an image to explain the sctructure:
s22.postimg.org/v5buk76q9/EPG_Layout.png
All this make the app not usable and it crashes.
Does anyone have a solution for this?
THank you very much
Download and save your file in another thread or use AsyncTask and update local version. Display only the local version in your View.
Regards
EmptinessFiller said:
Download and save your file in another thread or use AsyncTask and update local version. Display only the local version in your View.
Regards
Click to expand...
Click to collapse
Thank you. The problem is in the creation of the view. Not in the downloading... but what do you mean with update local version and display only local version? I'm using a local database where I store parsed data.
sheikko said:
Thank you. The problem is in the creation of the view. Not in the downloading... but what do you mean with update local version and display only local version? I'm using a local database where I store parsed data.
Click to expand...
Click to collapse
He means that you show placeholders on first start, and begin to download the images with an AsyncTask or a worker thread, make sure to read this guide on processes and threads, especially the Threads section!
You place your downloaded images somewhere on the device in your database and use those whenever they are available on future runs of your app. That way you don't need an internet connection everytime.
SimplicityApks said:
He means that you show placeholders on first start, and begin to download the images with an ..., especially the Threads section!
You place your downloaded images somewhere on the device in your database and use those whenever they are available on future runs of your app. That way you don't need an internet connection everytime.
Click to expand...
Click to collapse
I'm downloading the entire programmation for 8 days and I'm saving it in the db. This work takes about 1:30 minute, but only the first time I run the app after the installation. To have the view of the EPG working I have to wait about 30 seconds, and this occur every time I quit to app or I modify some parameters for example the Favorite Channels.
Do you think your solution can help me?
What do you exactly do, when you have to build your view content? Can you store information in local fields (RAM of your phone) so that you do not have to reload them from your db each time?
How big are your pictures?
LG
sheikko said:
I'm downloading the entire programmation for 8 days and I'm saving it in the db. This work takes about 1:30 minute, but only the first time I run the app after the installation. To have the view of the EPG working I have to wait about 30 seconds, and this occur every time I quit to app or I modify some parameters for example the Favorite Channels.
Do you think your solution can help me?
Click to expand...
Click to collapse
I don't know what you're downloading here and wether you own the server counterpart or not, but at the first glance that is waaaayyy too much data you are using here...
You need to modifiy or restrict the amount of data you download from that server, if you can modify it there (If you use images crop them down in there already) it would be best, otherwise you might want to mirror it on your own server.
And what's your app showing when no data is available? You can still show the base navigation and use ProgressBars to indicate you are loading...
SimplicityApks said:
I don't know what you're downloading here and wether you own the server counterpart or not, but at the first glance that is waaaayyy too much data you are using here...
You need to modifiy or restrict the amount of data you download from that server, if you can modify it there (If you use images crop them down in there already) it would be best, otherwise you might want to mirror it on your own server.
And what's your app showing when no data is available? You can still show the base navigation and use ProgressBars to indicate you are loading...
Click to expand...
Click to collapse
Thank you,
To improve performance I saved icons (channels, rating) locally in drawable resources and I download only text info. But because the are 8 days of tv scheduling and a lot of channels this download take a lot of time.
I can't modify o restrict the amount of data, but i can select how data I can download (i.e. 3 days....) but I have to download all.
Also when I modify (add/remove) favorite channels I have to wait about 10 seconds and this is frustrating.
Maybe the problem is that I'm working directly on the database. I have to work on some layers above do DB or there is another solution?
Sorry but I'm new to Android
Thank you
sheikko said:
Thank you,
To improve performance I saved icons (channels, rating) locally in drawable resources and I download only text info. But because the are 8 days of tv scheduling and a lot of channels this download take a lot of time.
I can't modify o restrict the amount of data, but i can select how data I can download (i.e. 3 days....) but I have to download all.
Also when I modify (add/remove) favorite channels I have to wait about 10 seconds and this is frustrating.
Maybe the problem is that I'm working directly on the database. I have to work on some layers above do DB or there is another solution?
Sorry but I'm new to Android
Thank you
Click to expand...
Click to collapse
And I'm new to EPG xD. Do you have to download all the channels or can pick e.g. just the favorites? And what is the size of your local db on the device?
Well then the only thing I could tell that either you have a serious performance bug in your code or you need to find a way to get less data or load it faster. I don't know if mirroring it on your own server is possible but there might be some free servers providing it.
SimplicityApks said:
And I'm new to EPG xD. Do you have to download all the channels or can pick e.g. just the favorites? And what is the size of your local db on the device?
Well then the only thing I could tell that either you have a serious performance bug in your code or you need to find a way to get less data or load it faster. I don't know if mirroring it on your own server is possible but there might be some free servers providing it.
Click to expand...
Click to collapse
I can pick only some days and I can select wich days to download.
Now I'm downloading only 3 days and the size of the db is about 4 MB
May be I have a bug
How I can get them faster?
Can't mirror or move content.
thank you
sheikko said:
I can pick only some days and I can select wich days to download.
Now I'm downloading only 3 days and the size of the db is about 4 MB
May be I have a bug
How I can get them faster?
Can't mirror or move content.
thank you
Click to expand...
Click to collapse
4megs seems to be alright on the first look... Maybe you really have a bug or you are loading it on the UI Thread. You need to use asynchronous loading or the db is too slow. Maybe disable any loading in the app and see if you get any improvements, if you don't, you have a bug in your layout/app
SADLY I AM LEAVING THIS PROJECT FOR A SHORT WHILE
THIS VERSION DEPRICATED, V2 CAN BE FOUND AT http://empyreal96.github.io WITH FULL GUIDE
##THIS IS NOT A PIRATED VERSION I WILL NEVER SUPPORT PIRACY OF ANY KIND.. ACTIVATION WILL BE NEEDED IF NOT USED WITH WOA DEPLOYER (link to WoAProject page at bottom)I AM NOT AFFILIATED WITH WOA PROJECT##
This is a guide for using my optimized version on Windows 10 Home ARM64 for our Lumia 950/XL's, reason behind me making this is inspiration from gilius over on woaproject.net with his WoALite, but I found some things that slow down my Windows Experiences when using it on my Lumia 950 XL, so I used Windows built-in DISM tool to modify and change things in a retail iso (17760.1.180911-1415.RS5_RELEASE_CLIENTCORE_OEMRET_A64FRE_EN-US) which can be obtained following WoA Projects method (Links will be at bottom), I will get around to Screens from the device at a later stage, for now I have listed everything changed so far and will update as I progress, if this gains traction I will move to the DevDB section.
I am currently testing it as you read this but I will say this is classed as unstable, I am having few issues sudden reboots, shutdown not shutting down.. but as the WOA Project is unstable and the Drivers they provide are still in-development. I will not be responsible for anything gone wrong, make sure to make a full image backup of your device (With Win32DiskImager) in Mass Storage Mode if you are unsure. If you are new to installing Windows ARM on Lumia, follow WoA Project's guides as they have links and guides to help you step by step. Status on what works and what doesn't hardware wise is stated on Woa Website
INSTRUCTIONS(Download links at the bottom):
You will need the 'install.wim' from an unedited 17760 (1809) ISO because WoA Deployer doesn't agree with my version, if unsure follow WoA's guide to obtain the required files.
[*]Make sure you have the 'stock' install.wim from ISO and the Version1.wim downloaded and in the SAME folder.
[*]Open WoA Deployer and Connect your device. Browse for the Wim files from Step 1, select and open the 'Stock' install.wim
[*]When WoA detects the 'Stock' .wim and says "Windows 10 home 17760', go to the Explorer folder with the WIM files and rename install.wim (E.g installbak.wim)
[*]Rename Version1.wim to install.wim
[*]Go back to WoA and Start deployment, hopefully all should go well
Note: You may encounter, after finishing deploy and drivers have been injected, an error saying invalid .WIM file.. this is expected because of my edited install.wim, I am looking into fixing that, but the deployment will still be successful.
ISSUES:
1. If you encounter a boot loop/Never reach the Windows boot screen (Circling dots) then replace the 'bootaa64.efi' found in the phone's drive named SYSTEM: .\EFI\Boot\ with the bootaa64.efi in the link at the bottom. you will need an Elevated Command Prompt session to do this bit or you could use Explorer++ as Admin to replace the file
2. Expect some UWP apps to be broken in some ways, it cannot be helped with how windows integrates with all its services and packages, i.e any MS Store apps that require Cloud syncing with OneDrive
3. Windows Error Reporting seems to still be working because it has collected 1.5 GB over a couple days of use, I am working on fixing that
PLEASE if you are willing to test this, tell me any issues you find with edits I made or anything you want me to remove! and share your experience with it! I will keep on improving and most likely change to a more recent build (19h1) in the future
DOWNLOAD:Version1.wim, changelog and alternate bootaa64.efi:
https://drive.google.com/drive/folders/194O_fnSx36i9pE2ZoD2HyCdHAGeZdQJp?usp=sharing
Feel free to join my Facebook Group on Windows ARM for help, tips and discussions! (Not affiliated with WoA Project)
https://facebook.com/groups/172181590537251
Credits:
WoA Project for doing the hard work on porting Drivers and UEFI to our Lumias, as well as their software and guides:
(https://woa-project.github.io/LumiaWOA/)(https://github.com/WOA-Project)
I did not and do not have and affiliation with WoA Project, Microsoft or any other company, the edits I made to the install.wim can be learnt from the Microsoft Website or other developer sites. Again I do not take responsibility for any damage, you willingly try this out knowing the process of deploying windows using software stated, or the intent to learn and follow proper guides before mine, This will void warranty completely. enjoy!:laugh:
Changelog V1:
Appx Packages Removed:
Bing Weather
MS Get Help
MS Get Started
MS 3d Viewer
Office Hub
MS Solitaire
Sticky Notes
MS Office OneNote
MS Print 3D (Removed but still appeared in Start Menu)
SkypeApp
MS Windows Feedback Hub
Windows Maps
Xbox TCUI
MS XboxApp
MS XboxGameOverlay
MS XboxGamingOverlay
MS XboxIdentityProvider
MS XboxTextToSpeech
Taskbar Settings:
Cortana Hidden by default.
Task View Hidden by default.
People hidden by Default.
Windows Theme Settings:
Show Colour on Start, Task bar, Windows frames etc by default.
Disable Transparency by default.
Security Setting changes:
Change UAC Behaviour to Never notify (This will put you at risk if you download and run software from questionable sources that may have viruses, this is a personal preferance to me because the fade with the UAC window annoys me, will change later if people don't like it)
Disable SmartScreen Filter
Disable Windows Defender (If you NEED antivirus then try find an alternative, I may show how to re-enable it later on if needed)
Start Menu and Windows Experience Settings:
Disabled suggestions on Start Menu
Disabled ads from Windows Store
Disabled 'Get Suggestions using Windows'
Disabled automatic installation of recommended apps
Disabled Game Recorder
Disabled OneDrive (Will break MS Store apps requiring OneDrive for Cloud sync)
Disabled Cortana
Explorer Settings:
Open File Explorer to This PC by default.
Show Extensions for all files by default.
Show all hiddden files by default.
Show Complete Path in Explorer by default.
Disabled Audio and Video file previews
Disable showing Frequently and Recently used in Quick Access by default.
Desktop:
Show My Computer, Control Panel and User Folder on Desktop.
Context Menu:
Disable Scan with Windows Defender.
Disable Paint 3D option.
Windows Update:
Never check for updates
Don't include Drivers in updates
Services Disabled:
Remote Registry
Diagnostic Service
Windows Search (May cause some Windows Store apps to fail)
Customer Experience Improvement
Windows Features:
Disabled/Removed:
Internet Explorer 11
Windows Media Player
Print and Document Services
Print to PDF
XPS Document Writer
Windows Search
Work Folders Client
Enabled:
Legacy Components/DirectPlay
Windows Subsystem for Linux
.NET Framework 3.5
Optional Featues:
Disabled:
Internet Explorer 11
Windows Hello Face
Windows Media Player
MS Exchange and Mail Sync engine (Affect UWP Apps)
Misc:
Disabled Automatic Restart on BSOD
Disabled Hibernate and Hiberboot
Disabled 'Component Based Servicing', 'Delta Package Expander', System and 'Acount Login' Logging
Disabled Component Based Servicing Backup
OneDrive setup Disabled on First Boot/New User
Planned for next update: Removing remaining apps I consider not needed, starting disabling of Diagnostic services and Win Error Reporting, Disabling unneeded services (will actually remove some services in future releases), slim down install.wim file size and post install size.. this will be released to my FB Group first to test, but no ETA for the Group or here.
I tested this on my 950 XL and it runs good there are a few issues with Windows Update still running but it's a lil bit more responsive.. when is next update??
MrFloaty said:
I tested this on my 950 XL and it runs good there are a few issues with Windows Update still running but it's a lil bit more responsive.. when is next update??
Click to expand...
Click to collapse
Glad to hear you're testing it! ?
I did also discover that the update service is still starting up, I think it's tied into how MS Store launches on first install to update the metro UI apps but I am working on it more!
No idea when next release is yet, I'm testing my offline version 2 and broke the store from installing apps.
I have migrated the project over to http://empyreal96.github.io as it's easier to maintain
Version 2 has been uploaded, with FULL guide, screens, links.
Now based of an 18xxxx insider preview build
Lumia 950
Hello
I was planing this for a long time, since first news were coming about Windows ARM on Lumias, and for the first install I tried with your version V2 on Lumia 950 (not XL).
Hands down for you work here. In general it works, quite smoothly also.
But I did have an issue during Windows account creation (after deployment was already done).
I received error "oobelocalhello". I had an option to try to create account again (but that didn't fix it) or to continue. The next step was Services, which didn't finish after more than half an hour, it was just running without end. Even a few reboots didn't solve the issue, although I noticed, user accounts were actually created, because I couldn't use the same usernames again.
To overcome this I opened cmd (Shift + F10), manually created account with below commands and restarted.
net user administrator /active:yes
net user /add owner mypassword
net localgroup administrators owner /add
cd %windir%\system32\oobe
msoobe.exe
(taken from https://www.tenforums.com/windows-i...s-cant-get-past-oobe-stage-3.html#post1783967)
Wifi works, usb charging and mouse (over continuum) works. Your scripts didn't cause BSOD, so that's good .
Should phone calls also work? In https://woa-project.github.io/LumiaWOA/status/ is stated phone calls are supported up to build 18363, and your build is 18965, so I assume it's not a problem at my end.
Would be nice to have a remote desktop server installed to work and test the phone somewhat easier (I'm just trying with tightvnc, but is rather slow).
Thanks again for your effort.
In case you plan to continue with your work here, let me know.
spaceKomet said:
Hello
I was planing this for a long time, since first news were coming about Windows ARM on Lumias, and for the first install I tried with your version V2 on Lumia 950 (not XL).
Hands down for you work here. In general it works, quite smoothly also.
But I did have an issue during Windows account creation (after deployment was already done).
I received error "oobelocalhello". I had an option to try to create account again (but that didn't fix it) or to continue. The next step was Services, which didn't finish after more than half an hour, it was just running without end. Even a few reboots didn't solve the issue, although I noticed, user accounts were actually created, because I couldn't use the same usernames again.
To overcome this I opened cmd (Shift + F10), manually created account with below commands and restarted.
net user administrator /active:yes
net user /add owner mypassword
net localgroup administrators owner /add
cd %windir%\system32\oobe
msoobe.exe
(taken from https://www.tenforums.com/windows-i...s-cant-get-past-oobe-stage-3.html#post1783967)
Wifi works, usb charging and mouse (over continuum) works. Your scripts didn't cause BSOD, so that's good .
Should phone calls also work? In https://woa-project.github.io/LumiaWOA/status/ is stated phone calls are supported up to build 18363, and your build is 18965, so I assume it's not a problem at my end.
Would be nice to have a remote desktop server installed to work and test the phone somewhat easier (I'm just trying with tightvnc, but is rather slow).
Thanks again for your effort.
In case you plan to continue with your work here, let me know.
Click to expand...
Click to collapse
Glad to hear your experience and that someone has tried it!
I think the issue there is I removed some services to do with the initial setup, and the services I did notice a few mistakes I did (I think) and should be fixed in version 3(fingers crossed)
Yeah I didn't keep keep cellular in mind I feel I should have, I don't know about Version 3 and cellular because I'm gunna test the most 'stable' build beforehand
And with the scripts I tested on all of my laptops etc because I was worried I would mess stuff up if not, I have uploaded all the scripts used in V2 to my github aswell so it's easier to see the contents and what they do
I will be coming back an tweaking this at some point and will properly update the OP, gotten a bit sidetracked with Linux on 950 and other devices but I do want to add remote desktop back because I agree it would be handy!
will testing soon
hooooossamq said:
will testing soon
Click to expand...
Click to collapse
Sadly this has been abandoned for a long time, so I don't know if you will see benefits over using a more recent W10 image
Empyreal96 said:
Sadly this has been abandoned for a long time, so I don't know if you will see benefits over using a more recent W10 image
Click to expand...
Click to collapse
Hmm..is there any win10 arm64 image you recommend?
Gadget Bridge for Mi Band 6 Privacy oriented and Open source build
A free and cloudless replacement for your gadget vendors' closed source Android applications.
i am using it as a daily driver, and they gave recent support for mi band 6, and i am loving it INFO
Gadgetbridge, an open-source app that focuses on removing the manufacturer out of the equation.
Gadgetbridge is an android application that allows users to use various smart bands such as Pebble, Mi Band,
Amazfit Bip, HPlus ZeBand, XWatch, and more, without constantly utilizing the vendor’s closed source application.
It also does away with the need to create an account and transmit your user data to the vendor. What’s more,
the open source nature of this app allows users to be confident about how their data is handled and ensure that it
does not leave their devices. -- XDA
Changelog 0.57.0. Initial limited support for Mi Band 6
Thanks to a PR, we recently merged, Gadgetbridge 0.57.0 is the first release which supports the new Mi Band 6.
We call support limited, since it does not yet support flashing the firmware or watchfaces and not everything is tested yet.
But thanks to your donations we were able to order one, which will (once it arrives) enable us to test and improve device support!
--Gadgetbridge team
Credits for the Mi band 6 support
Jhey: https://codeberg.org/jhey
link for built apk with mi band 6 support
https://drive.google.com/file/d/1gJmleH4-QisotX7GNAsxxSZXZjVU9505/view?usp=sharing
Your Mi band should be Connected to the Mi Fit App with your Mi Account, this is required to get the
Bluetooth Authentication key for our MI Band which will used later in the process, also do not unpair from Mi fit app
Step 1: Building the app from source Application home page
https://gadgetbridge.org
Install Android Studio
https://developer.android.com/studio
From Android Studio open SDK manager, download and install SDK 29(Android 10)
Install python3
https://www.python.org/downloads/
Clone the repo to Downloads folder from this url
https://codeberg.org/Freeyourgadget/Gadgetbridge
Create a local.properties file in the Gadgetbridge folder its contents should contain sdk location
sdk.dir = /Users/vamzi/Library/Android/sdk
Lets start with the APK build process
open Terminal, Change Directory to the gadget bridge folder using
cd ~/Downloads/gadgetbridge
and execute this command
to start the build process
./gradlew assembleDebug
or
./gradlew assembleRelease
Step 2: Obtaining the Authentication key
Clone the following Repo:
https://github.com/argrento/huami-token
Open terminal change directory to the cloned huami-token folder:
cd huami-token
Install the python dependencies using the following command:
pip3 install -r requirements.txt
Start obtaining the auth key :
python huami_token.py --method xiaomi --bt_keys
Copy the link generated under the script to a browser, login to your MI Account which is
bonded to our Mi band, copy the link generated after you login to the python terminal,
and press enter This will generate the Auth_Key copy it and save it. send that authkey
to your android device via mail or message
Step 3: Install the Generated or Downloaded Gadget Bridge apk give all the required
permissions and Notification access too, Before we start the pairing process, disable
or uninstall Mi Fit app, so it doesnt interrupt our GadgetBridge pairing proces.
on Gadget Bridge, start by tapping on the add button, give the location access,
as android needs location access to scan for bluetooth devices. tap on Start discovery
this should display the Mi band 6 tap and hold on it, to start configuring the settings.
paste in the Authentication key and change other settings to your liking.
tap on the back button, this will start the pairing process, and should add your mi band 6 to the application.
this app is a good alternative for the Mi Fit app, and this makes it possible to go thorough your health and activity stats on your device without the need to share it with the device manufacturer. Donate to Gadget bridge Devs for making this awesome app https://liberapay.com/Gadgetbridge/donate and if you are good at coding, Contributions are welcome, be it feedback, bug reports, documentation, translation, research or code. Feel free to work on any of the open issues; just leave a comment that you're working on one to avoid duplicated work. --devs at GadgetBridge
Sorry, but at my opinion it is useless at this time for normal users.
Without the right knowledge, i can't pair with miband 6.
And most of the features are not usable. So notify&fitness seems to be the better choice.
Icetea said:
Sorry, but at my opinion it is useless at this time for normal users.
Without the right knowledge, i can't pair with miband 6.
And most of the features are not usable. So notify&fitness seems to be the better choice.
Click to expand...
Click to collapse
i agree with you icetea, but the option is still there and might be helpful to for people who are looking at it, also as it is an opensource project, if there is enough people ready to contribute for this project, it has a lot of scope
thx but i will stay at stock app.
Icetea said:
thx but i will stay at stock app.
Click to expand...
Click to collapse
That is your wish mate, for people who dont want their data to be mined by companies this is a good alternative
Haha... I think, using a android phone is not the right way to prevent datamining.
Btw. on reddit i have found a page with a miBand 6 ready compiled version of gadgetbridge as a download link. But have not tried it because as i understand, it seems not be able to work without auth.key.
Icetea said:
Haha... I think, using a android phone is not the right way to prevent datamining.
Btw. on reddit i have found a page with a miBand 6 ready compiled version of gadgetbridge as a download link. But have not tried it because as i understand, it seems not be able to work without auth.key.
Click to expand...
Click to collapse
Lol u r right ice tea, some people are using android without gapps, and getting ur data mined by google is much better than getting mined by these chinese companies , reddit thread is most likely mine i guess
I have tried to use this version from f-droid but it does not pair my watch.
Authkey doesn't match. I am out now... I have no time for further experiments.
Icetea said:
I have tried to use this version from f-droid but it does not pair my watch.
Authkey doesn't match. I am out now... I have no time for further experiments.
Click to expand...
Click to collapse
Loll sorry mate, f droid updates take a while to update the latest app from the development repo, also they are planning to add alternate release channel with latest updates on their development page.
Gadgetbridge | F-Droid - Free and Open Source Android App Repository
Use your Pebble/Bip/Miband/Hplus/[more] and keep your data private!
f-droid.org
That seems to be the same version as yours. V0.57.0!
Thank you for the guide!
I hope more people could contribute on gadgetbridge, bc the cloudless idea is great to keep your data save!
Icetea said:
Haha... I think, using a android phone is not the right way to prevent datamining.
Click to expand...
Click to collapse
it depends on how you use it
Will try tomorrow my new Bip u pro to connect with gadgetbridge, my Bip s already works with it without problems. Hopefully they can expand the features.