http://wiki.webos-internals.org/api.php?action=feedcontributions&user=Raeb&feedformat=atom
WebOS Internals - User contributions [en]
2024-03-29T02:35:40Z
User contributions
MediaWiki 1.35.1
http://wiki.webos-internals.org/index.php?title=Application:Preware&diff=17493
Application:Preware
2011-07-24T22:06:00Z
<p>Raeb: updating bootstrap location</p>
<hr />
<div>[[Category:Application]]<br />
This page is currently available in four languages:<br />
:[[Image:Australia.png]] [[Image:USA.png]] [[Application:Preware]]<br />
:[[Image:France.png]] [[Application:Preware-FR]]<br />
:[[Image:Germany.png]] [[Application:Preware-DE]]<br />
:[[Image:China.png]] [[Application:Preware-ZH]]<br />
<br />
{{application<br />
|name=Preware<br />
|type=webOS<br />
|version=Version: 1.6.3 (8 June 2011)<br />
|tag=Utilities<br />
|screenshot=Preware_ss1.png<br />
|description=<br />
}}<br />
<br />
<BR><br />
=Summary=<br />
<!--{{icon|Icon_Preware.png|float:right;}}--><br />
[[image:Icon_Preware.png|frameless|left]]<br />
Preware is a package management application for the Palm Pre and the Palm Pixi. Preware allows the user to install any package from any of the open standard package repositories on preware.org (or any other location that hosts an open standard package repository). Preware relies on a custom written service developed from community research which allows the mojo app to talk to the built-in ipkg tool.<br />
<br />
'''Preware requires webOS 1.4.0 or later to function. Do not try to install it on earlier webOS versions, it will not work.'''<br />
<br />
This application was the result of extensive community-based design in [[IPKG Service]] and [[Preware Design]].<br />
<br />
For application management, Preware can access more applications, and has more features, than any other on-device package installer.<br />
<br />
And since it is open source, and has a completely open development process supported by a team of world-class WebOS Internals developers, it will continue to get better much faster than any other package management application.<br />
<br />
Preware is the open application installer that has been written specifically to support a homebrew ecosystem where any developer can upload any application to any submission site, and that application can then be installed by any user. Developers no longer need to upload their applications to multiple submission sites, and users are no longer excluded from accessing applications from any open standard package repository.<br />
<br />
<BR><br />
===Key Features===<br />
Install / Remove / Update:<br />
*Homebrew Applications including advanced applications with special requirements. <br />
*WebOS Themes<br />
*Patches<br />
*webOS Kernels<br />
*Support for installation of signed packages<br />
<br />
<BR><br />
===Status===<br />
Preware has been upgraded to release status, and is no longer considered beta. <br />
<br />
Some milestones worth mentioning in Preware's history include:<br />
<br />
* Since 27 August 2009 it is the only over-the-air installer for the palm capable of installing advanced palm applications such as the [[On_Screen_Keyboard|On Screen Keyboard]] or the terminal application.<br />
* Since 27 August 2009 it is the only application supporting installation from all existing palm homebrew feeds. <br />
* Since 17 September 2009 it also supports installation of themes. <br />
* Since 8 October 2009 it also supports installation of webOS patches.<br />
* Since 12 Jan 2010 it also supports all Palm App Catalog feeds.<br />
* Since 3 May 2010 it also supports installation of webOS custom kernels.<br />
* Since 20 July 2010 it also supports installation of packages from URLs and local files.<br />
* Since 24 July 2010 is also supports blacklisting packages and authors.<br />
* Since 8 June 2011 access to webOS app catalog feeds is no longer available to third party developers or applications.<br />
<br />
<BR><br />
===License===<br />
Please be aware that org.webosinternals.preware is licensed under the [http://www.gnu.org/licenses/gpl-2.0.html GPLv2].<br />
<br />
Code from Preware cannot be used by a closed source application. If you want to use them in a non-GPLv2 but otherwise open source application, please contact the [mailto:support@webos-internals.org authors].<br />
<br />
<BR><br />
=Installing Preware=<br />
<br />
There are four supported methods for installing Preware: Official HP/Palm SDK, WebOS Quick Install, Stand Alone Installers, and Command Line. <br />
<br />
You do not need to access the Linux command line or "root your Pre" to install or use Preware.<br />
<br />
You ''cannot'' use fileCoaster, or PreLoad, or PreUpdate to install or update Preware. Those tools are unable to operate correctly on advanced homebrew packages.<br />
<br />
If you are a developer who uses the Palm emulator, you should know that Preware works just as well on the Emulator as it does on a real device, and is installed in exactly the same way.<br />
<br />
<BR><br />
===Installing Preware using the Official HP/Palm SDK===<br />
<br />
To install Preware on any webOS device, the following procedure is recommended if you're having problems with WebOS Quick Install:<br />
<br />
# Install the latest official Palm webOS SDK from http://developer.palm.com<br />
# '''Disconnect your device''' (I repeat, do not have your device connected, no cables in the device, device not even anywhere near the computer), and run the latest webOS Doctor to install or upgrade your Novacom drivers<br />
# Close the doctor<br />
# Your phone should remain disconnected<br />
# Download the latest Preware package onto your computer from http://get.preware.org/<br />
## To install Preware on a phone, download the 'arm' .ipk file<br />
## To install Preware on an emulator, download the 'i686' .ipk file<br />
# Typing webos20090606, select the developer mode icon that will appears, and verify that your phone is in developer mode<br />
# Connect your device to your computers USB port, and select 'Just Charge'<br />
# Use palm-install to install the package you downloaded<br />
## Typically you can simply get a command line, navigate to the directory with the Preware package you downloaded, then type palm-install and.the.package.arm.name.ipk<br />
<br />
<BR><br />
<br />
===Installing Preware with WebOS Quick Install===<br />
You can use version 4.1.1 or later of [http://forums.precentral.net/canuck-coding/274461-webos-quick-install-v4-1-1-a.html WebOS Quick Install] to install Preware on any device easily and quickly, without the need to download a big 200MB SDK and webOSDoctor.<br />
<br />
'''Latest Version of WebOS Quick Install available here: [http://forums.precentral.net/canuck-coding/274461-webos-quick-install-v4-1-1-a.html WebOS Quick Install v4.2.0]'''<br />
<br />
# Install the required Software<br />
## [http://www.java.com/en/download/installed.jsp?detect=jre&try=1 Click here] to verify that you have the latest java installed on your computer and update if needed<br />
## [http://dl.dropbox.com/u/2774158/WebOSQuickInstall-4.2.0.jar Click Here] to download WebOS Quick Install v4.2.0<br />
# Put your device in [[Getting started|Developer Mode]]<br />
# Connect your device to your computer with the USB cable, and select "Just Charge" (do not select USB Drive)<br />
# Run WebOS Quick Install. If the novacom driver is not installed, WebOS Quick Install will download and install that for you.<br />
## '''Do not believe any guide that says you need to download the SDK or webOSDoctor for WOSQI to run.''' The most you'll download is the novacom driver, which is only 11MB on Windows, and will be done via WOSQI.<br />
# Click the third button on the right (the globe icon)<br />
# Select the Applications tab at the top<br />
# Search for Preware<br />
# Click Install.<br />
<br />
<BR><br />
<br />
===Installing Preware with the Standalone Installer===<br />
Preware installers can be downloaded here: [http://get.preware.org Preware Standalone Installers]. These instructions are currently only for Mac and PC users.<br />
<br />
# Install the required software.<br />
## [http://www.java.com/en/download/installed.jsp?detect=jre&try=1 Click here] to verify that you have the latest version of Java installed on your computer and update it if needed.<br />
## [http://www.webos-internals.org/wiki/Webos_Doctor_Versions Click here] to download the current webOS Doctor for your carrier and phone in a subdirectory you will remember (maybe "Palm"?). If you already have it, skip this step.<br />
##* '''Do not run the webOS Doctor.'''<br />
# Put your device into [[Getting started|Developer Mode]].<br />
#* '''Windows users:''' When connecting your device to the computer for the first time, you will be prompted to install new hardware. Click Next to start the device installation. You may get a message regarding Novacom drivers not being installed. If so, you can disregard it. Once your device is installed, proceed with the Preware installation.<br />
# Download the [http://get.preware.org/ Preware Standalone Installer] (you should choose the latest file name PrewareInstaller-X.Y.Z.jar) and place it in the same directory as the webOS Doctor .jar file.<br />
# Run the Preware Installer.<br />
# Click on the Tools menu and choose Install Drivers. This will install the Palm Novacom drivers for webOS devices.<br />
# Once the drivers have finished installing, click on Install Preware. After Preware is installed, your device will be unresponsive for a few seconds while Luna restarts.<br />
<br />
<BR><br />
===Installing Preware from the Commandline===<br />
If you have access to the command line of your webOS Device or emulator using Terminal, Novaterm, the "Linux Commandline" in WebOS Quick Install, or other techniques, you can install Preware by typing three lines. This technique is always the shortest and in many ways the simplest, but if you are in any way unsure of operating at the Linux command line, please use either of the methods described above. <br />
<br />
<source lang="bash"><br />
cd /tmp<br />
wget http://gitorious.org/webos-internals/bootstrap/blobs/raw/master/preware-bootstrap.sh<br />
sh preware-bootstrap</source><br />
<br />
<BR><br />
===Updating Preware===<br />
To update Preware, just run Preware and select "Package Updates" from the main scene. If an update to Preware is available, it will appear in the list. Then select the "Update" button. Preware will close automatically after the update is complete.<br />
<br />
Note that you cannot use fileCoaster, or PreLoad, or PreUpdate to install or update Preware. Those tools are unable to operate correctly on advanced homebrew packages.<br />
<br />
<BR><br />
<br />
===Removing Preware===<br />
''Why would you ever want to remove Preware?''<br />
<br />
To remove Preware, hold the Orange button on your keypad and choose Preware from the Launcher. Choose Delete.<br />
<br />
<BR><br />
<br />
=Usage=<br />
<br />
===Preferences===<br />
{| Width="70%" VAlign="top"<br />
|valign="top"|[[image:Preferences.png|160px|frameless|left|text-top]]<br />
|valign="top"|You can select preferences in the top left corner of the Pre to bring up the preferences screen. On the Preferences screen you can specify the look of the application, the frequency that feeds are updated, and what Preware will show you by default.<br />
<BR><br />
{| style="color:black; background-color:#F9F9F9;border:1px outset;" cellpadding="3" cellspacing="0"<br />
|TIP:<br />
|-<br />
|To make it easier to find things, set "Show Available Types" to yes. This will show separate categories (Applications/Themes/Patches/etc.) rather than show everything in one long list.<br />
|}<br />
|}<br />
<BR><br />
<br />
===Feed Management===<br />
{| Width="70%" VAlign="top"<br />
|valign="top"|[[image:Preware_feeds.png|160px|frameless|left|text-top]]<br />
|valign="top"|In the preferences section on the top bar on the right side is a button that takes you to the feeds screen. On the feeds screen you can select which feeds are loaded and which ones are not. Simply select the on or off button for that feed. (If you are not interested in themes you can disable the two feeds for themes to speed up the updating of feeds) Preware comes with the following feeds by default (some are disabled by default, but are easily enabled if desired). <br />
<br />
{| style="color:black; background-color:#FFFFE0;" cellpadding="3" cellspacing="0" Border="1"<br />
|align="center" colspan="4" | '''Default Feeds'''<br />
|-<br />
|align="center" | [http://ipkg.preware.org/feeds/precentral/ PreCentral]<br />
|-<br />
|align="center" | [http://ipkg.preware.org/feeds/webos-internals/ WebOS Internals]<br />
|align="center" | [http://ipkg.preware.org/feeds/optware/ Optware]<br />
|align="center" | [http://ipkg.preware.org/feeds/webos-patches/ WebOS Patches]<br />
|align="center" | [http://ipkg.preware.org/feeds/webos-kernels/ WebOS Kernels]<br />
|-<br />
|}<br />
|}<br />
<br />
<br />
{| style="color:black; background-color:#F9F9F9;border:1px outset;" VAlign="middle" cellpadding="3" cellspacing="0" Width="70%"<br />
|align="center" | See [[Testing Feeds]] for detailed instructions on adding custom feeds.<br />
|}<br />
<BR><br />
<br />
===Package Updates===<br />
{| Width="70%" VAlign="top"<br />
|valign="top"|[[image:UpdateFeeds.png|160px|frameless|left|text-top]]<br />
|valign="top"|To update feeds, simply select "Update Feeds" from the Application Menu. Preware will download the package list information from your enabled feeds. After processing the data, you will be back at the main list of available items.<br />
|}<br />
<BR><br />
<br />
===Installing Packages===<br />
{| Width="70%" VAlign="top"<br />
|valign="top"|[[image:SelectApp.png|160px|frameless|left|text-top]]<br />
|valign="top"|There are a few ways to select and install a "package" (application/patch/theme/etc.). Using "List of Everything" would be the simplest.<br />
#Find the package you want to install either by scrolling and tapping on it, or just start typing<br />
#Tap the "Install" button that the bottom of the package's page to install.<br />
|}<br />
<BR><br />
<br />
===Removing Packages===<br />
{| Width="70%" VAlign="top"<br />
|valign="top"|[[image:RemoveAppTap.png|160px|frameless|left|text-top]]<br />
|valign="top"|Removing a package is just as easy.<br />
#On the main screen, tap "Installed Packages", then the category of the package you want to remove<br />
#Tap the Package you want to remove<br />
#Tap the "Remove" button that the bottom of the package's page.<br />
|}<br />
<BR><br />
<br />
===Blacklist (Category Filters)===<br />
{| Width="70%" VAlign="top"<br />
[[File:preware_2011-09-03_165038.png]]''' '''[[File:preware_2011-09-03_165049.png]]<br />
|valign="top"|The Preware "Blacklist" is a tool used to hide packages (applications, patches, etc) that you do not want to see, such as mass-produced book apps or real estate apps. This tool can also be used to hide unavailable packages, such as patches that are not compatible with your current webOS version. Got to Preferences in Preware and scroll to the Blacklist section. You can add whatever filters you like to customize your Preware experience. To hide all apps from a particular Maintainer, choose a "Maintainer" filter with the package maintainer in the search field. To hide unavailable packages, choose a "Category" filter, with "Unavailable" in the search field.<br />
<BR><br />
<br />
<br />
<br />
{| style="color:black; background-color:#F9F9F9;border:1px outset;" cellpadding="3" cellspacing="0"<br />
<br />
<!--<br />
=== Applications ===<br />
=== Themes ===<br />
=== Patches ===<br />
=== Installed Packages ===<br />
=== List of Everything ===<br />
=== Saved Package List ===<br />
--><br />
<br />
= Operating notes =<br />
<br />
===Limitations===<br />
No known limitations.<br />
<br />
<BR><br />
===Known bugs===<br />
*When selecting a patch with dependencies, if you view those dependencies then install them, when Preware returns you to the original patch's screen it will still have the 'install' button showing even though it is installed successfully. Swiping back and returning will show the correct status.<br />
<br />
*The Update All button can get confused if there are patches with complex dependencies. This will be fixed in a future version.<br />
<br />
*If updates to App Catalog applications are pending, they will be silently skipped when using the Update All button.<br />
<br />
*The Updates feature from the regular Palm Launcher, may claim that application updates are needed, and then when the user clicks Show Updates shows the App Catalog's installed applications, there are none shown that need updating. This isn't as expected. This is because an app that was previously only in Preware has now migrated to the Palm Catalog. Don't worry, your apps are up to date (with the possible exception of the one with the conflict.) This is not a bug in Preware per se' but an app version conflict because the app is in both the Palm Catalog and also in Homebrew. Notice that you don't need to remove Preware to install the app from the official catalog, but simply disable the feed in Preware then "update feeds" to refresh the list then it should install fine from the official app catalog.<br />
<br />
<BR><br />
=Changelog=<br />
<BR><br />
For those interested, the full Changelog can be [http://git.webos-internals.org/?p=applications/preware.git;a=tags found here]. Listed below is the Changelog since the 1.0 milestone.<br />
<BR><BR><br />
<br />
;1.6.3:<br />
* WebOS Internals has been formally notified by Richard Kerris (HP Vice President of Worldwide Developer Relations) that open access to the webOS app catalog feed (including the beta and web feeds) is no longer available to third party developers or applications. Please direct any questions about this decision (which is final and permanent) to HP, not to WebOS Internals.<br />
* Removed all HP webOS app catalog feeds from new installations of Preware.<br />
<br />
;1.6.2:<br />
* Added the clock themes feed (disabled by default).<br />
<br />
;1.6.0:<br />
* webOS 2.x Just Type integration.<br />
* Fixed package list ordering bug.<br />
* Layout fixes for Pixi/Veer.<br />
<br />
;1.5.9:<br />
* Fixed parse errors resulting from packages with very large descriptions.<br />
* Fixed problems with updates to app catalog apps.<br />
<br />
;1.5.8:<br />
* Moved blacklisting to feed load to speed up listing.<br />
* Suggests a reload after changing the blacklist.<br />
* Fixed homebrew feed/catalog feed same appid bug.<br />
<br />
;1.5.7:<br />
* Added check to make sure package has a title before trying to search it.<br />
<br />
;1.5.6:<br />
* Removed support for Visibility feed value - use a category filter to exclude Unavailable packages if desired.<br />
<br />
;1.5.5:<br />
* Added support for Visibility feed value.<br />
* Fix display of screenshots from devices with a different resolution.<br />
* Test fix for custom feed on network with no internet connection.<br />
* Style updates for pre3 screen size.<br />
<br />
;1.5.4:<br />
* Updated French translations (courtesy of Clément).<br />
<br />
;1.5.3:<br />
* Reinstated banner notification of manual saved package list update.<br />
<br />
;1.5.2:<br />
* Check if package dates are actually dates.<br />
* Removed banner notification of saved package list being saved.<br />
<br />
;1.5.1:<br />
* Added support for optware testing feeds.<br />
<br />
;1.5.0:<br />
* You must upgrade to this version for full webOS 2.0 compatibility.<br />
<br />
;1.4.9:<br />
* Better compatibility with unknown future webOS versions.<br />
<br />
;1.4.8:<br />
<br />
* Now calls the correct software manager updates screen on webOS 2.0.<br />
<br />
; 1.4.7:<br />
* Fixed update, install and remove status messages on webOS 2.0.<br />
<br />
;1.4.6:<br />
* New "App Catalog" theme preferences thanks to Garrett92C.<br />
* Added support for "MaxWebOSVersion" in the feeds.<br />
<br />
;1.4.5:<br />
* Added support for identifying when running on a Pre 2 device.<br />
<br />
;1.4.4: <br />
* Updated the version check to support future webOS versions.<br />
<br />
;1.4.2:<br />
* Added Category as a blacklist option.<br />
<br />
;1.4.1:<br />
* Added a Changelog button to the Help scene.<br />
<br />
;1.4.0:<br />
* Added help to preferences scene.<br />
* Fixed swipe-to-delete bug in blacklist.<br />
* Updated Italian translations (courtesy of Darkmagister).<br />
* Added "Get Info" button to package install scene.<br />
* Added "Send" button to ipkg log scene.<br />
* Fixed bug when loading large package descriptions.<br />
<br />
;1.3.8:<br />
* Updated French translations (courtesy of Yannick LE NY).<br />
<br />
;1.3.6:<br />
* Preware now supports installation of application package files (.ipk files) directly from URLs, email attachments, and local files.<br />
* Also supported are Send to Preware links on homebrew application gallery and news websites (this requires the Neato! application to also be installed).<br />
* If Preware continually asks you about file associations on every single launch, even after you have answered Yes to the questions it asks, then you may have a damaged file association table and will need to run the Emergency MimeTable Reset tool and then reboot to repair it.<br />
<br />
;1.3.5:<br />
* Updated German translations.<br />
<br />
;1.3.3:<br />
* Always ask the user before modifying the file association list.<br />
* Updated French translations. <br />
<br />
;1.3.1:<br />
* Check whether Preware is the default application for handling packages, and advise the user if it is not.<br />
<br />
;1.3.0:<br />
* Added Preware to the Default Applications list to allow for installing packages from email messages and the browser.<br />
<br />
;1.2.9:<br />
* Fixed the Saved Package List swipe to delete bug.<br />
<br />
;1.2.8:<br />
* Open the My Applications app catalog screen when multiple app catalog applications need updating.<br />
<br />
;1.2.7<br />
* Fixed the Install Package problem when running on the emulator.<br />
<br />
;1.2.6<br />
* Remove most of the curl download progress messages from the ipkg log (this fixes a buffer overrun crash).<br />
<br />
;1.2.5<br />
* Added Ask At Launch option to update preference.<br />
* Added Blacklist support.<br />
* German Translation updates.<br />
* Fixed update banner problem.<br />
* Fixed package with too many dependent packages problem.<br />
<br />
;1.2.4<br />
* Added support for MinWebOSVersion, DeviceCompatibility and PreActionMessage package attributes.<br />
<br />
;1.2.3<br />
* Enable the Install Package feature to also work for incorrectly formatted filenames.<br />
<br />
;1.2.1<br />
* Robustified the Install Package feature - will now run post-install scripts for all correctly formatted filenames (packageid_version_arch.ipk).<br />
<br />
;1.2.0<br />
* Added Install Package functionality, allowing installation of packages from URLs and local files.<br />
* Moved Saved Package List from the main screen to the app menu.<br />
<br />
;1.1.7<br />
* Added support for Kernel Modules.<br />
<br />
;1.1.5<br />
* Use a gentler reboot procedure to allow open files to be flushed to disk.<br />
<br />
;1.1.4<br />
* Fixed hang on package download failures.<br />
<br />
;1.1.2 <br />
*Added support for the ENABLE_TESTING_FEEDS Meta-Doctor feature.<br />
*Removed the tag line about eventually reaching 1.0.<br />
*Minor French translation updates, courtesy of Yannick LE NY.<br />
<br />
;1.1.1<br />
*Added languages field in package descriptions. <br />
*Added preference to only show packages with English descriptions.<br />
<br />
;1.1.0<br />
*Now defaults (selectable by a preference option) to using an alternative installation method to avoid the webOS 1.4 rescan bug which closes and stops notifications from your phone, email and messaging applications. <br />
*Updated German and French translations.<br />
*Fixed deletion of disabled feeds. <br />
*Added service version number to the ipkgservice API. Robustified the service upgrade process.<br />
<br />
;1.0.0<br />
*The Package Manager Service has been rewritten in C and incorporated into this single Preware package.<br />
*Installing Preware 1.0.0 will remove the Package Manager Service as the last step of the upgrade process.<br />
<br />
<BR><br />
=Repository=<br />
Preware and the Package Manager Service are housed in the applications/preware git repository at http://git.webos-internals.org/<br />
<br />
For more information getting your application published in the WebOS Internals Source Code Repositories, please see the [[WebOS Internals Source Code Repositories]] page. For commit permission to the open source project, contact rwhitby on #webos-internals or email [mailto:support@webos-internals.org support@webos-internals.org]</div>
Raeb
http://wiki.webos-internals.org/index.php?title=Application:FreeTether&diff=9958
Application:FreeTether
2010-05-18T14:09:07Z
<p>Raeb: </p>
<hr />
<div>{{application<br />
|name=freeTether<br />
|type=webOS<br />
|version=Version: Alpha 0.0.1<br />
|tag=Networking<br />
|screenshot=FreeTether_screeshot.png<br />
|description=}}<br />
<br />
{{icon|Icon_FreeTether.png|float:right;}}<br />
<br />
Initial draft installation instructions (this works with preware 1.0 without package service and sprint webos 1.4.1.1):<br />
<br />
1. Add the test feeds to preware (see [[Testing Feeds]])<br />
<br />
2. Load preware, refresh feeds, and install both freetether and freetetherd<br />
<br />
3. Download and install the IP Forward patched (console method in code example)<br />
cd /tmp<br />
wget http://tonymiller.is-a-geek.com/com.palm.app.mobilehotspot_1.0.14_all-already_patched.ipk<br />
ipkg -o /var install com.palm.app.mobilehotspot_1.0.14_all-already_patched.ipk</div>
Raeb
http://wiki.webos-internals.org/index.php?title=How_To_Use_%22ls%22_In_Color&diff=3531
How To Use "ls" In Color
2009-08-03T02:03:28Z
<p>Raeb: moved link outside of category</p>
<hr />
<div>You may also want to check out [[Colorful Bash Prompt]].<br />
<br />
= Coreutils Method:=<br />
<br />
=== Prerequisites:===<br />
1) [[Portal:Accessing_Linux|Rooted]] Pre<br />
<br />
2) [[Next_steps|Ipkg-opt & unprivileged user]] installed & configured<br />
<br />
3) Dropbear/OpenSSH installed<br />
<br />
4) Connect & Log Into the Pre<br />
<br />
=== Assumptions:===<br />
1) You are using [http://www.chiark.greenend.org.uk/~sgtatham/putty/ PuTTY] to connect to the Pre<br />
<br />
2) You have made a SSH connection to the Pre.<br />
<br />
=== Installing Coreutils in user mode:===<br />
<br />
''Make sure ipkg-opt is up to date''<br />
<pre><nowiki>1) sudo ipkg-opt update</nowiki></pre><br />
<br />
''Install coreutils to /opt/bin''<br />
<pre><nowiki>2) sudo ipkg-opt install coreutils</nowiki></pre><br />
<br />
''Add an ls alias in /home/root/.profile or /etc/profile.d/optware-coreutils''<br />
<pre><nowiki>3) Add the following line: alias ls='/opt/bin/ls --color'</nowiki></pre><br />
<br />
''Test your changes by logging out and log back in''<br />
<pre><nowiki><br />
4) exit<br />
5) reconnect to your Pre & log in<br />
6) ls -l /<br />
</nowiki></pre><br />
<br />
If the directories in / are dark blue, you have succeeded! <br />
<br />
=== Rationale===<br />
Use of 'ls' segfaults as root with BusyBox when combined with --color (see above notes). rwhitby and eno helped to resolve this through the use of Coreutils, which takes up just slightly more space than busybox and can be more useful on Linux systems. ''Credit: ultraBlack''<br />
<br />
= BusyBox Method:=<br />
<br />
If you've been spoiled by other Linux OS distros that use color to help easily identify files & directory structures, and found the Pre to be somewhat wanting in this area, read on:<br />
<br />
=== Prerequisites:===<br />
1) [[Portal:Accessing_Linux|Rooted]] Pre<br />
<br />
2) [[Next_steps|Ipkg-opt & unprivileged user]] installed & configured<br />
<br />
3) Dropbear/OpenSSH installed<br />
<br />
4) Connect & Log Into the Pre<br />
<br />
=== Assumptions:===<br />
1) You are using [http://www.chiark.greenend.org.uk/~sgtatham/putty/ PuTTY] to connect to the Pre<br />
<br />
2) You have made a SSH connection to the Pre<br />
<br />
=== Installing Busybox in User mode:===<br />
''Make sure ipkg-opt is up to date''<br />
<pre><nowiki><br />
1) sudo ipkg-opt update<br />
</nowiki></pre><br />
''Install busybox to /opt/bin''<br />
<pre><nowiki><br />
2) sudo ipkg-opt install busybox<br />
</nowiki></pre><br />
''Verify /opt/bin is in your path''<br />
<pre><nowiki><br />
3) echo $PATH<br />
<br />
# If /opt/bin is listed in the path, then you have correctly fulfilled prerequisite #2 <br />
# Example: /usr/local/bin:/usr/bin:/bin:/opt/bin<br />
<br />
4) sudo alias ls='/opt/bin/ls --color'<br />
<br />
# It is not necessary to add alias to /etc/profile or /etc/profile.d/optware.<br />
# The alias will persist after rebooting the Pre, however a WebOS <br />
# update may require the alias to be made once more.<br />
</nowiki></pre><br />
''Test your changes by logging out and log back in''<br />
<pre><nowiki><br />
5) exit<br />
6) reconnect to your Pre & log in<br />
7) cd /<br />
8) ls<br />
</nowiki></pre><br />
<br />
''' If the directories are dark blue, you have succeeded! Should the changes not apply, reboot the Pre. If it still doesn't work, go back to step 1 and try again. '''<br />
<br />
''Optionally, if you want ls to display in color while logged in as root (sudo su -)..''<br />
<pre><nowiki><br />
9) sudo su -<br />
10) cd /bin<br />
11) mv ls ls.old<br />
12) ln -s /opt/bin/busybox /bin/ls<br />
13) ls<br />
</nowiki></pre><br />
<br />
=== Caveats:===<br />
<br />
If you "sudo su -" without applying the above change and attempt to run /opt/bin/ls --color, it will segfault. See above. Rwhitby, eno, and ultraBlack have confirmed this bug. This does not affect user mode; only as root in a specific circumstance.<br />
<br />
''(Needs Verification)'' If you upgrade your WebOS, you may need to repeat steps 8-12 again to enable color as root user.<br />
<br />
=== Rationale:===<br />
<br />
There are several issues with Palm's implementation of busybox, including the inability to specify --color. Palm's busybox will error out. This method is designed to give user mode color while root gets the default B&W //unless you apply the optional root change//. Following steps 1-7 will allow root to behave as if busybox-opt wasn't installed. <br />
<br />
=== How To Undo:===<br />
<br />
''User mode color''<br />
<pre><nowiki><br />
1) sudo ipkg-opt remove busybox<br />
</nowiki></pre><br />
<br />
''Root user color''<br />
<pre><nowiki><br />
1) Do step 1 above <br />
2) sudo su -<br />
3) cd /bin<br />
4) rm ls<br />
5) mv ls.old ls<br />
6) ls<br />
</nowiki></pre></div>
Raeb
http://wiki.webos-internals.org/index.php?title=How_To_Use_%22ls%22_In_Color&diff=3530
How To Use "ls" In Color
2009-08-03T02:03:05Z
<p>Raeb: adding link to colorful bash</p>
<hr />
<div>= Coreutils Method:=<br />
<br />
You may also want to check out [[Colorful Bash Prompt]].<br />
<br />
=== Prerequisites:===<br />
1) [[Portal:Accessing_Linux|Rooted]] Pre<br />
<br />
2) [[Next_steps|Ipkg-opt & unprivileged user]] installed & configured<br />
<br />
3) Dropbear/OpenSSH installed<br />
<br />
4) Connect & Log Into the Pre<br />
<br />
=== Assumptions:===<br />
1) You are using [http://www.chiark.greenend.org.uk/~sgtatham/putty/ PuTTY] to connect to the Pre<br />
<br />
2) You have made a SSH connection to the Pre.<br />
<br />
=== Installing Coreutils in user mode:===<br />
<br />
''Make sure ipkg-opt is up to date''<br />
<pre><nowiki>1) sudo ipkg-opt update</nowiki></pre><br />
<br />
''Install coreutils to /opt/bin''<br />
<pre><nowiki>2) sudo ipkg-opt install coreutils</nowiki></pre><br />
<br />
''Add an ls alias in /home/root/.profile or /etc/profile.d/optware-coreutils''<br />
<pre><nowiki>3) Add the following line: alias ls='/opt/bin/ls --color'</nowiki></pre><br />
<br />
''Test your changes by logging out and log back in''<br />
<pre><nowiki><br />
4) exit<br />
5) reconnect to your Pre & log in<br />
6) ls -l /<br />
</nowiki></pre><br />
<br />
If the directories in / are dark blue, you have succeeded! <br />
<br />
=== Rationale===<br />
Use of 'ls' segfaults as root with BusyBox when combined with --color (see above notes). rwhitby and eno helped to resolve this through the use of Coreutils, which takes up just slightly more space than busybox and can be more useful on Linux systems. ''Credit: ultraBlack''<br />
<br />
= BusyBox Method:=<br />
<br />
If you've been spoiled by other Linux OS distros that use color to help easily identify files & directory structures, and found the Pre to be somewhat wanting in this area, read on:<br />
<br />
=== Prerequisites:===<br />
1) [[Portal:Accessing_Linux|Rooted]] Pre<br />
<br />
2) [[Next_steps|Ipkg-opt & unprivileged user]] installed & configured<br />
<br />
3) Dropbear/OpenSSH installed<br />
<br />
4) Connect & Log Into the Pre<br />
<br />
=== Assumptions:===<br />
1) You are using [http://www.chiark.greenend.org.uk/~sgtatham/putty/ PuTTY] to connect to the Pre<br />
<br />
2) You have made a SSH connection to the Pre<br />
<br />
=== Installing Busybox in User mode:===<br />
''Make sure ipkg-opt is up to date''<br />
<pre><nowiki><br />
1) sudo ipkg-opt update<br />
</nowiki></pre><br />
''Install busybox to /opt/bin''<br />
<pre><nowiki><br />
2) sudo ipkg-opt install busybox<br />
</nowiki></pre><br />
''Verify /opt/bin is in your path''<br />
<pre><nowiki><br />
3) echo $PATH<br />
<br />
# If /opt/bin is listed in the path, then you have correctly fulfilled prerequisite #2 <br />
# Example: /usr/local/bin:/usr/bin:/bin:/opt/bin<br />
<br />
4) sudo alias ls='/opt/bin/ls --color'<br />
<br />
# It is not necessary to add alias to /etc/profile or /etc/profile.d/optware.<br />
# The alias will persist after rebooting the Pre, however a WebOS <br />
# update may require the alias to be made once more.<br />
</nowiki></pre><br />
''Test your changes by logging out and log back in''<br />
<pre><nowiki><br />
5) exit<br />
6) reconnect to your Pre & log in<br />
7) cd /<br />
8) ls<br />
</nowiki></pre><br />
<br />
''' If the directories are dark blue, you have succeeded! Should the changes not apply, reboot the Pre. If it still doesn't work, go back to step 1 and try again. '''<br />
<br />
''Optionally, if you want ls to display in color while logged in as root (sudo su -)..''<br />
<pre><nowiki><br />
9) sudo su -<br />
10) cd /bin<br />
11) mv ls ls.old<br />
12) ln -s /opt/bin/busybox /bin/ls<br />
13) ls<br />
</nowiki></pre><br />
<br />
=== Caveats:===<br />
<br />
If you "sudo su -" without applying the above change and attempt to run /opt/bin/ls --color, it will segfault. See above. Rwhitby, eno, and ultraBlack have confirmed this bug. This does not affect user mode; only as root in a specific circumstance.<br />
<br />
''(Needs Verification)'' If you upgrade your WebOS, you may need to repeat steps 8-12 again to enable color as root user.<br />
<br />
=== Rationale:===<br />
<br />
There are several issues with Palm's implementation of busybox, including the inability to specify --color. Palm's busybox will error out. This method is designed to give user mode color while root gets the default B&W //unless you apply the optional root change//. Following steps 1-7 will allow root to behave as if busybox-opt wasn't installed. <br />
<br />
=== How To Undo:===<br />
<br />
''User mode color''<br />
<pre><nowiki><br />
1) sudo ipkg-opt remove busybox<br />
</nowiki></pre><br />
<br />
''Root user color''<br />
<pre><nowiki><br />
1) Do step 1 above <br />
2) sudo su -<br />
3) cd /bin<br />
4) rm ls<br />
5) mv ls.old ls<br />
6) ls<br />
</nowiki></pre></div>
Raeb
http://wiki.webos-internals.org/index.php?title=Colorful_Bash_Prompt&diff=3528
Colorful Bash Prompt
2009-08-03T02:01:28Z
<p>Raeb: adding link to ls --color</p>
<hr />
<div>__NOTOC__<br />
Edit /etc/profile and change:<br />
<source lang="bash"><br />
if [ "$PS1" ]; then<br />
# works for bash and ash (no other shells known to be in use here)<br />
PS1='\u@\h:\w\$ '<br />
fi<br />
</source><br />
to this:<br />
<source lang="bash"><br />
if [ -n "${BASH_VERSION}" ] ; then<br />
if [ -f /etc/bash/bashrc ] ; then<br />
. /etc/bash/bashrc<br />
else<br />
PS1='\u@\h \w \$ '<br />
fi<br />
else<br />
PS1="${USER:-$(type whoami >/dev/null && whoami)}@$(type uname >/dev/null && uname -n) \$ "<br />
fi<br />
</source><br />
<br />
Create this directory:<br />
<source lang="bash"><br />
mkdir /etc/bash<br />
</source><br />
<br />
Save the file below in /etc/bash/bashrc<br />
<source lang="bash"><br />
# /etc/bash/bashrc <br />
if [[ $- != *i* ]] ; then <br />
# Shell is non-interactive. Be done now! <br />
return <br />
fi <br />
<br />
shopt -s checkwinsize <br />
<br />
shopt -s histappend <br />
<br />
case ${TERM} in <br />
xterm*|rxvt*|Eterm|aterm|kterm|gnome*|interix)<br />
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\007"'<br />
;; <br />
screen) <br />
PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\033\\"'<br />
;; <br />
esac <br />
<br />
use_color=true<br />
<br />
safe_term=${TERM//[^[:alnum:]]/?} # sanitize TERM <br />
match_lhs="" <br />
[[ -f ~/.dir_colors ]] && match_lhs="${match_lhs}$(<~/.dir_colors)"<br />
[[ -f /etc/DIR_COLORS ]] && match_lhs="${match_lhs}$(</etc/DIR_COLORS)"<br />
[[ -z ${match_lhs} ]] \<br />
&& type -P dircolors >/dev/null \<br />
&& match_lhs=$(dircolors --print-database)<br />
[[ $'\n'${match_lhs} == *$'\n'"TERM "${safe_term}* ]] && use_color=true<br />
<br />
if ${use_color} ; then<br />
# Enable colors for ls, etc. Prefer ~/.dir_colors #64489<br />
if type -P dircolors >/dev/null ; then<br />
if [[ -f ~/.dir_colors ]] ; then<br />
eval $(dircolors -b ~/.dir_colors)<br />
elif [[ -f /etc/DIR_COLORS ]] ; then<br />
eval $(dircolors -b /etc/DIR_COLORS)<br />
fi<br />
fi<br />
<br />
if [[ ${EUID} == 0 ]] ; then<br />
PS1='\[\033[01;31m\]\h\[\033[01;34m\] \W \$\[\033[00m\] '<br />
else<br />
PS1='\[\033[01;32m\]\u@\h\[\033[01;34m\] \w \$\[\033[00m\] '<br />
fi<br />
<br />
else<br />
if [[ ${EUID} == 0 ]] ; then<br />
# show root@ when we don't have colors<br />
PS1='\u@\h \W \$ '<br />
else<br />
PS1='\u@\h \w \$ '<br />
fi<br />
fi<br />
<br />
unset use_color safe_term match_lhs<br />
</source><br />
<br />
Please note that when running as root, ls --color will segfault. See [[How To Use "ls" In Color]] for more information.</div>
Raeb
http://wiki.webos-internals.org/index.php?title=Tutorials_Linux_DDNS_Update_Client_ez-ipupdate&diff=743
Tutorials Linux DDNS Update Client ez-ipupdate
2009-07-20T04:34:30Z
<p>Raeb: adjust numbering</p>
<hr />
<div>This document describes a method to setup '''ez-ipupdate''' to automatically update a dynamic DNS hostname to your Palm Pre's Sprint IP address living on ppp0. for updating your Pre's DNS information using a Dynamic DNS service. If your Dynamic DNS service only offers updating via URL, or your service is not supported here, you may want to check [[Tutorials_Linux_DDNS_Update_Client_wget]].<br />
<br />
The benefit of the '''ez-ipupdate''' configuration on this page is that it only runs when the IP address changes on your Pre. This way it doesn't use any memory/CPU or other resources on an ongoing basis. As an alternative, you could choose to set up the '''INADYN''' client, as described on [[Tutorials_Linux_DDNS_Update_Client_INADYN|Setting up the INADYN client on the Pre]], however, note that the '''INADYN''' configuration listed there runs '''INADYN''' as a daemon so it continuously consumes memory.<br />
<br />
Every time your pre connects to the Sprint network, its IP address changes. If you want to access things on the Pre itself via the EVDO network, this is a pain since you have to look up the IP address each time. Dynamic DNS services allow you to have a stable name for the pre like: mypre.dyndns.org and each time the address changes on the Pre, the phone itself will update the IP address at dyndns.org so that your name always works. <br />
<br />
<br />
==Prerequisites.==<br />
* This page assumes that you have just finished the procedure on the [[Portal:Accessing_Linux]] page, and are still logged in as root via telnet, novaterm, or novaproxy.<br />
* You should also have gone through the next steps page.<br />
<br />
==Create a Dynamic DNS Account at one of the following:==<br />
<br />
* http://www.ez-ip.net<br />
* http://www.justlinux.com<br />
* http://www.dhs.org<br />
* http://www.dyndns.org<br />
* http://www.ods.org<br />
* http://gnudip.cheapnet.net (GNUDip)<br />
* http://www.dyn.ca (GNUDip)<br />
* http://www.tzo.com<br />
* http://www.easydns.com<br />
* http://www.dyns.cx<br />
* http://www.hn.org<br />
* http://www.zoneedit.com<br />
<br />
[[Tutorials_Linux_DDNS_Update_Client_wget|Update freedns.afraid.org and other URL-based update services]].<br />
<br />
==Enabling write access to the file system==<br />
mount -o remount,rw /<br />
<br />
==Install ez-ipupdate==<br />
/opt/bin/ipkg-opt install ez-ipupdate<br />
<br />
===Configure ez-ipupdate.===<br />
You will need to create a /opt/etc/ipupdate.conf file that has the information you gathered when you created your DDNS account in step 1. Here is an example /opt/etc/ipupdate.conf file to base your work off of<br />
service-type=MY SERVICE PROVIDER<br />
user=MYACCOUNT:MYPASSWORD<br />
interface=ppp0<br />
host=MY.HOST.NAME<br />
cache-file=/opt/var/run/ez-ipupdate.cache<br />
foreground<br />
retrys=5<br />
<br />
Note legal service-type values are:<br />
ez-ip<br />
pgpow<br />
dhs<br />
dyndns<br />
dyndns-static<br />
dyndns-custom<br />
ods<br />
tzo<br />
easydns<br />
easydns-partner<br />
gnudip<br />
justlinux<br />
dyns<br />
hn<br />
zoneedit<br />
heipv6tb<br />
<br />
===Create the directory /opt/var/run needed for software such as ez-ipupdate for it's cache and run file===<br />
mkdir -p /opt/var/run<br />
<br />
==6. Test your settings==<br />
/opt/bin/ez-ipupdate -c /opt/etc/ipupdate.conf<br />
When this step completes successfully then we can make it automatic.<br />
<br />
==Make this run whenever your ppp0 (EV-DO) IP address changes:==<br />
You can do this by adding a script to /etc/ppp/ip-up.d called 09update-ddns. Here are the contents of that /etc/ppp/ip-up.d/09update-ddns:<br />
#!/bin/sh<br />
/opt/bin/ez-ipupdate -c /opt/etc/ipupdate.conf -q > /dev/null 2>&1 || /bin/true<br />
<br />
===Make this script executable===<br />
chmod 755 /etc/ppp/ip-up.d/09update-ddns<br />
<br />
==Remount the file system as readonly==<br />
mount -o remount,ro /<br />
<br />
For your terminal settings you can look here - fixme:[[[Putty |Putty settings for DynDNS]]]<br />
<br />
<br />
<br />
* Tutorial by dreadchicken.<br />
* Verified to work as written by optik678, ultraBlack and hopspitfire.<br />
* Simplification and more details by Dax Kelson.</div>
Raeb
http://wiki.webos-internals.org/index.php?title=Tutorials_Linux_DDNS_Update_Client_wget&diff=620
Tutorials Linux DDNS Update Client wget
2009-07-20T01:24:51Z
<p>Raeb: /* Obtain the Update URL provided by your service */</p>
<hr />
<div>This document contains instructions for setting up your Pre to automatically update a dynamic DNS hostname to your Palm Pre's IP address (assigned by your data service provider).<br />
<br />
If you're using the Optware Package Feed you might want to check out [[Tutorials_Linux_DDNS_Update_Client_ez-ipupdate|ez-ipupdate]] or [[Tutorials_Linux_DDNS_Update_Client_INADYN|INADYN]]. However, if your dynamic DNS service isn't supported by either of these, you're building a custom service, or you want a freedns.afraid.org solution that doesn't require an always-on daemon, this guide may be for you.<br />
<br />
This mechanism functions by adding a priority default routing rule that forces all traffic to go over the ppp0 (EV-DO) connection. This ensures we're updating your service with your ppp0 ip and not your eth0 (Wifi) ip. It optionally then finds your IP address from http://checkip.dyndns.org. Then, it calls your update URL. Finally, it removes the default route it created in step 1.<br />
<br />
==Prerequisites==<br />
* This page assumes that you have just finished the procedure on the [[Portal:Accessing_Linux]] page, and are still logged in as root via telnet, novaterm, or novaproxy.<br />
* This page assumes you have a Dynamic DNS service account with a service that provides URL based updating (i.e. http://freedns.afraid.org)<br />
<br />
==Enabling write access to the file system==<br />
mount -o remount,rw /<br />
<br />
==Obtain the Update URL provided by your service==<br />
For http://freedns.afraid.org, log in, and find the 'Direct Update URL' for your dynamic DNS entry. Mine looks like this:<br />
http://freedns.afraid.org/dynamic/update.php?ZzYyXxWwUuTtSsRr==<br />
<br />
This updates the IP of my DNS entry to the IP of the client. We need to make sure we call this address from the ppp0 interface so that it updates to the correct IP. When the Pre is connected to a wifi connection, a default routing entry forces all data to go over that connection.<br />
<br />
However, your service may differ, and require different information (example):<br />
http://mydynamicdnsservice.com/?host=myhost.com&Ip=99.123.222.101<br />
<br />
<br />
This example doesn't require the caller to be from the new target IP address, and won't need the routing entries.<br />
<br />
==Update your service whenever your ppp0 (EV-DO) IP address changes==<br />
You can do this by adding a script to /etc/ppp/ip-up.d called 09update-ddns.<br />
<br />
This is the script for the first example shown above:<br />
#!/bin/sh<br />
export gateway=`ip route | tail -1 | awk '{print $3}'`<br />
ip route add default via $gateway dev ppp0 metric 1<br />
wget -qO- http://freedns.afraid.org/dynamic/update.php?ZzYyXxWwUuTtSsRr==<br />
ip route del default via $gateway dev ppp0 metric 1<br />
<br />
This is the script for the second example. Note that it gets your IP address and stores it in $myip:<br />
#!/bin/sh<br />
export myip=`ifconfig ppp0 | head -2 | tail -1 | awk '{print $2}' | sed 's/[^1-9.]//g'`<br />
wget -qO- http://mydynamicdnsservice.com/?host=myhost.com&Ip=$myip<br />
<br />
<br />
===Make this script executable===<br />
chmod 755 /etc/ppp/ip-up.d/09update-ddns<br />
<br />
==Remount the file system as readonly==<br />
mount -o remount,ro /<br />
<br />
* by raeb<br />
* big thanks to dreadchicken's tutorial</div>
Raeb
http://wiki.webos-internals.org/index.php?title=Tutorials_Linux_DDNS_Update_Client_wget&diff=616
Tutorials Linux DDNS Update Client wget
2009-07-20T01:21:02Z
<p>Raeb: initial version</p>
<hr />
<div>This document contains instructions for setting up your Pre to automatically update a dynamic DNS hostname to your Palm Pre's IP address (assigned by your data service provider).<br />
<br />
If you're using the Optware Package Feed you might want to check out [[Tutorials_Linux_DDNS_Update_Client_ez-ipupdate|ez-ipupdate]] or [[Tutorials_Linux_DDNS_Update_Client_INADYN|INADYN]]. However, if your dynamic DNS service isn't supported by either of these, you're building a custom service, or you want a freedns.afraid.org solution that doesn't require an always-on daemon, this guide may be for you.<br />
<br />
This mechanism functions by adding a priority default routing rule that forces all traffic to go over the ppp0 (EV-DO) connection. This ensures we're updating your service with your ppp0 ip and not your eth0 (Wifi) ip. It optionally then finds your IP address from http://checkip.dyndns.org. Then, it calls your update URL. Finally, it removes the default route it created in step 1.<br />
<br />
==Prerequisites==<br />
* This page assumes that you have just finished the procedure on the [[Portal:Accessing_Linux]] page, and are still logged in as root via telnet, novaterm, or novaproxy.<br />
* This page assumes you have a Dynamic DNS service account with a service that provides URL based updating (i.e. http://freedns.afraid.org)<br />
<br />
==Enabling write access to the file system==<br />
mount -o remount,rw /<br />
<br />
==Obtain the Update URL provided by your service==<br />
For http://freedns.afraid.org, log in, and find the 'Direct Update URL' for your dynamic DNS entry. Mine looks like this:<br />
http://freedns.afraid.org/dynamic/update.php?ZzYyXxWwUuTtSsRr==<br />
<br />
This updates the IP of my DNS entry to the IP of the client. We need to make sure we call this address from the {{ppp0}} interface so that it updates to the correct IP. When the Pre is connected to a wifi connection, a default routing entry forces all data to go over that connection.<br />
<br />
However, your service may differ, and require different information (example):<br />
http://mydynamicdnsservice.com/?host=myhost.com&Ip=99.123.222.101<br />
<br />
<br />
This example doesn't require the caller to be from the new target IP address, and won't need the routing entries.<br />
<br />
==Update your service whenever your ppp0 (EV-DO) IP address changes==<br />
You can do this by adding a script to /etc/ppp/ip-up.d called 09update-ddns.<br />
<br />
This is the script for the first example shown above:<br />
#!/bin/sh<br />
export gateway=`ip route | tail -1 | awk '{print $3}'`<br />
ip route add default via $gateway dev ppp0 metric 1<br />
wget -qO- http://freedns.afraid.org/dynamic/update.php?ZzYyXxWwUuTtSsRr==<br />
ip route del default via $gateway dev ppp0 metric 1<br />
<br />
This is the script for the second example. Note that it gets your IP address and stores it in $myip:<br />
#!/bin/sh<br />
export myip=`ifconfig ppp0 | head -2 | tail -1 | awk '{print $2}' | sed 's/[^1-9.]//g'`<br />
wget -qO- http://mydynamicdnsservice.com/?host=myhost.com&Ip=$myip<br />
<br />
<br />
===Make this script executable===<br />
chmod 755 /etc/ppp/ip-up.d/09update-ddns<br />
<br />
==Remount the file system as readonly==<br />
mount -o remount,ro /<br />
<br />
* by raeb<br />
* big thanks to dreadchicken's tutorial</div>
Raeb
http://wiki.webos-internals.org/index.php?title=Tutorials_Linux_DDNS_Update_Client_INADYN&diff=603
Tutorials Linux DDNS Update Client INADYN
2009-07-20T01:12:50Z
<p>Raeb: initial from old wiki</p>
<hr />
<div>The Dynamic DNS client [http://linux.die.net/man/8/inadyn INADYN] is well used around the world. It is typically found on OpenWRT, DD-WRT Routers, and now can be on your Palm Pre. The INADYN service maintain your IP address in relation to the DNS hosting of your choice.<br />
This should help friends reach services you may run in the future. Services such as Dropbear, lighttpd and SFTP. It's assumed that firewall configuration on WiFi connections will need attention.<br />
<br />
Authentication through DNS matching can now be achieved.<br />
<br />
[http://www.dd-wrt.com/wiki/index.php/DDNS_-_How_to_setup_Custom_DDNS_settings_using_embedded_inadyn_-_HOWTO Configuration details for DDNS services listed below]<br />
<br />
[http://www.dyndns.com dyndns]<br />
<br />
[http://www.easydns.com easydns]<br />
<br />
[http://freedns.afraid.org afraid]<br />
<br />
[http://www.no-ip.com no-ip]<br />
<br />
[http://www.tzo.com tzo]<br />
<br />
[http://www.zoneedit.com zoneedit]<br />
<br />
[http://www.ChangeIP.com changeip]<br />
<br />
[http://www.regfish.de regfish]<br />
<br />
[http://www.dnsomatic.com dnsomatic]<br />
<br />
<br />
Below are simple get-to syntax & conf examples.<br />
<br />
Install the inadyn backend service:<br />
/opt/bin/ipkg-opt update ; /opt/bin/ipkg-opt install inadyn<br />
<br />
/etc/event.d/webos-inadyn:<br />
description "inadyn Daemon for WebOS"<br />
author "oc80z"<br />
start on started<br />
nice 5<br />
respawn<br />
exec /opt/bin/inadyn --input_file /var/opt/etc/inadyn.conf<br />
<br />
/var/opt/etc/inadyn.conf:<br />
dyndns_system default@freedns.afraid.org<br />
alias palmpre.evilvho.st<br />
dyndns_server_name freedns.afraid.org<br />
dyndns_server_url /dynamic/update.php?**<inserted afraid.org hash here>**<br />
update_period_sec 400<br />
verbose 0<br />
<br />
Note: WiFi (eth0) may/will override Evdo (ppp0) DNS settings with the above code. Services on <1024 may/will be firewalled. However if UPnP is enabled we can utilize //libupnp// (The Universal Plug and Play (UPnP) SDK for Linux provides support for building UPnP-compliant control points, devices, and bridges)<br />
<br />
See [[Tutorials_Linux_DDNS_Update_Client_wget]] if your dynamic DNS supports URL based updates (i.e. freedns.afraid.org) to ensure updates are always with your device's radio IP. This method also doesn't require an always-on daemon, and updates only when your IP changes.</div>
Raeb
http://wiki.webos-internals.org/index.php?title=Portal:Linux_Applications&diff=600
Portal:Linux Applications
2009-07-20T01:09:45Z
<p>Raeb: </p>
<hr />
<div>__notoc__<br />
{{reorganize|This page needs to be reorganized still.}}<br />
{{portal-header<br />
|The Pre runs a very standard Linux on a commonly available processor. Very soon after access was achieved to the Linux, the Optware team made the entire catalog of Optware packages available on the pre. <br />
<br />
More about the Optware project here: [http://www.nslu2-linux.org/wiki/Optware/Packages Optware Packages].<br />
<br />
You can view a list of available packages here: [http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/ List of Packages].<br />
<br />
The community has been busy porting other applications to the Pre. Some of those are listed, and have pages for them below.<br />
}}<br />
{{portal-three-columns<br />
|column1=<br />
* [[Portal:Linux_Applications_All|All]]<br />
* [[Portal:Linux_Applications_Business|Business]]<br />
* [[Portal:Linux_Applications_Communications|Communications]]<br />
* [[Portal:Linux_Applications_Entertainment|Entertainment]]<br />
<br />
|column2=<br />
* [[Portal:Linux_Applications_Food|Food]]<br />
* [[Portal:Linux_Applications_Games|Games]]<br />
* [[Portal:Linux_Applications_Lifestyle|Lifestyle]]<br />
* [[Portal:Linux_Applications_News|News]]<br />
<br />
|column3=<br />
* [[Portal:Linux_Applications_Social Networking|Social Networking]]<br />
* [[Portal:Linux_Applications_Tutorial|Tutorial]]<br />
* [[Portal:Linux_Applications_Utilities|Utilities]]<br />
* [[Portal:Linux_Applications_Productivity|Productivity]]<br />
}}<br />
{{portal-two-columns<br />
|column1=<br />
== Tutorials ==<br />
<br />
* [[Portal:Accessing Linux|Follow the Accessing Linux Article First]]<br />
* [[Tutorials Linux Getting Started|Getting Started]]<br />
* [[Tutorials_Linux_DDNS_for_EVDO|Dynamic DNS for EVDO]]<br />
<br />
== Want to write a tutorial and Add it? ==<br />
<br />
Just name the tutorial with<br />
<br />
"Tutorials Linux " + name<br />
<br />
Ex: Tutorials_Linux_Getting_Started<br /><br />
(spaces are the same thing as underscores)<br />
<br />
|column2=<br />
== Policies about adding Applications ==<br />
<br />
You are allowed to add applications up that are in development. You may get a banner placed above your applications page later on though.<br />
<br />
}}</div>
Raeb
http://wiki.webos-internals.org/index.php?title=Tutorials_Linux_DDNS_Update_Client_ez-ipupdate&diff=599
Tutorials Linux DDNS Update Client ez-ipupdate
2009-07-20T01:07:59Z
<p>Raeb: inital port from old wiki</p>
<hr />
<div>This document describes a method to setup '''ez-ipupdate''' to automatically update a dynamic DNS hostname to your Palm Pre's Sprint IP address living on ppp0. for updating your Pre's DNS information using a Dynamic DNS service. If your Dynamic DNS service only offers updating via URL, or your service is not supported here, you may want to check [[Tutorials_Linux_DDNS_Update_Client_wget]].<br />
<br />
The benefit of the '''ez-ipupdate''' configuration on this page is that it only runs when the IP address changes on your Pre. This way it doesn't use any memory/CPU or other resources on an ongoing basis. As an alternative, you could choose to set up the '''INADYN''' client, as described on [[Tutorials_Linux_DDNS_Update_Client_INADYN|Setting up the INADYN client on the Pre]], however, note that the '''INADYN''' configuration listed there runs '''INADYN''' as a daemon so it continuously consumes memory.<br />
<br />
Every time your pre connects to the Sprint network, its IP address changes. If you want to access things on the Pre itself via the EVDO network, this is a pain since you have to look up the IP address each time. Dynamic DNS services allow you to have a stable name for the pre like: mypre.dyndns.org and each time the address changes on the Pre, the phone itself will update the IP address at dyndns.org so that your name always works. <br />
<br />
<br />
==Prerequisites.==<br />
* This page assumes that you have just finished the procedure on the [[Portal:Accessing_Linux]] page, and are still logged in as root via telnet, novaterm, or novaproxy.<br />
* You should also have gone through the next steps page.<br />
<br />
===1. Create a Dynamic DNS Account at one of the following:===<br />
<br />
* http://www.ez-ip.net<br />
* http://www.justlinux.com<br />
* http://www.dhs.org<br />
* http://www.dyndns.org<br />
* http://www.ods.org<br />
* http://gnudip.cheapnet.net (GNUDip)<br />
* http://www.dyn.ca (GNUDip)<br />
* http://www.tzo.com<br />
* http://www.easydns.com<br />
* http://www.dyns.cx<br />
* http://www.hn.org<br />
* http://www.zoneedit.com<br />
<br />
[[Tutorials_Linux_DDNS_Update_Client_wget|Update freedns.afraid.org and other URL-based update services]].<br />
<br />
===2. Enabling write access to the file system:===<br />
mount -o remount,rw /<br />
<br />
===3. Install ez-ipupdate:===<br />
/opt/bin/ipkg-opt install ez-ipupdate<br />
<br />
===4. Configure ez-ipupdate. You will need to create a /opt/etc/ipupdate.conf file that has the information you gathered when you created your DDNS account in step 1. Here is an example /opt/etc/ipupdate.conf file to base your work off of:===<br />
service-type=MY SERVICE PROVIDER<br />
user=MYACCOUNT:MYPASSWORD<br />
interface=ppp0<br />
host=MY.HOST.NAME<br />
cache-file=/opt/var/run/ez-ipupdate.cache<br />
foreground<br />
retrys=5<br />
<br />
Note legal service-type values are:<br />
ez-ip<br />
pgpow<br />
dhs<br />
dyndns<br />
dyndns-static<br />
dyndns-custom<br />
ods<br />
tzo<br />
easydns<br />
easydns-partner<br />
gnudip<br />
justlinux<br />
dyns<br />
hn<br />
zoneedit<br />
heipv6tb<br />
<br />
===5. Create the directory /opt/var/run needed for software such as ez-ipupdate for it's cache and run file:===<br />
mkdir -p /opt/var/run<br />
<br />
===6. Test your settings:===<br />
/opt/bin/ez-ipupdate -c /opt/etc/ipupdate.conf<br />
When this step completes successfully then we can make it automatic.<br />
<br />
===7. Make this run whenever your ppp0 (EV-DO) IP address changes:===<br />
You can do this by adding a script to /etc/ppp/ip-up.d called 09update-ddns. Here are the contents of that /etc/ppp/ip-up.d/09update-ddns:<br />
#!/bin/sh<br />
/opt/bin/ez-ipupdate -c /opt/etc/ipupdate.conf -q > /dev/null 2>&1 || /bin/true<br />
<br />
===8. Make this script executable:===<br />
chmod 755 /etc/ppp/ip-up.d/09update-ddns<br />
<br />
===9. Remount the file system as readonly:===<br />
mount -o remount,ro /<br />
<br />
For your terminal settings you can look here - fixme:[[[Putty |Putty settings for DynDNS]]]<br />
<br />
<br />
<br />
* Tutorial by dreadchicken.<br />
* Verified to work as written by optik678, ultraBlack and hopspitfire.<br />
* Simplification and more details by Dax Kelson.</div>
Raeb
http://wiki.webos-internals.org/index.php?title=Tutorials_Linux_DDNS_for_EVDO&diff=598
Tutorials Linux DDNS for EVDO
2009-07-20T00:55:19Z
<p>Raeb: /* Guides */</p>
<hr />
<div>== Guides ==<br />
'''[[Tutorials_Linux_DDNS_Update_Client_ez-ipupdate|Dynamic DNS Update Client: ez-ipupdate]]'''<br />
* This client has support for several Dynamic DNS services, and only updates when your IP address changes. Requires optware.<br />
<br />
<br />
'''[[Tutorials_Linux_DDNS_Update_Client_INADYN|Dynamic DNS Update Client: INADYN]]'''<br />
*This client is a daemon that runs that occasionally checks to see if your IP address needs to be updated. Requires optware.<br />
<br />
<br />
'''[[Tutorials_Linux_DDNS_Update_Client_wget|Dynamic DNS Update Client: wget]]''' (URL based updates)<br />
* This document describes a URL based update method that requires no extra software installation.<br />
<br />
<br />
All these methods assume you have [[Portal:Accessing_Linux|Accessed Linux]] on your device.</div>
Raeb
http://wiki.webos-internals.org/index.php?title=Tutorials_Linux_DDNS_for_EVDO&diff=595
Tutorials Linux DDNS for EVDO
2009-07-20T00:51:51Z
<p>Raeb: </p>
<hr />
<div>== Guides ==<br />
'''Dynamic DNS Client: ez-ipupdate'''<br />
* This client has support for several Dynamic DNS services, and only updates when your IP address changes. Requires optware.<br />
<br />
'''Dynamic DNS Client: INADYN'''<br />
*This client<br />
<br />
'''Dynamic DNS Client: wget''' (URL based updates)<br />
* This document describes a URL based update method that requires no extra software installation.<br />
<br />
<br />
All these methods assume you have Accessed Linux on your device.</div>
Raeb
http://wiki.webos-internals.org/index.php?title=Tutorials_Linux_DDNS_for_EVDO&diff=588
Tutorials Linux DDNS for EVDO
2009-07-20T00:46:41Z
<p>Raeb: </p>
<hr />
<div>* under construction</div>
Raeb
http://wiki.webos-internals.org/index.php?title=Tutorials_Linux_DDNS_for_EVDO&diff=586
Tutorials Linux DDNS for EVDO
2009-07-20T00:46:29Z
<p>Raeb: New page: * TEST</p>
<hr />
<div>* TEST</div>
Raeb
http://wiki.webos-internals.org/index.php?title=Portal:Linux_Applications&diff=585
Portal:Linux Applications
2009-07-20T00:44:56Z
<p>Raeb: adding ddns tutorial link</p>
<hr />
<div>__notoc__<br />
{{reorganize|This page needs to be reorganized still.}}<br />
{{portal-header<br />
|The Pre runs a very standard Linux on a commonly available processor. Very soon after access was achieved to the Linux, the Optware team made the entire catalog of Optware packages available on the pre. <br />
<br />
More about the Optware project here: [http://www.nslu2-linux.org/wiki/Optware/Packages Optware Packages].<br />
<br />
You can view a list of available packages here: [http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/unstable/ List of Packages].<br />
<br />
The community has been busy porting other applications to the Pre. Some of those are listed, and have pages for them below.<br />
}}<br />
{{portal-three-columns<br />
|column1=<br />
* [[Portal:Linux_Applications_All|All]]<br />
* [[Portal:Linux_Applications_Business|Business]]<br />
* [[Portal:Linux_Applications_Communications|Communications]]<br />
* [[Portal:Linux_Applications_Entertainment|Entertainment]]<br />
<br />
|column2=<br />
* [[Portal:Linux_Applications_Food|Food]]<br />
* [[Portal:Linux_Applications_Games|Games]]<br />
* [[Portal:Linux_Applications_Lifestyle|Lifestyle]]<br />
* [[Portal:Linux_Applications_News|News]]<br />
<br />
|column3=<br />
* [[Portal:Linux_Applications_Social Networking|Social Networking]]<br />
* [[Portal:Linux_Applications_Tutorial|Tutorial]]<br />
* [[Portal:Linux_Applications_Utilities|Utilities]]<br />
* [[Portal:Linux_Applications_Productivity|Productivity]]<br />
}}<br />
{{portal-two-columns<br />
|column1=<br />
== Tutorials ==<br />
<br />
* [[Portal:Accessing Linux|Follow the Accessing Linux Article First]]<br />
* [[Tutorials Linux Getting Started|Getting Started]]<br />
* [[Tutorials_Linux_DDNS_for_EVDO|Dynamic DNS for EVDEO]]<br />
<br />
== Want to write a tutorial and Add it? ==<br />
<br />
Just name the tutorial with<br />
<br />
"Tutorials Linux " + name<br />
<br />
Ex: Tutorials_Linux_Getting_Started<br /><br />
(spaces are the same thing as underscores)<br />
<br />
|column2=<br />
== Policies about adding Applications ==<br />
<br />
You are allowed to add applications up that are in development. You may get a banner placed above your applications page later on though.<br />
<br />
}}</div>
Raeb