Wednesday, December 30, 2015

Wirelessly Display Your PC/Laptop WITHOUT WiHD/WiDi/Allshare/Miracast!

The title will be a bit misleading, but I will explain more on that later. One of the "new" technology crazes widely available is being able to share the screen of a device with another, wirelessly. I would say that usually means showing something from a desktop or laptop PC on a large TV. The problem is that not all devices have the features necessary to do this. What I want to describe is a method to still achieve this with those desktop or laptop PC's that are void of the necessary hardware...

Essentially, these are all technologies that do the same thing. They allow you to transmit audio and visual data from one device to another. There are numerous names from different manufacturers, but I believe these are the most common in circulation at the moment.

Since the technology is still very young, it is not quite commonplace, yet. It is common enough that I would say that almost all new televisions and mid-range/high-end smartphones/tablets incorporate the technology.

For the time being, I have two laptops at my disposal. Both are Alienware, with my primary using a first generation Intel i7 (Clarksfield), and the second using a third generation Intel i7 (Ivy Bridge).

My primary is too old to support Intel's WiDi as only second generation Intel-core processors (Sandy Bridge) and newer have the ability to use WiDi. My secondary laptop does have the ability to use WiDi, however, the hardware (a card and antenna) is sold separately. Furthermore, the same slot for the WiDi hardware is the same slot for the M.SATA, of which I am already using.

I considered buying a USB adapter or some other device that would allow my screen to be shared. And while there are some cheap devices out there (under $25), I felt that as expensive as these laptops are--or were--I should be able to accomplish mirroring my screen to my TV without buying extra adapters or devices.

Thus began my (successful) journey on how to mirror my laptop to my TV without having official WiDi support...

iOS Devices
While other platforms support Miracast, Apple has their own proprietary software called AirPlay. I have no experience with this technology, and as such, this may not work with iOS smartphones or tablets without the use of a third-party app or additional hardware.

A Mac, per my instructions below, will work as far as using a PC goes... 

The requirements for this to be done are rather basic. And remember, I am using a laptop and a TV. You may be able to try this with other devices, but what I will be explaining is for my circumstances:

  • Desktop/Laptop
  • WiFi Card
  • TV (with Miracast support)
  • Smartphone/Tablet (with Miracast support)
  • Mirroring Software, i.e. AirDisplay (explained below)

First off, I am including a Mac as a PC, as it is a Personal Computer. The desktop or laptop PC you use can be of any age as long as it has WiFi capabilities [WiFi card]. Mind you, if it is not somewhat powerful, the results may not prove as smooth as desired.

Second, you need a TV with Miracast support. If you have a TV from the last few years, it likely does. If you do not, you can buy an adapter that will insert itself into the HDMI or USB port of your TV, but this requires two things: The purchase of an adapter, which defeats the purpose of this tutorial. And a TV with a HDMI or USB port, which you would probably have if you have a plasma or LED TV.

Third, you must have a smartphone or tablet that has Miracast capabilities. If you have a smartphone or tablet from the last few years, you probably have Miracast. There are some devices that have been hacked to support Miracast, but I have found the results finicky at best.

Lastly, you will need software that allows screen mirroring from your desktop or laptop PC to you smartphone or tablet. I mentioned AirDisplay as this will work on Windows, Linux, or OS X. But there are a lot of other options available that will achieve the same goal. AirDisplay is a paid software, so keep that in mind.

Now it may become clear as to why the title is a bit misleading. While your PC does not need to have Miracast support, you will need something that does. I am betting that people who would be interested in performing this will have a device that does.

