Saturday, October 28, 2017

PowerShell Script to Disable Specific "Spying" Services in Microsoft Windows

Run PowerShell as Administrator


1. Enable script execution in PowerShell

powershell "Set-ExecutionPolicy Unrestricted"
2. Save the below script in a file names disable_services.ps1 then execute it from Powershell by typing at the prompt: ./disable_services.ps1
#requires -version 4.0#requires -runasadministrator
$services = @(    # Services Considered To Have Spying Capabilities    "DcpSvc"                                   # Data Collection and Publishing Service    "diagnosticshub.standardcollector.service" # Microsoft (R) Diagnostics Hub Standard Collector Service    "DiagTrack"                                # Diagnostics Tracking Service    "SensrSvc"                                 # Monitors Various Sensors    "dmwappushservice"                         # WAP Push Message Routing Service    "lfsvc"                                    # Geolocation Service    "MapsBroker"                               # Downloaded Maps Manager    "NetTcpPortSharing"                        # Net.Tcp Port Sharing Service    "RemoteAccess"                             # Routing and Remote Access    "RemoteRegistry"                           # Remote Registry    "SharedAccess"                             # Internet Connection Sharing (ICS)    "TrkWks"                                   # Distributed Link Tracking Client    "WbioSrvc"                                 # Windows Biometric Service    "WMPNetworkSvc"                            # Windows Media Player Network Sharing Service    "WSearch"                                  # Windows Search    # Gaming Based Services    "XblAuthManager"                           # Xbox Live Auth Manager    "XblGameSave"                              # Xbox Live Game Save Service    "XboxNetApiSvc"                            # Xbox Live Networking Service    # Windows HomeGroup Services    "HomeGroupListener"                        # HomeGroup Listener    "HomeGroupProvider"                        # HomeGroup Provider    # Other Optional    #"bthserv"                                 # Bluetooth Support Service    #"wscsvc"                                  # Security Center Service    #"WlanSvc"                                 # WLAN AutoConfig    "OneSyncSvc"                               # Sync Host Service    "AeLookupSvc"                              # Application Experience Service    "PcaSvc"                                   # Program Compatibility Assistant    "WinHttpAutoProxySvc"                      # WinHTTP Web Proxy Auto-Discovery    "UPNPHOST"                                 # Universal Plug & Play Host    "ERSVC"                                    # Error Reporting Service    "WERSVC"                                   # Windows Error Reporting Service    "SSDPSRV"                                  # SSDP Discovery Service    "CDPSvc"                                   # Connected Devices Platform Service    "DsSvc"                                    # Data Sharing Service    "DcpSvc"                                   # Data Collection and Publishing Service    "lfsvc"                                    # Geolocation service)
foreach ($service in $services) {    if ( Get-Service "$service*" -Include $service ) {        Write-Host " Disabling Service $service ..."        Get-Service -Name $service | Stop-Service -Force        Get-Service -Name $service | Set-Service -StartupType Disabled    }}



Saturday, October 14, 2017

Change / Check / Clear DNS from Command Line of Mac OSX

How to Set DNS Servers from the Command Line of OS X with networksetup


Set OpenDNS for the first two DNS servers, and Google DNS as the third fallback:
networksetup -setdnsservers Wi-Fi 208.67.222.222 208.67.220.220 8.8.8.8


Checking DNS Settings with networksetup

This will report back whatever the current DNS settings are, if any:

networksetup -getdnsservers Wi-Fi

Clear the local DNS cache

When URLs are just not resolving the way you want it, to time to clear or flush the dns nameserver local cache:
sudo killall -HUP mDNSResponder


Revert Back and Clear All DNS Servers with networksetup

Remove any existing custom DNS server settings:
sudo networksetup -setdnsservers Wi-Fi empty

Saturday, September 2, 2017

macOS Sierra: Delete Your APFS Partition the Right Way

So, you’ve spent some time experimenting with Apple File System (APFS). What happens when you’re finished playing with the new file system and want to reclaim that space? It’s not as easy as just erasing the volume in Disk Utility, unfortunately. The current way APFS is implemented, there’s a specific set of steps you need to take when you want to delete your APFS partition.
Delete your APFS partition the right way
When you want to delete your APFS partition, there’s a right way and a wrong way (Image Credit: Lalmch)

What’s With the Hassle?

Because of the way APFS is designed, we now have something called a container. This is the base storage unit for APFS, and it’s managed differently from older file systems. Each container can export one or more volumes, the actual “drives” you see in Finder. Because of this, you’ll see an APFS Container and your volumes in Disk Utility, separate from the physical drive the container is located on.
Delete your APFS Partition the right way - viewing the volumes in Disk Utility
Disk Utility with APFS Volumes
In the Terminal, running diskutil list will reveal this in even starker contrast. You can see disk2s2 in the screenshot below, the partition on my external hard drive hosting the APFS Container. Below that, /dev/disk3 is the APFS container, and /dev/disk3s1 is the APFS volume.
APFS container scheme in diskutil - delete your APFS partition
A diskutil list, showing the APFS Container scheme.

Delete Your APFS Partition the Right Way

If you use Disk Utility to erase an APFS volume and format it HFS+, you’ll find that the old APFS container sticks around. The same thing happens if you use diskutil the wrong way. This means you can’t merge the partition back into the other partitions on your external hard drive. Here’s what you need to do in order to go about deleting your APFS partition correctly. First, use Disk Utility to eject your APFS container.
Use Disk Utility to eject your APFS container before you delete your APFS partition
Use Disk Utility to eject your APFS container
Now, launch Terminal and issue this command:
diskutil list
Make note of the device on your external drive (in my case, disk2).
Getting the APFS device identifier before we delete your APFS partition
Running diskutil list gives us our APFS device identifier
Finally, issue this command in Terminal to delete the APFS container and its volume, replacing disk2s3 with your actual device identifier.
diskutil apfs deleteContainer disk2s3
Delete your APFS partition
Deleting the APFS partition
You may get a message that the APFS container was damaged. If so, you can safely ignore that message. However, if the operation fails and you’re working with an external USB drive, try disconnecting the drive and then plugging it back in. For an internal drive, you’ll unfortunately need to reboot.

Remember, It’s Pretty Much Still Beta

Bear in mind that the current tools we have for working with APFS are intended to keep casual users from messing up their Macs. On macOS Sierra 10.12.4, APFS is still rather in a beta stage. I expect the UI tools will get easier to use when all of the kinks are worked out.

Either remove one partition (not recommended)
  • Open Utilities -> Terminal
  • Enter diskutil list
  • Enter diskutil umountDisk /dev/diskX with diskX: disk identifier of the CoreStorage volume (probably disk2)
  • Enter diskutil umountDisk /dev/diskY with diskY: disk identifier of your internal drive (probably disk0) and
  • Enter gpt -r show /dev/diskY to get an overview and the index number of Macintosh H(probably 2)
  • Enter gpt remove -i 2 /dev/diskY with diskY: disk identifier of your internal drive (probably disk0)
  • Enter exit and quit Terminal
Or remove all partitions (recommended)
  • Open Utilities -> Terminal
  • Enter diskutil list
  • Enter diskutil umountDisk /dev/diskX with diskX: disk identifier of the CoreStorage volume (probably disk2)
  • Enter diskutil umountDisk /dev/diskY with diskY: disk identifier of your internal drive (probably disk0) and
  • Enter gpt destroy /dev/diskY with diskY: disk identifier of your internal drive (probably disk0)
  • Enter exit and quit Terminal
  • Open Disk Utility and partition your internal drive
Either reinstalling OS X booted to IRM
  • Quit Disk Utility and open Restore OS X
  • Install and configure OS X
  • Download the latest OS X and upgrade to OS X El Capitan
  • attach your backup drive
  • Use the Migration Assistant to import your old users/data
Or reinstalling OS X booted to a bootable El Capitan installer thumb drive (recommended)
  • Quit Disk Utility
  • attach your backup drive
  • Install OS X El Capitan
  • Use the Migration Assistant to import your old user(s)/data

Formatting a Disk to Mac OS Extended Journaled (APFS) from Terminal in Mac OS X

diskutil eraseDisk APFS DiskName /dev/DiskX

Formatting a Disk to Mac OS Extended Journaled (JHFS+) from Terminal in Mac OS X

diskutil eraseDisk JHFS+ DiskName /dev/DiskX

Formatting a Disk to Mac OS Extended (HFS+) from Terminal in Mac OS X

diskutil eraseDisk HFS+ DiskName /dev/DiskX

Formatting a Disk to MS-DOS fat32 from the Command Line in Mac OS X

diskutil eraseDisk FAT32 DiskName /dev/DiskX

Formatting a Disk to ExFAT from the Command Line in Mac OS X

diskutil eraseDisk ExFAT DiskName /dev/DiskX
Again, any of these commands erase the entire target disk and obliterates any data on it.
Users who would like additional details or information about the other options available including MBR and GPT settings can query the man page with “man diskutil” and searching for “eraseDisk”, or execute the command with no specifics like so:
diskutil eraseDisk
Usage: diskutil eraseDisk format name [APM[Format]|MBR[Format]|GPT[Format]]
MountPoint|DiskIdentifier|DeviceNode
Completely erase an existing whole disk. All volumes on this disk will be
destroyed. Ownership of the affected disk is required.
Format is the specific file system name you want to erase it as (HFS+, etc.).
Name is the (new) volume name (subject to file system naming restrictions),
or can be specified as %noformat% to skip initialization (newfs).
You cannot erase the boot disk.
Example: diskutil eraseDisk JHFS+ UntitledUFS disk3

Friday, July 28, 2017

Mozilla FireFox & FireFoxNightly Performance Tweaks

Performance Configurations for Mozilla Firefox

Go to about:config in the address bar, hit enter.
Click "I'll be careful, I promise".
In the search bar type: change its value to: as below:


Name  Value
accessibility.blockautorefresh TRUE
accessibility.typeaheadfind.flashBar 0
browser.cache.disk.capacity 0
browser.cache.disk.enable FALSE
browser.cache.disk.filesystem_reported 1
browser.cache.disk.metadata_memory_limit 51200
browser.cache.disk.smart_size.first_run FALSE
browser.cache.frecency_experiment 4
browser.cache.memory.max_entry_size -1
browser.cache.use_new_backend 1
browser.display.show_image_placeholders FALSE
browser.link.open_newwindow.restriction 0
browser.places.smartBookmarksVersion 8
browser.search.suggest.enabled FALSE
browser.sessionstore.interval 3600000
browser.sessionstore.resume_from_crash FALSE
browser.startup.homepage about:config
browser.tabs.crashReporting.sendReport FALSE
browser.tabs.remote.autostart TRUE
browser.tabs.remote.autostart.1 TRUE
browser.urlbar.maxRichResults 16
browser.urlbar.searchSuggestionsChoice FALSE
browser.urlbar.suggest.history FALSE
browser.urlbar.suggest.openpage FALSE
browser.urlbar.suggest.searches FALSE
dom.battery.enabled FALSE
dom.disable_window_move_resize TRUE
dom.disable_window_open_feature.close TRUE
dom.enable_performance FALSE
dom.enable_performance_observer FALSE
dom.enable_resource_timing FALSE
dom.event.clipboardevents.enabled FALSE
dom.event.contextmenu.enabled FALSE
dom.gamepad.enabled FALSE
dom.ipc.plugins.flash.subprocess.crashreporter.enabled FALSE
dom.ipc.plugins.reportCrashURL FALSE
dom.push.enabled FALSE
dom.webnotifications.enabled FALSE
dom.webnotifications.serviceworker.enabled FALSE
image.animation_mode none
layers.acceleration.force-enabled TRUE
media.benchmark.vp9.fps 195
media.benchmark.vp9.versioncheck 2
media.eme.enabled FALSE
media.gmp-gmpopenh264.version 2
media.gmp.storage.version.observed 1
media.navigator.enabled FALSE
media.navigator.video.enabled FALSE
media.peerconnection.enabled FALSE
media.video_stats.enabled FALSE
network.allow-experiments FALSE
network.cookie.cookieBehavior 1
network.cookie.lifetimePolicy 2
network.cookie.prefsMigrated TRUE
network.dns.disableIPv6 TRUE
network.dns.disablePrefetch TRUE
network.http.max-connections 1200
network.http.max-persistent-connections-per-server 10
network.http.speculative-parallel-limit 0
network.predictor.cleaned-up TRUE
network.predictor.enabled FALSE
network.prefetch-next FALSE
network.websocket.max-connections 250
plugin.disable_full_page_plugin_for_types application/pdf
plugin.state.java 0
privacy.clearOnShutdown.offlineApps TRUE
privacy.clearOnShutdown.siteSettings TRUE
privacy.donottrackheader.enabled TRUE
privacy.history.custom TRUE
privacy.sanitize.sanitizeOnShutdown TRUE
privacy.trackingprotection.enabled TRUE
privacy.trackingprotection.introCount 20
security.dialog_enable_delay 0
security.OCSP.enabled 1
security.OCSP.require TRUE
services.sync.declinedEngines tabs,addons,passwords,history
services.sync.engine.addons FALSE
services.sync.engine.history FALSE
services.sync.engine.passwords FALSE
services.sync.engine.prefs.modified FALSE
services.sync.engine.tabs FALSE
storage.vacuum.last.index 1
webgl.disabled TRUE