Host your website home and dynamic update dns zone on zoneedit.com
This week I tried to find a solution for hosting my website (www.syshalt.net) home on a small server. I had all resources but no fixed IP in order to host DNS Server in my location. I have an ultra-fast connection but I`m connecting using PPPoE and after each disconnect and reconnect my IP changes.
After some time researching on internet I found that there are free solutions to this approach, and you can host your website on your home server.
First this you need to do is to go on www.zoneedit.com and register an account. Zone Edit hosts for FREE a Dynamic DNS Zone. What that means? Well they host for you DNS zone and you can update dynamic the DNS when your ip changes. After you register on zoneedit, create a zone name with your domain name and set the TTL to 300. Now you will need to go to your domain registrant account and change the DNS servers to the ones provided to you from zoneedit.com (when you log on member area, on the left side under "Host Status")
The final step is to install a client that updates on zoneedit.com your WAN ip every time it changes.
Installation on Windows:
After searching a windows client that can be installed as a windows server, and what I found did not worked as expected, I decided to create my own client that has no GUI, it runs only as a windows service and updates the zone automatically on zoneedit.com
zeDynDNS Version 1.2 - Download
Changes
- Fixed some issues on event messages handling.
The setup will install the client in C:\Program files\zeDynDNS and register automatically as windows service. After install go to installed folder and open zeDynDNS.ini in order to configure username, password (for zoneedit), domain zone (to be updated), update interval (default 5 minutes). Reboot your server or restart the service (Start -> run -> services.msc and find Zone Edit DynDNS) in order to apply the new settings.
Installation on Linux/UNIX (info from zoneedit.com)
Recommanded client by me: http://encodable.com/eponym/ (I used this on a linux server and works very good)
You can also use these commands:
lynx -source -auth=username:password 'http://dynamic.zoneedit.com/auth/dynamic.html?host=www.mydomain.com'
or
wget -O - --http-user=username --http-passwd=password 'http://dynamic.zoneedit.com/auth/dynamic.html?host=www.mydomain.com'
PPP users should place one of the above commands (or a perl client) in the file /etc/ppp/ip-up or /etc/ppp/ppp.linkup, which are called whenever a ppp connection is made.
Users of dhcpcd may place these commands in the file /etc/dhcpc/dhcpcd-eth0.exe or /etc/dhcpc/dhcpcd-eth1.exe which are executed whenever a new dynamic IP address is acquired.
More info you can find here: http://www.zoneedit.com/doc/dynamic.html
Compile C applications with gcc on iOS 4 (iPhone)
I search a lot on internet how to do this, and I found some info from Anastas Stoyanovsky. Most people posted that if you install libgcc on iOS 4 it will crash at boot but this is not true.
Here is what you need to do in order to be able to compile and run a C application on iphone:
1. You will need to Jailbreak the iPhone first, search on google for more info.
2. Install OpenSSH from Cydia.
3. Connect iPhone to your wireless network and SSH to it.
4. Download this application using: wget http://www.syshalt.net/pub/iphone/gcc-iphone/fake-libgcc_1.0_iphoneos-arm.deb
5. Install libcc using: dpkg –i fake-libgcc_1.0_iphoneos-arm.deb
6. Install iphone-gcc using this command: apt-get install iphone-gcc
(you can download this version from my website: iphone-gcc if does not work on your device the one that is installed by default)
7. Download using: wget http://www.syshalt.net/iphone/gcc-iphone/sdk-2.0-headers.tar.gz
8. Untar with command: tar -xvzf sdk-2.0-headers.tar.gz
9. Enter in the new created folder with: cd include-2.0-sdk-ready-for-iphone
10. Copy all files to include folder with command: cp –r * /usr/include
11. Now type: cd .. in order to return to the previous folder
12. Download using: wget http://www.syshalt.net/iphone/gcc-iphone/gcc_files.tar.gz
13. Untar with command: tar -xvzf gcc_files.tar.gz
14. Enter in the new created folder with command: cd gcc_files
15. Copy all files to /usr/lib using command: cp –r * /usr/lib
16. Install ldid to sign the application (this will prevent iOS to kill the application at startup) using: apt-get install ldid
17. Sign your compilet aplication using: ldid –S <application>
18. Run the application using: ./<application>Suggestion: Install using: apt-get install nano
This will help you code easy directly from terminal.
Here is an example of hello world using C and gcc to compile on iPhone iOS 4:
I used nano hello.c in terminal to open a new files and writed this simple application:
#include <stdio.h>
int main()
{
printf("hello, world\n");
return 0;
}
and then CTRL+X to save it, then I typed: gcc –o hello hello.c and after that ldid –S hello
Now you can run your application using ./hello