How To Display Your PC On Your Device
The setup is rather simple if you have all the requirements:
  1. Ensure that your PC and smartphone or tablet is connected to the same WiFi network.*
  2. Download the AirDisplay software for your PC OS.
  3. Install the AirDisplay software on your PC.
  4. On your smartphone or tablet, purchase and install AirDisplay from your respective store.
  5. Open the app on your smartphone or tablet and proceed to the steps on how to connect. It will then wait for your computer to connect...
  6. Click the tray icon (possibly hidden through the arrow of the taskbar for Windows users).
  7. A menu of choices should appear with your device name.
  8. First click the "Options" to get a submenu.
  9. Select "Mirror Mode".
  10. Click your device name in the main area.

Note: If you skip step #8, your smartphone or tablet will act as an extended monitor to your PC.

The process is now complete and you should be able to see what is on your PC on your smartphone or tablet.

*No Internet?
If you do not have an Internet connection, you can still connect your PC and device by creating an ad-hoc network on your PC and connecting both devices to it. You can also connect via USB if desired.

Miracast is done without the need to use WiFi, however, it too requires WiFi Direct (WIDI) devices in order to work...
Depending on your smartphone or tablet's display resolution, you may get black bars on the sides of your screen. This will happen on newer devices that are 2.5K, devices of an odd display resolution, or if your PC is on a display resolution that is not normal for smaller devices.

The simplest thing to do is change your PC display resolution to something your device can support. I was able to change my laptop to 1080p or 720p, and my 2.5K smartphone then mirrored my laptop screen in fullscreen.

The harder way to go about this would be to change the resolution of your device to what your PC has. This may be impossible for certain resolutions, and beyond that, you will need to root or jailbreak your device in order to attempt doing so. I would only even suggest this after trying different laptop resolutions, or if your device has an odd display resolution that is not supported by (or not a multiple of the resolution of) your PC.

How To Display Your Device On Your TV
The hardest part is done, now comes the simple part:

Once your device is mirroring your PC, simply use Miracast on your device and your TV to connect the two. You will now have your laptop showing on your TV.

For my Android device, I just had to slide down the notification menu and toggle on Miracast. In the event that you are unable to perform Miracast while your have your PC being mirrored on your device, perform the Miracast step FIRST, and then use AirDisplay afterwards.

The only major downside is audio. By using AirDisplay, it is not possible to transmit audio to your device, and thus not possible to transmit audio to your TV. To remedy this, you can use a pair headphones (wireless if you are not near the PC), or use a nice speaker setup with your PC. A different software may have a way to transmit audio as well as video...

The minor downside is power drain. The device you use will likely drain quite rapidly because it has the task of taking a live image from a PC and sending it to the TV. It should be plugged into a wall outlet or large power source for long-term usage.

AirDisplay is a paid product. While still cheaper that an adapter or other device, it still costs. Searching out a free alternative may be a good option, but the most reliable will probably cost you.

I would imagine this would be most useful for playing games or running videos. Maybe you want to see YouTube, Netflix, or Hulu on the big screen. AirDisplay provides a small mouse pointer on your device that you can control with your finger. This makes it easy to change videos on a whim.

Personally, I have my laptop setup with a wireless controller so that I can play games on my TV.

Fade to Black
As stated above, you can buy an adapter or device, and that will likely be a much easier task. On a different note, if you have a newer laptop, you may already be able to accomplish this with the correct drivers and software. Be sure to check Intel's compatibility page and your PC's manufacturer page to see if WiDi is already a part of your hardware.

I should mention, again, that Miracast is just one name for screen mirroring; and that my use of the term Miracast encompasses all those names.

I really only did this to see if I could as I imagine others have come across the same situation and decided to give up. I doubt I will use it all that often, but now I have the peace of mind to know that I can.

Monday, November 30, 2015

Setting Up FREE Proxies & VPN's (& Tor Browser!)

Have you ever wondered how to setup a proxy and use it? Or maybe the definition of VPN has never crossed your path and now you want a bit of info on it? Surely, with all the news flying around, you have heard of Tor? Is it only for bad things? I will answer all these questions and show you how to setup everything to spoof your computer (for FREE) to think it is coming from another city, state, or even country!

