Digging into Web Management/Device Portal - Windows 10 Mobile

Hello mates!
I started diggin' around the new built in web based Device Portal that can be enabled under Developer settings, and found some pages, that are not available through the menu:
debug.htm – Debug (gives 404 error). Seems it will be some debug page, where you could dump the live kernel of the device
devicepair.htm – Set up access, I think this will be the new pairing method between your PC and Phone. You can also download your device certificate
EtwMon.htm – Realtime ETW Tracing (gives 404 error). Event Tracing for Windows, devs should know what is this
WerReport.htm – WER Report (gives 404 error). Windows Error Report listing
xpref.htm – Performance tracing (gives 404 error)
I attached the complete source code of the web interface. I found one more interesting file in it:
default/js/RestDocumentation.json – Complete REST documentation, including "some" (hell'a lot) undocumented REST API calls

Another thing of note. I had my suspicions of this when it was released a few builds ago. This is ALSO the same WebManagement that exists in W10 IoT.

Related

[MOD][SENSE2.5TAB] RSSTab Project - Developer Thread - (5Aug Release4.Beta.1)

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Twitter:
@rsstab
RSSTab Update Feed:
Meltwater's Sense RSSTab Release Feed - Will be updated each time there is a release!
Project Release Thread:
XDA: RSSTab Project - Release Thread - The latest release cabs are here! (This does not apply to the betas yet)
Project Online Code Page:
CODEPLEX: HTC Sense RSS Reader Tab
Project Wiki Page:
XDAWIKI: Sense RSS Tab Project
Project Donations:
PAYPAL: Developer
meltwater
Latest Info
12Oct2011 - Facebook has altered the authorisation slightly, so manual paste method needs a little extra care (details here - Thanks to Nullstring).
(19Sep2011) "Facebook" Theme Released
(5Aug2011) Release 4.Beta.1 Details here
(12June2011) Release 4.Beta.0 (298views) Details here
(05June2011) Stable Release 3.0 (CodePlex 8974) Details here
(02June2011) Release To do list
(01June2011) Big Development Announcement - Facebook Integration
(10May2011) 3.Beta.2 [Released] (115 views) Details Here
(28April2011) 3.Beta.1 Released (In-App Update Only - minor changes) Details Here
(26April2011) 3.Beta.0 Released Details Here
(14April2011) (140 views) Beta Countdown To-do List posted!
(24thFeb2011) Release Thread started
- The focus of this thread will now be development, allowing general Q&A in the release pages.
- Don't be scared to post in either thread (I monitor both)!
- I may start to release beta versions in this thread for testing
(31stJan2011) Release 2.2.2 (cabs on release thread or available in codeplex [6377] (zip 503 views), Theme-able Version Rev2.2.2) - meltwater_RSSTabV2.2.2&SenseUtil.cab (662 views) meltwater_RSSTabV2.2.2(SeperateCabs).zip (304 views)
(27thJan2011) Easy Cab Install Test - Please let me know if it works or not!
(26thJan2011) Release 2.2.1 (attached (views 50) [6309] or available in codeplex, small fix+german lang Rev2.2)
(25thJan2011) Release 2.2 (attached [6226] (19views) or available in codeplex, see Release 2.2 Notes)
(20thJan2011) Release 2.1 (attached [6048] (77views) or available in codeplex, see Release 2.1 Notes)
(23rdDec2010) PreRelease Beta2.0B (attached [5534] (237views) or available in codeplex or Captain Throwback Cab)
(22ndDec2010) PreRelease Beta2.0 (attached or available in codeplex or Captain Throwback Cab (see install post #4))
(11thNov2010) 11th Nov 2010 Available - Minor Update
(10thNov2010) Captain Throwback Cab (see install post #4)
(9thNov2010) WIP 9th Nov 2010 Available - Release Candidate Codeplex Release Page
(3rdNov2010) WIP 3rd Nov 2010 Available
(22Oct2010) WIP 22nd Oct 2010 Available
(7Oct2010) WIP 7th Oct 2010 Available
(6Oct2010) New Screenshots Animated Gif Screenshots [Large]
(5Oct2010) WIP 5th Oct 2010 Available
(4Oct2010) WIP 4th Oct 2010 Available
(1Oct2010) WIP 1st Oct 2010 Available
(29Sept2010) Codeplex: Project Code Page - HTC Sense RSS Reader Tab
(1Sept2010) RSS Feed Item Display Form Requested...
(25Aug2010) Graphics Resizing Code Requested... + Updated Developer Pack attached + added Control Design Ideas to wiki.
(from now on - additional baselines will be released separately to the pack - but the old pack needed fixes)
(24Aug2010) Icon Graphics Requested... +1st run by another user!
(23Aug2010) Project Update
(19Aug2010) Project Launch, Wiki Open for ideas etc [Sense RSS Tab Project], Developer Package attached (731 views)
Welcome to the RSS Tab Developer Thread.
This latest release of the RSSTab is now available.
Please read the Install instructions carefully and if you have problems feel free to post questions.
There is a user manual available in the wiki page, so if in doubt have a read of that.
NOTE:
Like most RSS Readers, the software will open up data connections to download related images.
Please ensure you are aware of your data connection settings to avoid data charges from your carrier.
The installation, the use &/or miss-use of this software is at your own risk.
This software is provided as is & without liability.
Reverse engineering or modification of the binaries is prohibited.
By downloading/using this software you accept these terms, regardless of if you choose to read them or not.
Introducing the RSSTab
Click on image to see Large Size Version
Author Request - Posting on other sites or building in ROMs
I am happy for the tab to be included in ROMs and links to this thread posted on other sites, however, I do request that feedback is relayed back here so I can see what issues people are having. This is the responsibility of either the original poster or ROM Author to do this, to help me with development.
In particular:
1. language display issues, which I can not see as my ROM only supports english chars and I subscribe to english feeds.
2. install problems - it is something which I hope is almost resolved (using Captain_Throwbacks cabs, senseutil and the shortcuts), if not then we will need to know. Hopefully the newer builds are easier to cook too.
3. problem feeds - I wrote the RSS reading code quite early on, so it was rough and I only had limited methods I knew worked in compact framework, if there are issues I may revisit this code and improve the way it works.
Also it would be nice to post links to these sites on here too, common issues/solutions etc can then be viewed by all.
What can it do?
Once setup, the tab will display your list of feeds from the RSSHub directly in sense and allow you to view the list of items in the feed and then you can view a particular item and/or play a previously downloaded podcast file (video etc).
The tab is very much under-development, which means I am focusing on building in the important functions and features at the moment.
Presently, the tab will not change anything in your RSSHub files, so an unread item will stay unread and your files will not be harmed (the tab will only create some thumbnails etc in sub directories of the Channel Data folder). The exception to this is if you have donated and received a donate code, then you are able to disable the read only mode (which is experimental).
If you have a particular feature you would like added, then please add to the "To Do List" within the Wiki page or Code-Plex To-Do list.
Thread Quicklinks:
Rev 4.Beta.1 Release from Post#911 Onwards...
Rev 4.Beta.0 Release Facebook Integration Discussed from Post#838
Rev 3.0 Release Discussed from Post#789
Facebook Integration Announcement from Post#772 Onwards...
Rev 3.Beta.2 Release Discussed from Post#744 Onwards...
Rev2.2.2 Release Discussed from Post#600 Onwards...
Releases/Development Plan Links
Installation Instructions (Must read before install)
Theme, Icons & Colours Links
Language File Support Information
Thread Tips/Guides:
XDAWIKI: Sense RSS Tab User Manual
XDAWIKI: Sense RSS Tab Theme Page
[Q] Can you recommend some good RSS feeds? - Includes details on adding Facebook, Twitter and Google+ RSS Feeds
XdaTV/YouTube Channel Podcast Links
Thanks to:
The main problem is simply time, all coding takes lots of it and sense coding even more so. Obviously donations help greatly, be it donations of time to help with installation issues, testing and translations OR motivational money donations (be it $1 or $10) [I am saving up for something to help me with development] it all provides a boost which will drive me to work further on the project and shows me that the project is a worthwhile use of my time.
Donating to the project (money/time/skill/charity) will entitle you to a "Donate Code". If you've donated, send me the code from the "Advanced" settings page and you will get a code for your device. The "Donate Code" will allow you to use the experimental features which I am currently working on (use at your own risk as many of these will change the RSSHub data store - backups are recommended).
Experimental features include, updating feeds directly from the tab, setting items as Read/Unread and facebook api enabled facebook feeds. This is my way to return back something to those who invest in some way in the project, if you are unsure of how you can do this, then please let me know.
Donations:
JDog2pt0 (21/10/2011)
dale5804 (27/08/2011)
1sin (9/8/2011)
ct_moi (1/8/2011)
jivkonik (2/7/2011)
osiedacz (24/6/2011)
user_99 (19/6/2011)
Eddie Dickens (16/6/2011)
lcd4linux (13/6/2011)
Skrobel (7/6/2011)
timjarsky (9/5/2011)
unknown XdaId (5/5/2011)
Laurentius26 (27/04/2011)
sharkie405 (27/01/2011)
Captain_Throwback (23/11/2010)
JVH3 (16/11/2010)
Cabs+Installs:
Captain_Throwback
Testing:
zard, Captain_Throwback, mike2nl, winderp, colossus_r, ric69
Language Files:
(zh-cn) winderp, (es-es,es-es_tradnl) amno1970, (de-de) SteveP86 & user_99, (fr-fr) mickey & ric69, (zh-tw) boa19861105, (it-it) bbonzz, (pl-pl) Budniu
Code Tips/Help:
eboelzner+greenhacks(Sense Looknfeel SDK), emuneee (itemwebview), joe_coolish (debugfile), johncmolyneux (filedialogue), Captain_Throwback/Co0kieMonster(sensehelp), Drakknar (fbtab/rsstab banner)
Everyone behind the kitchen (without which I would have got no-where):
12aon, 6fg8, chainfire, sztupy, Co0kieMonster etc
Plus anyone else I've forgotten...
Thanks even if I've not mentioned by name, for all help, testing and support.
Let me know if I've missed you off the list, thank you for donating (in this case, your time and effort!).
See post #4 for install links & instructions (must read before installing).
Note:
The cab files required for installing the "release version" of the tab are located on the release thread
meltwater_RSSTabVX.X.X(SeperateCabs).zip below contains the cab file for installing the tab and senseUtil to assist with registering it with Sense.
rsstab-xxxx.zip below contains the files required for manually installing the tab.
Link to EXT file, TO BE DETERMINED
NOTE: rsstab-8974.zip is Stable Release 3.0 (CodePlex 8974)
To save time, I don't usually release the Beta versions as ZIP files, but feel free to open the cab and extract the files if you need to.
Development Progress
For the current to do list, or to add your own suggestions, please visit the wiki page:
XDAWIKI: Sense_RSS_Tab_Project#To_Do_List
OR
CodePlex : Next Release To Do List
Check the quick links for details about the latest release.
Release 31st Jan 2011 - 2.2.2
Fix for feeds which are not in a category (2nd try)
Text Theme/4F9BE867_manila Working
Release 26th Jan 2011 - 2.2.1
Fix for feeds which are not in a category
+german lang Rev2.2
Release 25th Jan 2011 - 2.2
New: Filter Feeds
Updated language files 2.2 (fr-fr & templates)
appRSS.reg Updated to link to RSSHub by default (assumes windows dir installed location)
----------------
Like most RSS Readers, the software will open up data connections to download related images.
Please ensure you are aware of your data connection settings to avoid data charges from your carrier.
The installation, the use &/or miss-use of this software is at your own risk.
This software is provided as is & without liability.
Reverse engineering or modification of the binaries is prohibited.
By downloading/using this software you accept these terms.
_____________________________________________________________
Code:
Release 20th Jan 2011 - v2.1
Experimental ReadAll/UnReadAll (activated with donate code)
Single feed display fixed
Updated language files
(22ndNov2010) PreRelease Beta2.0
"Pre-Beta Samper/Taster"
This initial build should be considered a development version and work in progress, I intend to make several updates to it before it can be considered a proper release as several sections are not quite finished, however it should be quite usable.
New features:
1. Lauc Theme file [759E7B43_manila] for font colour changes
2. Settings Pages:
Tab Settings:
a. Fixed header position [loading feedback not completed yet, plus highlight selection not completed yet]
b. Item View Mode Selection - allows the different methods to be tried (OpenNetCF is the latest one)
c. Selection of stylesheet for item view
File Path Settings:
a. Register the app's location with the registry
b. Define/Select the app shortcut
Advanced:
a. Reset the tab data (should clear out the RSSFeed registry values, leaving only settings behind, plus should then reload the channel data)
b. Advanced settings (as the FbTab, allows the harder options to be shown)
c. Language file selection.
d. Donation Code Function
3. Highlight of unread items
4. OpenNetCF Browser - with my own custom gesture support (needs fine tuning but the principle is swip left/right to go to next or previous item - eventually will define the direction via a user setting, up/down will do nothing at the moment, there is also a special diagonal gesture which will toggle the fit to screen mode - again possible to detect each of the 4 diagonal directions). It's experimental, but is usable.
WIP - 11th Nov 2010 (Very Minor)
RSSUtil
1. Fixed exception on incorrect DataFeed location.
2. Added new language files fr-fr, zh-tw
[B]WIP - 9th Nov 2010 (RC?)[/B]
Manila
1. Lang Files - All updated to have IDS_RSSTITLE at the top (ensures title is populated on 1st run). Plus added translations for zh-cn, es-es/es-es_tradnl, de-de, cs-cz (many thanks for the translations).
2. Updated example 26948339_manila Tab Control file to have IDS_RSSTITLE.
3. Improved item selection handler (should avoid jump back on Channel List on 2nd item selection - when scrolled down)
RSSUtil
1. Support for "gb2312" encoded files.
[B]WIP - 3rd Nov 2010 (Major Update)[/B]
Manila
1. Selected Slider Icon Included
2. Details text resized when media icon present
RSSUtil.exe
1. Added language file templates.
2. Split out NativeWebBrowser (thanks to emuneee) into dll (may replace at some point)
3. Now using "Release" build
4. Added external WebViewStyle.css file support
5. Fixed reg issue on open of DebugPage on clean System
6. Added extra checking of Selection Item number (avoids erroneous loads of channel list by mistake) - will log when this occurs.
7. Attempt to convert PST/CET/xxx etc time zone information
8. Initial work on gb2312 encoding (needs testing)
[B]WIP - 22nd Oct 2010[/B]
(Small update)
RSSUtil.exe only!
1. Changed close method for RssTabItemWebView (need check this fixes issue - wasn't present for me in first place)
2. Better Icon for RSS Feed Item view (top header)
[clear out the [\Storage Card\]Program Files\RSS Hub\ChannelData\FeedIcons directory and it will generate new ones as and when they are needed.]
3. Extra debug in file
[B]WIP - 21st Oct 2010 BIG UPDATE[/B]
RSSUtil
1. meltwater.apiLang.dll - updated for multiapp support.
2. feed reading improvements
3. image resizer improvements
4. settings page reset channels
5. Sense DateTime support
Sense
1. New layouts
2. Rss Tab Menus
3. GTX Theme support in lauc file
4. Sense DateTime support
[B]WIP - 15th Oct 2010 - BUILD DIR ONLY[/B]
Again, work is in-progress for a lot of this, still got a few items which aren't quite completed.
RSSUtil.exe
1. Implemented developer mode
(to shut off WIP sections)
2. Testing ItemView - alternative browser
(requires checking on problem devices - note links don't work yet, feedback please on if it works)
3. Better Settings Page for 1st release
4. Added Meltwater.ApiLang
(needs additional work to support both tabs - plus any other app)
SenseRSSTab
5. Implemented developer mode
(to shut off WIP sections)
6. New install message
7. Update bar position can be controlled
(i.e. not moved by new fb events...)
8. DEV ONLY: Fixed position header (to keep feed feed title at the top - disabled for now)
[B]WIP - 7th Oct 2010[/B]
1. Reg file corrected
2. 5D3CA1C8_manila - en-us lang file started
3. Regkey view on debug page
4. Started development of local image/html cache (inprogress)
5. Better feed support, plus improved handling of failed read
6. Testing fixed font size in style sheet on ItemView (will see if it helps)
7. Read File test file default to Ch160.xml (was Ch199.xml for last release by mistake).
[B]WIP - 5th Oct 2010[/B]
1.Changed log file to store a single days actions
(hopefully will remain small enough)
2. Better PageLevel setting
(old debug test commands weren't setting them)
3. Better handling when a feed is not present
(will ignore the feed and not change pagelevel)
4. Correctly error message path info
(path was repeated)
[B]WIP - 4th Oct 2010 V3[/B]
1. Extra exception handling...
[B]WIP - 4th Oct 2010 V2[/B]
1. Improved ItemView!
2. Attempt to stop null exception...
[B]WIP - 4th Oct 2010[/B]
1. Removed the need to have Ch160-Logo2.img
(can be removed from "RSS Hub\ChannelData" location. No longer used by tab.)
2. Added RSSIcon.png to "RSSUtil\Icons"
(Ensure you include this in your directory. Used as default header icon.)
3. Header now should populate with FeedIcon or Default RSS Icon.
4. Added debugging #define
(will keep enabled at the moment) which generates "RSSUtilDebug.xml" in "\RSSUtil\". Please include if you get exception errors etc, more debug will be added as we go)
[B]WIP 1st Oct 2010[/B]
1. Tab auto-refresh working
(blank feeds not handled yet but process will support it now)
2. Resize of icons for the list is working
(still some resizing done by sense due to aspect ratio issues)
3. Changed command pop-up to registry value RSSFeed.LastApiCall
(has less impact on tab function)
[B]WIP 29th Sept 2010[/B]
1. Initial attempt at auto-refresh (some issues to work out)
2. Pop-up of last command sent (to help debug auto-refresh issues)
3. Tests of image resize (plus downloadfile code to try)
4. Custom commandline in DebugPage (to help debug auto-refresh issues)
5. Script to update build dir
6. Removed Obj directory (generated by build)
[B]OLD WIP BUILDS:
20100826B - WIP.zip[/B] (104 views)
FIXED - B version:
Corrected detection of not finding the required file.
DONE: Support feed list with sense links to/from feeds
Implemented:
1. I've removed a bit more of the hard coded info from the feed details and removed the title for every item in the item list.
2. Navigation to/from channel list is working (with manual update only)
- Load up the channel list (from running RSSUtil.exe), wait for waiting icon to finish and press Update Now button to reload screen
- Select feed item from channel list to load data for that feed, wait for waiting icon to finish and press Update Now button
- Select header from Rss feed item list to reload the channel list, wait for waiting icon to finish and press Update Now button
[B]20100826 - WIP.zip[/B]
DONE: Add code to remove any extra registry items not replaced when updated with new data
[B]BASELINE: 20100825-Sense RSS-ChannelList.zip[/B]
25Aug2010
DONE: Read channels from RSSHub opml file (works, but needs improvement - categories are combined with feeds) Purely manual operation.
24Aug2010
DONE: Removed copy of facebook data to registry when no feed data is defined (code was from initial testing).
23Aug2010
DONE: Implement launch media from icon [working!]
DONE: Transfer settings page from facebookUtil to allow developers to create new settings & use LangAPI. [Done but no "real" settings just transferred code]
20Aug2010
DONE: Changed colours to (RSS) orange [R242 G125 B50] from (Facebook) blue.
DONE: Added app launch keys for easy running of Support app.
RTFM - Read The Fantastic Manual
The Fantastic Manual:
Follow the link below to get to the user manual wiki, if you spot something which is wrong or you would like to improve then please go ahead (that is why it is a wiki).
XDAWIKI: Sense RSS Tab User Manual
Installation
Installation Instructions:
Follow the link below to get to the Installation Instructions wiki, if you spot something which is wrong or you would like to improve then please go ahead (that is why it is a wiki).
XDAWIKI: Sense RSS Tab Install Instructions
Note: Install instructions have been moved to the wiki, please visit there for the latest info
illi's 2.2.2 EXT file for cooks, available from here. Only use if you know what you are doing and know how to cook roms.
Also if you've tried it, please let me know if it works or not and I'll update the package/instruction if needed.
You can manually update to the very latest build/development by downloading the current changeset file from the CODEPLEX Project Page or using this direct link: http://rsstab.codeplex.com/SourceControl/list/changesets#.
The files need to simply install and run the tab as it stands are contained within \Build\..., the folders structure shows where each of the files should go (Note: Sense will probably need a reset and the tab must already be added to sense).
Remember this is a development project, so if something doesn't work, then it probably just doesn't work but please post details on the forum if it appears to be an error.
Themes, Icons & Colours
Themes, Icons & Colours
Cabbed Theme's should work with previous versions of the tab, but best support is with Release 3.Beta.1.
Installing Cabbed Theme's
Install the theme cab to the same location as you installed the RSSTab (check this using your file explorer if you are not sure).
After installing a theme cab, you must "Reset Sense", this is achieved by using SenseUtil and pressing the "Reset Sense" button.
If you see two icons on the sense slider, you will need set the option to remove the icon within the Tab Display settings (with Advanced enabled). [Not available yet - so remove 5AB7F814_manila from your \Windows\ directory (and restart sense).]
Note: Once you have installed a theme, you must then reinstall the Default theme if you remove it (you don't need to reset sense until you've installed the default theme). You must do this, unless your tab came "cooked" into your ROM, but I would still advise installing the default if you've since updated the tab.
If you update the tab then you will need to re-install your theme, as the files involved will be replaced.
Official Themes
Default Theme
meltwater_RSSTabDefaultTheme.cab
"Green" Example Theme
meltwater_RSSTabGreenTheme.cab
"Facebook" Example Theme
meltwater_RSSTabFacebookTheme.cab - Replaces the RSSTab Icons with Facebook Tab icons and text colour to facebook blue.
Info for theme developers
Theme Cab Files
The theme works by directly replacing the files which define the text colours and graphics, so it is important to remember that when a theme is uninstalled it will also remove these essential files (unless they are present in the ROM).
When generating a theme cab file, please ensure the Company Name is set to "RSSTab" and the Application Name is "Theme". This will stop more than one theme being installed at the same time, so that uninstalling one does not remove the files installed by the other.
Recommended Screenshots
Please provide sceenshots with your cabs if possible, I recommend one of the "Channel List", one of the "Feed List" ideally with podcast icons, and one of the "Item View" if you've changed the CSS file.
Developers Pack
meltwater_RSSTabThemeDevPack.zip
The developer pack contains the source for both the Default and the "Green Example" theme. If you do create a theme, even if it is a "default" for your ROM, then please ensure the name of the cab file is clear that it is a default for that ROM in particular.
Lauc Theme File (Text Colours)
Example "Green Theme Text Theme File"
Although lauc code can be quite difficult to follow, the code used for the theme file is simply assigning the colours to the required variables, so it isn't too difficult to understand.
The Colour is set by:
Color(40, 100, 60, 255) == Color(RED, GREEN, BLUE, ALPHA)
Note: The ALPHA channel is not always used for text, so it is left at 255 (the max value).
To pick your colour values, you can use sites like:
http://www.colorschemer.com/online.html
Code:
-- File name: 4F9BE867_manila \windows\htc\People\Scripts\People\rssTheme.luac
trace("[RSSFeed] 4F9BE867_manila \windows\htc\People\Scripts\People\rssTheme.luac Example")
local col_vdarkGreen = Color(40, 100, 60, 255)
local col_darkGreen1 = Color(100, 255, 140, 255)
local col_lightGreen1 = Color(200, 255, 200, 255)
local col_lightGreenDull1 = Color(150, 255, 150, 255)
local col_darkGreen2 = Color(100, 255, 100, 255)
local col_lightGreen2 = Color(200, 255, 120, 255)
local col_lightGreenDull2 = Color(180, 255, 71, 255)
Theme_RSS_TitleName_Unselected = col_darkGreen1
Theme_RSS_TitleName_Selected = col_vdarkGreen
Theme_RSS_TitleDetailUnread_Unselected = col_lightGreen1
Theme_RSS_TitleDetailUnread_Selected = col_vdarkGreen
Theme_RSS_TitleDetailRead_Unselected = col_lightGreen1
Theme_RSS_TitleDetailRead_Selected = col_vdarkGreen
...
The file then needs to be compiled using the CommandLine Manila Kitchen or similar.
If you have difficulty using the Manila Kitchen etc, then simply post your lauc file on the thread and I (or anyone else who spots it) can compile it for you.
This section will be updated soon for 3.Beta themes
Follow the link below to get to the Sense RSS Tab Theme Page wiki.
XDAWIKI: Sense RSS Tab Theme Page
Users are able to change the graphics, text colours and item view page theme (see above link for full details).
For now, you can visit some initial themes:
Sharkie's Black and Gold, Blue and White, Man on Chair
RSS Tab Important Files:
Sense Tab Files:
Code:
TabControl:
26948339_manila
Graphics:
0E8DE6B8_manila \windows\htc\Common\Assets\Images\Common\RssFeedline.qtc [thin line]
[ATTACH]437917._xfImport[/ATTACH] 5AB7F814_manila \windows\htc\Assets\Images\Manila\icon_on\RssFeed_tray.qtc [tray icon active - Not required for NRG ROMs]
[ATTACH]437918._xfImport[/ATTACH] 6A42A5E4_manila \windows\htc\Assets\Images\Manila\icon_preview\RssFeed_large.qtc [preview icon]
[ATTACH]437919._xfImport[/ATTACH] 6C1F1212_manila \windows\htc\Assets\Images\Manila\icon_off\RssFeed_tray.qtc [tray icon inactive]
[ATTACH]437920._xfImport[/ATTACH] 2202FA31_manila \windows\HTC\Settings\Assets\Images\rearrange\rssfeed.page.qtc [rearrange icon]
45154810_manila \windows\htc\Common\Assets\Images\Common\VGA\RssFeed_divider.qtc [update bar]
Luac Scripts:
476C4205_manila \windows\htc\people\scripts\people\rssfeedpage.luac
0D4FCC6F_manila \windows\htc\people\scripts\people\rssfeedpage_Landscape.luac
Mode9:
26774112_manila \windows\HTC\Manila\rssfeedicon.mode9
6B54437C_manila \windows\htc\people\RssFeed.mode9
XmlPage:
RssFeed_Pages.xml
Language Files:
Manila Language files are defined in Post#7 below.
Registry Keys (Items are out of date, but the idea is the same):
Code:
[HKEY_CURRENT_USER\Software\HTC\Manila]
RssUtil app launch (for testing):
"RSSFeed.LaunchAppSel"=dword:0
"RSSFeed.LaunchAppName0"="RSS Util Debug"
"RSSFeed.LaunchApp0"="\\Program Files\\RSSUtil\\RSSUtil.exe"
"RSSFeed.LaunchAppArgs0"=""
"RSSFeed.RSSUtilExe"="\\Program Files\\RSSUtil\\RSSUtil.exe"
"RSSFeed.FeedDataStore"="\\Storage Card\\Program Files\\RSS Hub\\ChannelData\\"
data item display (may not keep them all):
"RSSFeed.nName"
"RSSFeed.nDetails"
"RSSFeed.nFileLink"
"RSSFeed.nIcon"
"RSSFeed.nStatus"
"RSSFeed.nTime"
Code:
display control:
"RSSFeed.ItemCount"=n
"RSSFeed.ViewMode"
data header display:
"RSSFeed.FeedTitle"
"RSSFeed.FeedDetails"
"RSSFeed.FeedIcon"
Page control:
"RSSFeed.RefreshState"
0 - None [Set by SenseTab following screen refresh]
1 - Wait for RSSUtil [Set by SenseTab following request which needs new data]
2 - Processing data [Set by RSSUtil to indicate it is working on getting the data]
3 - Data ready [Set by RSSUtil to indicate it has finished and SenseTab can
refresh the screen]
"RSSFeed.PageLevel"
2=feed list [view of each of the available feeds]
1=item list [view of all the items within a feed]
0=item detail [view of a particular item within a feed]
- may need to change depending on what levels we put in
(the moment - level 0 - item detail I think will be handled within the supporting
app rather than attempting to display within sense).
Theme:
"Theme.Gtx"
Not present or 0 = non-GTX
1 = GTX Theme (applies only to lauc script, mode9 files still need to be replaced)
Debugging keys:
"RSSFeed.LastApiCall" - info only, to help with debugging (set whenever the
RSSUtil is called by the tab)
"RSSFeed.Debug_HIT" - records if we have selected the right side "Icon" or co-ords
of the hit position on the reset of the item
"RSSFeed.Debug_Y" & "RSSFeed.Debug_X" - records of the position of the
"mouse" when item is selected
there are others which are used for debugging and testing at the moment.
Language Files
Language Files
Please note:
If you are editing the tab control file (26948339_manila) or language files, it is recommended you use an editor which supports the following format:
Line Endings:Unix(LF)
Encoding:UTF-16 Little Endian
Editors such as Programmers Notepad and Notepad2 appear to work well.
If not, then simply post the file when you are done and I will convert for you.
To create a language file, use one of the language files as a template.
Alternatively, you need to determine the manila name (using ManilaHash.exe (part of the Manila kitchen package), file-names are listed below):
1. Lookup the filename for your language and use that file. Use something like win-merge to identify any new entries in 5D3CA1C8_manila (en-us) file (which the master file which will always be up to date with the latest revision).
2. Add the new entries and your translations as you wish (Make sure you use UTF-16 Compatible Editor)
Sense requires the following file format:
Line Endings:Unix(LF)
Encoding:UTF-16 Little Endian
Any entries which are not translated in the file, will have <!--en-us--> before them. Once you have translated the entry, remove this comment on the line.
3. Update the rev number to match the revision you have updated to:
<trans-unit id="IDS_RELEASE_VERSION">
<source>Rev 0 - Template</source>
</trans-unit>
4. Upload to this thread, and it will be added to the list.
[Note:The tab name IDS_RSSTITLE is specified in the another file, see the SenseUtil thread for details on this (Language Title Files section).
Post any updates to that thread and they will be included]
Language File List (Beta Builds):
Names are generated using ManilaHash (\windows\htc\people\locales\nl-nl\rssfeed.nl-nl.xml -> 45C5183A_manila)
Unless otherwise stated, the un-updated files are templates (untranslated en-us) currently at Rev4.Beta. If you get IDS_ values displayed then you will need an updated language file.
In future I will not be updating the template files, and they will not be included in the install (this allows sense to use the default - en-us file).
en-us --> 5D3CA1C8_manila #### MASTER FILE (Rev4.Beta) - WILL ALWAYS BE UP TO DATE IN THE BUILD ####
en-gb --> 52BB74CA_manila (Rev4.Beta)
cs-cz --> 103878F8_manila (Rev 3 (+fb) - thanks to jirkab)
de-de --> 66FAC0B6_manila (Rev 3 (+fb) - thanks to SteveP86 Saugbaer User_99 (+BeeGee_Tokyo))
es-es --> 501DCF32_manila (Rev1 - thanks to amno1970)
es-es_tradnl --> 467C6FDA_manila (Rev1 - thanks to amno1970)
fr-fr --> 4B7197B2_manila (Rev 3.Beta (+fb) - thanks to mickey ric69 (+romualdrichard))
pl-pl --> 5C21E5C2_manila (Rev 2.2 (+fb) - thanks to Budniu (+Skrobel))
zh-cn --> 24E697B8_manila (Rev1 - thanks to winderp)
zh-tw --> 1378D3AC_manila (Rev 2.2 (+fb) - thanks to wstephen boa19861105 (+mudhi))
sk-sk --> 6DD27BCA_manila (Rev 3 (+fb) - thanks to juben (+pa3x))
it-it --> 0CB20886_manila (Rev 1 (+fb) - thanks to bbonzz (+etoy & Drakknar))
## Rev 4.Beta - Template (+fb) ## - Template files where I've been able to pull in fbTab translations for some parts!
nl-nl --> 45C5183A_manila (+mike2nl)
el-gr --> 23A721E6_manila (+colossus_r)
pt-br --> 2E511842_manila (+dotcompt)
pt-pt --> 5AF6D7E2_manila (+dotcompt)
nb-no --> 233D596C_manila (+agaPer)
hu-hu --> 115E4006_manila (+zoliwr)
ru-ru --> 012E43AE_manila (+Bumeranghc)
## Rev 4.Beta - Template ##
ar-sa --> 58934920_manila
ca-es --> 29FB788A_manila
da-dk --> 10CD3B3A_manila
fi-fl --> 4F878394_manila
ja-jp --> 48821D9C_manila
ko-kr --> 668F3B00_manila
ro-ro --> 220E8E16_manila
sv-se --> 5C82DDD4_manila
tr-tr --> 67FB366A_manila
Beware of the first line --> Normal is:
<xliff version="1.0" lang="en-us">
It should match your Lang!!!
Then translate the entries i.e "RSS Tab Settings" and "Settings Page Disabled":
Code:
<trans-unit id="IDS_SETTINGS_TITLE">
<source>RSS Tab Settings</source>
</trans-unit>
<trans-unit id="IDS_SETTINGS_DISABLED">
<source>Settings Page Disabled</source>
</trans-unit>
Then copy back to your \windows\ folder (and post on this thread).
When people have performed translations, I'll post up the completed files here.
Note:
I've added the following entry to help track the versions of the language files:
Code:
<trans-unit id="IDS_RELEASE_VERSION">
<source>Rev 4.Beta</source>
</trans-unit>
<trans-unit id="IDS_LANG_AUTHOR">
<source>lang file authors</source>
</trans-unit>
Every time I update the language file in a release (En-Us) (add or change a translation) I shall try to remember to increment the release value - this way people should be able to update the language files each time. If another language file is updated (i.e. to correct a translation, the Rev should be set to "Rev 1A", "Rev1B" etc.), or if entries are added to match the En_Us release then increment the Rev#.
When I enable the settings page I'll display the Rev number of the selected language file so it will be clear if the file is out of date (hopefully this will work ok).
RSS is main app to use on my HD2. (use spb news now)
Are this app using the sense SDK to build?
I think I interesting on this app, will spend some time to have a look if i have.
mike3000c said:
RSS is main app to use on my HD2. (use spb news now)
Are this app using the sense SDK to build?
I think I interesting on this app, will spend some time to have a look if i have.
Click to expand...
Click to collapse
I expect the supporting app will use sense SDK when a visual interface is required for settings etc, however the part of the project within sense has to be created using manila mode9 and lauc scripts which is different to sense SDK (sense look and feel for .net apps).
at it again, I see!
Hey melt - another great idea.
Curious - are you going to start with this as you did with the FB tab, using HTC's code as a basis? As I'm sure you know, the OBOE Sense has a scrolling RSS Feed on the Home tab, using RSSReaderService.dll as the service that runs it. Is that where you're starting, or are you basing this one all on custom code from the start?
Captain_Throwback said:
Hey melt - another great idea.
Curious - are you going to start with this as you did with the FB tab, using HTC's code as a basis? As I'm sure you know, the OBOE Sense has a scrolling RSS Feed on the Home tab, using RSSReaderService.dll as the service that runs it. Is that where you're starting, or are you basing this one all on custom code from the start?
Click to expand...
Click to collapse
Nope, this time I'm using RSShub It leaves all the rss data sitting in ChannelData directory so it's a nice starting point, the RSSUtil.exe reads the xml file and transfers what we want to display from it to registry.
Using the facebook tab as a base I've managed to inject all the info for display via registry (eventually can do the same with the facebook tab itself and rid ourselves of the facebook.dll and display much better info). Might put a bit of strain on the registry but should only need to store the currently displayed info in the registry.
I've not used the OBOE sense feed, can't see how a small feed can give you the info you'd want. Couldn't find anything other than vague screenshots of the hometab. Any good features worth having?
Hopefully we can tie into the notification mechanism and have alerts of new feed items and a cookie widget
Hi meltwater,
this is another very good idea. One of the missing links i really need. I will supportthis too for GTX. I hope this will be also a very big success as FB. Go, go, go...
meltwater said:
Nope, this time I'm using RSShub It leaves all the rss data sitting in ChannelData directory so it's a nice starting point, the RSSUtil.exe reads the xml file and transfers what we want to display from it to registry.
Using the facebook tab as a base I've managed to inject all the info for display via registry (eventually can do the same with the facebook tab itself and rid ourselves of the facebook.dll and display much better info). Might put a bit of strain on the registry but should only need to store the currently displayed info in the registry.
I've not used the OBOE sense feed, can't see how a small feed can give you the info you'd want. Couldn't find anything other than vague screenshots of the hometab. Any good features worth having?
Hopefully we can tie into the notification mechanism and have alerts of new feed items and a cookie widget
Click to expand...
Click to collapse
To be honest, that simple little widget on my Home screen made Sense worth using again for me . Here's my very short YouTube video of it working on my Tilt 2:
It's very simple, but it gives you a quick glance of articles in the channels you selected, and if I see one that catches my eye, all I have to do is press the widget, and it opens the article in RSS Hub. I do see the practicality of an entire tab, of course, but I also like the idea of tying the press of the widget to the tab, where the feed can be viewed, rather than directly to RSS Hub, as it is, currently. Just an idea, I guess.
EDIT: YouTube embed code doesn't seem to be working . . . here's a link: http://www.youtube.com/watch?v=eWlyBgICJYg
Captain_Throwback said:
To be honest, that simple little widget on my Home screen made Sense worth using again for me . Here's my very short YouTube video of it working on my Tilt 2:
It's very simple, but it gives you a quick glance of articles in the channels you selected, and if I see one that catches my eye, all I have to do is press the widget, and it opens the article in RSS Hub. I do see the practicality of an entire tab, of course, but I also like the idea of tying the press of the widget to the tab, where the feed can be viewed, rather than directly to RSS Hub, as it is, currently. Just an idea, I guess.
EDIT: YouTube embed code doesn't seem to be working . . . here's a link: http://www.youtube.com/watch?v=eWlyBgICJYg
Click to expand...
Click to collapse
Cheers, can see what you mean (quite like the android feeds I've seen), although I tend to use RSS for podcast content too so both would work nicely.
So it is tied into RSS Hub too, wonder if there are any command line links we can find (would save programming stuff which is already in there) - update the feeds would be a handy one! Any chance of decompiling the code for the widget?
The RSSHub channel list and feed status is all in xml so it's nice and easy to access the content (decoding the content for the example took an evening and I've probably done it the hard way).
meltwater said:
Cheers, can see what you mean (quite like the android feeds I've seen), although I tend to use RSS for podcast content too so both would work nicely.
So it is tied into RSS Hub too, wonder if there are any command line links we can find (would save programming stuff which is already in there) - update the feeds would be a handy one! Any chance of decompiling the code for the widget?
The RSSHub channel list and feed status is all in xml so it's nice and easy to access the content (decoding the content for the example took an evening and I've probably done it the hard way).
Click to expand...
Click to collapse
The "update the feeds" function isn't actually done by the widget; that's through RSS Hub ("Refresh" soft key). There is a reg key to update the feeds automatically, of course. The widget depends on a specific version of RSS Hub (the one from the Oboe), and the Home tab from the Oboe obviously includes additional Manila files than other versions (the ProjectCode reg key must be "OBOE" for the widget to work at all). Is there anything I can upload for you that would help?
Captain_Throwback said:
The "update the feeds" function isn't actually done by the widget; that's through RSS Hub ("Refresh" soft key). There is a reg key to update the feeds automatically, of course. The widget depends on a specific version of RSS Hub (the one from the Oboe), and the Home tab from the Oboe obviously includes additional Manila files than other versions (the ProjectCode reg key must be "OBOE" for the widget to work at all). Is there anything I can upload for you that would help?
Click to expand...
Click to collapse
RSS Hub refresh soft key could probably be scripted using mort script to start with, although shouldn't be a big job to implement download of rss data in the RSSUtil.exe (no more than posting to/reading from facebook anyway).
Humm, sounds like it could be doing something similar to me then but from a dll to feed the data into the widget (more efficient but less control for us). It would be interesting to see the manila scripts involved with the widget, but I think that would be a job later on & cookies home tab widgets might be easier to work with.
I have to say I'm excited to see this started. I hope you continue and finish this off properly as it'll be an awesome addition to Sense's collection of tabs
could you integrate this with google reader as source?
s2007 said:
could you integrate this with google reader as source?
Click to expand...
Click to collapse
+1 that would be perfect.. Great work on this
Me, too. Also, a way to have the music tab use s2p.

KINO [Kin Opensource-FileManager]

Hi there!
As i said on a thread (bit long time ago), i had the intention of making an opensource file manager for the kin.
So i have been working on for two days, and i'm reserving this thread for its releases and descriptions.
It will be given as donationware, which means that you can take it for free and donate if you wish (or not to... )
SECURITY DISCLAIMER
- As you can imagine, by using this tool you have not guaranteed the operational state with your device and is provided "as is". You are the only responsable on the effects if could have on your device, even though i tested locally all the options for hours. Like you do for 3rd party non-certified software.
- DO NOT, i repeat DO NOT unplug the device nor close the program while writing or reading from the device. Errors states are unknown and you may scr3w up your flash memory.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
- If during the usage, it takes long, WAIT for the transmission to end. Errors are handled by the program and in the last cases there are 2 to 3 levels of error treatment, notificating you in the info box and storing a brief description on the "error.log" file when it's ultra. (I'm still human, new errors can appear).
- IF during this usage the kin gets a "Connected" window and the program is clossed without closing that window, then it's the time where you can unplug and it will reset the device communication values, pluggin again. If you reach this state without doing magic, notify it to solve the bug.
Characteristics
- Libusb driver given for the kin (needs to remove the Zune one)
- Windows (XP,7) 32/64 bits. Linux (through Mono), Mac Osx(through Mono Framework) Compatibility
- Developed in pure c# (using libusbdotnet)
- Developped in layers:
----> Usb
----> Mtp Functions
----> Mtp<->Interface manager
----> Interface
Images V0.01
Requirements
- OS:
---> Windows
------->Net Framework 2.0
------->Libusb-win32 driver(provided below)
---> Linux
------->Root mode to access the devices.
------->Mono
------->Libusb 1-0 components
---> Mac OsX (Checked with Snow Leopard, PAIN IN THE ASS)
-------> Mono framework
-------> Libusb-1.0 source (sourceforge)
----------> Modern OSX compile for 64 bits. Mono needs 32 bits. Compile (as root) with:
Code:
sudo su
./configure CC="gcc -m32"
make CC="gcc -m32"
make CC="gcc -m32" install
*Note: it takes a looooooooooooooooooong time to load the first time. be patient
*Note2: if mono yells about needing X11 for Winforms, download Wireshark for OSX, which has X11 easy installation inside (needed for it).
Download links
Kin Driver (libusb-win32): (Create one with InfWizard for the kin PID and VID)
32 bit version: http://www.mediafire.com/?0nhrdn7f5je6dcx
64 bit version: (please use above version)
Source: ***Still needs a bit more documentation, cleaning and binary testing for errors ***
* Note that i DONT have a 64 bit hardware, so i based its compatibility on the failed running in my Windows 7 (aka "this is for other architecture error")
** Note that to use this driver you MUST remove the Zune driver. I recommend to test it on a clean virtual machine first
Functions
- TreeView Kin Storage explorer (Auto Resyncs after each operation)
---> Select one or multiple items with the checkboxes next to them.
- Batch upload to the kin (to the root of the tree)
---> Select one ore more files from the selection dialog and go go go. Any file, anytime
-------> **Danger** pressing twice will upload files twice, be patient.
- Multiple file download from the kin
----> Mark any file from the tree and press "Download". The file will be downloaded to a subfolder "Downloads" next to the exe, where the tree storage has been replicated.
-------> **Danger** Folder and Playlists and other files are just logical, and have no size, so program deals with them as folders (and are created emptied in the local system at the pc)
- Multiple file delete
-------> Mark any file from the tree and press "Delete". After confirmation, the files selected will be removed from the device.
-------> **Danger** Folders are not deleted. Infobox at the bottom will inform you if a file could not be deleted.
-------> **Danger** I trickied it so the storage root could not be deleted... ahhh smart little fellas.. you were already thinking in that huh! rofl.
Known issues
- During my random tests around, i found that sometimes (dunno why exactly), the kin <-> Kino communication skips a step, messing up the mtp communication schema. The solution i used in this release was to show the root storage without children nodes. As this case is an error, you should tell me if you know a repeatable way to get it so i can retest and solve it.
To keep going with the kin, close Kino, and unlock the Connected window (slide your finger over it) and unplug & plug the usb again.
F.A.Q.
- Q: No donation button in the end?
- A: Nope. Just when it proves to be useful .
- Q: This works with Kin One devices?
- A: No. I only have access to Two (bricked) and TwoM devices, so cannot test for the little round turtle.
- Q: Do you provide a driver for Kin?
- A: Yes. It is only a bridge from the programs to the libusb-win32 functions. Unfortunately, you would have to remove the zune driver (Hardware manager) before using this one.
- Q: This bricks kin devices?
- A: At all.
- Q: This can hack the device?
- A: No. This is only a tool to upload and download files to your kin. If later it's used to hack, good anyway
- Q: Can this upload *any* file to the kin storage?
- A: Yes, binary files like exe, cab,pdf, ... will be labeled as 0x3000 (undefined filetype) for the kin.
- Q: Can i take the code and make my version called OmgKinManager?
- A: Yup. It would be a nice detail to include a little text in "about..." regarding me though
kk, apart from the above, i'm a bit stuck on the uploading procedure, doing it dinamically, not with known filesizes like i tested before.
I will try to get it to work and allow multiselection file dialogs.
Later, downloading, which is easier, as i just request files. I will try to make the selectable tree work, so several files can be downloaded at a time.
Btw, the tree is not a demo, it's my real storage, being asked to the kin. It's a long process, as i ask for the id's and their values to the kin to create a Tree structure, later parsed by the interface.
Whenever that and deletion is done, i will upload both the driver and the program/source to the public.
For Zune's functionality lost scared people, i would suggest to try on a windows virtual machine first (which i will do to test for .net framework requirements and so)
Way cool imn glad to see some progress
Nice work! I spend a lot of time on this forum reading posts and 75% of the time it's your post. You've spent a lot of time working on this project and we all appreciate it. Expect a donation from me in the near future
I'm speechless.
Hey john, you have only gotten into the media section correct? What type of things have you gotten to do if i may ask. If you want, I can help get "into" the other parts of the phone. A.K.A contacts. That's my main concern right now. I could care less of customizing the OS (which I will get to if you care to lend a hand.) Since I don't want to Say anything just yet, send me an email to [email protected]. I would like to help. I'm on my phone at the moment but tomorow I'll post how i got the phone into a writeable state (which I don't know if it still work. I've only tested twice.) If it doesn't work tomorrow, I'll donate my time during the week helping you guys. I may need to get a new battery.
P.S. It's taking me awhile to do this becuase I dont want to brick my phone. Im definately not using my enV touch!
please, read the faq above. this is not a hacking thing, but a sync one.
to be honest, i dont care about contacts cause i dont use this phone to make calls and i just wanted it to be more open. pinned apps or phone settings storage would be my only interest apart storage folder.
also, i dont want to keep secrets or long term waiting things. post what you want or dont post, but dont make it a teaser of nothing. plus i dont wanna go emailing people.
Props to you. Great utility, if it were able to get deeper into the system. Then it would be golden.
Edited for many reason
As some other forumeer seems to have gotten into the phone system, imma halt this development till acess range is shown (filesystem / storage / settings), if any.
There's no need to redo all the required mtp subsystem if we can get there by other (easier) means. OS native explorer, for example.
just go ahead and work on it in case the other guy fails. ^.^
oaktree333 said:
just go ahead and work on it in case the other guy fails. ^.^
Click to expand...
Click to collapse
Nice future-sight on this post
I just tested the file upload in the command-line again with static (coded by hand) filesizes.
Here is a new vid (hahaha famous ultralowres) where a file is upload to a just-formatted kin (CB+power).
File: dstpa.mp4 (BEP- Don't stop the party), 33.1MB
Destination: Kin storage root
Playable after upload: yup!
Mp4 tags: At all .
Just a upload showcase, not just naming the procedure .
nice nice ^.^
more freedom in file management I like.
woot goodjob
I have to give you kudos for your dedication. You kept at it even after you bricked your first kin.
I patiently await a release.
I'm trying to get the alpha release up today (tonight here).
I was in the mood and moved my coding-ass. Solved most of the problems on-the-go, but downloading.
I'm trying to allow multidownload keeping same directories on the pc... just cause i wanted to... rofl.
Hummmmm,
EVERYDAYIAMSHUFFLIN
Mmm after discovering several things, and implementing a lot of bugfixes (didnt know some things about MTP), there it is.
here, and all the versions are updated and uploaded in the 1st post, among the driver for it.
As posted there, i suggest to use it on a virtual machine with .net framework 2.0 cause the removal of the zune's driver for the kin.
You can now take your kin and (if the driver & program behave correctly), upload the files you want to the Kin.
Any type of file, any time.
I'm pretty naughty telling this, but apart from uploading....... i don't check for the file contents... so if any of you want to turn a .exe into .mp4 to look for exploits i wouldnt blame you for testing....
Double naughty if i say that Zune doesnt load info from the files itself, but only what was transfered from MTP (.. poor fella)
You can check that, cause it will only load the filename and name of the mp3, ... cause i did that (before today, i just sent filename, which makes its name blank on zune, like you saw in my video from BEP).
Hope you all enjoy and no errors appear.. rofl.
Btw, there's no donate option, cause i think it's more fair to think about that when the program is known to work, and not just alpha releases .
It's 02:53 AM here, so i better go to bed, to work tomorrow and that things....
I just wish this thing could play games lol.
@Johnkussack
Wow. I have to say thank you for putting your time and effort into really hacking this phone. I can't wait to see someone get android or wp7 running on this thing (if it's even possible with the hack you have, I'm not sure). Ether way, thanks for everything.

[ROM][Discontinued] ArchiDroid [CM_ROM][Linaro 4.7][Flexible] [V2.5.2] [01/08/14]

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Clean | Stable | Flexible | Optimized | Excellent
-> ArchiDroid 2.X <-
A Port of JustArchis Rom to our S1
Changelog
ArchiDroid 2.5.2
- Added additional r_submix audio module, idea thanks to @nelsonw # This should help with chromecast
- Updated PA GAPPS to 25 July
- Updated Nova Launcher to 3.0.2
- Updated Google Keyboard
- Updated XPrivacy to 2.2.2
- Updated Onandroid to 9.51
- Updated cm and ArchDroid sources (31.07.14)
Download
All Files Mediafire
Stable: ArchiDroid 2.4.5 Mediafire
Experimental: ArchiDroid 2.5.2 Dev-Host, Mirror: Mediafire
Remember that you don't need anything else to flash. Google Apps are included already.
Known Issues
All known and unknown Cyanogen Rom bugs (if any)
INSTALLATION INSTRUCTIONS
- Download the latest build of ArchiDroid ROM
1.- Wipe data / factory reset (mandatory if you coming from STOCK OR 4.2.X version or any other ROM)
2.- Install the Main ROM via Aroma installer, make your choices and lean back.
3.- Reboot
Attention: first boot will last a couple of minutes, at least almost 5 minutes or a few more. So after flashing take a rest and drink a coffee or a beer !
And after rom has booted up, led it settle a bit, till all apps and settings are initialised!
UPDATE INSTRUCTIONS
- Download the latest build of ArchiDroid ROM
- Take a nandroid backup
- Flash ROM using recovery and aroma installer
- Reboot
- Enjoy!
Known Bugs
-tethering is not working proper fixed in v2.5.0
In Aroma Installer you can select for example:
- 3 different Kernels: Stock, Neo and Mackay
- different Launchers
- different Keyboards
- different Bootanimations
- many additional apps
- to add nav bar
- to select: ro.config.low_ram=true or ro.config.low_ram=false (transparent statusbar)
and many other things
Follow ArchiDroid On XDA!
Write A Review!
Rate This Thread!
Buy JustArchi a Beer!
Like ArchiDroid On Facebook!
Hit Thanks!
XDA:DevDB Information
[ROM] [4.4.4. - KTU84P] [OmniROM] [Linaro 4.7] [Experimental] [Flexible] [Excellent] [01/08/14] ArchiDroid V2.5.2 | Power In Your Hands, a ROM for the Samsung Galaxy S1 I9000
This Rom is an official kanging of i9300 thread by @JustArchi lead developer and author of ArchiDroid ®. So all credits and thanks goes to JustArchi!!
Contributors
rodman01
ROM OS Version: 4.4.x KitKat
ROM Kernel: Linux 3.0.x
Based On: CyanogenROM / ArchiDroid / SelfKANG
Version Information
Status: Experimental 4.4.4 v
Created 2014-04-23
Last Updated 2014-08-01
[SIZE="+3"]ArchiDroid's FAQ / Q&A Section for i9300[/SIZE]​[SIZE="+1"]There is a special thread in the SIII section with and for FAQs. If you are interested in, I am sure there are good infos about the rom, for everybody and also related to our S1.[/SIZE]​
[SIZE="+1"]Features / Why ArchiDroid?[/SIZE]
First of all, ArchiDroid includes everything available in it's base. The whole point of ArchiDroid is to improve the base, without needing of making any trade-offs, so by flashing ArchiDroid, you're getting everything offered by the base itself. There's nothing to lose, everything to gain.
You can read detailed information about every ArchiDroid component here. It's a massive wall of text, so I'm only going to list the core features without describing them.
These were written from scratch, they're completely unique and you won't find exactly the same implementation in any other ROM.
ArchiDroid-Unique features:
- ArchiDroid's AROMA Installer
- ArchiDroid's Pocket Debian
- ArchiDroid's Flasher
- ArchiDroid's RunOnce
- ArchiDroid's Init
- ArchiDroid's Backend Control
- ArchiDroid's HArdware Volatile Entropy Gathering and Expansion Daemon (Haveged)
- ArchiDroid's Fast Random Number Generator (Frandom)
- ArchiDroid's Adblock (dnsmasq/dnrd, dnsproxy2, pixelserv)
- ArchiDroid's Forced Update
Apart from that, here, on the credits page, you can find all third-party projects, which have been implemented into ArchiDroid. In addition to that, it's up to YOU to decide if you want to install something, or not.
ArchiDroid focuses on flexibility and user choice.
If you're looking for fastest ROM, choose ArchiDroid.
If you're looking for most battery-saving ROM, choose ArchiDroid
If you're looking for cutting-edge functions, choose ArchiDroid
If you're looking for the most flexible rom ever created, definitely choose ArchiDroid
ArchiDroid adjusts to your needs. You can make it whatever you want. With bunch of presets, modes and questions, you can make your ArchiDroid behave. Check yourself why ArchiDroid is The TOP 1 ROM for Galaxy S3http://forum.xda-developers.com/galaxy-s3#romList, according to number of followers, rates, reviews and downloads count. Check the Reviews, take a look at Video Reviews, do whatever you want to, ArchiDroid is proven to be one of the best ROMs for Galaxy S3, ever created.
Try ArchiDroid once, and you'll never look back. I can assure you.
Disclaimer
Developer's Kitchen
Unless stated otherwise, all ArchiDroid components are licensed under the Apache License:
Code:
Copyright 2014 [email protected]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Especially:
ArchiDroid is one of the most complex ROMs ever created. When you start digging in my work, you can very easily get lost. And I'm not talking about base itself, but about everything next to it. You can use every part of my work, as long as:
1. You include proper credit where you should. This usually includes proper comment in a script/file and in the credits of the project, including license (if needed)
2. You let me know about this fact. Through PM on xda or e-mail
I'm always happy to help, especially with the problems I faced in the past. However I also want to be respected, considering that most of the ArchiDroid parts were written from scratch.
ArchiDroid 2.X vs. ArchiDroid 1.X
The long battle between choosing over ArchiDroid 2.X and 1.X is still recent. There's no one real and true answer to this. It's up to YOU to decide who wins this battle, because obviously every user is different. I'm only going to give you some tips and briefly describe differences.
Despite the name, ArchiDroid 2.X and 1.X are totally different ROMs. It all started with ArchiDroid 1.X, a ROM based on Sammy's stock firmware, with all needed goodies and features baked in. Then eventually I managed to implement everything what I ever wanted to implement, therefore making ArchiDroid 1.X more or less complete. Then I started with ArchiDroid 2.X project, built from scratch from AOSP sources, with all source codes available.
The point is, ArchiDroid 1.X is more or less complete, there's no "real" development going on, as I obviously don't have samsung sources to begin fun with. On the other hand, ArchiDroid 2.X will never be finished, there's always something to improve, something to add, something to fix... This is ongoing process, which will reach the end when I finally break my SGS3 or change the phone to another one .
If you're new user or you don't know how AOSP works on our SGS3s then I highly suggest to flash ArchiDroid 1.X firstly. ArchiDroid 2.X is targeted at advanced users, who don't mind some "core" features being broken. It will NEVER be as stable as ArchiDroid 1.X is, so if stability is the number 1 for you, choose 1.X.
ArchiDroid comparision
From 1-10, based on my own point of view
Stability
2.X - 5
1.X - 8
Compatibility
2.X - 4
1.X - 9
Battery
2.X - 6
1.X - 9
Performance
2.X - 9
1.X - 6
Features
2.X - 9
1.X - 4
Android Updates
2.X - 9
1.X - 6
-----------
Overall
2.X - 42
1.X - 42
This is ArchiDroid comparision in a nutshell. If you ask me, I think that ArchiDroid 1.X is far better choice for daily driver, but if you're advanced user and you know how to deal with possible broken functions then you can have great time using ArchiDroid 2.X as well.
Remember that only ArchiDroid 1.X supports Samsungs-specific features, such as Smart Stay, Screen mirroring, Allshare or whatever. This also includes closed-source proprietary drivers, such as many bluetooth headsets, which won't work under open-source AOSP. Think twice before considering 2.X if you're addicted to these Samsung goodies.
On the other hand, ArchiDroid 2.X is the only ArchiDroid with "real" development going on, however all universal changes are also backported back to ArchiDroid 1.X, so you're not missing any feature, which benefits also Sammy's base.
That's it. I hope that a choice between both of these awesome roms is a bit easier now. If you still can't decide I suggest to flash both of them for some time and then decide which suits you better.
Know Your ArchiDroid
ArchiDroid is not only a rom. It's not only a baked android with third-party apps, modifications and tweaks. ArchiDroid is an universal backend which improves rom by many built-in functions.
Let me tell you a story. During developing first version of ArchiDroid 2.0 I experienced many problems, which were not that easy to solve. First of all - apps data. Trust me or not but you can't simply extract data, put it in /data/data after install and hope that it works. Android will detect such injection, report inconsistent of data and wipe everything attached to that. Okay so... How I should provide you with my boeffla preset? CoolTool settings? STweaks profile? If I put my data during flashing it'll get wiped. If I put my data and deny wiping it then Android will report inconsistent of data to user and work unstable. Yes guys, it's impossible to do so without a trick or without recompiling whole rom.
I won't tell you a whole story, because you probably don't want to hear about ArchiDroid development. I'll simply tell you that I overcome MANY difficulties, simply because I do what I like, and I like what I do. After countless number of hours, I can finally provide you with the ROM, which is the best. Why is it the best? Because I'm improving the base, and I'm not making any trade-offs.
Video Reviews / How ArchiDroid looks like?
@Koogly
@SkywalkerZ
ArchiDroid User Signatures
ArchiDroid Features
Know your ArchiDroid, learn how to use it
Introduction / Basics
Welcome to ArchiDroid's world mortal. In this tutorial we will show you what ArchiDroid has "inside" and what it really offers. All of things included in this post are ArchiDroid-specific, which means that you won't find any ROM with the same features, as they're written from scratch.
Here you can find some definitions of the words used in sections below. You should know most of them, but in case somebody is lost here you can get back on track.
Terminal, Shell - Typical android shell, which may be obtained in three ways.
1. Through native Android Debug Bridge (ADB) with command "adb shell" from the PC or even "ADB through network" (if supported).
2. Through any Android terminal app, f.e. Android Terminal Emulator bundled with ArchiDroid.
3. Through secure shell daemon (sshd), which needs to be turned on firstly. This is extremely useful in terms of pocket debian, which will be described later.
You can use any of these methods to access android's terminal, however usually Android Terminal Emulator will be the easiest one, as it's android app bundled with ArchiDroid. WARNING! Most of the commands below WILL require root access. You can log in to super user shell by "su" command right after obtaining shell. If you're unsure if you're logged as root or not, "whoami" command should print actual user, "root" or "unknown uid 0" are OK, others are not.
ArchiDroid's Pocket Debian
From wikipedia:
From debian site:
How exactly this covers our beloved SGS3 (and countless number of other android arm-based phones)?
As you may (or even should!) know, Android operates on it's own Linux-based kernel. Android's kernel is literally a fork of Linux kernel, with a few special/unique functions which are required, mostly hardware-specific. Because of that kernel itself is VERY compatible with everything based on Linux.
However there have always existed one typical problem, lack of proper environment. We have a great kernel, great power, linux-based android environment, but this environment lacks of very common and required libraries/binaries. If you ever wondered what is or what does busybox, this is the answer. Busybox is just a small package which offers a few standalone GNU/Linux binaries, which are required to make certain things work. For example, swap priorities. Android knows what swap is, and nothing else. It doesn't know that swap could have a priority, so if you use android's swapon command on 4 devices, it will firstly fill first device, and then proceed to the next. That's why we need busybox in ALL custom kernels, because android environment isn't enough.
However busybox sometimes isn't enough. If we focus only on Android itself, it is. But if you for example want to run stricly linux-based service, I don't know, a web server for example... Is it possible to run a native linux web server on an android? No, it's not. You should firstly compile such service on arm architecture, including all dynamic and static libraries (wrrr ) in it only to finally get mad because of missing libraries or other dependencies. Of course if you're patient you'd finally compile everything and set up, however how long would it take? A few days maybe? If you're skilled in what you're doing...
This is why I included built-in "pocket" debian in ArchiDroid. It's FULLY compatible with everything compiled/based on armhf/armel GNU/Linux architecture, for example Raspberry Pi. With two easy commands you can literally jump into debian environment and use every typical GNU/Linux utilities known from debian itself. Of course this means nothing for most of the users, because they'll never have any reason to use such debian environment but from the developer side, it's big step forward. The best example is with github. As you know ArchiDroid has it's own repo on github, from where you can download/manage stuff. There also exists git app for linux and windows. If you want to follow "expert" way of flashing experimental ArchiDroid version, such program is required. The scenario is the same as compiling web server for an android, it requires much more effort than it's worth. And even then you can end up with syncing external dependencies and searching for solutions for the problems you've never seen before... And with ArchiDroid's pocket debian? It's as simple as in any debian/ubuntu distro. "apt-get update && apt-get install git" and voila. Your git is installed and ready for work. Going further I've even included git in pocket debian itself. Okay, I have debian, I have git, and what next? With git utility I can for example provide you with delta updates for ArchiDroid! ArchiDroid can easily use pocket debian to set up and sync ArchiDroid's repository and then pack and flash latest version without even needing of a PC, using 7-zip or anything else. Another example? A web server. I know that it's very dev-specific but if you for any reason need a web server running, just for example to test simple website, you can have it with just one command. Going further, VNC? MySQL server? PHP? Python? Perl? Ruby? Maybe conditional tasks with cron? Persistent minimal IRC client? rtorrent with rutorrent GUI over WWW? The list goes on... Anything based on linux will work. You can even host a server for your favourite game, as long as it has armhf/armel binaries (unfortunately most of the games don't).
So that's it. In short, debian is an operating system built-in in ArchiDroid to provide you with (unfortunately missing) GNU/Linux environment, with full power, ready to handle anything you could request. I made my best to include fully working debian in ArchiDroid for a minimal cost. Whole OS is packed in one big tar file, compressed using highest bzip2. As for now pocket debian has ONLY 40 megabytes of size, maybe in future it will have up to 50 megabytes, but no more. It's a VERY small cost for having such great power, especially if you know how to use it.
This is a really cutting-edge feature, mostly because I have no limitiations what I can include in my ROM right now, and while other developers are dealing with OpenDelta updates and many Android-based problems, I'm just launching my pocket debian and manages linux stuff.
I'm SURE that most of the advanced ArchiDroid user will just LOVE this feature, as much as I love it. I'm looking forward to your responses how YOU use pocket debian with your ArchiDroid. It's also a great time to learn what does the debian offer and how you can simplify your common tasks with just one example debian utility .
Technical informations:
1. Pocket Debian does not cause any additional overhead. We don't need to use emulation, neither virtualization to boot our monster. I used chroot technology to "jump" into debian environment with already running kernel and Android. That means additional required CPU/RAM is based on what you run in pocket debian. Booting itself doesn't require anything, just about one megabyte of ram for /bin/bash shell .
2. Android has some restrictions, mostly sockets. It doesn't allow to create inet sockets by default, even for root users. You will need to add your custom debian users to special group called "inet" (GID 3003) to allow creating of inet sockets, and you may also need to add a group to net_raw group (GID 3004) to allow creating of raw sockets. Please keep in mind that it's only required if you're running an app which required it's own socket, for example mysql server. So apt-get install mysql-server will fail right after booting, you will need to use "addgroup mysql inet" and then apt-get -f install to complete installation. Of course "mysql" is the new user under which mysql-server really operates. I've added root to both of these groups by default.
3. The only "real" restriction is the kernel. Our debian uses Android kernel and it's filesystem. It should work with most common tasks but in some cases our kernel may lack specific modules or built-in code, for example tun/tap required for OpenVPN. Still it's enough to run pretty much everything and if you get in touch with your favourite kernel developer you can also kindly ask for specific missing things.
4. Debian is built and included thanks to debootstrap utility, ArchiDroid command used for creating debian environment is debootstrap --verbose --arch armhf --include=git,ca-certificates,ssh,htop,tightvncserver,xterm,xfonts-base --exclude=manpages,man-db,rsyslog,vim-common,vim-tiny testing debian http://ftp.fr.debian.org/debian
HowTo:
Pocket Debian contains two main terminal commands, "adlinux" and "debian". Both of them are described below. By adlinux and debian you boot and jump into debian's chroot, which means you can use any debian-specific commands.
Examples:
passwd - changes password of actual user. This is needed to login as specific user, for example through ssh.
service ssh start - starts local SSH (secure shell) daemon on native port :22, to which you can easily access via any client supporting ssh, f.e. PuTTY. So basicly after you start shell you can literally connect to your local area network (LAN) IP on port 22 f.e. through PuTTY from your PC.
ifconfig - prints network-related informations about online interfaces, including your local IP, which may be useful for connecting to SSH.
htop - Enhanced top utility. Gives you very good terminal-based view on actual running processes, used ram, load, and more.
apt-get update - Syncs with debian's apt repository. This is mandatory to use many of apt commands because ArchiDroid's debian comes without local repo available, however fully configured to download and access it with just one command
apt-get install XXX - installs packet XXX from debian's repository.
apt-cache search XXX - searches for all packets including keyword "XXX". Ultra useful in terms of searching for specific packet.
Please note that pocket debian is VERY similar to normal native Debian/Ubuntu distribution, therefore above commands are not ArchiDroid's magic, they're very widely used in Debian/Ubuntu distros. If you want to learn more, most of the Debian/Ubuntu tutorials will be very helpful.
ArchiDroid's Pocket Debian Booter (adlinux)
You can call "adlinux" command from your favourite terminal.
adlinux is designed to boot and prepare ArchiDroid's Pocket Debian environment. It requires mode to be specified, and also respects any extra arguments passed.
If you call standalone "adlinux" command then it will print usage and then ask you what you want to do with giving proper informations about every choice. Additionally if you know what you want to do, you can also pass arguments directly to adlinux command, f.e. by executing "adlinux default", which will execute adlinux with "default" mode.
Available modes:
default - Will mount /data /system /storage/sdcard0 /storage/sdcard1 and core filesystems in chroot. Default suggested mode
safe - Will mount only core filesystems in chroot. Useful if you don't want to share your storage in chroot
bare - Won't mount even core filesystems such as /proc /dev or /sys. Requires "debian force" to enter chroot. This is the "real" safe mode. You won't be able to interact with an android in any way, while debian itself will work in very limited environment, making core functions unavailable. Suggested only for testing purposes
rebuild - Will automatically reboot your device and remove debian folder in the safe way. WILL CAUSE ALL DEBIAN DATA TO BE LOST!
unmount - Will automatically reboot your device to safely unmount debian environment
Extra options:
extsd - Use external sd card (/storage/sdcard1 /storage/extSdCard), if possible
intsd - Use internal sd card (/data/media/0)
Additional information about modes:
Debian shares core kernel filesystems in "safe" and "default" modes, while it also shares your internal and external sd card in "default" mode. This is nothing to be scared of, as you have full control of what you run in debian, however please note that you CAN'T do whatever you want. All mounted partitions in debian are "binded". "Bind" means that it's mirrored to the mount point and all changes on mounted partition WILL affect the mount point, which is logical. This is nothing to be scared of, as long as you know that debian only extends your environment, it does not fully works in it's own and you CAN cause serious problems from inside of chroot. The only really safe mode is "bare" mode, however in "bare" mode debian can't really do anything, as kernel filesystems are absolutely required for most of the functions. Okay so, you need to know one thing. If you have booted debian you SHOULD NOT touch debian's folder, which is ArchiDroid/debian (on your internal or external sd card, depends what you choosed).. As you know debian for example binds /data to it's folder /data, which is physically ArchiDroid/debian/data. If you for example delete ArchiDroid/debian through root explorer WITH mounted debian then it will ALSO delete debian/data folder, which is binded to /data, and therefore will delete your whole internal sd card, that's why it's extremely important to take care because booted debian becomes part of the android and deleting it can cause at least soft bricks, with a possibility of hard as well. If you want to delete debian folder PLEASE use "rebuild" mode, only through this way you're absolutely sure that nothing bad happens and you won't delete your whole system partition by accident.
Note about extsd option:
Debian requires symlink functionality, typically native windows filesystems DON'T support symlinks, therefore you need to have your external sd card formatted in one of the native linux filesystems, f.e. ext4. adlinux will automatically tell you if debian can be unpacked and used on your external sd card, however it won't be possible under most common filesystems, such as exFAT or FAT32.
Technical informations:
1. Pocket debian archive is located in ArchiDroid/System/debian.tar.gz file. This is "bare" system used for creating environment for the first time, you should not touch it.
2. adlinux detects if debian is already extracted when booting, if not, it's firstly extracted from the file described above.
3. After extracting (if required), core filesystems are mounted with "bind" option based on the mode you've selected in "mode" question above. Typically it mounts /data /system /storage/sdcard0 /storage/sdcard1 /storage/extSdCard /dev /proc /sys.
4. Unmounting is not fully supported right now (linux barrier), therefore both "unmount" and "rebuild" options require a restart to execute properly.
ArchiDroid's Pocket Debian Shell/Chroot (debian)
You can call "debian" command from your favourite terminal.
debian command is designed to allow you "jumping" into debian chroot created by adlinux. Please read how adlinux command works firstly if you haven't done that already. debian command checks if core filesystems are available (if debian is booted), and if they are then it firstly modifies required environment variables to make debian happy (such as TERM, HOME, PATH), then it changes root (chroots) into debian folder, therefore allowing you to execute everything from inside of chroot. It's very generic command, therefore standalone "debian" command won't give you a choice the way adlinux did.
Available options (parameters):
force - required for jumping into bare debian, created with "adlinux bare" command above. This skips debian checks for mounted core filesystems, normally you should avoid it at all cost, unless you know what you're doing. If core filesystems are missing then it's very likely that your debian will be disabled in more than 90%.
extsd - Use external sd card (/storage/sdcard1 /storage/extSdCard), if possible
intsd - Use internal sd card (/data/media/0)
cmd - Executes command in debian chroot
WARNING! cmd parameter will cause all further parameters to be threated as a command passed to debian, therefore you need to make sure that this is the last debian parameter which you want. For example "debian force cmd service ssh start" will skip filesystems checks and execute "service ssh start" in debian's chroot, however "debian cmd force service ssh start" will pass "force service ssh start" to debian, therefore respecting filesystems checks and passing invalid command.
This function is extremely useful for making init.d and other startup scripts. For example you can easily call "adlinux default" and then "debian cmd service ssh start" to call secure shell daemon on every boot with two easy steps.
Technical informations:
1. debian command uses chroot technology to change root of current shell to debian shell.
2. After chrooting to debian directory, /bin/bash shell is automatically called as default debian shell.
ArchiDroid's Flasher (adflash)
You can call "adflash" command from your favourite terminal.
adflash is a great small utility, which allows you to easily update your ArchiDroid to latest stable or experimental version with one easy command and delta upgrade. It utilizes ArchiDroid functions, therefore you must be running ArchiDroid to use it.
If you call standalone "adflash" command then it will print usage and then ask you what you want to do with giving proper informations about every choice. Additionally if you know what you want to do, you can also pass arguments directly to adflash command, f.e. by executing "adflash 2e git", which will execute adflash with 2.X-EXPERIMENTAL version using git mode.
Available versions:
2e - 2.X-EXPERIMENTAL
2s - 2.X-STABLE
1e - 1.X-EXPERIMENTAL
1s - 1.X-STABLE
Extra options:
git - Sets up local git repository, which gives you delta upgrades and bandwidth saving
direct - Downloads targeted branch as .zip file directly from github
clean - Cleans everything up, including local repo and tmp folder from ArchiDroid directory specified below
extsd - Use external sd card (/storage/sdcard1 /storage/extSdCard)
intsd - Use internal sd card (/data/media/0)
nozip - Shows changelog and changes only
Okay so, the most interesting option is the mode...
Direct mode is simple, fast and effective. It downloads target version (stable or experimental) from GitHub server, then it repacks downloaded zip file and makes it available for flash. You should use this mode for one-time downloads, such as once per stable version or two. The only advantage of this method is the ability to download from github (and with one command).
Git mode is complex. It uses ArchiDroid's Pocket Debian (read above) for cloning and updating local ArchiDroid repo. This gives several number of advantages, mostly for using experimental versions. Firstly, by having local ArchiDroid repo you have to download ONLY changes between your snapshot and server's snapshot, which means delta upgrades. Secondly, you have access to all commits from target branch, so you know exactly what has changed since your latest download. Again, this is extremely useful for experimental branch, as changelog may not be up-to-date. Keep in mind that git mode will require additional space on your device for keeping ArchiDroid repository, therefore you sacrifice some space for delta upgrades. This mode is extremely useful for flashing ArchiDroid often, for example daily experimental versions, because in fact you download only new commits instead of whole repo/archive.
ArchiDroid's RunOnce (Backend)
ArchiDroid's Init (Backend)
ArchiDroid's Backend Control
ArchiDroid Backend Control is a set of settings, which controls behaviour of ArchiDroid's Init. It's located in /system/archidroid/dev and contains a number of files, which are recognized by ArchiDroid's Init. You shouldn't directly touch /system/archidroid/dev, instead you can control behaviour of ArchiDroid's Backend through /system/archidroid/scripts. They can be easily executed through any script manager, f.e. Root Browser or Android Terminal Emulator. Some of the settings are also located in /system/archidroid/etc folder, mostly configurations for binaries utilized by ArchiDroid's Init.
ArchiDroid's HArdware Volatile Entropy Gathering and Expansion Daemon (Haveged)
The haveged project is an attempt to provide an easy-to-use, unpredictable random number generator based upon an adaptation of the HAVEGE algorithm. Haveged was created to remedy low-entropy conditions in the Linux random device that can occur under some workloads, especially on headless servers. Current development of haveged is directed towards improving overall reliablity and adaptability while minimizing the barriers to using haveged for other tasks.
The original HAVEGE research dates back to 2003 and much of the original haveged documentation is now quite dated. Recent work on haveged has included an effort to provide more recent information on the project and its applications.
The original research behind HAVEGE use was based upon studies of the behavior of processor caches from a hardware level. The 'Flutter' documents attempt to provide a modern view of HAVEGE at software level through the use of a diagnostic build of haveged that captures the non deterministic inputs to haveged for analysis by external tools.
ArchiDroid has built-in haveged entropy generator. It's controlable through ArchiDroid's Backend Control - ArchiDroid_Haveged_EnableDisable.sh. It's turned on in default configuration, through HAVEGED_ENABLED
ArchiDroid's Fast Random Number Generator (Frandom)
Frandom is a Linux kernel random number generator, which is 10-50 times faster than what you get from Linux' built-in /dev/urandom. And it uses very little (/dev/frandom) or none (/dev/erandom) of the kernel's entropy pool, so it is very useful for applications that require a handy source for lots of random data.
ArchiDroid has built-in frandom activator. It's controlable through ArchiDroid's Backend Control - ArchiDroid_Frandom_EnableDisable.sh. It's turned on in default configuration, through FRANDOM_ENABLED.
Notice: Kernel must support frandom module to actually make use of that. Init will try to search for frandom.ko module and load it, then use /dev/erandom for both /dev/random and /dev/urandom. If your kernel supports frandom, it will work. If it doesn't, obviously this will be skipped even if you have FRANDOM_ENABLED. Check ArchiDroid Init log located in /data/media/0/ArchiDroid/Init.log to check if frandom works properly for you.
ArchiDroid's Adblock (dnsmasq/dnrd, dnsproxy2, pixelserv)
dnsproxy2 is a replacement DNS proxy for Android 4.3+
This currently allows the user to manually override the DNS server IP,
and it sets the correct UID on outbound requests so they can be filtered
via iptables / AFWall+ / DroidWall / etc.
Dnsmasq is a lightweight server designed to provide DNS, DHCP and TFTP services to a small-scale network. It can serve the names of local machines which are not in the global DNS. The DHCP server integrates with the DNS server and allows machines with DHCP-allocated addresses to appear in the DNS with names configured either in each host or in a central configuration file. Dnsmasq supports static and dynamic DHCP leases and BOOTP for network booting of diskless machines.
Dnrd, Domain Name Relay Daemon is a caching, forwarding DNS proxy server. Most useful on vpn or dialup firewalls but it is also a nice DNS cache for minor networks and workstations.
Pixelserv is a super minimal webserver, it's one and only purpose is serving a 1x1 pixel transparent gif file. Using some creative firewalling (netfilter/iptables) rules you can redirect some webrequests (for adds for example) to pixelserv.
ArchiDroid has built-in Adblock. It's controlable through ArchiDroid's Backend Control:
ArchiDroid_Adblock_DnsmasqDnrdModeSwitch.sh
ArchiDroid_Adblock_EnableDisable.sh
ArchiDroid_Adblock_EnableDisableLocalDNSes.sh
ArchiDroid_Adblock_EnableDisableLocalDNSesDaemon.sh
ArchiDroid_Adblock_LockUnlockHosts.sh
ArchiDroid_Adblock_MoabAdawayHostsSwitch.sh
ArchiDroid_Adblock_Reload.sh
It's turned on in default configuration, through:
ADBLOCK_ENABLED
ADBLOCK_LOCAL_DNSES_DAEMON_ENABLED
ADBLOCK_LOCAL_DNSES_ENABLED
ADBLOCK_USE_ADAWAY_HOSTS
ADBLOCK_USE_DNSMASQ
In short. This is a very advanced and powerful solution for blocking ads through DNS queries. First of all we're forwarding all DNS traffic to localhost (127.0.0.1). Then we're handling them through local DNS server - dnsmasq (default), or dnrd (option). Our local DNS server reads blocked hostnames through special /system/archidroid/etc/hosts file, then if no record is found, it forwards DNS query to OpenDNS/Google DNS servers, or if it's found, returns 127.0.0.1 as the address. Lastly, pixelserv is providing a 1x1 NULLGIF response on local web server, so instead of big black/white screen instead of the AD, we get 1x1 transparent pixel, which usually perfectly hides ad from the app or the website.
Extra features:
1. You can specify if you want to use dnsmasq (default), or dnrd (option) as a local dns server. Dnsmasq is more flexible, modern, faster and has less memory footprint, however I also left dnrd as an option, because it's proven to work stable.
2. You can specify hosts file, which you want to use. In default configuration we use AdAway's hosts file, with more than 30 thousand of records, which results in extra ~2.5 MB memory usage. You have also an option to use MOAB (Mother Of Ad Blocking) hosts file, with more than 330 thousand of records, which will result in about ~30 MB memory usage. Eventually you can append your own rules or use non-standard hosts file, available in /system/archidroid/etc/hosts. Pro tip: You can point AdAway to use this hosts file (/system/archidroid/etc/hosts_adaway), which will result in automatic updates. /system/archidroid/etc/hosts is a symbolic link, either to hosts_away or hosts_moab, if you want to specify your own hosts, you can delete symbolic link and write your own rules.
3. Original /system/etc/hosts file has been locked from editing. This is to ensure that AdAway or other adblockers won't use obsolete and slow method of blocking ads through hosts. The whole point of implementing Adblock in ArchiDroid is to provide you with super-fast, flexible and effective way of blocking ads, also with getting rid of black/white ad screen. In 99% situations you don't want to touch ArchiDroid's default behaviour, as it blocks ads perfectly. Eventually, if you have a very good reason, you can unlock original hosts file through ArchiDroid's Backend Control and modify them, however keep in mind that every additional rule WILL slow down your network speed.
4. In default configuration local dns server uses two OpenDNS servers at port 5353, two Google DNS servers at port 53 and up to two local DNS servers provided by your Wi-Fi/3G connection, which overall gives a sum of 6 remote dns servers. In some rare scenarios (f.e. some wi-fi hotspots) you can notice that a moron, administrator of this wi-fi, blocked all dns queries and forces you to use his DNSes. This is BAD because of freedom and so on, but it's very common practice, that's why I turned on local DNSes as well. If you want to improve your privacy at least a bit, you can disable local DNS servers and then use only OpenDNS and Google DNS.
5. Above option initialy has been written to allow you one-time access to such non-trusty wi-fi's. But if you for any reason need automatic update of your local DNSes (3G and Wi-Fi's will use different local DNSes), you can also turn on Local DNSes Daemon, which will automatically query and update local DNSes if needed. This is also turned on in addition to local dnses above, of course in default preset.
ArchiDroid's Forced Update (RunOnce)
Forced update selected during mode selection in aroma tells RunOnce to work in "INSTALL" mode even on "UPDATE" mode, apart from that it works exactly the same as update mode, only RunOnce is affected.
Credits
First of all many thanks to JustArchi, who gave me the permission to port this rom
and helped me not only one time to get all things to work :good:!!!
Many many thanks JustArchi for the help and support!​
ArchiDroid Core
- AROMA Installer
- AROMA Filemanager
- Didhiy Kernel
- Neo Kernel
- PhilZ Touch Recovery
- SuperSU
- Nova Launcher
- TouchPal Keyboard
- Hacker's Keyboard
- Android Terminal Emulator
- BetterBatteryStats
- Cool Tool
- Greenify
- MX Player & Custom Codec
- LMT
- Root Browser
- Titanium Backup
- CrossBreeder
- Online Nandroid
- Xposed Framework
- App Settings
- XPrivacy
- Debian
- cURL
- GitHub
ArchiDroid 2.X
- OmniROM for GT-I9300
- Linaro Toolchain
- Spirit 2
- Wanam Xposed
Special thanks to:
- Kenshin, for graphic design and ArchiDroid Touhou bootanimation
- @mrtur, for graphic design and helpful hand during ArchiDroid experimental tests
- @malachow, for helping users across both international and polish board, sharing the spirit of ArchiDroid
- All ArchiDroid Contributors, for improving and making ArchiDroid better!
- ArchiDroid Facebook Group, for beta-testing the very first alphas of ArchiDroid 2.0.0
- ROM Cleaner, for awesome generic list of bloatware
- Android Revolution HD, for being ex-ArchiDroid 1.X base
- WanamLite, for being ex-ArchiDroid 1.X base
- Temasek's Unofficial Build, for being ex-ArchiDroid 2.X base
- crDroid, for being ex-ArchiDroid 2.X base
- You, for choosing ArchiDroid over other available ROMs
I'm very happy to see ArchiDroid running also on Galaxy S .
Let me know @rodman01 if you need any help or a helpful hand, and watch my github for ArchiDroid updates .
Thanks, yes I am happy too, that I got it to work finally (kernel choice is working, but selectable modes I skipped for the moment)...your help to get this all was highly appreciated and needed and I am sure I will come back again with questions . And yes sure, I will watch your github and when I as soon as I have time, I will create branch on my repo with the changes I made :good:.
rodman01 said:
Thanks, yes I am happy too, that I got it to work finally (kernel choice is working, but selectable modes I skipped for the moment)...your help to get this all was highly appreciated and needed and I am sure I will come back again with questions . And yes sure, I will watch your github and when I as soon as I have time, I will create branch on my repo with the changes I made :good:.
Click to expand...
Click to collapse
If I can suggest anything...
Make sure that my backend works properly on SGS, you can check logs in /data/media/0/ArchiDroid, and use ArchiDroid app to check if everything works properly (haveged, dnsmasq, dnsproxy2, pixelserv etc. should be ON). This give you a few ArchiDroid-unique features described in development thread. I used advanced SGS3-optimizations, so I'm wondering if you can launch it on SGS .
Apart from that my github is a real mine of knowledge, so if you dig deep enough you should get answers to everything .
And of course, I'm very glad to see that you made it!
Yes sure you can and I will check it...to be honest haven't realized this and afraid that this won't work , but will see and probably can fix this in one of the next versions (if possible in general for and with the S1?).
rodman01 said:
Yes sure you can and I will check it...to be honest haven't realized this and afraid that this won't work , but will see and probably can fix this in one of the next versions (if possible in general for and with the S1?).
Click to expand...
Click to collapse
I'll need to recompile these binaries for generic ARM target instead of SGS3 then, just watch my github and cherry-pick proper commit when it arrives .
haveged, dnsmasq, dnsproxy2, pixelserv are on and it seems that they are running. In init.log there are a few lines mentioning for example: no such file or directory. If you want and if helpfull I can pass you the logs you want.
rodman01 said:
haveged, dnsmasq, dnsproxy2, pixelserv are on and it seems that they are running. In init.log there are a few lines mentioning for example: no such file or directory. If you want and if helpfull I can pass you the logs you want.
Click to expand...
Click to collapse
If my binaries are running properly then it's great, you should have working adblock and entropy >= 1024.
Send me RunOnce and Init logs .
Yes sure no problem. Here are the log files attached....
rodman01 said:
Yes sure no problem. Here are the log files attached....
Click to expand...
Click to collapse
Wed Apr 23 00:17:20 CEST 2014
ArchiDroid 2.4.3 EXPERIMENTAL [KVT49L]
Linux localhost 3.0.101-KK44-x-aries-cma #1 PREEMPT Tue Apr 1 07:47:49 WIB 2014 armv7l GNU/Linux
INFO: ArchiDroid_RunOnce executed!
INFO: I'm a child!
WARNING: Forcing Install mode, even if Update mode found!
INFO: Install mode detected, I'm either after full wipe or forced to think so. Turning on ADMANY and DBUPDATE
I found ./de.robv.android.xposed.installer which need merging (data)
I found ./ds.cpuoverlay which need merging (data)
I found ./com.android.settings which need merging (data)
I found ./eu.chainfire.supersu which need merging (data)
I found ./org.omnirom.device which need merging (data)
INFO: I found 5 folders which need merging (data)
INFO: boot-dmesg NOT detected, turning off logcat banner
INFO: RunOnce Semaphore started
INFO: Android created settings.db for me, how cute! Performing DBUPDATE
INFO: Applying AOSP-specific DBUPDATE
INFO: Finished DBUPDATE
INFO: I'm currently merging com.android.settings, called by ADMANY
INFO: Done! 4 to go
INFO: I'm currently merging de.robv.android.xposed.installer, called by ADMANY
INFO: Done! 3 to go
INFO: I'm currently merging ds.cpuoverlay, called by ADMANY
INFO: Done! 2 to go
INFO: I'm currently merging eu.chainfire.supersu, called by ADMANY
INFO: Done! 1 to go
INFO: I'm currently merging org.omnirom.device, called by ADMANY
INFO: Done! 0 to go
INFO: I looped 91 times and didn't have to exit from infinite loop, that's nice (RunOnce Semaphore)
INFO: Calling Post-Installation functions (if any)
INFO: Could not detect RunOnce in init.d after cleanup, that's good
INFO: Reboot required, I'm rebooting the device right now
INFO: ArchiDroid RunOnce finished
Wed Apr 23 00:21:17 CEST 2014
Click to expand...
Click to collapse
RunOnce works great!
However Init not so .
HAVEGED: ArchiDroid entropy set to: 1024. Available entropy can't get below this level
HAVEGED: Current available entropy: 183
Click to expand...
Click to collapse
Looks like haveged is not working at all.
Apart from that, one more issue found:
/system/xbin/ARCHIDROID_INIT[438]: can't create /dev/archidroid/cron/events/internal/MONITOR_START_HAVEGED: No such file or directory
Click to expand...
Click to collapse
Is /dev directory available in your system?
Code:
ADPROC="/dev/archidroid"
mkdir -p "$ADPROC"
Because this piece of code should create archidroid dir in /dev.
---------- Post added at 10:37 PM ---------- Previous post was at 10:29 PM ----------
Also, check Cron.log in ArchiDroid dir (/data/media/0/ArchiDroid) if it's not infinite-looping due to that... .
JustArchi said:
Is /dev directory available in your system?
Code:
ADPROC="/dev/archidroid"
mkdir -p "$ADPROC"
Because this piece of code should create archidroid dir in /dev.
Click to expand...
Click to collapse
Yes the folder is available, but almost all files have 0.0 b size, could it be that sym links and/or missing or wrong permissions are the reason?
rodman01 said:
Yes the folder is available, but almost all files have 0.0 b size, could it be that sym links and/or missing or wrong permissions are the reason?
Click to expand...
Click to collapse
Check if you can create a folder in it as root: mkdir /dev/whatever
Perhaps I'll need to move my ADPROC somewhere else, as your device may not support folders in /dev.
Also, I added a safety check for that .
https://github.com/JustArchi/ArchiDroid/commit/b8cae2000d8802e7f9e270eb43b3c621895d9340
JustArchi said:
Check if you can create a folder in it as root: mkdir /dev/whatever
Perhaps I'll need to move my ADPROC somewhere else, as your device may not support folders in /dev.
Also, I added a safety check for that .
https://github.com/JustArchi/ArchiDroid/commit/b8cae2000d8802e7f9e270eb43b3c621895d9340
Click to expand...
Click to collapse
Yes you are right, seems that creating folders in /dev is not possible.
rodman01 said:
Yes you are right, seems that creating folders in /dev is not possible.
Click to expand...
Click to collapse
Try as root, as user you'll always get permission denied .
ok sorry, but no folder wasn't created, although terminal has asked for su permissions and had been given. But no new folder to see.
rodman01 said:
ok sorry, but no folder wasn't created, although terminal has asked for su permissions and had been given. But no new folder to see.
Click to expand...
Click to collapse
I'll need to add some more tunables to properly support your device. As for now you should sync with my work (mostly https://github.com/JustArchi/ArchiDroid/commit/b8cae2000d8802e7f9e270eb43b3c621895d9340) and ignore those errors .
Thanks for your help and as for now :good:...will sync it and try a new build, think tomorrow.

[Galaxy S1][KERNEL]+[APP] PWNAIR: WiFi monitor mode + Aircrack

PwnAir
WiFi monitor mode & AirCrack
ONLY for Galaxy S1 with any compatible ROM
"STABLE" RELEASE /* YOUR WARRANTY IS NOW VOID */
​
05/2014 [NEW] 1.03 TARGET-SCAN (airodump-ng) is now part of PwnAir Lite!
06/2014 [NEW] 1.05/1.06 Signal strength indication is now reported in TARGET-SCAN
07/2014 [NEW] 1.07 The app will try again if you fail to give superuser rights at first launch. Tested with several ROMs.
11/2014 [NEW] PwnAir Pro is now free! No ads. No trackers added.
PwnAir is a package (kernel + app) that will turn your Galaxy S1 phone into a WiFi cracking device.
* Enable WiFi monitor mode, like bcmon did
* Recover WEP and WPA-PSK keys, through AirCrack
* Capture WiFi traffic, through AirCrack too
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
I couldn't resist to put this reference to the Watch Dogs game.
What a better timing to launch PwnAir than Watch Dogs game release ? (PwnAir is not sponsored by Ubisoft, btw!)
What's new is that PwnAir intends to:
* port bcmon to recent ROMs/kernels. As you may have noticed, bcmon won't run on recent ROMs, except if you've built it yourself. That's normal.
* bring a new graphical user interface to bcmon app (LOAD)
* bring a new graphical user interface to airodump-ng (TARGET-SCAN)
* [Pro only] bring a new graphical user interface for the main AirCrack-ng command-line tools (TARGET-LOG, ATTACK, CRACK) with terminal scrolling optimizations
[more screenshots]
PRE-REQUISITES
* Your phone is a Galaxy S1 (galaxysmtd, GT-I9000). It is NOT going to work on S2/S3/S4, or any other phones that are using anything else than the Aries kernel, and especially anything else than a Broadcom 4329 WiFi chipset.
* You are using a KitKat ROM* (or you swear to do a kernel/NANDROID backup in case you're unsure). PwnAir Kernel has been tested on CyanogenMod v11 (best supported snapshot: cm-11-20140504-SNAPSHOT-M6-galaxysmtd.zip), CyanFox 2.0.2 (dead download link) and C-RoM v7.1.
* You have a custom recovery installed, like CWM or TWRP. I recommend CWM Philz Touch (philz_touch_6.19.3-galaxysmtd.img).
* You are not afraid of loosing your phone warranty and/or data, making your phone bootloop until you get to reflash it, and all those funny stuff that kernel/ROM flashers surprisingly enjoy.
*About KitKat ROM compatibility: To be more exact, you need a ROM compatible with CyanogenMod 11 kernel (a.k.a. Aries stable/cm11.0, this version is the KitKat release), which is generally the case of KitKat ROMs. It is possible that older non-KitKat ROM work also. There should be no reason your ROM is not compatible with PwnAir kernel, if you use a fairly recent ROM (ie. KitKat, i.e. 4.4) without strong kernel customizations. The risk as for any kernel is that some peripherals may not work or that the phone may bootloop until reflashed. On Linux/Android, the approach of flashing a full kernel is safer than forcing a Wi-Fi driver to load into an unknown kernel. For the compatibility paranoïds, you can use the indicated CyanogenMod ROM snapshot.
INSTALL INSTRUCTIONS
Download PwnAir Kernel zip file
Open PwnAir kernel zip archive with 7zip or similar zip tool
Download the monitor mode firmware: fw_bcm4329.bcmon.bin
Copy fw_bcm4329.bcmon.bin into the system/vendor/firmware folder of the PwnAir kernel zip file
Save the zip file
Transfer the zip file to your sdcard
Reboot your phone in Recovery Mode (from the menu, or power off and power on with Volume Up + Home + Power)
Do a NANDROID backup or at least a quicker kernel backup
Flash the zip file from recovery mode
Reboot your phone
MONITOR MODE ACTIVATION & WHAT'S NEXT
The PwnAir Lite app has been installed during the process. Open it and "Load Monitor Mode".
First option, "Mode monitor" appears. -- You're happy.
So then, go to the target tab and launch a scan to see access points and clients ("stations") traffic.
Additional functions are part of the (free) Pro App or can be used with free Command Line Interface tools : Wireless Tools (mandatory) + Aircrack (see "sources" section, check "bin" folders).
Second option, an error message appears or you're stuck into a bootloop.
If an error message appears...
1. Post the error message here.
2. Connect your phone in USB debugging mode
3. Post the output of
Code:
adb shell su -c dmesg
4. Don't pay me a beer, I don't deserve it
If the error message when trying to flash is "This package is for "galaxys,galaxysmtd,GT-I9000,GT-I9000M,GT-I9000T" devices; this is a "". Status 7.", then you need to install CWM Philz Touch (philz_touch_6.19.3-galaxysmtd.img), which is a CWM Advanced Recovery, and try again to install PwnAir from Recovery Mode.
To install Philz Touch, go to Download Mode (not Recovery Mode) and run from your computer:
Code:
heimdall flash --KERNEL philz_touch_6.19.3-galaxysmtd.img
If you're stuck into a bootloop or frozen boot -- Don't cry, you're not alone, that happens.
First of all, remove the battery and reboot. Still in trouble?
Sometimes Often, CWM isn't working properly so re-flash the PwnAir kernel with Heimdall.
Connect your phone USB cable to your PC, put your phone in Download Mode (long press Volume Down + Home + Power), extract boot.img from the zip file and run from your PC command prompt:
Code:
heimdall flash --KERNEL boot.img
You can do this with ODIN if you prefer.
Still in trouble, again?
From Download Mode, flash your working ROM/Kernel boot.img the same way as described just before.
Or from Recovery Mode, restore your NANDROID backup or flash another working kernel or ROM.
DOWNLOADS :laugh: DOWNLOADS!
pwnair-no-firmware.zip: PwnAir Kernel+App flashable zip - Mirror: XDA Download - FIRMWARE NOT INCLUDED, GET FIRMWARE FROM THE LINK BELOW AND CHECK INSTALL INSTRUCTIONS!
fw_bcm4329.bcmon.bin: Bcmon monitor mode firmware for Broadcom 4329 WiFi chipset
[OPTIONAL] PwnAir Pro App For FREE, an easy-to-use graphical interface that implements Aircrack automated scan/attack/cracking tools on WEP and WPA networks (WPA: includes the 10k most commonly used password dictionnary). You can also download it from this thread Download section but in this case you need to install it manually (adb install or whatever).
KNOWN ISSUES
Unload was supposed to bring my normal WiFi back, not "kill" all the WiFi drivers! dmesg log will show some info about memory usage. From what I understand, the WiFi driver, especially the "normal" one (Mode: managed), is asking the kernel to reserve too much memory aligned space to store the wifi interface class. And the kernel, as a result of time and driver load/unload, is too much fragmented to satisfy this request. That's the strange way the Linux kernel works. So you just need to realign your kernel memory. So just "Reboot".
EDIT: NIK510 reported that clicking the Unload button and then running iwconfig eth0 power off and iwconfig eth0 power on in a terminal can bring your normal WiFi back without rebooting. Try your luck!
Having airodump-ng (SCAN) launched for a long time may cause the phone to freeze or reboot Well, for this, I've no idea. You know my answer: "Reboot". The hard way if necessary.
LIMITATIONS
PwnAir Lite App is limited to loading the monitor mode and scanning for networks. Get the (free) Pro version for attacks and cracking. Otherwise, if you like typing command-lines with MAC addresses on your touch phone, here's the deal: AirCrack is open source GNU GPL. That means you can get the CLI sources of the Android port directly on my repo and compile it or get the CLI binaries.
PwnAir is not compatible with Aircrack-ng-GUI, Reaver-WPS-GUI apps or any "normal" WiFi app. Either use the PwnAir Pro app or the free Wireless Tools binaries + Aircrack CLI binaries (see "sources" section). Try your luck with "Unload" but the only clean way to get your normal WiFi back is just to reboot your phone.
Not all possible WiFi attacks are implemented. Attack of hidden SSID, client attack (Caffe Latte) and client MAC spoofing need to be manually (CLI) performed. Get the aircrack-ng CLI tools from my repo if you want to perform such attacks. Like other client attacks, Hirte Attack is not implemented and it's possible that the driver doesn't support it anyway: Get a Caffe Latte instead, it's quite the same.
Q&A
Q: Can I use a custom dictionnary for WPA-PSK cracking?
A: Yes. See Tips about WPA dictionnary attacks
Q: Can I use Reaver command line or Reaver for Android (RfA) with this app?
A: Yes and no. There is no evidence that bcmon bcm4329 firmware (the one on Google Code or the one bundled with the bcmon app) can actually perform reaver-based attacks. If you managed to do it, contact me and I'll update the app with a RfA launch script.[/post]
SOURCES, CREDITS, BUILD INSTRUCTIONS, PRIVACY POLICY, SUPPORT...
[PWNED SOURCES]
I have ported all the CLI tools to Android/Aries/CM11:
AirCrack-ng suite for Android
Wireless Tools for Android
GNU Macchanger for Android
Airpcap Android static library for Aries (this recent version is needed for reaver-wps to work)
Reaver-WPS for Android (UNTESTED)
PwnAir Kernel (CM11 stable Aries with dual standard/bcmon WiFi drivers)
[UNPWNED SOURCES / CREDITS]
Adapted from Bcmon work
Android Terminal Emulator
Android Bootstrap
Java Installer's execpty
[BUILD INSTRUCTIONS FOR ADVENTUROUS USERS]
CLI executables: Use Cyanogenmod build system, check instructions in Android.mk and Aircrack for Android README file.
Detailed kernel build instructions/porting to other devices with broadcom 4329 chipset: check this post. In addition, to have the CLI executables bundled during the build: Use Cyanogenmod build system, copy manifest from build dir of PwnAir Kernel (bcmon_aries) repo to cyanogenmod .repo/local_manifests/, copy config file in kernel/samsung/aries/arch/arm/configs, init the repo, breakfast galaxysmtd and build (check my wiki section "How to (edit and) build an officially supported kernel?" on CM integrated kernel building wiki page for kernel building).
[PRIVACY POLICY]
This app doesn't leak your private information. The code doesn't use any ads or tracker libraries. Root permissions are only used to provide the described functionalities.
Note that if you are downloading through the Google Play Store, general statistics are collected by Google (number of installs, user country, crash log, etc.): refer to Play Store privacy policy. As seens from the Android Developer Console and not from Google eyes, there's nothing like private data, even the crash logs look like this: java.lang.NullPointerException at a.a.a.r.run(Unknown Source). (nothing more and in this case it needs to be un-ProGuard-ed).
On you side, by using this app, you agree not to use it to leak private information without consent.
[SUPPORT]
Support is done in this thread preferably. If you don't have posting rights, send me a PM.
Bug reports and feature requests are also managed in this thread: see the tabs in the XDA DevDB dark bar above this post.
If you like the Pro app, please leave a comment on the Play Store page.
It's not a good idea to use Play Store contact link, I don't check it often.
Issues clearly specific to CLI tools source code (except Reaver) can be raised as GitHub issues.
XDA:DevDB Information
[GALAXYSMTD][KERNEL]+[APP] [PRO FREE] PwnAir WiFi monitor mode, Kernel for the Samsung GT-I9000 Galaxy S
Contributors
n01ce
Source Code: https://github.com/kriswebdev/bcmon_aries
Kernel Special Features: wifi monitor mode, cm11
Version Information
Status: Stable
Current Stable Version: 1.07
Stable Release Date: 2014-06-22
Beta Release Date: 2014-05-30
Created 2014-05-22
Last Updated 2016-01-23
Anyone tried this?
Hello!
After installing normal mode is ok, but after enabling monitor mode Wi-Fi doesn't work (nothing). Normal is identified as wlan0, and monitor is eth0. Modules loads, but sometimes we must enable/disable again, because dhd isn't loaded.
Best regards.
devloz said:
Hello!
After installing normal mode is ok, but after enabling monitor mode Wi-Fi doesn't work (nothing). Normal is identified as wlan0, and monitor is eth0. Modules loads, but sometimes we must enable/disable again, because dhd isn't loaded.
Best regards.
Click to expand...
Click to collapse
Hello devloz,
Do you see "Mode: Monitor" in eth0 when enabling monitor mode ?
If not, please run "adb shell su -c dmesg" from your PC or "su -c dmesg" from your phone and paste the output here for debug purposes.
If yes, it works. It is normal that standard Wi-Fi apps don't work in monitor mode. Monitor mode is a special Wi-Fi mode made to run CLI tools such as aircrack or airodump (you'll also need iwpriv and iwconfig installed in /system/bin or in the same directory). Apps such as the browser app and general apps won't work (i.e. have network/Internet connectivity) in monitor mode. Also, apps such as Aircrack-ng-GUI, reaver-GUI are not supported and won't work also because they are too closely related to bcmon app, and PwnAir is not bcmon, it's more bare-metal. Please use the CLI Tools (or the Pro App).
It is a known issue that you can't return to normal mode without rebooting the phone (see "Known issues" section in first post).
Hope it helps. Keep me informed.
Thank you for sharing your work!
Unfortunately I run into this stack overflow exception when trying to "Load monitor mode":
E/AndroidRuntime( 1061): FATAL EXCEPTION: AsyncTask #1
E/AndroidRuntime( 1061): Process: com.air.pwnair, PID: 1061
E/AndroidRuntime( 1061): java.lang.RuntimeException: An error occured while exec
uting doInBackground()
E/AndroidRuntime( 1061): at android.os.AsyncTask$3.done(AsyncTask.java:30
0)
E/AndroidRuntime( 1061): at java.util.concurrent.FutureTask.finishComplet
ion(FutureTask.java:355)
E/AndroidRuntime( 1061): at java.util.concurrent.FutureTask.setException(
FutureTask.java:222)
E/AndroidRuntime( 1061): at java.util.concurrent.FutureTask.run(FutureTas
k.java:242)
E/AndroidRuntime( 1061): at android.os.AsyncTask$SerialExecutor$1.run(Asy
ncTask.java:231)
E/AndroidRuntime( 1061): at java.util.concurrent.ThreadPoolExecutor.runWo
rker(ThreadPoolExecutor.java:1112)
E/AndroidRuntime( 1061): at java.util.concurrent.ThreadPoolExecutor$Worke
r.run(ThreadPoolExecutor.java:587)
E/AndroidRuntime( 1061): at java.lang.Thread.run(Thread.java:841)
E/AndroidRuntime( 1061): Caused by: java.lang.StackOverflowError
E/AndroidRuntime( 1061): at java.lang.AbstractStringBuilder.<init>(Abstra
ctStringBuilder.java:89)
E/AndroidRuntime( 1061): at java.lang.StringBuilder.<init>(StringBuilder.
java:95)
E/AndroidRuntime( 1061): at com.air.airpwner.AirCrack$AsyncAssets.copyAss
etsRecursive(AirCrack.java:285)
E/AndroidRuntime( 1061): at com.air.airpwner.AirCrack$AsyncAssets.copyAss
etsRecursive(AirCrack.java:305)
.......hundred lines later.....
E/AndroidRuntime( 1061): at com.air.airpwner.AirCrack$AsyncAssets.copyAss
etsRecursive(AirCrack.java:305)
E/AndroidRuntime( 1061): at com.air.airpwner.AirCrack$AsyncAssets.copyAss
ets
W/ActivityManager( 482): Force finishing activity com.air.pwnair/com.air.airp
wner.AirCrack
Click to expand...
Click to collapse
thmy said:
Thank you for sharing your work!
Unfortunately I run into this stack overflow exception when trying to "Load monitor mode":
Click to expand...
Click to collapse
Hello thmy,
Thanks for the logcat, I'm going to investigate. By the time, to skip this error, you can extract the "assets" folder from the PwnAir Lite apk file and copy its content (especially the "xbin" folder) to your device /data/data/com.air.pwnrlite/ folder.
Regards,
n01ce
n01ce said:
Hello thmy,
Thanks for the logcat, I'm going to investigate. By the time, to skip this error, you can extract the "assets" folder from the PwnAir Lite apk file and copy its content (especially the "xbin" folder) to your device /data/data/com.air.aircrack/ folder.
Regards,
n01ce
Click to expand...
Click to collapse
Not sure what exactly is causing this error but I've reworked the copyAssetsRecursive function.
Please try with the new Lite or Pro version (same links as before). For Lite version: Reflash the kernel or get the apk from the zip file and install it.
By the way, SCAN (airodump-ng GUI) is now included in the Lite version, except for logging.
Hi n01ce,
I already tried to copy the binaries by myself and I was successfully able to activate the promiscuous mode and to capture wifi traffic (without the graphical interface though).
I havent tested a lot, but it seemed to work properly - I am really impressed!
I'll retry your new GUI next time.
Cheers,
thmy
Bump
Sent from my GT-I9000 using Tapatalk
Hello n01ce i want to thank you for this great app of pwnair already that I will buy the vercion pro and it works well in my galaxy s jejej i9000 can i ask you one question you will be able to make an app for the galaxy s2 i9100 since i also have this s2 galaxy you will be able to do this app for that galaxy ?? The driver is not working and not communicating with my insurance i can donate to you thanks again
legionpr said:
Hello n01ce i want to thank you for this great app of pwnair already that I will buy the vercion pro and it works well in my galaxy s jejej i9000 can i ask you one question you will be able to make an app for the galaxy s2 i9100 since i also have this s2 galaxy you will be able to do this app for that galaxy ?? The driver is not working and not communicating with my insurance i can donate to you thanks again
Click to expand...
Click to collapse
Hi legionpr,
Thanks for your feedback.
Regarding Galaxy S2, the bcmon app should work, along with AircrackGUI app.
If it fails, try this.
The graphical interface of AircrackGUI is not as intuitive as PwnAir but it should do the job, and kernel flashing is not needed (that's because the S2 uses a broadcom 4330 chipset, and the phone official driver can be tricked easily).
I don't own a Galaxy S2 so I can't port PwnAir to this device without remote help (some files to put on the device and some commands to launch. If someone is interrested, PM me).
Regards,
n01ce
n01ce said:
Hi legionpr,
Thanks for your feedback.
Regarding Galaxy S2, the bcmon app should work, along with AircrackGUI app.
If it fails, try this.
The graphical interface of AircrackGUI is not as intuitive as PwnAir but it should do the job, and kernel flashing is not needed (that's because the S2 uses a broadcom 4330 chipset, and the phone official driver can be tricked easily).
I don't own a Galaxy S2 so I can't port PwnAir to this device without remote help (some files to put on the device and some commands to launch. If someone is interrested, PM me).
Regards,
n01ce
Click to expand...
Click to collapse
Hello friend n01ce thank you for answering my question hehe and if your app is large and successful as it can remove a passward of wep with the hidden SSID and i worked at 100 thanks i try with the galaxy s2 with the files that you said but cannot take the pass but with your app pwnairpro i function but if you want to you can testiar my galaxy s2 since I have several devices here I look forward to your reply thanks
Hi all,
is there any chance at all that there will be a adaption of the great:
[APP][ROOT][WiFi] Reaver-GUI for Android
I think when bcmon works with Aircrack on a galaxysmtd it should work with reaver as well?
handyflo said:
Hi all,
is there any chance at all that there will be a adaption of the great:
[APP][ROOT][WiFi] Reaver-GUI for Android
I think when bcmon works with Aircrack on a galaxysmtd it should work with reaver as well?
Click to expand...
Click to collapse
Hello handyflo,
PwnAir is currently not compatible with RfA but we're working on it.
You can still use the command line tool Reaver-WPS for Android (UNTESTED). reaver-wash is working properly to find WPS-enabled networks, but I've not managed to successfully hack a network with reaver. Someone also tested it previously without success. I still don't know if I met all the pre-requisites (PIN-code based WPS router with good signal strength) or if there's a firmware issue preventing reaver attacks. But it would be interessting to have more people testing reaver command line tool due to these pre-requisites.
Potential causes for incompatibility between PwnAir and Reaver-GUI are:
RfA needs a special bcmon activation => this will change (see below)
bcmon bcm4329 firmware may not support reaver => I still don't have sufficient proofs that Reaver ever worked on galaxysmtd with bcmon firmware
The Airpcap library bundled with PwnAir may not be compatible with reaver => we can still use bcmon LD_LIBRARY_PATH to get one that is supposed to work
First potential issue (RfA monitor mode activation)
I've talked with RfA app developer, SOEDI, two weeks ago about our app compatibility and here's his answer:
SOEDI said:
(...) RfA scans active in managed-mode.
When you start the attack, then RfA starts to load the bcmon stuff and activates monitor mode.
The commands are:
Code:
su
LD_LIBRARY_PATH=/data/data/com.bcmon.bcmon/files/libs
LD_PRELOAD=/data/data/com.bcmon.bcmon/files/libs/libfake_driver.so sh
cd /data/data/com.bcmon.bcmon/files/tools
[I]ReaverCommands[/I]
RfA tries to identify the interface. It searches for "wlan0" and "eth0".
However, the next update of RfA will support custom startup commands and custom interfaces.
This will make RfA independent from bcmon and compatible to your app
Click to expand...
Click to collapse
Still, I don't see why it would not work, eventually because of libfake_driver preloading but that's strange.
I think I've already tried using reaver command line tools bundled with bcmon but without better success too.
Second potential issue (bcmon bcm4329 firmware compatibility):
I've only seen one report of reaver-GUI that seemed to work on galaxy S Advance:
nitinknsl said:
guys successfully installed both apk's but having hard time finding wps enabeled networks
i found wps enabeled network but then rfa shows monitor mode activision failed , but when i run monitor mode from bcmon it's running fine !
using galaxy s advance
Click to expand...
Click to collapse
Still it's not clear if he actually manged to hack a network.
I really start to doubt that reaver ever worked on Galaxy S1 due to bcmon bcm4329 firmware potential incompatibility with this tool. From a post named "Injection support for BCM4329" on Bcmon blog:
Ruby Feinstein said:
Radiotap - we don't handle radiotap on packet injection. 'aireplay-ng' works fine with it but tools like 'reaver' seem to require it.
(...) reaver - NOT WORKING
It seems like reaver injects packets with radiotap header.
Click to expand...
Click to collapse
There's no evidence in the following posts with newer firmware updates that this issue was solved. Maybe it was, maybe not.
One point to notice: PwnAir is not using the firmware from the bcmmon apk package, but the firmware from the bcmon source dir, due to driver issues. Maybe it has evolved in the apk and not the source. That's somethign to investigate.
Last potential issue (Airpcap library compatibility):
I don't get different results on reaver and wash comand line tools by using PwnAir or bcmon Airpcap library. So there's limited probability that's really an issue.
Hi n01ce,
thanks for your detailed response.
Good to see that you are making progress to investigate the use of reaver on a galaxysmtd.
Very interesting was this ansfer from SOEDI:
This will make RfA independent from bcmon and compatible to your app
Click to expand...
Click to collapse
Is there anything we (this community) can support you on something? I think a lot of guys using a galaxysmtd with CM11 ROM and may provide you with some testing results or similar?
handyflo said:
Is there anything we (this community) can support you on something? I think a lot of guys using a galaxysmtd with CM11 ROM and may provide you with some testing results or similar?
Click to expand...
Click to collapse
What I need is an actual proof that reaver (either command-line or GUI) works on bcm4329 phones (Galaxy S1, Nexus One, Evo 4G...).
The next question will be how it works (bcmon app, self-compiled kernel, CLI or GUI reaver, wifi access point model...).
To do proper testing and to ensure bcmon support, this would mean for the testers to go back to CyanogenMod 7 and install bcmon apk + Reaver for Android.
Testing is done the following way with bcmon on CyanogenMod 7:
Code:
su
LD_LIBRARY_PATH=/data/data/com.bcmon.bcmon/files/libs
LD_PRELOAD=/data/data/com.bcmon.bcmon/files/libs/libfake_driver.so sh
cd /data/data/com.bcmon.bcmon/files/tools
wash -i eth0
reaver -i eth0 -b ENTER_BSSID_HERE
I also don't exclude that I've just not been able to test it successfully due to the networks I've tested. So some tests even with PwnAir might be interresting.
Testing is done the following way with PwnAir after enabling monitor mode in PwnAir:
Code:
su
cd /data/data/com.air.pwnrlite/xbin
reaver-wash -i eth0
reaver -i eth0 -b ENTER_BSSID_HERE
During my tests, reaver was always stuck at:
Code:
[+] Waiting for beacon from <BSSID>
DEBUG external/reaver-wps/80211.c (229): Red AP beacon
DEBUG external/reaver-wps/80211.c (235): deauthenticate() done
DEBUG external/reaver-wps/80211.c (241): authenticate() done
DEBUG external/reaver-wps/80211.c (241): authenticate() done
DEBUG external/reaver-wps/80211.c (241): authenticate() done
DEBUG external/reaver-wps/80211.c (241): authenticate() done
DEBUG external/reaver-wps/80211.c (241): authenticate() done
DEBUG external/reaver-wps/80211.c (245): end while associate_recv_loop()
(...)
[!] WARNING: Failed to associate with <BSSID> (ESSID: <ESSID>)
Tips about WPA dictionnary attacks
Since I have received several quesitons about WPA dictionnaries, I post a few general tips here:
There is about 5% chance to crack a WPA key since WPA keys are minimum 8 charaters long and there are no known statistical attacks for WPA. If the key is not in the dicitonnary, it will fail.
It would take a year to brute force a WPA key with 8 lowercase alphabetic characters (check this brute-force calculator and pyrit performance chart), using GPU cracking with a good video card. So a dictionnary is needed.
PwnAir Pro supports custom dictionnaries. This will be used instead of the app default 10k dictionnary.
Name your custom dictionnary "/sdcard/aircrack/dict.lst" (this is indeed internal storage, not the external SD card). When you are over with the custom dictionnary, remove it to return to the 10k dictionnary.
But for better cracking performances, it's better to use a computer video card to do GPU cracking (instead of the limited phone CPU), with software like pyrit or oclHashCat. Aircack on galaxy S1 can crack about 120 keys/seconds, whereas pyrit can crack 20 000 k/s with a good standard video card.
There are some sites specialized in WPA cracking where you upload the handshake and they provide the computing resources; but generally you'll have to pay and you have no guarantee of success.
Regarding the dictionnaries, it's generally better to use dictionnaries in local language, especially people and place names. There are some links to dictionnaries here. Don't trust the wordlists with sevral GB of data: that's generally purely randomly generated sequences of less than 8 characters, it's useless. It's good to generate your own dictionnaries with wordlist generators like John The Ripper, Crunch, CUPP, RSMangler, AWLG... There are some good articles on the net on the science of password selection. You'll learn that the best wordlist are specific to each attackee and based on words very specific to the attackee (names, places, SSID, activity, passions...) eventually mixed with eg. the current year, some numbers and basic special characters.
Otherwise, there are also some others ways to get a WPA key with social engineering, like creating a fake Wi-Fi hotspot and ask for the user credentials; but this is not the purpose of PwnAir.
Where is airmon-ng ? Cause i can't find this one on your github.
devloz said:
Where is airmon-ng ? Cause i can't find this one on your github.
Click to expand...
Click to collapse
Airmon-ng is a tool, or to be more specific a Linux shell script, that enables and disables WiFi monitor mode.
It contains a set of tests to determine the chipset type and then, if it knows about this chipset, it will run the command that will activate monitor mode for this particular chipset.
But airmon-ng is not needed as the PwnAir app already does that ("Load" tab).
Moreover, airmon-ng is not compatible with Android for two reasons:
- It's a shell script, built for Linux. To be able to run it on Android, it needs busybox tricks. And it is highly possible that much of the code will throw errors when run on Android.
- It's not made to activate PwnAir monitor mode.
It's located in Aicrack-ng source scripts folder but for the above reasons, it has not been ported to Android.
If you absolutely want to activate PwnAir kernel monitor mode through CLI instead of the App, there's a PwnAir tool called "bcm" in /data/data/com.air.pwnrlite/xbin ==> "./bcm load".

[EOL] [ROM] [5.1.1] [CyanogenMod] [GCC 4.9] [Excellent] [15/11/15] ArchiDroid V3.1.5

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Clean | Stable | Flexible | Optimized | Excellent
Changelog
ArchiDroid 3.1.5
- Newest ArchiKernel snapshot
- Updated GAPPS, sources and other common things
ArchiDroid 3.1.4
- Newest ArchiKernel snapshot
- Updated GAPPS, sources and other common things
ArchiDroid 3.1.3
- [i9300] Changed malloc implementation to dlmalloc
- Implemented dex-preoptimization for ART
- Removed xposed due to incompatibility with dex-preoptimized ART
- Newest ArchiKernel snapshot
- [nicki] AK: Added mpdecision switch to Synapse
- [nicki] Added optional dual-sim patch to AROMA
- Updated GAPPS, sources and other common things
ArchiDroid 3.1.2
- Switched arm-linux-androideabi toolchain back to SaberMod
- Fixed wrong auto-vectorization of ID3 iterator causing various media crashes with badly-tagged MP3s
- Newest ArchiKernel snapshot
- Updated GAPPS
- Updated Xposed
- Other misc changes and bugfixes
ArchiDroid 3.1.1
- ArchiDroid Optimizations V4.1
- ArchiDroid is now built with UBERTC 4.9 androideabi (instead of SaberMod 4.9) and 5.2 ArchiToolchain eabi (instead of 5.1)
- Newest ArchiKernel snapshot
- Updated GAPPS
- Updated Xposed
- Other misc changes and bugfixes
ArchiDroid 3.1
- Initial release
Important notes
- YOU DIRTY FLASH AT YOUR OWN RISK.
- FULL WIPE IS ALWAYS SUGGESTED WHEN FLASHING NEW VERSION.
- DON'T EXPECT A BUGLESS EXPERIENCE IF YOU DIRTY FLASH OR USE TITANIUM BACKUP.
ArchiDroid 3.1 is major new release based on CyanogenMod 12.1 (Android 5.1.1 Lollipop). There are too many changes compared to previous release of AD 3.0.X, so you should treat this version as totally new ROM. Here you can find some important notes to make update easier, and to avoid some possible issues:
- The only two kernels supported by AD are stock one, and ArchiKernel. AK is suggested one by me, as it already includes all major improvements I wanted to add, such as OC or deep AD optimizations. I DO NOT RECOMMEND FLASHING ANY OTHER CUSTOM KERNELS. Only AK uses my own AnyKernel method which guarantees 100% compatibility with the ROM, if you're using any other kernel you're doing it at your own risk, and it's nearly guaranteed to cause very deep incompatibility issues, which will hurt overall system stability.
- If coming from AD 3.0.X or any other ROM, regardless what it is, you should make full wipe. ArchiDroid is smart enough to detect itself during install and offer you an update, but this option should not be used with major release such as this one. Full wipe in necessary.
- It also means that you should AVOID restoring old, incompatible data with apps such as Titanium Backup. Full wipe means full wipe, not half wipe and restoring data later. Of course, it's up to you if you want to follow my suggestions or not, but do not expect that you'll have bugfree experience otherwise.
- You should update your recovery prior to flashing, again, regardless of what recovery you have now. The best way is to do so right from ArchiDroid ZIP, as AD offers updating recovery prior to flashing the rest, from AROMA. On the preset screen you can choose "Recovery", which will flash stock kernel + recovery combo (TWRP self-compiled by me). Then reboot recovery and flash the rest. All other recoveries, including other/older TWRPs are unsupported and you're using them at your own risk.
- While not mandatory, I suggest also a wipe of whole internal SD card (/data and /data/media), as this will make sure than no junk is left. If you don't want to do so, at least make sure to remove /data/media/0/ArchiDroid folder prior to flashing, even if you have experimental AD 3.1 already. I do not track all regressions and doing so will make sure that backend works in intended way. A best way to do so is to update your recovery first, then through TWRP file manager navigate to /data/media/0 and remove whole ArchiDroid folder.
- AD already has built-in GAPPS, provided by OpenGApps project. Flashing other GAPPS is not recommended, but if you know what you're doing you can still untick all Google Apps offered in AROMA (Whole GAPPS category including core gapps + also google launcher and google keyboard) and install your own GAPPS package after AD installation. Although, as I said, I suggest to stick with AD gapps, as they're proven to be working well, and they're tested by me and other experimental users.
TL;DR
- Use only ArchiKernel or Stock kernel included in AROMA
- Make full wipe
- Update recovery prior to flashing
- Wipe internal storage, or at least remove /data/media/0/ArchiDroid
- Flash AD
- Do not restore old data through titanium backup
- Enjoy your fresh ArchiDroid experience
Download
All Files XDA
Stable: ArchiDroid 3.1.5 GitHub | XDA Direct | XDA Torrent
Oldstable: ArchiDroid 3.0.1.1 GitHub | XDA Direct | XDA Torrent
Remember that you don't need anything else to flash. Google Apps are included already.
Known Issues
All known and unknown CyanogenMod bugs (if any)
Follow ArchiDroid On XDA!
Like ArchiDroid On Facebook!
Write A Review!
Rate This Thread!
Buy Me A Beer!
Hit Thanks!
XDA:DevDB Information
[EOL] [ROM] [5.1.1] [CyanogenMod] [GCC 4.9] [Excellent] [15/11/15] ArchiDroid V3.1.5, ROM for the Sony Xperia M
Contributors
JustArchi
Source Code: https://github.com/ArchiDroid/ArchiDroid/tree/nicki-cm-stable
ROM OS Version: 5.1.x Lollipop
ROM Kernel: Linux 3.4.x
Based On: CyanogenMod
Version Information
Status: Stable
Created 2014-07-06
Last Updated 2020-09-13
Reserved
[SIZE="+3"]ArchiDroid's FAQ / Q&A[/SIZE]​[SIZE="+1"]Please use above thread for information purpose only as it covers Samsung Galaxy S3 i9300[/SIZE]​
[SIZE="+1"]Features / Why ArchiDroid?[/SIZE]
First of all, ArchiDroid includes everything available in it's base. The whole point of ArchiDroid is to improve the base, without needing of making any trade-offs, so by flashing ArchiDroid, you're getting everything offered by the base itself. There's nothing to lose, everything to gain.
You can read detailed information about every ArchiDroid component here. It's a massive wall of text, so I'm only going to list the core features without describing them.
These were written from scratch, they're completely unique and you won't find exactly the same implementation in any other ROM.
ArchiDroid-Unique features:
- ArchiDroid's AROMA Installer
- ArchiDroid's Pocket Debian
- ArchiDroid's Flasher
- ArchiDroid's RunOnce
- ArchiDroid's Init
- ArchiDroid's Backend Control
- ArchiDroid's HArdware Volatile Entropy Gathering and Expansion Daemon (Haveged)
- ArchiDroid's Fast Random Number Generator (Frandom)
- ArchiDroid's Adblock (dnsmasq/dnrd, dnsproxy2, pixelserv)
- ArchiDroid's Forced Update
Apart from that, here, on the credits page, you can find all third-party projects, which have been implemented into ArchiDroid. In addition to that, it's up to YOU to decide if you want to install something, or not.
ArchiDroid focuses on flexibility and user choice.
If you're looking for fastest ROM, choose ArchiDroid.
If you're looking for most battery-saving ROM, choose ArchiDroid
If you're looking for cutting-edge functions, choose ArchiDroid
If you're looking for the most flexible rom ever created, definitely choose ArchiDroid
ArchiDroid adjusts to your needs. You can make it whatever you want. With bunch of presets, modes and questions, you can make your ArchiDroid behave. Check yourself why ArchiDroid is The TOP 1 ROM for Galaxy S3http://forum.xda-developers.com/galaxy-s3#romList, according to number of followers, rates, reviews and downloads count. Check the Reviews, take a look at Video Reviews, do whatever you want to, ArchiDroid is proven to be one of the best ROMs for Galaxy S3, ever created, and now strikes directly at Xperia M.
Try ArchiDroid once, and you'll never look back. I can assure you.
Disclaimer
ARCHIDROID SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THE WARRANTIES THAT IT IS FREE OF DEFECTS, VIRUS FREE, ABLE TO OPERATE ON AN UNINTERRUPTED BASIS, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.
Click to expand...
Click to collapse
Your warranty is now void.
I am not responsible for bricked devices, dead SD cards, thermonuclear war, or you getting fired because the alarm app failed. Please do some research if you have any concerns about features included in this ROM before flashing it! YOU are choosing to make these modifications, and if you point the finger at me for messing up your device, I will laugh at you. Hard. A lot.
Click to expand...
Click to collapse
Developer's Kitchen
Unless stated otherwise, all ArchiDroid components are licensed under the Apache License:
Code:
Copyright 2014 [email protected]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Especially:
4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
You must give any other recipients of the Work or Derivative Works a copy of this License; and
You must cause any modified files to carry prominent notices stating that You changed the files; and
You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
Click to expand...
Click to collapse
ArchiDroid is one of the most complex ROMs ever created. When you start digging in my work, you can very easily get lost. And I'm not talking about base itself, but about everything next to it. You can use every part of my work, as long as:
1. You include proper credit where you should. This usually includes proper comment in a script/file and in the credits of the project, including license (if needed)
2. You let me know about this fact. Through PM on xda or e-mail
I'm always happy to help, especially with the problems I faced in the past. However I also want to be respected, considering that most of the ArchiDroid parts were written from scratch.
Know Your ArchiDroid
ArchiDroid is not only a rom. It's not only a baked android with third-party apps, modifications and tweaks. ArchiDroid is an universal backend which improves rom by many built-in functions.
Let me tell you a story. During developing first version of ArchiDroid 2.0 I experienced many problems, which were not that easy to solve. First of all - apps data. Trust me or not but you can't simply extract data, put it in /data/data after install and hope that it works. Android will detect such injection, report inconsistent of data and wipe everything attached to that. Okay so... How I should provide you with my boeffla preset? CoolTool settings? STweaks profile? If I put my data during flashing it'll get wiped. If I put my data and deny wiping it then Android will report inconsistent of data to user and work unstable. Yes guys, it's impossible to do so without a trick or without recompiling whole rom.
I won't tell you a whole story, because you probably don't want to hear about ArchiDroid development. I'll simply tell you that I overcome MANY difficulties, simply because I do what I like, and I like what I do. After countless number of hours, I can finally provide you with the ROM, which is the best. Why is it the best? Because I'm improving the base, and I'm not making any trade-offs.
GitHub / Versioning / Experimental Versions
ArchiDroid version contains 3 numbers. X.Y.Z. X is the base number of the rom. For now it won't change because ArchiDroid 1 is based on Sammy Rom and ArchiDroid 2 is based on CyanogenMod. Basically we have two numbers left, Y and Z. Y number will change when I'll implement something really new, when I'll make some advanced improvements or after many Z changes. Z number is the "standard" update, like updated sources, some bugfixes and so on.
I've learned many things since releasing of first ArchiDroid 1.0.0. Because of that I've also created a GitHub repository, which you can find here. What does it mean for you? First of all as you can see there are 2 different branches. nicki-cm-stable and nicki-cm-experimental. What does it mean? You can enter selected branch and click on "Commits" button to see every single update which I've made to selected branch. Experimental branches will get updates nearly every single day, while stable branch will form from a snapshot of current experimental branch, whenever I feel like it's ready.
However that doesn't mean you need to wait for my stable updates! You can easily "pack" latest experimental and flash without needing to wait for my weekly build. I'll tell you how to download and flash it by yourself.
[Newbie Version]
1. Open nicki-cm-experimental branch.
2. Click on Download Zip button located in bottom-right corner.
3. Install 7-Zip if you don't have that already. Other programs may, or may not work correctly.
4. Right-Click on zip, select Extract Here
5. Navigate to newly created ArchiDroid-nicki-cm-experimental folder
6. Select all files APART FROM __build folder, right-click and select 7-Zip => Add to archive
7. Make sure that you have zip format, fastest compression (to save some megabytes) and feflate method of compression.
8. Done! Copy newly created ArchiDroid-nicki-cm-experimental.zip to your phone and flash as usual.
[Expert Version]
1. Install Git for Windows or Linux
2. If you're on windows then make sure that windows won't change LF into CRLF (git config --global core.autocrlf false)
3. Clone my git repository using .git file. Keep in mind to specify depth, as this repo is really big. (git clone https://github.com/ArchiDroid/ArchiDroid.git --branch nicki-cm-experimental --depth 1)
4. Install 7-Zip if you don't have that already. Other programs may, or may not work correctly.
5. Select all files APART FROM __build folder, right-click and select 7-Zip => Add to archive
6. Make sure that you have zip format, fastest compression (to save some megabytes) and feflate method of compression.
7. Done! Copy newly created ArchiDroid-nicki-cm-experimental.zip to your phone and flash as usual.
8. In order to update your local repo execute git pull origin nicki-cm-experimental and go to point 5.
Additionally you can watch my short video, which shows how to flash experimental ArchiDroid going through "Expert Version".
Reserved
Video Reviews / How ArchiDroid looks like?
@Koogly
ArchiDroid User Signatures
ArchiDroid Features
Know your ArchiDroid, learn how to use it
Introduction / Basics
Welcome to ArchiDroid's world mortal. In this tutorial we will show you what ArchiDroid has "inside" and what it really offers. All of things included in this post are ArchiDroid-specific, which means that you won't find any ROM with the same features, as they're written from scratch.
Here you can find some definitions of the words used in sections below. You should know most of them, but in case somebody is lost here you can get back on track.
Terminal, Shell - Typical android shell, which may be obtained in three ways.
1. Through native Android Debug Bridge (ADB) with command "adb shell" from the PC or even "ADB through network" (if supported).
2. Through any Android terminal app, f.e. Android Terminal Emulator bundled with ArchiDroid.
3. Through secure shell daemon (sshd), which needs to be turned on firstly. This is extremely useful in terms of pocket debian, which will be described later.
You can use any of these methods to access android's terminal, however usually Android Terminal Emulator will be the easiest one, as it's android app bundled with ArchiDroid. WARNING! Most of the commands below WILL require root access. You can log in to super user shell by "su" command right after obtaining shell. If you're unsure if you're logged as root or not, "whoami" command should print actual user, "root" or "unknown uid 0" are OK, others are not.
ArchiDroid's Pocket Debian
From wikipedia:
Debian is an operating system composed of free software mostly carrying the GNU General Public License. The operating system is developed by an internet collaboration of volunteers aligned with The Debian Project.
Click to expand...
Click to collapse
From debian site:
As most of you know, Linux is just a kernel. And, for a long time, the Linux kernel ran only on the Intel x86 series of machines, from the 386 up.
However, this is no longer true, by any means. The Linux kernel has now been ported to a large, and growing, list of architectures. Following close behind, we have ported the Debian distribution to these architectures. In general, this is a process with a sticky start (as we get libc and the dynamic linker working smoothly), and then a relatively routine, if lengthy job, of attempting to recompile all our packages under the new architectures.
Debian is an operating system (OS), not a kernel (actually, it is more than an OS since it includes thousands of application programs)
Click to expand...
Click to collapse
How exactly this covers our beloved phone (and countless number of other android arm-based phones)?
As you may (or even should!) know, Android operates on it's own Linux-based kernel. Android's kernel is literally a fork of Linux kernel, with a few special/unique functions which are required, mostly hardware-specific. Because of that kernel itself is VERY compatible with everything based on Linux.
However there have always existed one typical problem, lack of proper environment. We have a great kernel, great power, linux-based android environment, but this environment lacks of very common and required libraries/binaries. If you ever wondered what is or what does busybox, this is the answer. Busybox is just a small package which offers a few standalone GNU/Linux binaries, which are required to make certain things work. For example, swap priorities. Android knows what swap is, and nothing else. It doesn't know that swap could have a priority, so if you use android's swapon command on 4 devices, it will firstly fill first device, and then proceed to the next. That's why we need busybox in ALL custom kernels, because android environment isn't enough.
However busybox sometimes isn't enough. If we focus only on Android itself, it is. But if you for example want to run stricly linux-based service, I don't know, a web server for example... Is it possible to run a native linux web server on an android? No, it's not. You should firstly compile such service on arm architecture, including all dynamic and static libraries (wrrr ) in it only to finally get mad because of missing libraries or other dependencies. Of course if you're patient you'd finally compile everything and set up, however how long would it take? A few days maybe? If you're skilled in what you're doing...
This is why I included built-in "pocket" debian in ArchiDroid. It's FULLY compatible with everything compiled/based on armhf/armel GNU/Linux architecture, for example Raspberry Pi. With two easy commands you can literally jump into debian environment and use every typical GNU/Linux utilities known from debian itself. Of course this means nothing for most of the users, because they'll never have any reason to use such debian environment but from the developer side, it's big step forward. The best example is with github. As you know ArchiDroid has it's own repo on github, from where you can download/manage stuff. There also exists git app for linux and windows. If you want to follow "expert" way of flashing experimental ArchiDroid version, such program is required. The scenario is the same as compiling web server for an android, it requires much more effort than it's worth. And even then you can end up with syncing external dependencies and searching for solutions for the problems you've never seen before... And with ArchiDroid's pocket debian? It's as simple as in any debian/ubuntu distro. "apt-get update && apt-get install git" and voila. Your git is installed and ready for work. Going further I've even included git in pocket debian itself. Okay, I have debian, I have git, and what next? With git utility I can for example provide you with delta updates for ArchiDroid! ArchiDroid can easily use pocket debian to set up and sync ArchiDroid's repository and then pack and flash latest version without even needing of a PC, using 7-zip or anything else. Another example? A web server. I know that it's very dev-specific but if you for any reason need a web server running, just for example to test simple website, you can have it with just one command. Going further, VNC? MySQL server? PHP? Python? Perl? Ruby? Maybe conditional tasks with cron? Persistent minimal IRC client? rtorrent with rutorrent GUI over WWW? The list goes on... Anything based on linux will work. You can even host a server for your favourite game, as long as it has armhf/armel binaries (unfortunately most of the games don't).
So that's it. In short, debian is an operating system built-in in ArchiDroid to provide you with (unfortunately missing) GNU/Linux environment, with full power, ready to handle anything you could request. I made my best to include fully working debian in ArchiDroid for a minimal cost. Whole OS is packed in one big tar file, compressed using highest bzip2. As for now pocket debian has ONLY 40 megabytes of size, maybe in future it will have up to 50 megabytes, but no more. It's a VERY small cost for having such great power, especially if you know how to use it.
This is a really cutting-edge feature, mostly because I have no limitiations what I can include in my ROM right now, and while other developers are dealing with OpenDelta updates and many Android-based problems, I'm just launching my pocket debian and manages linux stuff.
I'm SURE that most of the advanced ArchiDroid user will just LOVE this feature, as much as I love it. I'm looking forward to your responses how YOU use pocket debian with your ArchiDroid. It's also a great time to learn what does the debian offer and how you can simplify your common tasks with just one example debian utility .
Technical informations:
1. Pocket Debian does not cause any additional overhead. We don't need to use emulation, neither virtualization to boot our monster. I used chroot technology to "jump" into debian environment with already running kernel and Android. That means additional required CPU/RAM is based on what you run in pocket debian. Booting itself doesn't require anything, just about one megabyte of ram for /bin/bash shell .
2. Android has some restrictions, mostly sockets. It doesn't allow to create inet sockets by default, even for root users. You will need to add your custom debian users to special group called "inet" (GID 3003) to allow creating of inet sockets, and you may also need to add a group to net_raw group (GID 3004) to allow creating of raw sockets. Please keep in mind that it's only required if you're running an app which required it's own socket, for example mysql server. So apt-get install mysql-server will fail right after booting, you will need to use "addgroup mysql inet" and then apt-get -f install to complete installation. Of course "mysql" is the new user under which mysql-server really operates. I've added root to both of these groups by default.
3. The only "real" restriction is the kernel. Our debian uses Android kernel and it's filesystem. It should work with most common tasks but in some cases our kernel may lack specific modules or built-in code, for example tun/tap required for OpenVPN. Still it's enough to run pretty much everything and if you get in touch with your favourite kernel developer you can also kindly ask for specific missing things.
4. Debian is built and included thanks to debootstrap utility, ArchiDroid command used for creating debian environment is debootstrap --verbose --arch armhf --include=git,ca-certificates,ssh,htop,tightvncserver,xterm,xfonts-base --exclude=manpages,man-db,rsyslog,vim-common,vim-tiny testing debian http://ftp.fr.debian.org/debian
HowTo:
Pocket Debian contains two main terminal commands, "adlinux" and "debian". Both of them are described below. By adlinux and debian you boot and jump into debian's chroot, which means you can use any debian-specific commands.
Examples:
passwd - changes password of actual user. This is needed to login as specific user, for example through ssh.
service ssh start - starts local SSH (secure shell) daemon on native port :22, to which you can easily access via any client supporting ssh, f.e. PuTTY. So basicly after you start shell you can literally connect to your local area network (LAN) IP on port 22 f.e. through PuTTY from your PC.
ifconfig - prints network-related informations about online interfaces, including your local IP, which may be useful for connecting to SSH.
htop - Enhanced top utility. Gives you very good terminal-based view on actual running processes, used ram, load, and more.
apt-get update - Syncs with debian's apt repository. This is mandatory to use many of apt commands because ArchiDroid's debian comes without local repo available, however fully configured to download and access it with just one command
apt-get install XXX - installs packet XXX from debian's repository.
apt-cache search XXX - searches for all packets including keyword "XXX". Ultra useful in terms of searching for specific packet.
Please note that pocket debian is VERY similar to normal native Debian/Ubuntu distribution, therefore above commands are not ArchiDroid's magic, they're very widely used in Debian/Ubuntu distros. If you want to learn more, most of the Debian/Ubuntu tutorials will be very helpful.
ArchiDroid's Pocket Debian Booter (adlinux)
You can call "adlinux" command from your favourite terminal.
adlinux is designed to boot and prepare ArchiDroid's Pocket Debian environment. It requires mode to be specified, and also respects any extra arguments passed.
If you call standalone "adlinux" command then it will print usage and then ask you what you want to do with giving proper informations about every choice. Additionally if you know what you want to do, you can also pass arguments directly to adlinux command, f.e. by executing "adlinux default", which will execute adlinux with "default" mode.
Available modes:
default - Will mount /data /system /storage/sdcard0 /storage/sdcard1 and core filesystems in chroot. Default suggested mode
safe - Will mount only core filesystems in chroot. Useful if you don't want to share your storage in chroot
bare - Won't mount even core filesystems such as /proc /dev or /sys. Requires "debian force" to enter chroot. This is the "real" safe mode. You won't be able to interact with an android in any way, while debian itself will work in very limited environment, making core functions unavailable. Suggested only for testing purposes
rebuild - Will automatically reboot your device and remove debian folder in the safe way. WILL CAUSE ALL DEBIAN DATA TO BE LOST!
unmount - Will automatically reboot your device to safely unmount debian environment
Extra options:
extsd - Use external sd card (/storage/sdcard1 /storage/extSdCard), if possible
intsd - Use internal sd card (/data/media/0)
Additional information about modes:
Debian shares core kernel filesystems in "safe" and "default" modes, while it also shares your internal and external sd card in "default" mode. This is nothing to be scared of, as you have full control of what you run in debian, however please note that you CAN'T do whatever you want. All mounted partitions in debian are "binded". "Bind" means that it's mirrored to the mount point and all changes on mounted partition WILL affect the mount point, which is logical. This is nothing to be scared of, as long as you know that debian only extends your environment, it does not fully works in it's own and you CAN cause serious problems from inside of chroot. The only really safe mode is "bare" mode, however in "bare" mode debian can't really do anything, as kernel filesystems are absolutely required for most of the functions. Okay so, you need to know one thing. If you have booted debian you SHOULD NOT touch debian's folder, which is ArchiDroid/debian (on your internal or external sd card, depends what you choosed).. As you know debian for example binds /data to it's folder /data, which is physically ArchiDroid/debian/data. If you for example delete ArchiDroid/debian through root explorer WITH mounted debian then it will ALSO delete debian/data folder, which is binded to /data, and therefore will delete your whole internal sd card, that's why it's extremely important to take care because booted debian becomes part of the android and deleting it can cause at least soft bricks, with a possibility of hard as well. If you want to delete debian folder PLEASE use "rebuild" mode, only through this way you're absolutely sure that nothing bad happens and you won't delete your whole system partition by accident.
Note about extsd option:
Debian requires symlink functionality, typically native windows filesystems DON'T support symlinks, therefore you need to have your external sd card formatted in one of the native linux filesystems, f.e. ext4. adlinux will automatically tell you if debian can be unpacked and used on your external sd card, however it won't be possible under most common filesystems, such as exFAT or FAT32.
Technical informations:
1. Pocket debian archive is located in ArchiDroid/System/debian.tar.gz file. This is "bare" system used for creating environment for the first time, you should not touch it.
2. adlinux detects if debian is already extracted when booting, if not, it's firstly extracted from the file described above.
3. After extracting (if required), core filesystems are mounted with "bind" option based on the mode you've selected in "mode" question above. Typically it mounts /data /system /storage/sdcard0 /storage/sdcard1 /storage/extSdCard /dev /proc /sys.
4. Unmounting is not fully supported right now (linux barrier), therefore both "unmount" and "rebuild" options require a restart to execute properly.
ArchiDroid's Pocket Debian Shell/Chroot (debian)
You can call "debian" command from your favourite terminal.
debian command is designed to allow you "jumping" into debian chroot created by adlinux. Please read how adlinux command works firstly if you haven't done that already. debian command checks if core filesystems are available (if debian is booted), and if they are then it firstly modifies required environment variables to make debian happy (such as TERM, HOME, PATH), then it changes root (chroots) into debian folder, therefore allowing you to execute everything from inside of chroot. It's very generic command, therefore standalone "debian" command won't give you a choice the way adlinux did.
Available options (parameters):
force - required for jumping into bare debian, created with "adlinux bare" command above. This skips debian checks for mounted core filesystems, normally you should avoid it at all cost, unless you know what you're doing. If core filesystems are missing then it's very likely that your debian will be disabled in more than 90%.
extsd - Use external sd card (/storage/sdcard1 /storage/extSdCard), if possible
intsd - Use internal sd card (/data/media/0)
cmd - Executes command in debian chroot
WARNING! cmd parameter will cause all further parameters to be threated as a command passed to debian, therefore you need to make sure that this is the last debian parameter which you want. For example "debian force cmd service ssh start" will skip filesystems checks and execute "service ssh start" in debian's chroot, however "debian cmd force service ssh start" will pass "force service ssh start" to debian, therefore respecting filesystems checks and passing invalid command.
This function is extremely useful for making init.d and other startup scripts. For example you can easily call "adlinux default" and then "debian cmd service ssh start" to call secure shell daemon on every boot with two easy steps.
Technical informations:
1. debian command uses chroot technology to change root of current shell to debian shell.
2. After chrooting to debian directory, /bin/bash shell is automatically called as default debian shell.
ArchiDroid's Flasher (adflash)
You can call "adflash" command from your favourite terminal.
adflash is a great small utility, which allows you to easily update your ArchiDroid to latest stable or experimental version with one easy command and delta upgrade. It utilizes ArchiDroid functions, therefore you must be running ArchiDroid to use it.
If you call standalone "adflash" command then it will print usage and then ask you what you want to do with giving proper informations about every choice. Additionally if you know what you want to do, you can also pass arguments directly to adflash command, f.e. by executing "adflash 2e git", which will execute adflash with 2.X-EXPERIMENTAL version using git mode.
Available versions:
2e - 2.X-EXPERIMENTAL
2s - 2.X-STABLE
1e - 1.X-EXPERIMENTAL
1s - 1.X-STABLE
Extra options:
git - Sets up local git repository, which gives you delta upgrades and bandwidth saving
direct - Downloads targeted branch as .zip file directly from github
clean - Cleans everything up, including local repo and tmp folder from ArchiDroid directory specified below
extsd - Use external sd card (/storage/sdcard1 /storage/extSdCard)
intsd - Use internal sd card (/data/media/0)
nozip - Shows changelog and changes only
Okay so, the most interesting option is the mode...
Direct mode is simple, fast and effective. It downloads target version (stable or experimental) from GitHub server, then it repacks downloaded zip file and makes it available for flash. You should use this mode for one-time downloads, such as once per stable version or two. The only advantage of this method is the ability to download from github (and with one command).
Git mode is complex. It uses ArchiDroid's Pocket Debian (read above) for cloning and updating local ArchiDroid repo. This gives several number of advantages, mostly for using experimental versions. Firstly, by having local ArchiDroid repo you have to download ONLY changes between your snapshot and server's snapshot, which means delta upgrades. Secondly, you have access to all commits from target branch, so you know exactly what has changed since your latest download. Again, this is extremely useful for experimental branch, as changelog may not be up-to-date. Keep in mind that git mode will require additional space on your device for keeping ArchiDroid repository, therefore you sacrifice some space for delta upgrades. This mode is extremely useful for flashing ArchiDroid often, for example daily experimental versions, because in fact you download only new commits instead of whole repo/archive.
ArchiDroid's RunOnce (Backend)
ArchiDroid's Init (Backend)
ArchiDroid's Backend Control
ArchiDroid Backend Control is a set of settings, which controls behaviour of ArchiDroid's Init. It's located in /system/archidroid/dev and contains a number of files, which are recognized by ArchiDroid's Init. You shouldn't directly touch /system/archidroid/dev, instead you can control behaviour of ArchiDroid's Backend through /system/archidroid/scripts. They can be easily executed through any script manager, f.e. Root Browser or Android Terminal Emulator. Some of the settings are also located in /system/archidroid/etc folder, mostly configurations for binaries utilized by ArchiDroid's Init.
ArchiDroid's HArdware Volatile Entropy Gathering and Expansion Daemon (Haveged)
The haveged project is an attempt to provide an easy-to-use, unpredictable random number generator based upon an adaptation of the HAVEGE algorithm. Haveged was created to remedy low-entropy conditions in the Linux random device that can occur under some workloads, especially on headless servers. Current development of haveged is directed towards improving overall reliablity and adaptability while minimizing the barriers to using haveged for other tasks.
The original HAVEGE research dates back to 2003 and much of the original haveged documentation is now quite dated. Recent work on haveged has included an effort to provide more recent information on the project and its applications.
The original research behind HAVEGE use was based upon studies of the behavior of processor caches from a hardware level. The 'Flutter' documents attempt to provide a modern view of HAVEGE at software level through the use of a diagnostic build of haveged that captures the non deterministic inputs to haveged for analysis by external tools.
ArchiDroid has built-in haveged entropy generator. It's controlable through ArchiDroid's Backend Control - ArchiDroid_Haveged_EnableDisable.sh. It's turned on in default configuration, through HAVEGED_ENABLED
ArchiDroid's Fast Random Number Generator (Frandom)
Frandom is a Linux kernel random number generator, which is 10-50 times faster than what you get from Linux' built-in /dev/urandom. And it uses very little (/dev/frandom) or none (/dev/erandom) of the kernel's entropy pool, so it is very useful for applications that require a handy source for lots of random data.
ArchiDroid has built-in frandom activator. It's controlable through ArchiDroid's Backend Control - ArchiDroid_Frandom_EnableDisable.sh. It's turned on in default configuration, through FRANDOM_ENABLED.
Notice: Kernel must support frandom module to actually make use of that. Init will try to search for frandom.ko module and load it, then use /dev/erandom for both /dev/random and /dev/urandom. If your kernel supports frandom, it will work. If it doesn't, obviously this will be skipped even if you have FRANDOM_ENABLED. Check ArchiDroid Init log located in /data/media/0/ArchiDroid/Init.log to check if frandom works properly for you.
ArchiDroid's Adblock (dnsmasq/dnrd, dnsproxy2, pixelserv)
dnsproxy2 is a replacement DNS proxy for Android 4.3+
This currently allows the user to manually override the DNS server IP,
and it sets the correct UID on outbound requests so they can be filtered
via iptables / AFWall+ / DroidWall / etc.
Dnsmasq is a lightweight server designed to provide DNS, DHCP and TFTP services to a small-scale network. It can serve the names of local machines which are not in the global DNS. The DHCP server integrates with the DNS server and allows machines with DHCP-allocated addresses to appear in the DNS with names configured either in each host or in a central configuration file. Dnsmasq supports static and dynamic DHCP leases and BOOTP for network booting of diskless machines.
Dnrd, Domain Name Relay Daemon is a caching, forwarding DNS proxy server. Most useful on vpn or dialup firewalls but it is also a nice DNS cache for minor networks and workstations.
Pixelserv is a super minimal webserver, it's one and only purpose is serving a 1x1 pixel transparent gif file. Using some creative firewalling (netfilter/iptables) rules you can redirect some webrequests (for adds for example) to pixelserv.
ArchiDroid has built-in Adblock. It's controlable through ArchiDroid's Backend Control:
ArchiDroid_Adblock_DnsmasqDnrdModeSwitch.sh
ArchiDroid_Adblock_EnableDisable.sh
ArchiDroid_Adblock_EnableDisableLocalDNSes.sh
ArchiDroid_Adblock_EnableDisableLocalDNSesDaemon.sh
ArchiDroid_Adblock_LockUnlockHosts.sh
ArchiDroid_Adblock_MoabAdawayHostsSwitch.sh
ArchiDroid_Adblock_Reload.sh
It's turned on in default configuration, through:
ADBLOCK_ENABLED
ADBLOCK_LOCAL_DNSES_DAEMON_ENABLED
ADBLOCK_LOCAL_DNSES_ENABLED
ADBLOCK_USE_ADAWAY_HOSTS
ADBLOCK_USE_DNSMASQ
In short. This is a very advanced and powerful solution for blocking ads through DNS queries. First of all we're forwarding all DNS traffic to localhost (127.0.0.1). Then we're handling them through local DNS server - dnsmasq (default), or dnrd (option). Our local DNS server reads blocked hostnames through special /system/archidroid/etc/hosts file, then if no record is found, it forwards DNS query to OpenDNS/Google DNS servers, or if it's found, returns 127.0.0.1 as the address. Lastly, pixelserv is providing a 1x1 NULLGIF response on local web server, so instead of big black/white screen instead of the AD, we get 1x1 transparent pixel, which usually perfectly hides ad from the app or the website.
Extra features:
1. You can specify if you want to use dnsmasq (default), or dnrd (option) as a local dns server. Dnsmasq is more flexible, modern, faster and has less memory footprint, however I also left dnrd as an option, because it's proven to work stable.
2. You can specify hosts file, which you want to use. In default configuration we use AdAway's hosts file, with more than 30 thousand of records, which results in extra ~2.5 MB memory usage. You have also an option to use MOAB (Mother Of Ad Blocking) hosts file, with more than 330 thousand of records, which will result in about ~30 MB memory usage. Eventually you can append your own rules or use non-standard hosts file, available in /system/archidroid/etc/hosts. Pro tip: You can point AdAway to use this hosts file (/system/archidroid/etc/hosts_adaway), which will result in automatic updates. /system/archidroid/etc/hosts is a symbolic link, either to hosts_away or hosts_moab, if you want to specify your own hosts, you can delete symbolic link and write your own rules.
3. Original /system/etc/hosts file has been locked from editing. This is to ensure that AdAway or other adblockers won't use obsolete and slow method of blocking ads through hosts. The whole point of implementing Adblock in ArchiDroid is to provide you with super-fast, flexible and effective way of blocking ads, also with getting rid of black/white ad screen. In 99% situations you don't want to touch ArchiDroid's default behaviour, as it blocks ads perfectly. Eventually, if you have a very good reason, you can unlock original hosts file through ArchiDroid's Backend Control and modify them, however keep in mind that every additional rule WILL slow down your network speed.
4. In default configuration local dns server uses two OpenDNS servers at port 5353, two Google DNS servers at port 53 and up to two local DNS servers provided by your Wi-Fi/3G connection, which overall gives a sum of 6 remote dns servers. In some rare scenarios (f.e. some wi-fi hotspots) you can notice that a moron, administrator of this wi-fi, blocked all dns queries and forces you to use his DNSes. This is BAD because of freedom and so on, but it's very common practice, that's why I turned on local DNSes as well. If you want to improve your privacy at least a bit, you can disable local DNS servers and then use only OpenDNS and Google DNS.
5. Above option initialy has been written to allow you one-time access to such non-trusty wi-fi's. But if you for any reason need automatic update of your local DNSes (3G and Wi-Fi's will use different local DNSes), you can also turn on Local DNSes Daemon, which will automatically query and update local DNSes if needed. This is also turned on in addition to local dnses above, of course in default preset.
ArchiDroid's Forced Update (RunOnce)
Forced update selected during mode selection in aroma tells RunOnce to work in "INSTALL" mode even on "UPDATE" mode, apart from that it works exactly the same as update mode, only RunOnce is affected.
Last one.
Download links now available.
Please note that it's the first release of ArchiDroid 2.X for Xperia M so it's pretty much a beta release. However I couldn't find any major issues so you don't need to worry about bugs.
Xperia M-specific informations:
1. Kernel is compiled from FreeXperia sources, with small additions to make it work with ArchiDroid Optimizations. Including being compiled with GCC 4.8.
2. I decided that TWRP is at the moment the most stable and feature-rich recovery for nicki, so ArchiDroid kernel natively comes with TWRP recovery.
3. You can flash this ROM using any custom recovery available at the moment, including TWRP, CWM and PhilZ. Just keep in mind that ROM will overwrite kernel (and your recovery) after installation. I strongly suggest to stay with ArchiDroid kernel as it has pretty neat optimizations (linked above) but it's your choice.
Missing reserved posts, including credits will be added ASAP.
Have fun, please give feedback . If you appreciate my work, you can always buy me a beer!
What about sd support?
Sent from my Xperia M using XDA Premium 4 mobile app
theviper said:
What about sd support?
Sent from my Xperia M using XDA Premium 4 mobile app
Click to expand...
Click to collapse
ArchiDroid is very strongly based on CyanogenMod 11, so everything what works for CM most likely will also work for AD.
Will try
Anyways features are bit complicated for me
Hehe
Sent from my Xperia M using XDA Premium 4 mobile app
theviper said:
Will try
Anyways features are bit complicated for me
Hehe
Sent from my Xperia M using XDA Premium 4 mobile app
Click to expand...
Click to collapse
This is not a toy, ArchiDroid has even his own Debian OS inside . However thanks to my AROMA installer flashing and using AD can be ultimately easy or ultimately advanced, everything depends on you.
JustArchi said:
This is not a toy, ArchiDroid has even his own Debian OS inside . However thanks to my AROMA installer flashing and using AD can be ultimately easy or ultimately advanced, everything depends on you.
Click to expand...
Click to collapse
Thats awsm man
Downloading now
Will report soon
Sent from my Xperia M using XDA Premium 4 mobile app
Hello rom is totally awsm but can u tell me how to disable those status bar thinga
Sent from my Xperia M using XDA Premium 4 mobile app
theviper said:
Hello rom is totally awsm but can u tell me how to disable those status bar thinga
Sent from my Xperia M using XDA Premium 4 mobile app
Click to expand...
Click to collapse
Reading Q&A may help .
Are you going to update this rom with new cm fxp builds?
Awwww yeah @JustArchi in the house. Great to see you here man, goodluck with this !
On topic, will be waiting patiently to try this as I am currently busy with something else.
Really awesome rom mean :good: :fingers-crossed:
Barua said:
Are you going to update this rom with new cm fxp builds?
Click to expand...
Click to collapse
I'm using their sources so you can expect updates from time to time. However Xperia M is not my daily device.
Really awesome rom @JustArchi I flashed it yesterday night and untill now just the fastest rom I ever used, also the 160dpi is cool en look great really thanks for this masterpiece, I'm never leave Archidroid
EDIT: I see you have not included frandrom are u thinking to implement that in the next release ?
Sent from my C1905 using XDA Free mobile app
android-turk said:
Really awesome rom @JustArchi I flashed it yesterday night and untill now just the fastest rom I ever used, also the 160dpi is cool en look great really thanks for this masterpiece, I'm never leave Archidroid
EDIT: I see you have not included frandrom are u thinking to implement that in the next release ?
Sent from my C1905 using XDA Free mobile app
Click to expand...
Click to collapse
Fairly easy but I don't want to touch the kernel too much. Right now it includes only two little fixes for GCC 4.8.
Also, yeah, this is potentially the fastest and most optimized ROM for Xperia M at the moment, thanks to my optimizations and GCC 4.8.
hey
this will work on xperia M Dual with both sim card slot ????

Categories

Resources