How to remove ads from your ad supported Kindle 4 and Kindle Touch for free

December 4th, 2011

Amazon’s Kindle 4 comes in two flavors, one that is ad supported ($79) and one that isn’t ($109, price difference of $30). If you have the ad supported one, at any point in time Amazon allows you to pay the difference of $30 and remove the ads. In this article I will explain not only how you can remove the ads at no cost, but also how you can replace them with your own screensaver images. Very cool stuff! This procedure should also work for the Kindle 3, but I haven’t tried it. Recently I had confirmation that it works for the Kindle Touch.

I will first explain how to simply remove the ads (and keep the default screensaver images provided by Amazon) because this is the easiest method. If you are up for the challenge I will then explain how you can also replace the default screensaver images with your own ones! It’s not that much more difficult but it does require a few extra steps. The screenshots and instructions are for Windows users but the same operations can be done on OSX or Linux.

Before we get started: backup your stuff!

If you have books, notes and whatsoever on your Kindle, you should backup your stuff before proceeding. Amazon’s whispersync is pretty good at synching your stuff, but it’s better to make a copy of your own! Connect your Kindle via USB and make a copy of the documents, and .active-content-data folder. Save it somewhere on your Desktop.

Method 1: Remove the ads

From your Kindle, press the menu button (the one on the left of the home button) and select the “Settings” menu. From there press the “Reset to Factory Defaults” button.

You will be asked to confirm your choice, select “OK”. Press the home button and wait for your Kindle to restart.

Once restarted, select your language but DO NOT connect the Kindle to WiFi yet. Leave the Kindle at the connect to WiFi screen and plug it to your USB port.

From there, navigate to your Kindle drive, into the system directory (this might be hidden if you haven’t set Windows Explorer to show hidden files and folders) and create an empty text file. Then from a console prompt rename the file into “.assets”. Knowing that many people would struggle with these steps, I made a nice program that does it all for you (Windows users only). So you can simply download my Kindle4Free script, extract it on your Desktop and double click the Kindle4Free.bat file. The script will detect where your Kindle drive’s is and do the steps for you.

OSX/Linux users instead can simply type this in a Terminal window:

$ touch /mnt/Kindle/system/.assets

Where /mnt/Kindle is the mount point of your device.

Connect to WiFi, log-in into your Amazon’s account and enjoy your Ad Free Kindle. Simply copy back your documents and .active-content-data folder to restore your backup.

Method 2: Remove the ads AND replace them with images of your choice

Amazon’s default screensavers are OK, but they get boring after a while (plus there are some awesome ones on kindlewallpapers.tumblr.com that are worth checking out). Let’s see how it’s done.

When the Kindle connects to the internet, it first checks whether you have purchased the $30 dollar difference to find out if ads need to be downloaded.

Curious fact: if you never log-in with your account by skipping the log-in step during the first time setup, you will never see any ads.

If you haven’t paid the difference, the Kindle connects to a server (specifically, adpublisher.s3.amazonaws.com), downloads the ads and displays them to the user. Every ad has a start date, an expiration date and a priority. The process of replacing the ads with our own images goes as follow:

  • We first trick the Kindle into believing that the ad server is located in our local network instead of the internet.
  • We run a “fake” advertisement server on our local network that will serve the Kindle with our own “ads” (images) that will have top priority and will never expire (in fact they will, in 2024 but we won’t worry about it just yet). This will guarantee that even if new ads will be downloaded by the real ad server, they will not be displayed because their priority will be lower.

The process is explained in this simple picture:

Software requirements

  • Ruby 1.9 (Windows, OSX and Linux). This is required to run the ad server. Version 1.8 will NOT work.
  • k4freeserver (Windows, OSX and Linux). It’s my version of the ad server.

If your router allows you to add DNS entries you do not need these additional items, you can simply configure it to resolve all requests for adpublisher.s3.amazonaws.com to the address where you will run the ad server. If your router does not support this feature or if you didn’t understand what I just wrote, please download this additional program.

  • Simple DNS Plus (Windows users, it’s a 14 days trial but you only need it once, after you’re done you can uninstall it).
  • dnsmasq (OSX and Linux users)

Find out your network configuration

Since we will manually type the network configuration of the Kindle, we need to find out a few things. On Windows, click on the icon in the system tray where you can select your WiFi connections. Then right click the network you are currently connected to and press “Status”.

From the newly opened window, press the “Details” button.

Write down on a piece of paper the following information from the Details window:

  • IPv4 Address
  • IPv4 Subnet Mask
  • IPv4 Default Gateway

Also take the the last set of digits from the IPv4 Address and add 50 to it. Then write down on your piece of paper Kindle IPv4 Address and note down the new address. For example, if my IPv4 Address is 192.168.1.107 I take the last set of digits (107), add 50 (107 + 50 = 157) and write my Kindle IPv4 Address as 192.168.1.157. This has a good chance of being a valid and unused address for your network. If that address is already being used by another device you should pick another one.

Configure the DNS server

Open Simple DNS Plus. From the toolbar press the “New” button, then “New Zone”.

Choose “Primary Zone”.

Choose “Forward Zone”.

Type “adpublisher.s3.amazonaws.com”.

From the toolbar, press the “New” button and click on the “New A-Record (Host Address)” button.

Type your IPv4 Address into the box. Leave the other options unchanged.

Press OK. Make sure you press the “Save” button to apply the changes done so far. At the end your screen should look like this:

You can close the window. The program will continue running in the background.

If you are using OSX/Linux, after you have installed dnsmasq add the following line to your /etc/dnsmasq.conf, then simply restart the service (or if you don’t know how to do that, simply reboot your computer):

address=/adpublisher.s3.amazonaws.com/IPv4 Address

Of course replace IPv4 Address with the proper value.

Start the Ad Server

Open the directory where you extracted k4freeserver.

  • If you have a Kindle 4, open the k4freeserver/Ads/Kindle/Screensavers folder. Remember that you will place .GIF images here.
  • If you have a Kindle Touch, open the k4freeserver/Ads/KindleTouch/Screensavers folder. Remember that you will place .PNG images here.

These are the locations where you can put your screensavers! The images will be fed to the Kindle in random order whenever there’s a request for an ad! Search on the internet for some cool screensavers and save them into this folder. You can also create your own images as long as they are of 600×800 dimensions (in .gif format if you have a Kindle 4 or .png if you have a Kindle Touch). Keep in mind that the number of screensavers you can put depends on the number of ads that Amazon decides to request when you start-up your Kindle. Saying that at least 5 ads will be requested is a pretty safe assumption, so try to limit your number of screensavers to 5-10. You can place more images than that in the folder, but there’s a chance that some of them will never make it to the Kindle.

When you’re done selecting your awesome soon-to-be screensavers, double click “startServer.bat”. (OSX and Linux users can open a Terminal and launch it with a ./k4freeserver.rb –v). Keep in mind that you need administrative privileges to run the program. You should be greeted by an output that looks like this:

Launching k4freeserver...
k4free server 0.3
What device are you using?
        1) Kindle 4
        2) Kindle Touch
[1-2]:

Select the choice that best suits your case. You should see the following message:

1
Choosing Kindle as device
Images found:
./Ads/Kindle/Screensavers/pierotofy.gif
INFO  WEBrick 1.3.1
INFO  ruby 1.9.2 (2011-07-09) [i386-mingw32]
INFO  WEBrick::HTTPServer#start: pid=3688 port=80

We’re on! The program will now listen for incoming requests and reply with nicely packed ads! Make sure you keep the k4freeserver window open while you setup the Kindle; closing it will shutdown the server.

Troubleshooting the Ad Server