WARNING: I am not responsible for how this information may or can be used!

Why Would I Need A Proxy/VPN/Tor Browser?
For the most part, you may not need any of these methods. But sometimes, especially if traveling, you could. While I will explain their definitions in better detail below, for now just know that all these items can be used to circumvent geo-IP restrictions. Meaning, you can make websites and others think that you are not in the location you actually are.

Let's get into some examples of when this could be appropriate: Maybe you have a Netflix account, however, certain countries are restricted from viewing Netflix content. This would be a perfect time to use one of these methods to pretend you are viewing from a Netflix-allowed country.

Or perhaps you want to view some articles on a site that is hosted in a different country. The site only wants to allow people from within a certain area. (e.g. Craigslist will not let you post a listing if you are not in the city you are posting to.) You could use one of these methods to make the website think you are in that required area.

There are many reasons to use one of these methods. You can use it for security and anonymity, but it can also be used illegally. This of which I do not support, but some of the knowledge needed will be the same.

A proxy is just using a server's IP address to route your requests through it and make sites and other computers think you are that server and thus, in that location.

This is the most basic way to circumvent geo-IP restrictions. The major drawback is that you have no protection from others who want to track or trace you. If you were to use a proxy for illegal means, and did not setup any type of security, you could easily be found by the government or others...

Why Not Use Proxy Websites?
Proxy websites can be quite useful if you just need to see something fast. But when it comes to downloading or uploading, or viewing videos, spending hours researching, etc., these sites will not allow those types of processes (or can be extremely tedious). For those situations, you may want to manually input a proxy, VPN, or use the Tor Browser.

A VPN (Virtual Private Network) is essentially a proxy with security. This is good for businesses and alike who wish to transfer sensitive data.

The biggest drawback of a VPN is normally its speed. A speed decrease form a VPN can be quite detrimental, especially if transferring large files. A paid VPN should grant a decent amount of speed, but many free VPN's will slow you down immensely.

Just a side note, a VPN service may store log files. So if you think that you can get away with something illegal just because you are using a VPN, think again. Those that do keep log files of IP addresses will normally give them over to government officials if asked.

Tor Browser
Tor Browser is a simple browser (based off of Firefox) that allows you to surf the web with total anonymity. This is not to say it grants security like a VPN, which is why it is always recommended to use HTTPS sites, or to use in conjunction with a VPN, if you want anonymity and security.

Many people may know of Tor Browser because of the Dark Net and Deep Web. I will not go into how to access these parts as much of its content are for illegal items and services.

A final comment, Tor Browser is fairly slow. I would only suggest using it if you cannot find a faster proxy or VPN.

Finding a Proxy
To use a proxy you will at least need an IP address and a corresponding port number. Proxy IP addresses and port lists can easily be found searching on Google. You will be able to find IP addresses in different cities, states, and/or countries.

If you are lucky, you can find sites that not only give you the IP address and port, but the speed of each of each proxy! Otherwise, you will have to test out each IP address and see if it is a suitable speed for your needs.

How To Setup a Proxy
The easiest (and most useful) method to do this will require Internet Explorer (IE) or Chrome. This can be done with Firefox, but the reason IE or Chrome is preferred is because they actually use the Windows OS to setup the proxy, while Firefox has its own special network settings. This means that if you do go through Firefox, it should only affect Firefox, while going through IE or Chrome will make sure that every application using the Internet will go through the proxy.

I will be using Windows 7 for these steps, but I imagine they will be similar on Windows Vista, 8/8.1, and 10:

Internet Explorer

  1. Open IE.
  2. Click the ALT button.
  3. Select the "Tools" menu.
  4. Click "Internet options".


  1. Open Chrome.
  2. Click the menu button (three horizontal lines) in the upper-right hand corner.
  3. Choose "Settings".
  4. Select "Show advanced settings..."
  5. Scroll down to "Network".
  6. Click "Change proxy settings..."

Note: Chrome will open the following window on the "Connections" tab. IE will open it to the "General" tab and need to be changed to the "Connections" tab first.

Proxy Settings

  1. Choose the "Connections" tab.
  2. Click "LAN settings".
  3. Under "Proxy server" check off both boxes.
  4. Type the IP address in the "Address:" field, and the port number in the "Port:" field.
  5. Click "OK".
  6. Click "OK" again.

Note II: This may also work on Microsoft Edge, but since I have yet to use Windows 10 on a regular basis, I am unsure at this time.

This procedure will enable a proxy. You can test this out by going to any IP address lookup website and check your location. If it is a different location than from where you are, it is working. However unlikely, you could possibly use a proxy from the same area...

Some proxies will be far too slow and may even timeout going to certain sites. Again, it will be up to you to find a speedy proxy, if that is what you want.

Finding a VPN
I normally do not use a VPN when I am in the USA, as I have no use for it. However, when I am overseas, it sometimes can be useful when trying make sure everything I am doing routes through a US network, and I do not want anyone seeing what I am doing (i.e. reviewing bank statements, etc.).

How To Setup a VPN
There are several free VPN sites out there. For our example, we will use FreeVPN:

  1. Click the Windows Orb (Start button).
  2. Use the search field and type in "VPN".
  3. Click on "Set up a virtual private network (VPN) connection".
  4. Type in the server address. (If using FreeVPN, we could use the Denmark server IP address: "".)
  5. Change the "Destination name:" to anything you want (optional).
  6. Click "Next".
  7. Type in the "User name" and "Password". (If using FreeVPN, we could use the Denmark server username and password: "vpnme" & "6gYcdX".)
  8. Click "Connect".

The connection may take a few seconds, but you can now test your VPN by checking an IP address lookup website.

To reconnect in the future, do the following:

  1. Click on the network connections (WiFi or LAN connection) icon in the lower-right hand corner.
  2. Under "VPN" click on the VPN you created. If you changed the name, it will show up as that.
  3. Click "Connect".
  4. Type in the password. The username should already be provided from connecting the first time.
  5. Click "Connect".

There you have it! The VPN should remain in your network connections. If you ever need to delete it, go back to your VPN under the Control Panel > Network and Internet > Network Connections and use right-click to find the delete option on your VPN.

The VPN may be slow, so you may have to go through a lot of them to find one with decent speeds. If you have a slow connection, then it may not matter...

Finding the Tor Browser
The Tor Browser can be found here. I would suggest getting the NON-expert bundle. The expert bundle will require you to input a lot of manual settings, and unless you know what you are doing and absolutely need to, it is unnecessary.

Install Tor Browser. Once it is done, you will have a Tor Browser folder.

How to Setup the Tor Browser
Tor Browser, without any changes, will automatically put you into a random network. That means you could route through a network in the same country, or any other country that is available.

What I am going to show you is how to always use a network from a specified country:

  1. Go to where you placed the Tor Browser folder.
  2. Open it.
  3. In the Windows Explorer search bar (of the Tor Browser folder), type "torrc".
  4. Right-click on it and open with Notepad. (You may need to choose "Open" and then search through your programs to use it with Notepad.)
  5. Above the first line of text without a "#", type "ExitNodes" followed by a space, and then in curly brackets type the two capital letters of a country you wish to use. So, if I wanted to use Denmark, it would look like this "ExitNodes {DE}", without the quotes.
  6. Save the file.
  7. Close the file.
  8. Open Tor Browser.

If any IP address lookup website shows that you are from the country you inputted (Denmark in my example), then it is working. If not, you may need to close and reopen Tor Browser once more as it sometimes does not register on its first try.

It may be of use to know that the country will remain the same country on every opening of Tor Browser, but the IP address will always change. To let Tor Browser go back to auto-selecting an IP address simply remove "{DE}", or whatever you have used, in the "torrc" file and save it.