If you see the following warning message in the console window:

WARN TCPServer Error Only one usage of each socket address (protocol/network address/port) is normally
permitted. - bind(2)

It means that a program running on your computer is already using port 80 where the Ad Server tries to bind to. Programs that are known to occupy the port include Skype and the Microsoft SQL Reporting Service. Make sure you close any program that is potentially occupying port 80, then restart k4freeserver.

Setup your Kindle

If you have read through the first part of this article you have already made a backup of your device. Reset to Factory Default your Kindle, wait for restart, select your language and follow the procedure below to connect to WiFi. Do NOT press the name of your network to connect. When the network screen appears, move the cursor down to “Enter other Wi-Fi network” (or “Join” in the case of a Kindle Touch) and select “Advanced” from the popup window.

Fill the Network Information window with the following parameters (refer to the piece of paper where you wrote the configuration of your network):

  • Network Name: Type the name of your WiFi connection (which is displayed on the list of available networks when you try to connect to WiFi, for example chinanet in the screenshot)
  • Connection type: Static
  • IP Address: Kindle IPv4 Address
  • Subnet Mask: IPv4 Subnet Mask
  • Router: IPv4 Default Gateway
  • DNS: IPv4 Address
  • Security Type: This depends on the configuration of your network. If you have a passcode to connect to your WiFi you probably have WPA2 or WPA (WEP is more unlikely). If you do not have a passcode then choose None.
  • Password: This is where you put your passcode, if you have one.

Press Connect. Then log-in with your Amazon’s account. After a few seconds you should see some activity going on on the ad server window. This is a good sign! If after a while nothing happens and the normal Amazon’s ads appear, something probably went wrong with the configuration of your DNS server. If Amazon’s ads do not appear but no activity happens on the ad server window, you might have mistyped the network configuration. You can always start over anytime by resetting the Kindle to factory defaults. Now it’s time to press the sleep button on your Kindle and admire the result of your hard work! Phew!

Cleanup & Restore

You can now uninstall Simple DNS Plus, close the window for k4freeserver and move it to the trash. It’s OK, you can always download it again later. Also restore your Kindle backup by copying the documents and .active-content-data folder from the Desktop back to your device. Enjoy!

Last edited on 1/5/2012