Tor Browser may be slow, as mentioned before, but if you already have a slow connection, this may be the quickest method to use a certain proxy with little setup.

Because this is a browser, this only affects the browser and not any other application that connects to the Internet.

Word to the Wise
I have noticed that if I am downloading something and switch between a proxy and my actual IP address, that download will continue without issue (but not all the time). However, a VPN will cut off the connection to a download, so hopefully it can be resumed or is at least a small file.

If downloading through the Tor Browser, you will not have this worry. Yet, you can save yourself some time if you use a download manager as it will act as if it is not using the proxied connection at all!

Adios By Proxy
(Not a great section title, but the best I could come up with.) Using a proxy, VPN, or the Tor Browser can be very beneficial when you need it. I would not say I use them everyday, but every so often I do, and it is nice to have options available.

Each method has its benefits and drawbacks, but as long as you know what they do and when they should be used, it should be an easy decision as to which method is right for you.

Friday, October 30, 2015

How To Install Android Marshmallow (6.0) + GApps on Nexus 7 (2012)

Google announced that it would no longer be providing updates to the Nexus 7 (2012) tablet. Specifically, the WiFi version, which got updates alongside all the newer Nexus models until now. It seemed the death knell was fast approaching, and it would have if not for the unofficial Android Marshmallow ROM I'll be teaching you how to install today.

DISCLAIMER:  This is for the Nexus 7 (2012) WiFi & 3G tablet. If you decide to try this with the WiFi or mobile data version, you assume all responsibility.

Android M (6.0)
Android (M)arshmallow is the newest update for Android. It has plenty of new features, big and small. Such as rotating to landscape on the home screen, app permissions only agreed to (or declined) when the app actually needs that permission, and even a basic file manager. Not to forget the ability to use SD storage like internal storage, and even the new doze feature that should save battery during idle far trumping the amount saved from Lollipop or any version before.

There are so many new items, that it should be a welcomed milestone in Android updates.

WiFi & 3G
When news came of no more support, it was a bit devastating to me. I loved having a tablet that was "first" to get the new updates while people with Samsung, LG, HTC, Sony, etc. devices would be waiting months to get one, if they did at all.

I knew someone would eventually come to the rescue. The first person I saw was on XDA, and they did have a build of Android M. The downside was that it was "experimental", and many needed functionalities did not work.

Then Dmitry Grinberg saved us all with a working, functional version. He even noted how he was able to accomplish what others said could not be done for our unit. He initially made a WiFi version, quickly followed by the 3G version.

The two methods I will present will work for either version, just make sure you download the right file for your respective tablet.

How To Install Android M with TWRP (or CWM)
The following will assume that you have already rooted and installed a recovery to your Nexus 7 tablet. If you have not, take a look at my article here for information on how to do so. 

I should also mention that while I will be using TWRP, you can use CWM or Philz CWM recovery to do the following. The steps will be similar and the end result the same. What truly matters is that you have a recovery.

At the time of this writing, there are some other Android M ROMs for the Nexus 7. Some are identical as far as I can tell, and I have come across at least one that tries to be original (although acts buggy and fails to be a complete ROM as necessary for a daily driver). That being said, I will be going with the original as it has given me the best results.

A final note, I am using a touch version of TWRP. If you are not using a touch recovery, use the buttons to navigate and select choices.

  1. Download the Android M ROM for WiFi or 3G.
  2. Download a GApps (Google Apps), there is "Mini" or "Fix". (Both are almost identical, but "Fix" drops the Google and Now apps.)
  3. Transfer both ZIP files to the tablet, root of the internal storage is easiest. (If need be, change USB to MTP from the pull down status bar, after ensuring USB debugging is enabled).
  4. Turn off the tablet.
  5. Hold VOL DOWN + POWER buttons.
  6. When the "dead" Android appears, let go of the buttons.
  7. Use the VOL UP or VOL DOWN buttons to navigate to "Recovery mode".
  8. Press the POWER button to begin recovery mode (TWRP in this case).
  9. Click "Wipe".
  10. "Swipe to Factory Reset".
  11. Once done, push the back button until the main recovery menu.
  12. Click "Install".
  13. If the ZIP files were placed in the root of the storage device, scroll down to them and select the ROM first. If the ZIP files were placed in a folder, navigate to the folder and select it, then select the ROM.
  14. Click "Add More Zips".
  15. Find the Gapps file and select it.
  16. "Swipe to Confirm Flash".
  17. Click "Reboot System" once done.

The first boot will take some time, but even when passed the boot screen you will still have to wait for the optimization of all the Android apps. After that you will finally be ready to test out Android M on Nexus 7!

Experienced Issues
I experienced a few problems. The first I noticed was that the auto-rotate function did not always work on the home screen. What seemed to fix this was going back into recovery and wiping just the cache.

Another issue I had was I could not download BSPlayer Free from the Google Play Store. It kept throwing an error about not being able to download. I decided to download another marketplace so that I could. 

This presented another problem. The default browser would not allow me to even attempt a download of the desired marketplace. Eventually, I sideloaded the marketplace and was finally able to download BSPlayer Free. Other than that, all other downloads from Google Play Store worked without further issue. It should be noted that others have had problems trying to download certain apps from other places...

A final problem was the absence of a camera app (due to the version of GApps being used). I found that most official (and official-based) camera apps could be downloaded but did not open or work properly (including the Android M camera). However, I found that any camera I tried from the author Moblynx worked as expected.

At this point in time it looks like there is no root. I was hoping if I waited a bit to publish this article, someone would come up with the solution, but this has not yet come to pass.

The bootloader can be unlocked, but without a modified boot image, rooting is not yet possible. All officially supported Nexus devices have received modified boot images, which will allow them to root, so I will update this section once we do have a modified boot image to use for root.

Hidden Fun!
There are some hidden items that you can enable and mess about with within Android M. The first I took a look at was System UI Tuner. It's actually fairly simple to make appear. Pull down the status bar, then click and hold the small gear. Wait a few moments then let go. A message will appear stating that the System UI Tuner is now a part of the Settings menu.

System UI Tuner does not allow too much more freedom for the Nexus 7, but it can be useful. There are ways to turn off/on and rearrange icons for the status bar, the ability to place the percentage of battery within the battery icon, and a (useless) Demo mode.

Another secret is the multi-window function for Android M. Those of you with Galaxy devices may already be used to this feature since it is similar. (In my opinion, it is actually easier to use on Android M.) The best part about this is that the user is meant to jump through a few hoops in order to enable to the feature (and if your device has an official Android M firmware loaded, you will have to), and you must be able to achieve root. Thanks to the creator of this ROM, the process has already been taken care of without the need for root!

Go to your Developer options and look for the section called Drawing. The last entry will be Multi-window mode. Enable it and use the soft buttons to show a view of all open apps. There will now be a target-frame next to each large "X". Click on it and you will receive options as to how to show the window alongside others.

Do Android M's Dream of Electric Sheep?
Great section title, but it only lends to the fact that I wanted to state how beneficial Android M can be to the Nexus 7. There are a lot of features, ones I believe will help Google build to even better versions. Most of all, I found the doze feature most impressive.

When I was messing about with my Android--attempting to get the Android M camera to play nice--I decided to put it away in my room. I unknowingly forgot that it was still on, and 8-10 hours later, when I retired to my room, I found that the battery was still at 100%!

Unofficial Sign Off
This should keep us happy for a while (until the next version of Android comes about). It is a great step up and I see almost no reason to ever downgrade. Once you have spent some time delving into it, it makes the tablet seem like new again.

I believe the next happy endeavor will be when a successful root method has been created. We can then enjoy some of the amazing apps privy to us only when root can be done. But for now, we'll have to make do.