Follow me @pierotofy and don't forget to
  • Qwertj

    Great :)

    • M8R-6xhoge

      It seems like it is possible but I want to confirm. You said that the ads created by the ad server will expire in 2024 and have a higher priority than the Amazon ones so… once you run all the software one time do you ever need to run it again? I plan on using the Kindle on several public wifi networks and want to make sure this will work.

      • Anonymous

        No you do not need to run the software again. Just one time. I’ve tested it for a few days while connected to a wifi network and amazon’s ads never showed up. But it’s hard to tell whether this will work for sure for longer periods. Theoretically it should work, but please let me know if the ads come back.

        • Someone

          if you update to the new 4.1 software on the kindle, this no longer works

  • Martin

    Hi, great explanation. One quick question: do you have a method if we’re going to be using different Wireless connections? It could be that I use others besides my home one. Thanks

    • Anonymous

      The Kindle connects to the internet through wireless, thus I don’t see how you could make it work without a wireless connection.

    • Anonymous

      As long as you have a computer connected to the same wireless connection, you should be able to achieve the same result. Just remember to specify the DNS address manually when you connect the Kindle to WiFi.

      • Martin

        Right, I understand the method. What if I actually want to use my Kindle on the go, without having to be close to a computer whose DNS I know?
        But maybe I’m asking for too much

        • Martin

          and second question… can you explain how to use dnsmasq (or some other on Linux)? I’m getting crazy because of the message “dnsmasq: Failed to create listening socket. Address already in use.” :(

        • Anonymous

          Yeah, you cannot do it without a computer.

  • Stan

    Sorry, I’m not familiar with Ruby/sniffers, but as far as I understood there’s a script which packages the image and some other files on an zip and serves it to Kindle — can you provide a link to a pre-made zip-file so I can cook one which would work for me and serve it off apache? And if it is created dynamically based on the Kindle’s serial number or something — where is that serial number located?

    • Anonymous

      It’s not a sniffer, the way you’re trying to do it is way more complicated than it would be to simply run the ruby server (this is why I created it in first place). You’ll have to fill in all the MD5 checksum for the image you’re putting, calculate the checksum of the archive and make sure Apache sends the proper headers back to the Kindle. If you have an apache server and you’d rather use that, you can check out pwnazon which does the same thing: http://code.google.com/p/joelisester-sandbox/downloads/detail?name=pwnazon.tar.gz&can=2&q=

  • Max from Urkraine =)

    first of all, sorry for my bad english
    Hi! If i understand right, i can replace images of my choice only if i have a kindle with AD ?
    But i have kindle with no ad (109$)
    Can I replace standard wallpappers to some other pictures?
    Or I must wait jailbreak ?

    • Anonymous

      Since no ads are being requested with the $109 version I don’t think you can apply this method. You might have to wait for jailbreak.

  • Hao Kindle

    hi,
    i found my IPv4 Address is 10.0.0.9. and i tried several times, my wifi still couldn’t work. is it possible due to my ip address?

    • Hao Kindle

      sorry for keeping asking questions.
      When i test the wifi, k4freeserver always tell me that ‘/rps’ not found and ‘favico.ico’ not found.
      how can i fix it?

      • Anonymous

        It’s difficult to tell where the problem is if you cannot connect to wifi. Make sure the address you are picking for your Kindle is available. Also, you cannot “test” the k4freeserver by using a web browser, it only replies to very specific queries (which the Kindle will make).

        • Hao Kindle

          thanks. I have to try more. I am really want to have my own screensaver on my kindle.
          By the way, could you write a simply instruction for setting up local server by dnsmasq?

          • Anonymous

            In your /etc/dnsmasq.conf file, add:

            address=/adpublisher.s3.amazonaws.com / IPv4 Address

            Save, restart the service.

  • Ted

    So I went for method 1, but now I get the non-ad screensaver pics and no way of getting back to reading other than to powercycle the device?!

    • Anonymous

      That’s weird. Have you tried to reset to factory default and try again? What device are you using? Have you used my script or have you typed the commands manually?

  • Kyle Latzke

    I followed this guide for Method 2, but rather than using Simple DNS Plus I just used my hosts file on my main computer which I route all my network traffic through to redirect adpublisher.s3.amazonaws.com to my computer’s IP.

    I saw activity in the k4freeserver window, but every line starts with “divided by 0″

    Now I don’t see any ads but I only see, what I assume, are the default non-ad screensavers.

    Here is an example of what showed in the server window:

    ad-id matched 3548329439267
    version matched 20111201174143
    divided by 0
    173.19.109.62 – – [12/Dec/2011:21:27:48 Central Standard Time] “GET /DTCP/2011-1
    2/ad-3548329439267.20111201174143.apg?software_rev=1308590058&patchVersion=2&cur
    rentTransportMethod=WIFI&currentMCC=&currentSponsoredHotspot= HTTP/1.1″ 500 309
    – -> /DTCP/2011-12/ad-3548329439267.20111201174143.apg?software_rev=1308590058&p
    atchVersion=2&currentTransportMethod=WIFI&currentMCC=&currentSponsoredHotspot=

  • zzz

    If you just want to remove the ads, do a factory reset, plug it in with usb and create a blank file “/system/.assets” . Tested on Kindle Touch.

  • http://www.axisdraco.com Ghad Arddhu

    Hello, thank you for this. The Method 1 is 100% legit and worked as a charm in my K4 $79.

    I’ve tried the Method 2 but when I start your K4 server I receive this message instead the one that you had wrote here:

    INFO WEBrick 1.3.1
    INFO ruby 1.9.3 (2011-10-30) [i386-mingw32]
    WARN TCPServer Error: Normalmente Ú permitida apenas uma utilizaþÒo de cada end
    ereþo de soquete (protocolo/endereþo de rede/porta). – bind(2)
    INFO WEBrick::HTTPServer#start: pid=6576 port=80

    This particular line is the one that is not fine, I guess “WARN TCPServer Error: Normalmente Ú permitida apenas uma utilizaþÒo de cada endereþo de soquete (protocolo/endereþo de rede/porta). – bind(2)”

    Since I use my Windows 7 in portuguese I will try translate the message to english: “Usually just one socket request is allowed (protocol/network address/port). – bind(2)”

    Can you help me?

    • Anonymous

      If you have a web server running on your computer, make sure you stop it before you run K4 Server. Skype is known to also bind to port 80, so try to close it if you have it running. I know that a few services like the SQL Reporting Service might be also be blocking it. Type http://localhost in your browser and see what comes out.

      • http://www.axisdraco.com Ghad Arddhu

        Thank you. With the Skype information I was able to solve this issue. Now I am a little worried since I did everthing fine and the Kindle is still displaying the kindle itself pictures, not any of those I placed in the right folder.

        • Anonymous

          Try resetting to factory defaults and start over.

  • BlubbBlubb

    Hey great Tutorial, but does this also work with the Touch?

    I tried everything, everything seems to be ok with the adserver but my kindle still only shows the default Wallpaper.

    • Anonymous

      Do you have the ad-supported version? It only works with that one.

      • BlubbBlubb

        Yes I have the Special Offers Version.

        Except from some warning (translated something like this: A connection was disconnected from software side (something like that))

        I didnt get any errors.

        And when i check the System Folder after the adserver should be done there is no .assets folder.

        I tried it several times (with windows and ubuntu)

        • Anonymous

          Can you please post the output of k4 server?

          • BlubbBlubb

            Sure, first the translated Error message:
            Eine bestehende Verbindung wurde softwaregesteuertdurch den Hostcomputer abgebrochen. = An established connection was aborted by the software in the host computer.

            Now the output:
            http://pastebin.com/aTaQXdxR

          • Anonymous

            It looks like something is blocking the server from sending the ads… your Kindle and DNS setup are OK. Do you have any firewalls/anti-virus programs running? http://www.chilkatsoft.com/p/p_515.asp

          • BlubbBlubb

            nope, deactivated the windows firewall (its always deactivate), deactivated my normal software Firewall (avira), disabled router firewall.

            Also i tried it again under Linux same output and the correct english translation seems to be: “connection reset by peer” (my Linux Installation is in english)

            Dont know what else to try, i really want my own wallpaper ^^

          • Anonymous

            Try this for me: start the k4freeserver and from another computer connect to: http://(IP_OF_K4SERVER)/DTCP/2011-11/ad-1456172431673.20111025202741.apg?software_rev=1308590058&patchVersion=2&currentTransportMethod=WIFI&currentMCC=&currentSponsoredHotspot=

            Does it download a file or reports an error?

          • BlubbBlubb

            I am able to download the file.

            Here is the log:
            http://pastebin.com/UsLNwEhi

          • Anonymous

            It looks like Amazon is pushing a new format for the ads (where PNGs are used instead of GIFs). I need to do a few experiments before I can push an update. I’ll keep you informed.

          • Anonymous

            Could you please try this new version and select the Kindle Touch in the startup option? http://www.pierotofy.it/data/projects/593/k4_free_server-0.3.00-251211.zip Also make sure that you put your PNG (not GIF) images in the ./Ads/KindleTouch/Screensavers folder. Let me know if it works, I haven’t tried it because I do not own a Kindle Touch.

          • BlubbBlubb

            works like a charm ;)

            But the kindle only loads 5 images, i guess there is no way to manipulate the number of requested ads?

          • Anonymous

            Unfortunately not, at least to my knowledge :)

          • BlubbBlubb

            Well i turned my WiFi off and on and now i got 8 ads on my kindle.

            Im gonna try it sometime again this week and hopefully the remaining 7 ads show up on my kindle as well.

            Thanks for the Update ;)

          • Anonymous

            Glad it worked, keep me informed if you find a way to get more ad requests.

  • http://www.facebook.com/rabvigil Rab Vigil

    Hi Everybody, I don’t know what i’ve done wrong, I even get access to kindle store but normal wallpapers keep showing, no improvements on custom wallpapers, not even the one with the eagle… i get the following message on the command prompt…

    Launching k4freeserver…
    k4free server 0.2
    Images found:
    ./Ads/Screensavers/0.gif
    .
    .
    .
    etc.
    INFO WEBrick 1.3.1
    INFO ruby 1.9.3 (2011-10-30) [i386-mingw32]
    WARN TCPServer Error Only one usage of each socket address (protocol/network address/port) is normally permitted. – bind(2)
    INFO WEBrick: :HTTPServer#start: pid=5944 port=80

    any thoughts?

    • http://www.facebook.com/rabvigil Rab Vigil

      well i solved that bind(2) problem, but still no luck on custom screensavers, got acess to web though and activity is shown in dns plus =/

      • Anonymous

        Is there any activity showing on the k4freeserver console?

        • Svobojam

          if i want to change the pictures do i have to repeat the whole process over again

          • Anonymous

            Yes!

  • mihei

    Hello, I did everything according to instructions, and everything works fine until the moment when kindle begins download ads, in the server log file is repeated this http://pastie.org/3077038 (with different id of course)

    • Anonymous

      What operating system are you running it from?

      • mihei

        I use Windows 7 Ultimate SP1 32bit and new version doesn’t work too

        If I understd the script, then in this line:
        system(“#{project_home}/winzip/zip.exe -r #{project_home}/#{root_dir}/archive.zip .”)
        files from current dir trying to add to the archive, of which there is no

        I probably mistaken)) but this is first that comes to mind

  • Rab233

    my ads wont show up on my kindle 4 i keep getting repeating lines from cmd http://www.funkolanding.com/cdown/error.PNG and when i got to this link http://localhost/DTCP/2011-11/ad-1456172431673.20111025202741.apg?software_rev=1308590058&patchVersion=2¤tTransportMethod=WIFI¤tMCC=¤tSponsoredHotspot= and nothing downloaded either my firewall is off and my antivirus is also turned off. but at least for now i dont have any types of ads on my kindle.

  • Jo

    I have win7 and i enabled hidden files, but i don’t have a system folder on the kindle drive!
    (i did the first method, of just removing the ads…)

    • Jo

      also, the script you made doesn’t work, it says i dont have some .dll…

      • Anonymous

        Did you reset it to factory defaults? Also, what DLL is it missing?

        • notsotechsavy

          I got this same error. I feel so dumb. When I get to the screen to press any key to continue this pops up “This applicaiton has failed to star because MSVCR100D.dll was not found.” Then I’m stuck. I’ve reset to factory default.

  • Rab233

    i just got it to work i had to take the contents of every temp folder zip up its contents and name it archive.zip

  • Chris

    Kindle Touch, using all the latest versions of the k4freeserver. Everything went smoothly, and while I’m registered without ads, my custom screensavers don’t work. I tried going to this link: http://localhost/DTCP/2011-11/ad-1456172431673.20111025202741.apg?software_rev=1308590058&patchVersion=2¤tTransportMethod=WIFI¤tMCC=¤tSponsoredHotspot=

    but it didn’t work. I just get a problem loading page in Firefox.

    • Anonymous

      If you connect to http://localhost do you get a successful message from k4freeserver? If not it means the server is not running properly.

      • Chris

        Never mind. I’m just an idiot. I got it working.

  • Dan

    I have the same issue as “Rab233″ with repeating lines seemingly looking for a missing .zip file. Do you know the workaround for this, or what he is describing? I’m having a hard time understanding the reply he posted to correct the problem.

  • Jaerick

    Method 2 with k4 and all that seems to have worked fine at removing the ads… but my kindle never displays the custom wallpapers I dropped into the folder – only the default ones (pictures of letters and pens and ink and all that). Everything went without a hitch other than this. Anyone else having this problem?

    • Anonymous
      • Jaerick

        Worked like a charm with this version! You are a gentleman and a scholar. =]

        • Anonymous

          Too kind, I’m just glad it worked.

    • Chris

      I had this same problem. You may not have left the command window with k4freeserver up. I had closed mine, because Piero’s instructions were slightly ambiguous as to what exactly had to be done. I finally realized that it needed to be open while connecting the Kindle to the server.

      Also, Piero, you should note that on the Kindle touch, in the wireless settings, there is no “Enter other Wi-Fi settings.” You have to click “Join” then “Advanced.”

      • Anonymous

        Thanks for the feedback; I’ve made some modifications to help with the ambiguities.

  • Ronald Varnum

    I just went through method 2 with a Touch. I don’t have any ads now, but I don’t have any new wallpapers either. I would say this is a 75% improvement, but with some of the great wallpapers I found… :). Do you have any ideas what I could have done wrong?

    • Ronald Varnum

      I just did a hard reset on my Touch and now the ads are back. :(

      • Anonymous

        There’s a few things that could have gone wrong. Did you install and configure Simple Dns Plus properly? Is the k4freeserver running properly (you can test it by opening http://localhost from your browser)? Is there any activity showing in the k4freeserver console when you connect your Kindle to WiFi? If so, please post that activity.

  • Ronniez

    hello! i did method 1 but it seems that it can’t find the device and when i press Kindle4Free.bat and press any key it says that I haven’t plugged in my kindle even though I did…. :

    • Anonymous

      Can you open the drive of the Kindle from Window Explorer?

  • Bas Roset

    Wow, easiest hack on the planet.
    Fixed in under 2 minutes. I went for the manual way.

  • http://www.facebook.com/people/Pat-Smalling/100000085652972 Pat Smalling

    thank you! i used method 2 … i had to unforward port 80 in my router settings to get it to work (i run a web server on my network)

  • chow

    I just wanted to say THANKS! This worked on the Kindle Touch (firmware 5.0.0) like a charm. I did method 2, and I had to use SimpleDNS. Now I have my own custom Star Trek / LCARS themed screensavers.

  • Shubhangam Agrawal

    Hi, Thanks for the program, works great!

    What I would like to know is that how can we force the kindle to download new images after a few days?

    As in, I have successfully loaded 5 of my images to the Kindle (Kindle 4) but they are stuck and from what I understand as the ‘end’ date specified, new ones will not be downloaded?

    Can I modify the program somehow to fetch new files every few days?

    • Anonymous

      The only thing you could do is modify the expiration date of the ads to last only a few days and leave k4freeserver running, but you will not be able to connect to any WiFi connection besides your home (otherwise real ads are going to be pushed to your device). This way the Kindle will periodically ask for new ads.

  • Clay Royse

    When I connect to WiFi on my Kindle following the advanced configuration, I still get ads and there’s no activity in the server window– I’ve triple checked the DNS settings, but the same thing keeps happening.

    Any ideas?

  • Raul

    Hey… I got a Kindle 4 ad free, but I’d still want custom wallpapers. any idea how can I do that? I understand what ppl with ads have to do, but me? ty.

  • Latiuon

    Hi i cant open the startserver.bat, it opens and closes in half a second…

    • Anonymous

      Is any program running on port 80? Also, you can open a console prompt and execute the .bat script from there, then you should be able to read the error message.

      • Latiuon

        got it thanks

    • Emiliano

      same thing happened to me, problem was I forgot to install ruby 1.9, which is necessary for startserver. bat to run properly

      • Latiuon

        Got it thanks

  • Latiuon

    Is it normal to get a message on kindle saying my kindle touch is ad free and that the message is here in replacement of amazon ads?

  • Mudman1948

    I have the Kindle touch reader. Iused your wonderful program and got rid of the ads but the 4 screensavers aren’t working. They are 600×8800 .png files that I placed in the k4freeserver/Ads/KindleTouch/Screensavers folder. ALso once working can new pics be added later on and how? Thanks in advance for your help..

    • Mudman1948

      Also I’m running Windows 7 pro. Looking at the file structure for the Kindle Touch on my computer I don’t see where my screensavers are stored anywhere on the Kindle Touch. Shouldn’t they be in a directory on the Kindle Touch??? Thanks again…

      • Mudman1948

        Another thing I just noticed. If I’m on the Amazon site and try (through Manage your Kindle) to deliver a book from my archive to my KT nothing happens. I can get a book from the archive from my KT though. Seems like I can get to Amazon through the KT but Amazon can’t deliver books to my KT….Any thoughts???? Still no custom screensavers showing up. Maybe the same reason why books aren’t able to be delivered from the Amazon site to my KT.

    • Anonymous

      Images actually are 600×800 pixels (was that a mistype?)

      • Mudman1948

        Yes….600×800…I HATE typing…lol

      • Mudman1948

        OK…After MUCH thought I figured it out. I was using the IPv4 Address from my Desktop which is hard wired to the router instead of my laptop’s IPv4 address which is connected wirelessly. Once I redid it from scratch everything is working fine now. I can deliver books to my KT from the Amazon site (Manage my Kindle section) as well as install archived items from the KT. Six out of the 10 screensavers loaded and I’m good with that…..I’m a HAPPY man now….. Thanks again for a fine program…..

        • Anonymous

          Glad you figured it out!

  • Rafa PR

    I just read your instructions but I’m at the office right now and I forget my usb cable at home… I am counting the hours to get back home and remove the ads!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    • Rafa PR

      I did method 1 but it seems that it can’t find the device and when I press Kindle4Free.bat and press any key it says that I haven’t plugged in my kindle even though I did….

      • Anonymous

        Does your Kindle show up as a drive in your “Computer” panel?

        • Rafa PR

          Yes…. It appears as F:

          • Anonymous

            What is the label of your F: drive? Is it “Kindle”?

          • Rafa PR

            Kindle…. Kindle (F:)

          • Anonymous

            Not sure why it’s not working. But try this:
            – Press Window Key + R
            – Type “cmd” into the box, press enter.
            – From the prompt, type:
            echo “” > f:system.assets

            Then proceed onto configuring your Kindle. See if that works.

          • Rafa PR

            I’m working on that right now.

          • Rafa PR

            Same thing my friend… I’m thinking it is the hardware in front of the laptop…. :-(

  • Ezepeda

    Hi, I did method 1 but, for some reason, I deleted the empty text file you said it was necessary to create. Then I ran your program (kindle4free) and it said it was all fixed. I started my kindle, it froze in about 8 seconds and now it won’t start up. It is frozen in the official kindle screensaver (the one with the boy reading below a tree) and no matter what I do (even the 30 second reset thing) the screen will only flash a second and go back to the way it was before. So I’m fearing the worst, could it be that because i deleted the empty text file now my kindle is ruined? I hope not, I would appreciate a lot any thoughts on the matter.

    • Anonymous

      Holding your power button for 13 seconds should force your kindle to reboot… Do you even see the loading screen of the kindle (the one with the tree and the progress bar?)

  • Soaaaaaaaaaa

    I couldnt find the system folder!!
    i’ve also unticked ‘hide xxxx files’
    but still there’re only two folders there .active-content-data and documents in the kindle drive…
    where can i find the system folder…??

    • rahul

      TIP for Method #1: In Folder View Options, uncheck box for “hide protected operating system files (Recommended)”

      I was having trouble because I couldn’t see the “System” folder on my Kindle, even though I had the folder options set to show hidden files. I discovered that to show the “system” folder, I had to uncheck the box for “hide protected operating system files”. This gave me a warning that says deleting or modifying these types of files can make my operating system inoperable, click “yes” on the warning, then click “apply”. You should now see the “system” folder on your Kindle.

      For safety, you should probably go check off that box again when you’re done.

  • Soaaaaaaaaaa

    ohh ive managed to go through the method one!! thanks a lot!!!
    but then i wanna change the wallpapers too
    but i cudnt find the ‘new’ button on the toolbar of the dns plus
    ive downloaded the two things above.. the ruby and the k4 thing.. but still.. :(
    cud somebody please help???

    • Jose

      The new button is inside “Edit DNS Records”

  • José

    I tried the second method on a Kindle 3.2.1 “special offers”, but it did not. Anyone knows if it should work with this version?

    • Anonymous

      Do you get any output from the k4freeserver console?

  • Omnipropio

    I’ve finally achieve succes with a 3.2.1 “special offers” Kindle. Just follow the first method steps, which enables your Kindle as a non ads Kindle. Then apply the jailbreak 1.0 (all the steps, use the 3.2.1 .bin), and finally, apply the 0.25 screensaver hack (use the 3g .bin). The jailbreak and the hack, can be downloaded from here: http://www.mobileread.com/forums/showthread.php?t=88004. Hope I can help someone, I’ve lost a lot of time before achieving this procedure.

  • BearerOfBadNews

    Hello all, I had used Method 1 to remove the ads for my Kindle Touch but kept the default screensaver images. Everything was working fine. I even jailbreaked it and added screen rotation using
    http://yifan.lu/2011/12/10/kindle-touch-5-0-jailbreakroot-and-ssh/

    Today, I manually updated the latest Kindle Touch firmware 5.0.4 from 5.0.3, and it updated fine.
    http://www.amazon.com/gp/help/customer/display.html/ref=hp_200529680_touchupdate?nodeId=200790650

    As I was flipping thru the menus to see what was new, it locked up, and a popup appeared
    “Unable to Start Application. The selected application could not be started. Please try again. (Close button)”.

    Well the popup won’t close with a default screensaver image in the background. But I can still turn it off, and turn on to the default screensaver. While stuck with the popup and default screensaver image in the background, the screen will refresh every 10 seconds or so. So now my KT is semi-bricked.

    So as 5.0.4 is being push updated in the coming weeks…Beware.

    • BearerOfBadNews

      After sleeping on it, re-booting the KindleTouch some more, de-registering, re-booting some more, re-registering, and re-booting some more, my Kindle Touch works again. I don’t remember all the steps, but beware that after the initial update of 5.0.4, the KT might act flaky.

      But everything seems to work fine now with the new KT firmware 5.0.4, including the remove ad Method 1 hack (with the default screensaver images), and the screen rotation hack (from the jailbreak method).

      The only difference that I can see from 5.0.4 to 5.0.3 on the Kindle Touch is that Amazon added a Legal notice below the Device Info at Menu->Settings->Menu->Legal (maybe it was there before, but I don’t remember?). Also for those who ran the screen rotation hack, when in landscape in 5.0.4, the right edge one cm seems to be chopped off, which was originally fine in 5.0.3.

      • Guest

        Version 5.0.0 did not have the “Legal” row in Device Info.

  • Jhandubalm

    it works. it WORKS. .. IT WORKSSS !!!. I bought mine in Malaysia where amazon doesn’t sell officially. The chapat who sold me this dint tell me thats its not the ad-free version. Man you saved me . Thanks so much. Should I upgrade to 5.0.0 ? would that make/undo anything ??

  • Jhandubalm

    i meant 5.0.3 and not 5.0.0 :p

  • Pecassinelli

    Muchas gracias funciono a la perfeccion

    Thanks this works perfectly , and was easy to follow :P

  • Someone worried

    Worked like a charm. The only worry I have is the ads coming back once I uninstall Simple DNS Plus and k4freeserver. Is that the case? Does Kindle start requesting ads again once I delete those?

    • Anonymous

      No, the ads should not come back. The kindle will indeed request new ads, but the ones you have downloaded through k4freeserver are forged to have higher priority and will always get displayed first.

      • Someone worried

        Thank you.

  • Invfo

    Thanks a lot. Very clearly explained. Worked just fine.

  • rage

    The recursion should be disabled in order the DNS request for adpublisher.s3.amazonaws.com to be resolved correctly! Only after disabling recursion this worked for me. To disable recursion in winthin Simple DNS main window press Option, and in the Resolver parameters disable recursion as shown in this screenshot:http://img560.imageshack.us/img560/152/removerecursion.jpg

    • rage

      damn, if recursion is disabled cant register on amazon and if it is enabled the simple dns replies with wrong IP address, it returns the correct value, what can be the cause? I configured it according to the guide..

      • rage

        issue fixed. all this stuff must be run as administrator

        • rage

          DAMN STILL NO LUCK, DNS REPLIES WITH 82.98.86.164 IP ADDRESS ON REQUESTING adpublisher.s3.amazonaws.com

          • rage

            any suggestions on why the simpledns server returns worng value?

          • rage

            checked from other machine, simpledns returns the correct value but still this guide didnt worked for me ((

  • rage

    seems to me that amazon has fixed this issue! I try from scratch on another PC and still receive ads from amazon ad site

  • rage

    method 2 dont work with 5.0.4: the KT asks dns server for dns.kindle.com and then uses it for other queries

  • ChuanEn14

    My kindle can’t connect to the k4freeserver, i’ve double checked everything and it’s all right, can anyone help me?

    • Anonymous

      If you open a console (window key + R, then type cmd, press enter) and you type “ping adpublisher.s3.amazonaws.com” what do you get?

      • ChuanEn14

        Pinging s3-2-w.amazonaws.com [207.171.185.201] with 32 bytes of data:
        Request timed out.
        Request timed out.
        Request timed out.
        Request timed out.

        Ping statistics for 207.171.185.201:
        Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

        • Anonymous

          If you have a second computer, try to modify the network settings of it so that your DNS address is the computer that is running Simple DNS Plus. Then ping again that address from the second computer. Also, when you connect the Kindle following the instructions on the site, do you see any activity going on with Simple DNS Plus?

          • ChuanEn14

            No acces to second computer, I have a mac so i’m running Simple DNS plus on parallels, would that be the problem? (I can’t figure out dnsmasq which was why i was using parallels) My Kindle won’t connect to the network.

          • Anonymous

            I think you are going to have issues running a DNS server on parallel. For sure you are going to have to configure some network redirect stuff to make it work. I would suggest you try to troubleshoot dnsmasq and use that instead.

          • ChuanEn14

            If I’m using dnsmasq do I still need to add the gateway/subnet mask?/how do i add it. Thx a lot for helping :)

          • Anonymous

            In dnsmasq you will simply set it up to resolve adpublisher.s3.amazonaws.com to the IP of the server running k4freeserver. That’s it. Then when connecting the Kindle to WiFi make sure to specify the gateway and subnet mask. These two values are the ones you have retrieved from your current network configuration.

          • ChuanEn14

            Damn, just realized I have to install Xcode first.. No free version for Snow Leopard mac. :( Oh well, I’ll just use method 1 and get rid of the ads. Thx a lot for your help anyways :)

    • Anonymous

      Is k4freeserver running? Can you access it from a web browser (by typing the IP address of the machine where it’s running)? Is the DNS server configured properly? Can you verify that a ping to adpublisher.s3.amazonaws.com returns the correct address (from a different machine than the one where the DNS server is running)?

  • :)

    Will method 2 work after i’ve already done method 1?

    • Anonymous

      Yes!

  • Limpopo

    Awsome – thank you so much! I have successfully uploaded some of my favorite pics!
    However, what happens if I go online on a different WiFi connection? Ads until I log on from home again or would I need to go through the above steps one more time?

    • Anonymous

      You should be able to connect to a WiFi network and still keep your pictures. The “ads” you have pushed on the device have a higher priority than the real ads so your pictures will get displayed first.

      • Martina

        Thank you!

  • Martin from Prague

    Will this (step#1) work on already registered and updated kindle 4?

    • Anonymous

      If you reset to factory defaults, yes, it should work.

  • Sam

    I’ve done method 2, and it worked till the last step; when I press the sleep button, I don’t see any picture that I’ve put but the page I’m on is set as a sleep picture. I won’t be able to press anything on it, just as a screensaver. So, did I go wrong anywhere?

    • Sam

      After resetting to factory defaults, it upgraded itself to 5.0.4. Is that the problem?

  • tim

    need help!!!!
    i’ve hacked this K4 and not able to run the new 4.1.0 firmware update… any work around idea?

    • Someone

      I got the new 4.1.o firmware update to work by following the step by step on amazon, but now, the hack doesnt work even when you rerun the hack

      • demosthenes

        Does anyone have custom screensavers using this method on Kindle 4 (non-touch) firmware 4.1.0?

        I had the custom screensavers working fine on firmware 4.0, but I left it connected to wifi the other night, and when I woke up it had downloaded firmware 4.1.0 and updated itself (without my consent). This caused ads to appear mixed in with my custom screensavers.

        Now, when I try to reset to factory defaults and run dnsmasq and k4freeserver v0.6, the Kindle does not have ads, but the default Amazon screensavers remain, and no activity shows in the k4freeserver Terminal window. I have tried twice, double-checking all my DNS and Kindle network configuration settings.

        • demosthenes

          Update: what I ended up doing was jailbreaking my Kindle NT 4.1.0 with Yifan Lu’s method, turning off the ad server entirely via ssh (over USBnet), then symlinking the screensavers directory to one that’s exposed on the root level of the device. Now I can drag png files (named in an appropriate, Amazon-provided syntax) onto that folder, restart the device, and see my own. No factory resets or manual IP entry required to change them, either.

          The one slight downside (you may not mind) is that now the screensavers always appear in the same cyclical order, instead of the randomized ad order. I kind of liked not knowing which image was coming next…

    • Rafal

      Have the same problem!!!

  • Chris

    will this work with the latest firmware update, version kindle 5.1.0?

    • Anonymous

      Not sure, but it wouldn’t harm to try.

      • Dani

        I just used method 1 on touch 5.1.0. It worked like a charm … I am registered and everything works fine. Just downloaded a book. I even restarted the device … If you don’t see the system folder make sure you uncheck the box for “hide operating system files” in control panel

        Thank you so so much … you just saved me $40 Be blessed for using your knowledge to help people

    • Dani

      I just used method 1 on touch 5.1.0. It worked like a charm … I am registered and everything works fine. Just downloaded a book. I even restarted the device … If you don’t see the system folder make sure you uncheck the box for “hide operating system files” in control panel

      Thank you so so much … you just saved me $40 Be blessed for using your knowledge to help people

  • annie

    works with my kindle 3 with 3g. thanks :D

    • annie

      except my 3g doesn’t work anymore :| . what should i do? how do i connect the 3g manually?

      • Anonymous

        Make sure you revert the internet settings back to normal after you have uploaded the screensavers. That should fix it.

  • Ezra

    Thanks very much for this great guide! I got it working pretty easily on my kindle 4.1.0 (angry at amazon for the auto update though) and now I’m wondering if there is a simpler way to change out the screensavers after I’ve done this process the first time. The only reason I ask is that when I do the reset to factory defaults and later restore my documents, my items are not still in the collection folders. It would be rather onerous to replace my 100+ books every time I want to change my screensavers. Thanks again for the great tutorial!

  • A concerned user

    Before I reset my kindle and redo the method 1 hack would anyone mind telling me if they got theirs to work after the new kindle software?

  • Sensybilline

    Hi, I tried method 1 but everytime I register the kindle again, the ads come back !!!

    • Guest

      Having same problem using method 1.

    • Pirou

      Having same problem using method 1.

  • Sarafina16

    I used method 2 and it has worked for me so far. After the kindle software update the ads came back at first. But the next time I turned my kindle off my custom screensavers came back

  • Guest

    Just did method 2 and it worked great. There’s no need to set your network settings to static if you’re router is redirecting the ad website.

  • Michal

    Hi, I did method 2 and everything works great on my Kindle Touch. I think you dont have to reset to factory defaults ( which remove all stuff on your kindle). You could only change all screensvr.png files from .assets directory to another images (checksum will be incorrect and kindle remove existen screensavers) or probably just remove directory in .assets folder. Then just deregister your kindle and register again – ads server will be asked for new images (from your ads server via k4freeserver)

    • Ezra

      Excellent, this is exactly what I was trying to do. This worked (so far, the ads haven’t come back and I have my own screensavers) on my kindle 4 although I already did method 2 beforehand. Now it appears that I can change my screens without having to backup and reload all of my books, which is really nice. Thanks very much

  • fred

    Greetings from Germany. Method 2 works. Even with firmware 4.1. kindle NT. Thanks for the great work.

  • qpiine

    Hi there, having a bit of a frustrating time with this, and I’m beginning to think I’m either missing something very simple, or there is an issue with either my router or my computer. All the steps work fine, right up until I try to connect to the internet via the ‘Advanced’ option. If I set it to DHCP, everything works out fine, but when I input all the data under Static, it simply will not work – every time, it fails to connect. I have checked and checked again that I’m inputting the right info, so it isn’t that. Is there any setting I need to have set up on my router, or anything I should do with my laptop? Just FYI, the router is a Huawei E586.

  • Eduardo

    Just a long story short. I did not explore Kindle yet, but there is not /etc/hosts file? So you can skip all the Simple DNS stuff and just add IP of your k4freeserver to /etc/hosts? =)

  • JohnSnow

    Can i ask, I have unregistered kindle touch with special offers, now there are no adverts and i want to try this method (1) I update his firmware to 5.1.0. My Question is if this didnt work and adverts show up can I reset all back to where i was? I mean to unregister device and back original screensavers instead adverts? And what exactly did that factory reset? Delete all content, return firmaware that i receive kindle (i think 5.0.1) and unregister device? If you can confirm that pls tell me i just dont want that adverts and if i cant remove it i don’t want to risk showing it at all, prefor to stay unregistered instead replacing cool screensavers with adverts (don’t care about adverts in kindle menu).

    P.S Sorry about my English ;)

  • Spikey

    What I need do??? The Kindle4Free.bat does not working

    • Elmminsterr

      You must install Ruby192 on C drive first. Than start Kindle4Free.bat file.

  • Behrami

    Is this working on last updata 5.1.2? And should I make this after every update?

  • Elmminsterr

    What about small ads in the bottom of the menu section? If I use Method 2, will this ads disappear or stay unchanged?

    • Anonymous

      It will disappear.

  • Gsdiseth

    Method 2 worked perfectly on a standard Kindle 4 (non touch) version 4.1. I’ll offer some tips after running into a couple of minor snags: Run startserver.bat in an already open command window, so if it fails, you can see the error message. Secondly, I initially received a failure because k4freeserver complained there were no screensavers in ./k4freeserver/Ads/Kindle/Screensavers – turns out I had .PNG files instead of GIFs for my regular Kindle, and k4freeserver was smart and noticed that :-) Thank you Piero!

  • Anonymous

    Two questions: 1. Piero, can you give a brief procedure on how to configure common routers to do the forwarding? D-Link, Netgear, Linksys, etc. That way we can skip Simple DNS Plus. 2. Is there an easy way to update the screensavers, or do we have to do this entire procedure again?

    • Anonymous

      The problem is that not all routers allow you to configure the DNS settings, that’s why I decided to make users install a separate software, which will always work. For updating the screensavers you can either repeat the procedure, or like a user suggested, you should be able to simply replace the images in your Kindle’s assets folder which will invalidate the MD5 hash, then by unregistering/registering your Kindle again and running k4freeserver the Kindle will make request for new ads allowing you to replace the images without a factory reset.

  • JohnSnow

    I just use method 1 on kindle touch 5.1.2 and works perfect, Gratz.

  • Elmminsterr

    Hi. Method 2 worked perfectly with my Kindle 4.1.0 NT! But there is no need to reset your Kindle to factory defaults.

    1. I just deregistered it.
    2. Then disconnected from Wi-Fi.
    3. Next I deleted folders form .assets folder.
    4. Then connected Kindle to Wi-Fi using Method2 Static address.
    5. And I just registered it again.

    Simple, fast and you can save your collections and other settings.

  • Help

    ADs from Amazon came back today, even thou i didnt even touch my Kindle NT. I deregistered and re-registered and my own ads came back for a bit, but were promptly replaced by amazon ads.. Help?

  • abyser

    Hi Piero & many thanks for Method #2!
    I found it as the most graceful way of getting rid of adds and – at the same time – the perfect solution to install screensavers of my own, turning KT into a kind of photo frame.

    Can you please advice how to overcome the following inconvenience.

    As I could see KT creates 13 directories under its system/.assets directory, i.e KT takes 13 ads from the ‘faked’ ads server.
    I have set 11 different ‘png’ files in k4freeserverAdsKindleTouchScreensavers directory. After getting the ‘ads’ I find that some of the screensavers in KT are repeated, while others are not present at all. This is done randomly – the set of repeated/missing screensavers differs after procedure rerun.
    How can be this avoided? Is there a way your ad server to mark the ‘ads’ that had been already send to KT and not to be resent them until all available ‘ads’ are sent?

    Thank you in advance!

  • Laura

    I get an error message when I try to run the kindle4free script. It says the msvcr100d.dll file is missing – any ideas?

  • italianguest

    I cannot make it work. I tried method 1 on my kindle 4 and ads are still there. Repetead all the step from the start three times without success. :(((

  • james

    Does this work for kindle 4.1.0?

  • zan

    Hi Piero, thanks for your tutorial. I’m on kindle 4.1.0 and everything seems to be working except no ads are downloaded.
    There is activity in the DNS window, k4freeserver is started, I can browse online. However it still tells me to connect and download the latest special offers!

    • Anonymous

      Is there activity on the k4freeserver console window?

      • zan

        Nope…nothing is happening there. I’m pretty sure I’m running startServer.bat as Admin and set up the Kindle wifi connection correctly. I only see activity in the DNS server graph.

        • Anonymous

          Without more information is hard to tell what could have gone wrong… if you ping adpublisher.s3.amazonaws.com (from another machine) does it resolve to the IP of the computer where k4freeserver is running?

          • zan

            When I ping in the local machine or another machine in the same LAN it seems to direct to an external IP with the response “request timed out”. I have Apache installed on my PC which service I stopped to free up port 80. Would that make a difference? FWIW I also cleared cache and flushed dns but nothing works.

            I have a feeling that the problem lies in the ad server not being able to pick up incoming requests. It shows activity however when I browse websites or visit localhost on the local machine.

          • Anonymous

            Make sure the computer you are pinging from uses the proper DNS server address (you will have to set it manually to the IP of the machine running Simple DNS Plus).

          • zan

            I can ping correctly after setting up the correct dns address and stopping the DNS Client. But still no activity in the ad server. I’m giving up at this point.

            Thank you for your time anyways.

            It was a great concept, and even though you had less control over it (Amazon could just change the way their ads are served), I liked how I didn’t have to mess around in my rootfs and would’ve preferred this method to hacking my Kindle.

            Good day~

          • Stevemiller

            I’ll jump in on this thread… Used method #2 and everything worked like a charm, but after waiting 20-30 minutes, have none of my PNG files downloaded. I have tested the k4f webserver and get the success page, I saw it find all of my PNG files when it started up. I am able to ping the adpublisher correctly (it resolved to my local PC that k4freeserver is running on). I have the console window up for k4freeserver and I can see my browser connections to teh webserver. When I use the Kindle to do normal actions, it works fine and I can see it hitting the DNS server many times. I connected the Kindle up to USB after 20 minutes and there was no ,assets directory. I created the .assets directory but I am still waiting. Everything else seems to be working just fine. Any debug suggestions?

          • Stevemiller

            BTW, Kindle Touch 5.1.2

          • Anonymous

            Have you restored to factory defaults as described in the instructions? I haven’t tested on 5.1.2, only on 4.1. It is possible that a firmware update might have changed how the ads are pulled, but I cannot confirm.

          • Stevemiller

            Yes, did do the reset. After watching it for most of the day, I can see that the Kindle has not hit the webserver at all (but it is hitting the DNS server). No Amazon ads have been downloaded, but so far, none of my PNG files have downloaded either.

          • Anonymous

            Are you sure your Kindle is ad-sponsored? They come in two flavors, one that is ad-sponsored and one that isn’t… method #2 will not work with the latter.

          • Stevemiller

            Hi Piero
            Thanks so much for the support!
            Yes, this Kindle has had ads on it for months.

            Here is a screenshot that shows the console window of the server, a shot of the browser hitting the server, a shot of the DNS server pointing adserver to my local IP (192.186.1.10) and a shot of the DNS hits from the kindle.
            https://www.dropbox.com/s/pqfuf9hjyy1r6vn/k4freeserver-ui.JPG

          • Anonymous

            Never mind, update 5.1 is only available for the Kindle Touch (I own a Kindle 4). Without the device is going to be impossible for me to further study the issue. Will have to wait until Amazon’s next update for the Kindle 4.

          • Anonymous

            Everything looks OK from the screenshot. Although the DNS activity shows that the Kindle is trying to reach the adpublisher server, it seems that no HTTP requests are initiated. I wonder if Amazon’s 5.1 firmware update adds some check on the authenticity of the server before making the ad requests (which would explain why you are not getting real ads). I will update my device for the sake of knowledge (even though this might disallow me from changing my screensavers in the future) and post my findings.

      • Caseaux

        Ciao Piero, scusami se parlo in italiano ma sono un po’ impacciato con l’inglese:). Mesi fa provai il metodo 1 con il mio kindle non touch e la cosa funziono’ per mesi. Oggi dopo tanto tempo, ho ripreso in mano il kindle e ho notato che le ads sono tornate.Ho cosi’ rifatto la procedura da te descritta x 2 volte, ma ora non funziona piu’. ti risulta questo? è cambiato qualcosa? le ads sono ritornate..grazie mille
        Marco

      • jack

        i have the same problem. There is no activity in the k4freeserver console window, but I’m sure I’ve keyed in and followed everything to the letter. All I have is the standard Kindle screensavers. No ads, but none of my own pictures either

  • Laura

    heeeelp! i tried the passcode on my fritz box but it didn’t work under “advanced settings”, only under the normal settings… where did i go wrong?

  • Pavlo

    Hello, I did everything as you said on my Kindle 4. At first there were no ads, but in few minutes they started to come again… May be there’s something more I can do to ensure there’s no ads?

  • 800ker

    Does this work on the new Kindle paperwhite?

    • Anonymous

      Not sure, you could try and let us know!

  • Jakub

    Hi, i have a problem with Method#2. I typed address=/adpublisher.s3.amazonaws.com/IPv4_Address in my router settings. My other devices ping adpublisher.s3.amazonaws.com correctly, and k4freeserver shows movement. But my Kindle doesn’t dowload any ads, and server doesnt shwo any movement. What may be the reason?

    • Todd

      Any movement on this? Running into the same challenge.

  • LooK

    Not working on fw 4.1, after I connect to wi-fi, ads are back :-( Any idea how can I fix it?

  • Chonzo

    WORKS LIKE A CHARM!!!!
    I have a Kindle 4 (OS 4.1), tried the method #1 with no luck. Then took a chance on method #2, following every step EXACTLY and now I have a Kindle for a lower price, with the “Collections” feature and no ads :D :D
    I’m feeling very happy,
    THANK YOU PIERO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    THANK YOU PIERO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    THANK YOU PIERO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    Greetings from Argentina!

  • http://www.facebook.com/denes.peter.12 Dénes Péter

    Hi there!
    http://dl.dropbox.com/u/8716570/n%C3%A9vtelen.JPG
    I have everything working but i got this message from k4 server, dns works perfectly, it is an answer for request.

    What did i do wrong?

    thanks!

  • Anonymous

    I’m not getting any more ads but how come my custom screensaver are not showing up?

  • sambodhi

    Hi, I do same with you, now Amazone’s ads do not appear but no activity happens on the ad server window, can you tell me how do it?

  • Luis Henriquez

    Some very weird error happens to me, everytime i run k4freeserver, it shows me the options, Kindle 4 and Kindle Touch, i press “1”, and then the program says “Invalid Option!”. Why? what am i doing wrong? o.O

    • Anonymous

      That’s odd. Are you running Ruby 1.9?

  • sambodhi

    According to the method by using fake Amozon ads server as listed before, my Kindle 5 does not accepted ads from Amozon , neither has any ads bar now, meanwhile,I find a problem that my Kindle 5 will not receive my own pictures.What is the reason? how to solve it?
    p.s. there is no problem when I use the fake ads server, it is working the right way.

  • Helen

    I got an error in terminal saying “WARN TCPServer Error: Address already in use – bind(2)”

    No idea what it means. I’ll try doing it in windows instead.

    I’m not getting ads from amazon but there’s no action in the terminal when I sync my Amazon account. welp! I’d love to hear back from you if you have any insight on the problem

    • Anonymous

      You need to stop whatever program/daemon is using port 80 (Apache, Skype, etc.) before running k4freeserver.

      • Helen

        thank you, it must be because i closed programs AFTER starting k4freeserver. doi!

  • Niclas

    Couldn’t replace ads I’m afraid, tried for days, had it all working with my local DNS receiving requests but saw no result, I never saw any physical signs that the script was coding anything (but it was recognising my pictures and connected with it’s assigned port) good idea but not sure it works… :/ any one had success on Kindle 4.1.0 (ads) as for removing ads i find the banner saying unable to connect to server just as annoying

  • Anonymous

    Haven’t tried to reconnect with wifi. Will post after.

  • http://www.facebook.com/erickldron Erick Calderon Macias

    Something weird happenned, I did method 2 in my kindle touch 5.1.2, apparently it worked, but it doesn´t display my custom wallpapers it shows the kindle ones, not ads the normal ones, also I have no ads, at least is better. Note that I just did the process I don’t know if the ads will appear or if my custom images will, but I’m happy this way. Thank you.

  • Jerry

    Just wanted to say that you have a great site here.

    That being said, this regards the Kindle Touch with 5.1.2 firmware. I’m a novice programmer, but having hooked up Wireshark a few minutes ago, I noticed that my kindle is sending SYN packets to port 443 (https). So, I suppose that it’s looking for the certificate of the ad server.

    Is this a dead end or do you think that something can be done? I don’t think the average person can procure that certificate easily.

    • Anonymous

      During the first boot after factory reset the Kindle initiates communication with several different hosts, some of which are validated through a certificate. When I first analyzed the packets to develop k4freeserver, the ad server communicated via simple HTTP requests (no encryption, probably to speed things up). I’m not sure if this has changed, if you can send me a copy of the packets I can give you a more accurate opinion.

      • benjamin

        Can you please follow up on this? I am running into similar problems after it had worked.

  • Alan

    Hi, the “startServer.bat” wont run for me. I’m using windows vista and and tried running as an administrator. Anything I could try to get it to work?

  • Erica

    Any updates for this to work on 4.1.1?

    • Erica

      help?

      • joe

        its working …..tested today.thanx a lot mate

  • Rusio

    Hey! Thanks for the tutorial, but I have just one question. After removing ads, Will I still be able to register Kindle via wifi and still be running it without ads? Thanks in advance.

    • Anonymous

      Yes!

  • M

    Hi!
    Does this work on kindle 4.1.1?

    • Anonymous

      It should work.

  • Erica

    I can’t get the Kindle4Free bat file to work, I get a missing “MSVCR100D.dll” error

  • Erica

    How do I “pick” another Kindle IPv4 Address?

    • Anonymous

      Take the IP address you are currently using (ex. 192.168.1.1) and add one number to the last digit (ex. 192.168.1.2).

  • mauifrog

    Worked on paperwhite, sort of. The ads are gone, but it did not serve new ads. I am thinking that when you register the kindle, if the ad server is not found, you get no ads. I have no ad bar below my books, no notice to sync to get new ads, and no ad screen saver, so no swipe to open. Also, this allowed me to get the screensaver hack to work.

  • Anson

    Trying for method 2, Kindle Touch 3G (version 5.3.2.1) – I think I have everything working – when I use the experimental browser on the Kindle to go to http://adpublisher.s3.amazonaws.com, I get the “It works…k4freeserver is up and running..” I’m assuming that means that Simple DNS Plus is set up correctly and k4freeserver is working.

    However, right now there is none of my custom screensavers on the Kindle Touch 3G. Its still loading the default built-in screensavers. Any suggestions on trouble shooting? (Yes, this is the special offers version)

    • Anson

      PS. Thanks! I had this work fine with my old Kindle Touch Wifi only (on version 5.1.2)

    • Todd

      Did you figure this out? Having the same problem with Kindle 4 running 4.1.1.

  • xavier

    Will the script thingie work with Kindle Basics shipping right about now (Nov 2013)

  • Stasheck

    Can anyone confirm that it will not work anymore with Kindle 4 NT on newest firmware? I just did tcpdump of the traffic and it seems that ad server is now contacted via HTTPS :/

    • pierotofy

      You are probably correct.

      • Stasheck

        Shame to see such a good piece of hack go away :/ I was hoping to put together a nice weather display without hacking the device itself, seems like I’m too late to party.
        Although it would be nice to check a) what CA’s Kindle will accept b) if it just accept any certificates on clean install (which I’m not to fond to do)