How to use the DISM Tool to Manage Windows Features

The content below is taken from the original ( How to use the DISM Tool to Manage Windows Features), to continue reading please visit the site. Remember to respect the Author & Copyright.


The Deployment Image Servicing and Management (DISM) command-line tool and associated Powershell module are powerful tools to manipulate Windows image .wim files, virtual hard disks .vhd files, and control of Windows features and drivers.

Even more powerful is the ability to service offline images. In the past, there were many utilities that were used, but DISM is intended to replace several such as PEimg, Intlcfg, ImageX, and Package Manager.

Using DISM

To start with, open an administrative command prompt and simply type dism. Initial output is the version and options available, of which there are many.

Image #1 Expand

In this article, we are focused on how to use DISM to specifically add or remove Windows features. With that in mind, let’s explore what functionality exists to enable this.

DISM Feature Functionality

There are four main functions that are used with managing features. Below we will run through each one and explore exactly how they are used.

Get-Features

To understand what features are available, and the current state, we use the /Get-Features parameter. It’s important to note that we are using /Online for all of the commands here as we are operating on the current operating system and not an offline image.

dism /Online /Get-Features

Image #2 Expand

When this command is run, an output of all features and their current state is shown on screen. There are many and the default List view can be difficult to read. Thankfully there is a convenient format option that makes the output easier to parse.

dism /Online /Get-Features /Format:Table

Image #3 Expand

Now that we know what features are available, let’s pick one in particular to enable.

Get-FeatureInfo

To learn more about a specific feature, we need to use the Get-FeatureInfo option. This command requires an additional parameter as well, FeatureName that contains the name of the feature to query. In this case, we are looking for the BITS (Background Intelligent Transfer Service) feature.

dism /online /Get-FeatureInfo /FeatureName:BITS

Image #4 Expand

There are a couple of useful results returned. Notably, the Restart Required and Version properties. This is useful to know how installing the feature will affect the system and if you have the correct version. Next is enabling the feature on the system, to do that we use the Enable-Feature option.

Enable-Feature

If the feature that you want to enable has the sources already included in the operating system and is a stand-alone feature, such as BITS, then the command is very simple.

dism /Online /Enable-Feature /FeatureName:BITS

Image #5 Expand

There are a few other commands that are very useful.

  • Source/Source:X:\\WindowsSources\\SxSIf the sources are not available for the requested feature, you can specify a path. This is common for features such as .NET 3.5.
  • LimitAccess/LimitAccessIf you want to prevent DISM from querying Microsoft Update for sources, this will prevent DISM from doing just that.
  • All/AllWithout specifying /All, only the requested feature will be installed, but using All will allow all parent features to be installed as well. This can help with dependency management sometimes.

Finally, perhaps it’s been decided that using BITS is not necessary, therefore we need to remove the feature from the operating system.

Disable-Feature

To simply remove a feature, it’s essentially the same as Enable-Feature but the inverse.

dism /Online /Disable-Feature /FeatureName:BITS

Image #6 Expand

There is one additional option that can be used which is /Remove. This will remove the feature but not the features manifest. This is typically used to free up space in an image. Upon installation request, a remote source would need to be specified to install the feature.

DISM Powershell Module

Using PowerShell, you can access many of the same features of DISM but in a PowerShell, object-centric, manor. Specifically, the features map as below.

  • /Get-FeaturesGet-WindowsOptionalFeature
  • /Get-FeatureInfoGet-WindowsOptionalFeature -FeatureName
  • /Enable-FeatureEnable-WindowsOptionalFeature
  • /Disable-FeatureDisable-WindowsOptionalFeature

Let’s quickly walk through how these features work in comparison to the standard command-line DISM tool.

You may have to import the DISM module, Import-Module DISM

Image #7 Expand

Once the module is loaded, there are many commands but we will focus on the four covered in this article.

Get-WindowsOptionalFeature

One immediate difference is that there is no Format parameter. This is because you are able to format the returned objects in any number of ways using PowerShell. The way to get a similar table view is to do the following.

Get-WindowsOptionalFeature -Online | Format-Table -AutoSize

Image #8 Expand

Next, we will want to learn more about an existing feature.

Get-WindowsOptionalFeature -FeatureName

You will notice that the cmdlet used is the same as before, but using a parameter instead. Due to how PowerShell is generally structured, this is the preferred method. To do this we will pass in the feature that we want to learn more about.

Get-WindowsOptionalFeature -Online -FeatureName BITS

Image #9 Expand

As you can see, the same information that was returned by DISM is contained in an object returned in PowerShell. Now that we have our feature to add, let’s Enable this feature.

Enable-WindowsOptionalFeature

There are several ways to use this command. The most analogous to the DISM command-line tool is the following.

Enable-WindowsOptionalFeature -Online -FeatureName BITS

Image #10 Expand

If you have a series of features or know the one you want, you can use the pipeline to pass these in. Below are two examples of how to do this.

# Pass an array of features to be enabled
@("BITS") | ForEach-Object { Enable-WindowsOptionalFeature -Online -FeatureName $_ }

# Retrieve the feature first and then Enable the feature
Get-WindowsOptionalFeature -Online -FeatureName BITS | Enable-WindowsOptionalFeature -Online

Finally, we need to disable BITS as it is no longer needed.

Disable-WindowsOptionalFeature

Just like the enable cmdlet, we simply need to pass the feature name to disable.

Disable-WindowsOptionalFeature -Online -FeatureName BITS

Image #11 Expand

Conclusion

Whether you use DISM through the command-line or through PowerShell, there is a lot of functionality available to manage Windows Features. Not only can DISM be used on a running system, but if you have offline images, it can be used to manage those as well!

The post How to use the DISM Tool to Manage Windows Features appeared first on Petri.

BOINC Radio is discussing BOINC hardware this Friday. Let us know what you use to crunch and what you think about it!

The content below is taken from the original ( BOINC Radio is discussing BOINC hardware this Friday. Let us know what you use to crunch and what you think about it!), to continue reading please visit the site. Remember to respect the Author & Copyright.

We’re having a BOINC hardware episode this Friday (5pm EST on the BOINC Network Discord). We’ll be talking about GPUs, CPUs, gaming rigs, servers, phones, raspberries, pies,… everything!

Let us know your hardware and your thoughts and we’ll bring it into the recording.

Happy crunching!

submitted by /u/jring_o to r/BOINC
[link] [comments]

Google’s Web Vitals helps websites put visitors first

The content below is taken from the original ( Google’s Web Vitals helps websites put visitors first), to continue reading please visit the site. Remember to respect the Author & Copyright.

Browsing the internet might be lightning fast compared to the clunky dial-up days of yesteryear, but for many of us it’s still not fast enough. Now, Google is introducing a new initiative that will help developers make sure their pages load swiftly,…

Introducing Our Newest Lab Environments: Lab Playgrounds

The content below is taken from the original ( Introducing Our Newest Lab Environments: Lab Playgrounds), to continue reading please visit the site. Remember to respect the Author & Copyright.

Want to train in a real cloud environment, but feel slowed down by spinning up your own deployments? When you consider security or pricing costs, it can be costly and challenging to get up to speed quickly for self-training. To solve this problem, Cloud Academy created a new suite of lab-based practical environments: Lab Playgrounds.

These playground labs are a series of longer duration, low-friction sandbox environments. They’re like normal labs but with a generally quicker start-up time and an average duration of four hours. They offer the ability to get started without any third-party tools. For instances where SSH or RDP is required, we offer completely in-browser solutions for those as well. They feature environments for working with all kinds of platforms including operating systems, coding languages, DevOps tools, and more.

The goal is to provide you with sandbox environments where you feel free to run any command and experiment any way you like, without the guidelines of a typical lab. The end goal is to increase the amount of practical, real-world experience you gain in some of our most popular areas. You can also use these playgrounds to follow along with many of our learning paths and courses.

We even made it easier to find these newest lab playgrounds.

Lab Playgrounds: Get up to speed faster

Previously, we offered playgrounds for Kubernetes and Sagemaker Notebook. As of today, we now also offer playground labs for multiple distributions of Linux, Docker for Linux and Windows, Python, and Java. We’ll continue to look for opportunities to expand these and create more playground environments.

You do not need your own account credentials to use the playground labs. When you start a playground lab, the system launches all the necessary resources and starts the timer. The technology you are learning about appears on your screen.

We now have eight lab playgrounds where you can learn freely without concern for any of your real environments.

Amazon Linux 2 Playground

This playground lab provides you with an Amazon Linux 2 host running in AWS. The instructions allow you to connect to the Linux host using an in-browser SSH session. Once connected, you can explore Amazon Linux 2 for four hours until the lab time expires.

Ubuntu Playground

This playground lab provides you with a Ubuntu host running in AWS. EC2 Instance Connect allows you to connect to the instance over SSH using your web browser. With EC2 Instance Connect, a new browser window opens with an SSH shell ready for you to use. Once connected, you can explore for four hours until the lab time expires.

Docker Playground

This playground supplements your learning by providing you with a ready-to-use Docker installation. The playground provides full access to an instance with dockerdocker-compose, and relevant command-line completions already installed and running.

Docker Windows Containers Playground

This lab playground is intended for anyone working with Docker Windows containers or interested in getting started. You’ll get instructions that allow you to connect to the Docker host using an in-browser RDP session. Once connected you have two hours to explore, test, build, and play with Docker until the lab time expires.

Java Development Playground

This Java development playground supplements Cloud Academy content by providing you with a ready-to-use Java integrated development environment (IDE). In addition to Java, the host has common development tools such as jshell and git installed and ready for you to play with.

Python Development Playground

This lab playground is intended for anyone learning Python or interested in getting started. It provides you with a web browser integrated development environment (IDE). The host has Python as well as common development tools such as pip and git installed and ready for you to play with.

Amazon SageMaker Notebook Playground

This lab playground experience involves Amazon Web Services (AWS), and you will use the AWS Management Console to complete all the steps. The console enables cloud management for all aspects of the AWS account, including managing security credentials and even setting up new IAM Users.

Introduction to Kubernetes Playground

The lab creates a Kubernetes cluster for you to use as you progress through the course. All of the commands that are used in the course are included in the lab to make it easy for you to follow along. You can also use the lab to experiment and try out different exercises in addition to what is explained in the course.

How to use Lab Playgrounds

You can find playground labs as you discover labs on topics that you want to learn about. Tip: When you search for a lab on a topic, you can use the filters on the left side of the screen to limit the results to hands-on labs.

Use the following steps to start a playground lab:

  1. Click the playground lab that you want to start. A page appears with detailed information about the playground lab.
  2. Click on the Start Lab button. The lab appears and the timer begins.
  3. When you finish experimenting in the lab, you can return to the labs list.

Other labs

Cloud Academy is constantly growing the number of hands-on labs to guide you in active learning, plus lab challenges to test you in real deployments without (too much) hand-holding.

What’s the difference between hands-on labs, lab challenges, and lab playgrounds?

Hands-on Labs

Hands-on labs are guided experiences to learn in live cloud environments. Build and validate practical experience directly on AWS, Azure, Google Cloud Platform, Docker, Kubernetes, and much more.

  • Get step-by-step guidance to practice your skills without getting stuck
  • Solidify practical knowledge in a short amount of time
  • Facilitate knowledge retention and enable experimentation

Lab Challenges

Lab challenges are non-guided skill validation to demonstrate problem-solving skills — basically, hands-on labs with the gloves off. You jump into an auto-provisioned cloud environment and are given a goal to accomplish. No instructions, no hints. To pass, you’ll have a limited amount of time to complete the checks that inspect the state of your lab environment.
  • Validate your technical problem-solving skills in a real environment
  • Troubleshoot complex scenarios to practice what you learned
  • Develop production experience that translates into real-world expertise

Lab Playgrounds

Lab playgrounds provide a safe and secure sandbox environment for you to explore your own ideas, follow along with Cloud Academy courses, or answer your own questions — all without having to install any software on your local machine. You should feel free to take risks and try unfamiliar tools and commands to learn more about working in a live environment — even if it means running into a dead end and needing to start the lab over.

  • Explore and experiment in live environments without a set of objectives or checks to complete
  • No software installations or account credentials needed — the system automatically launches all the necessary resources
  • Use for an extended duration with an average duration of four hours

Go ahead, take a guided, hands-on lab, a non-guided lab challenge, or explore a lab playground, and tell us what you think in the comments below.

The post Introducing Our Newest Lab Environments: Lab Playgrounds appeared first on Cloud Academy.

Are you fixing that switch? Or setting it up as a Minecraft server?

The content below is taken from the original ( Are you fixing that switch? Or setting it up as a Minecraft server?), to continue reading please visit the site. Remember to respect the Author & Copyright.

Cisco shows Cisco’s shown off how you can brick it on a Catalyst 9300

Cisco has Cisco’s published a guide to running Minecraft on its switches.…

Something a bit phishy in your inbox? You can now email suspected scams straight to Blighty’s web takedown cops

The content below is taken from the original ( Something a bit phishy in your inbox? You can now email suspected scams straight to Blighty’s web takedown cops), to continue reading please visit the site. Remember to respect the Author & Copyright.

National Cyber Security Centre publishes scam-busting address

The National Cyber Security Centre has launched the Suspicious Email Reporting Service: a new email address for reporting scam mails to a government department that might actually do something about it.…

Arm is offering early-stage startups free access to its chip designs

The content below is taken from the original ( Arm is offering early-stage startups free access to its chip designs), to continue reading please visit the site. Remember to respect the Author & Copyright.

The year’s already off to a rocky start for hardware companies, and we’re only beginning to see the true impact COVID-19 will ultimately have on the market. Arm — the U.K. UK company behind the designs of chips for everyone from form Apple to Qualcomm to Samsung — is hoping to kickstart developing by offering up access to around 75% of its chip portfolio for free to qualified startups.

The move marks an expansion of the company company’s Flexible Access program. With it, Arm will open access to its IP for early-stage early stage startups. While some of the biggest companies pay the chip designer big bucks for that information, the cost can be prohibitive for those just starting out.

“In today’s challenging business landscape, enabling innovation is critical – now more than ever, startups with brilliant ideas need the fastest, most trusted route to success and scale,” SVP Dipti Vachani, said in a statement. “Arm Flexible Access for Startups offers new silicon entrants a faster, more cost-efficient path to working prototypes, resulting in strengthened investor confidence for future funding.”

It’s a nice bit of access for up and coming startups. Of course, Arm’s not simply doing this out of the goodness of its heart. The company certainly has a vested interest interested in helping foster hardware startups amid what could shape up to be an unprecedented slowdown slow down for the industry after a few years of rapid funding and growth.

Interested parties can access the full list of available IPhere. Arm believes the launch of Flexible Access for Startups could help companies accelerate time to market by up to a year.

Who’s still using Webex? Not even Cisco: Judge orders IT giant to use rival Zoom for virtual patent trial

The content below is taken from the original ( Who’s still using Webex? Not even Cisco: Judge orders IT giant to use rival Zoom for virtual patent trial), to continue reading please visit the site. Remember to respect the Author & Copyright.

It would be rather awkward if Switchzilla’s own video-link app fell over mid-proceedings, wouldn’t it?

A judge has ordered Cisco to use arch-rival Zoom rather than its own video-conference offering Webex to virtually attend a patent-infringement trial.…

Tesla pushes Tesla Semi deliveries to 2021

The content below is taken from the original ( Tesla pushes Tesla Semi deliveries to 2021), to continue reading please visit the site. Remember to respect the Author & Copyright.

Tesla is pushing back plans to produce and deliver its all-electric Class 8 truck until 2021, the company said in its quarter earnings report Wednesday. The move puts the Tesla Semi two years behind the automaker’s previous target.

“We are shifting our first Tesla Semi deliveries to 2021,” the company said without providing any more details.

The Tesla Semi was first unveiled in November 2017 in a splashy ceremony in Hawthorne, Calif. on the grounds of Tesla’s design studio and Musk’s other company, SpaceX . During the initial debut, Musk promised the truck would drive like its other passenger vehicles, the Model X,  Model S and Model 3. The truck also boasted some eye-popping specs that included the ability to travel 500 miles on a single battery charge when fully loaded and driving 65 miles per hour.

While the company had interest from customers with companies like Walmart and Anheuser-Busch putting in pre-orders, the vehicle program wasn’t hasn’t been able to meet the 2019 target.

Earlier this year in its fourth quarter earnings report, Tesla provided one of the first updates on the Tesla Semi in months, stating that it was “planning to produce limited volumes of Tesla Semi this year.”

Tesla’s ‘full self-driving’ feature is coming in subscription form

The content below is taken from the original ( Tesla’s ‘full self-driving’ feature is coming in subscription form), to continue reading please visit the site. Remember to respect the Author & Copyright.

During the Q1 2020 earnings call on Wednesday, Tesla CEO Elon Musk confirmed that the company’s “Full Self-Driving” system will become available as a monthly subscription later this year.Tesla has been installing the necessary hardware for its autono…

Below is a list of free courses that vendors have made available. Sign up and skill up

The content below is taken from the original ( Below is a list of free courses that vendors have made available. Sign up and skill up), to continue reading please visit the site. Remember to respect the Author & Copyright.

submitted by /u/Chapungu to r/sysadmin
[link] [comments]

[Showoff Saturday] I made a web app that allows you to watch YouTube coding tutorials undistracted and add notes to them.

The content below is taken from the original ( [Showoff Saturday] I made a web app that allows you to watch YouTube coding tutorials undistracted and add notes to them.), to continue reading please visit the site. Remember to respect the Author & Copyright.

[Showoff Saturday] I made a web app that allows you to watch YouTube coding tutorials undistracted and add notes to them. submitted by /u/PurpleNippies to r/webdev
[link] [comments]

Raspberry Pi’s improved camera module supports interchangeable lenses

The content below is taken from the original ( Raspberry Pi’s improved camera module supports interchangeable lenses), to continue reading please visit the site. Remember to respect the Author & Copyright.

Raspberry Pi has launched a new high-quality, interchangeable lens camera for budding photographers or folks who want to learn how integrate a camera into their build projects. It comes with a 7.9mm (Type 1/2.3) Sony IMX477 12.3-megapixel back-illumi…

Virtual meetings in Animal Crossing are so last month. Behold the virtual computer museum

The content below is taken from the original ( Virtual meetings in Animal Crossing are so last month. Behold the virtual computer museum), to continue reading please visit the site. Remember to respect the Author & Copyright.

Social simulation in an era of social distancing

News reaches Vulture Central of more retro computing goodness courtesy of the hit game Animal Crossing and an enterprising member of staff at the currently shuttered Centre for Computing History.…

Intel is offering more 14nm Skylake desktop processors, we repeat: More 14nm Skylake desktop processors

The content below is taken from the original ( Intel is offering more 14nm Skylake desktop processors, we repeat: More 14nm Skylake desktop processors), to continue reading please visit the site. Remember to respect the Author & Copyright.

10th-generation Core additions land 10th-generation Core series lands with up to 10 CPU cores, 5.3GHz max

Intel this week unveiled the desktop processors in its 10th-generation Core series, the headline component being the 10-core i9-10900K that can run up to 5.3GHz.…

Fight off that virus on RISC OS!

The content below is taken from the original ( Fight off that virus on RISC OS!), to continue reading please visit the site. Remember to respect the Author & Copyright.

Well, in a game, anyway. Rick Murray has found himself inspired by the pandemic that has had such a dramatic effect on all our lives, and written a game for people to while away those lockdown hours – Virus! Rick Murray’s Virus! – title screen The game pits you as a single white bloodcell, in […]

Deploying Gateway using a Raspberry Pi, DNS over HTTPS and Pi-hole

The content below is taken from the original ( Deploying Gateway using a Raspberry Pi, DNS over HTTPS and Pi-hole), to continue reading please visit the site. Remember to respect the Author & Copyright.

Deploying Gateway using a Raspberry Pi, DNS over HTTPS and Pi-hole

Like many who are able, I am working remotely and in this post, I describe some of the ways to deploy Cloudflare Gateway directly from your home. Gateway’s DNS filtering protects networks from malware, phishing, ransomware and other security threats. It’s not only for corporate environments – it can be deployed on your browser or laptop to protect your computer or your home WiFi. Below you will learn how to deploy Gateway, including, but not limited to, DNS over HTTPS (DoH) using a Raspberry Pi, Pi-hole and DNSCrypt.

We recently launched Cloudflare Gateway and shortly thereafter, offered it for free until at least September to any company in need. Cloudflare leadership asked the global Solutions Engineering (SE) team, amongst others, to assist with the incoming onboarding calls. As an SE at Cloudflare, our role is to learn new products, such as Gateway, to educate, and to ensure the success of our prospects and customers. We talk to our customers daily, understand the challenges they face and consult on best practices. We were ready to help!

One way we stay on top of all the services that Cloudflare provides, is by using them ourselves. In this blog, I’ll talk about my experience setting up Cloudflare Gateway.

Gateway sits between your users, device or network and the public Internet. Once you setup Cloudflare Gateway, the service will inspect and manage all Internet-bound DNS queries. In simple terms, you point your recursive DNS to Cloudflare and we enforce policies you create, such as activating SafeSearch, an automated filter for adult and offensive content that’s built into popular search engines like Google, Bing, DuckDuckGo, Yandex and others.

There are various methods and locations DNS filtering can be enabled, whether it’s on your entire laptop, each of your individual browsers and devices or your entire home network. With DNS filtering front of mind, including DoH, I explored each model. The model you choose ultimately depends on your objective.

But first, let’s review what DNS and DNS over HTTPS are.

DNS is the protocol used to resolve hostnames (like https://ift.tt/ghWyhd) into IP addresses so computers can talk to each other. DNS is an unencrypted clear text protocol, meaning that any eavesdropper or machine between the client and DNS server can see the contents of the DNS request. DNS over HTTPS adds security to DNS and encrypt DNS queries using HTTPS (the protocol we use to encrypt the web).

Let’s get started

Navigate to https://dash.teams.cloudflare.com. If you don’t already have an account, the sign up process only takes a few minutes.

Deploying Gateway using a Raspberry Pi, DNS over HTTPS and Pi-hole

Configuring a Gateway location, shown below, is the first step.

Deploying Gateway using a Raspberry Pi, DNS over HTTPS and Pi-hole

Conceptually similar to HTTPS traffic, when our edge receives an HTTPS request, we match the incoming SNI header to the correct domain’s configuration (or for plain text HTTP the Host header). And when our edge receives a DNS query, we need a similar mapping to identify the correct configuration. We attempt to match configurations, in this order:

  1. DNS over HTTPS check and lookup based on unique hostname
  2. IPv4 check and lookup based on source IPv4 address
  3. Lookup based on IPv6 destination address

Let’s discuss each option.

DNS over HTTPS

The first attempt to match DNS requests to a location is pointing your traffic to a unique DNS over HTTPS hostname. After you configure your first location, you are given a unique destination IPv6 address and a unique DoH endpoint as shown below. Take note of the hostname as you will need it shortly. I’ll first discuss deploying Gateway in a browser and then to your entire network.

Deploying Gateway using a Raspberry Pi, DNS over HTTPS and Pi-hole

DNS over HTTPS is my favorite method for deploying Gateway and securing DNS queries at the same time. Enabling DoH prevents anyone but the DNS server of your choosing from seeing your DNS queries.

Enabling DNS over HTTPS in browsers

By enabling it in a browser, only queries issued in that browser are affected. It’s available in most browsers and there are quite a few tutorials online to show you how to turn it on.

Browser Supports
DoH
Supports Custom
Alternative Providers
Supports
Custom Servers
Chrome Yes Yes No
Safari No No No
Edge Yes** Yes** No**
Firefox Yes Yes Yes
Opera Yes* Yes* No*
Brave Yes* Yes* No*
Vivaldi Yes* Yes* No*

* Chromium based browser. Same support as Chrome
** Most recent version of Edge is built on Chromium

Chromium based browsers

Using Chrome as an example on behalf of all the Chromium-based browsers, enabling DNS over HTTPS is straightforward, but as you can see in the table above, there is one issue: Chrome does not currently support custom servers. So while it is great that a user can protect their DNS queries, they cannot choose the provider, including Gateway.

Here is how to enable DoH in Chromium based browsers:

Navigate to chrome://flags and toggle the beta flag to enabled.

Deploying Gateway using a Raspberry Pi, DNS over HTTPS and Pi-hole

Firefox

Firefox is the exception to the rule because they support both DNS over HTTPS and the ability to define a custom server. Mozilla provides detailed instructions about how to get started.

Once enabled, navigate to Preferences -> General -> Network Security and select ‘Settings’. Scroll to the section ‘Enable DNS over HTTPS’, select ‘Custom’ and input your Gateway DoH address, as shown below:

Deploying Gateway using a Raspberry Pi, DNS over HTTPS and Pi-hole

Optionally, you can enable Encrypted SNI (ESNI), which is an IETF draft for encrypting the SNI headers, by toggling the ‘network.security.esni.enabled’ preference in about:config to ‘true’. Read more about how Cloudflare is one of the few providers that supports ESNI by default.

Congratulations, you’ve configured Gateway using DNS over HTTPS! Keep in mind that only queries issued from the configured browser will be secured. Any other device connected to your network such as your mobile devices, gaming platforms, or smart TVs will still use your network’s default DNS server, likely assigned by your ISP.

Configuring Gateway for your entire home or business network

Deploying Gateway at the router level allows you to secure every device on your network without needing to configure each one individually.

Requirements include:

  • Access to your router’s administrative portal
  • A router that supports DHCP forwarding
  • Raspberry Pi with WiFi or Ethernet connectivity

There aren’t any consumer routers on the market that natively support DoH custom servers and likely few that natively support DoH at all. A newer router I purchased, the Netgear R7800, does not support either, but it is one of the most popular routers for flashing dd-wrt or open-wrt, which both support DoH. Unfortunately, neither of these popular firmwares support custom servers.

While it’s rare to find a router that supports DoH out of the box, DoH with custom servers, or has potential to be flashed, it’s common for a router to support DHCP forwarding (dd-wrt and open-wrt both support DHCP forwarding). So, I installed Pi-hole on my Raspberry Pi and used it as my home network’s DNS and DHCP server.

Getting started with Pi-hole and dnscrypt-proxy

If your Raspberry Pi is new and hasn’t been configured yet, follow their guide to get started. (Note: by default, ssh is disabled, so you will need a keyboard and/or mouse to access your box in your terminal.)

Once your Raspberry Pi has been initialized, assign it a static IP address in the same network as your router. I hardcoded my router’s LAN address to 192.168.1.2

Using vim:
sudo vi /etc/dhcpcd.conf

Deploying Gateway using a Raspberry Pi, DNS over HTTPS and Pi-hole

Restart the service.
sudo /etc/init.d/dhcpcd restart

Check that your static IP is configured correctly.
ip addr show dev eth0

Deploying Gateway using a Raspberry Pi, DNS over HTTPS and Pi-hole

Now that your Raspberry Pi is configured, we need to install Pi-hole: https://github.com/pi-hole/pi-hole/#one-step-automated-install

I chose to use dnscrypt-proxy as the local service that Pi-hole will use to forward all DNS queries. You can find the latest version here.

To install dnscrypt-proxy on your pi-hole, follow these steps:

wget https://github.com/DNSCrypt/dnscrypt-proxy/releases/download/2.0.39/dnscrypt-proxy-linux_arm-2.0.39.tar.gz
tar -xf dnscrypt-proxy-linux_arm-2.0.39.tar.gz
mv linux-arm dnscrypt-proxy
cd dnscrypt-proxy
cp example-dnscrypt-proxy.toml dnscrypt-proxy.toml

Next step is to build a DoH stamp. A stamp is simply an encoded DNS address that encodes your DoH server and other options.

Deploying Gateway using a Raspberry Pi, DNS over HTTPS and Pi-hole

As a reminder, you can find Gateway’s unique DoH address in your location configuration.

Deploying Gateway using a Raspberry Pi, DNS over HTTPS and Pi-hole

At the very bottom of your dnscrypt-proxy.toml configuration file, uncomment both lines beneath [static].

  • Change  [static.'myserver'] to [static.'gateway']
  • Replace the default stamp with the one generated above

The static section should look similar to this:

Deploying Gateway using a Raspberry Pi, DNS over HTTPS and Pi-hole

Also in dnscrypt-proxy.toml configuration file, update the following settings:
server_names = ['gateway']
listen_addresses = ['127.0.0.1:5054']
fallback_resolvers = ['1.1.1.1:53', '1.0.0.1:53']
cache = false

Now we need to install dnscrypt-proxy as a service and configure Pi-hole to point to the listen_addresses defined above.

Install dnscrypt-proxy as a service:
sudo ./dnscrypt-proxy -service install

Start the service:
sudo ./dnscrypt-proxy -service start

You can validate the status of the service by running:
sudo service dnscrypt-proxy status or netstat -an | grep 5054:

Deploying Gateway using a Raspberry Pi, DNS over HTTPS and Pi-hole
Deploying Gateway using a Raspberry Pi, DNS over HTTPS and Pi-hole

Also, confirm the upstream is working by querying localhost on port 5054:
dig www.cloudflare.com  -p 5054 @127.0.0.1

Deploying Gateway using a Raspberry Pi, DNS over HTTPS and Pi-hole

You will see a matching request in the Gateway query log (note the timestamps match):

Deploying Gateway using a Raspberry Pi, DNS over HTTPS and Pi-hole

Configuring DNS and DHCP in the Pi-hole administrative console

Open your browser and navigate to the Pi-hole’s administrative console. In my case, it’s http://192.168.1.6/admin

Go to Settings -> DNS to modify the upstream DNS provider, which we’ve just configured to be dnscrypt-proxy.

Deploying Gateway using a Raspberry Pi, DNS over HTTPS and Pi-hole

Change the upstream server to 127.0.0.1#5054 and hit save. According to Pi-hole’s forward destination determination algorithm, the fastest upstream DNS server is chosen. Therefore, if you want to deploy redundancy, it has to be done in the DNSCrypt configuration.

Almost done!

In Settings->DHCP, enable the DHCP server:

Deploying Gateway using a Raspberry Pi, DNS over HTTPS and Pi-hole

Hit save.

At this point, your Pi-hole server is running in isolation and we need to deploy it to your network. The simplest way to ensure your Pi-hole is being used exclusively by every device is to use your Pi-hole as both a DNS server and a DHCP server. I’ve found that routers behave oddly if you outsource DNS but not DHCP, so I outsource both.

After I enabled the DHCP server on the Pi-hole, I set the router’s configuration to DHCP forwarding and defined the Pi-hole static address:

Deploying Gateway using a Raspberry Pi, DNS over HTTPS and Pi-hole

After applying the routers configuration, I confirmed it was working properly by forgetting the network in my network settings and re-joining. This results in a new IPv4 address (from our new DHCP server) and if all goes well, a new DNS server (the IP of Pi-hole).

Deploying Gateway using a Raspberry Pi, DNS over HTTPS and Pi-hole
Deploying Gateway using a Raspberry Pi, DNS over HTTPS and Pi-hole

Done!

Now that our entire network is using Gateway, we can configure Gateway Policies to secure our DNS queries!

IPv4 check and lookup based on source IPv4 address

For this method to work properly, Gateway requires that your network has a static IPv4 address. If your IP address does not change, then this is the quickest solution (but still does not prevent third-parties from seeing what domains you are going to). However, if you are configuring Gateway in your home, like I am, and you don’t explicitly pay for this service, then most likely you have a dynamic IP address. These addresses will always change when your router restarts, intentionally or not.

Lookup based on IPv6 destination address

Another option for matching requests in Gateway is to configure your DNS server to point to a unique IPv6 address provided to you by Cloudflare. Any DNS query pointed to this address will be matched properly on our edge.

This might be a good option if you want to use Cloudflare Gateway on your entire laptop by setting your local DNS resolution to this address. However, if your home router or ISP does not support IPv6, DNS resolution won’t work.

Conclusion

In this blog post, we’ve discussed the various ways Gateway can be deployed and how encrypted DNS is one of the next big Internet privacy improvements. Deploying Gateway can be done on a per device basis, on your router or even with a Raspberry Pi.

How to improve the delivery and ecommerce experience with Google Maps Platform

The content below is taken from the original ( How to improve the delivery and ecommerce experience with Google Maps Platform), to continue reading please visit the site. Remember to respect the Author & Copyright.

Editor’s note: To support companies and developers addressing changing consumer and business needs, we’re sharing our best practices for adding new functionality to your apps and websites.

With many restaurants and stores around the world unable to open for business as usual, a common question we hear from customers is how they can quickly add delivery capabilities to their businesses. Many of the same APIs and SDKs we highlighted in last week’s “buy online, pick up in store” postcan be used to shift to offering delivery of goods rather than pick-up. Let’s take a look at how.

Minimize delivery errors 

It’s important to make sure your packages get to the right place, and having accurate address information is essential for reducing returned packages due to delivery errors. The Autocomplete API provides a ‘type ahead’ address prediction service. And by integrating it into your checkout flow you can accelerate address entry, reduce checkout friction, and reduce delivery errors.

After an address is obtained from the Autocomplete API, you can also use the Geocoding API to determine the precise lat/lng position of the user’s delivery address (using Place_ID from Autocomplete).  This can be used to display a map with a movable pin to confirm the delivery and drop-off locations. This provides quick visual feedback to the user, and by repositioning the pin, allows them to fine-tune the drop-off location. You can again use the Geocoding API to convert the map pin location back to a human-readable address.

For locations that don’t have accurate or official addresses, you can now use Plus Codes from the Place Autocomplete and Geocoding APIs to obtain accurate delivery locations for your drivers.

Dispatch the best delivery driver

Manage a fleet of delivery drivers? Google Maps Platform can be used to improve your operations and help you operate more efficiently with access to real-time traffic information.

Use Distance Matrix API to compare the travel time from each possible warehouse or depot location to fulfill the order, allowing for the quickest possible delivery. Use the traffic_model parameter to access predictive travel times which anticipate how long the journey will take at the time the shipment needs to leave the depot.

The Distance Matrix API also utilizes live traffic information, allowing you to choose the closest driver by real-time journey duration to complete the pickup and delivery. This ensures the fastest possible order turnaround and a more efficient operation overall. With shorter drive times, drivers can deliver more orders each per day.

Have poor GPS data? The Roads API can be used to snap raw device locations from drivers onto the most likely position on Google’s road network. These adjusted positions can be used as the origin for Directions API or Distance Matrix API. Correcting the driver position in this way will result in more accurate directions and ETAs, improving overall efficiency and increasing capacity to handle orders. 

Optimize your driver’s route 

After you’ve selected your drivers, get them to their drop-off locations quickly. UseDirections API to provide turn-by-turn directions with real-time traffic for your delivery driver or to predict the duration of future sections of their route using the traffic_model parameter. This service will also optimize the order of waypoints for delivery, so that deliveries are completed in the shortest overall distance. Here’s a useful tip–set the destination using the Place ID from Place Autocomplete or Geocoding API (as opposed to the text address). This will route the driver to the best access point for the destination which will allow for a more efficient delivery in most cases, making your operation more efficient overall.

Use StreetView in a native app built with the Google Maps Android or iOS SDKs to display images of the drop off location to the driver, so he or she knows exactly where to stop and what the entrance looks like before they arrive, saving time at the drop off. Be sure to trigger out to the native Google Maps app to provide real-time turn-by-turn navigation with voice guidance.

Update your customer on the ETA of their delivery in real time

Finally, keep your customers up to date on the latest delivery status. Use Directions API to check the remaining ETA of the driver to the next customer delivery, or use Distance Matrix API to check many ETAs at once. Use live traffic to keep customers updated about changing road conditions. Build a simple delivery tracker on the web using the Maps JavaScript API to allow customers to track their delivery in real time, saving calls to your business to check on the status of the delivery.

Protect location privacy

If you use users’ location data, please make sure to check and comply with the end user location privacy terms in the Google Maps Platform Terms of Service

Next up, we’ll give you an overview of how restaurants can use Google Maps Platform and other Google resources to pivot to online delivery. For additional tutorials and technical info, check out our Google Maps Platform documentation. To learn more about Google Maps Platform, visit our website.

Enable remote work faster with new Windows Virtual Desktop capabilities

The content below is taken from the original ( Enable remote work faster with new Windows Virtual Desktop capabilities), to continue reading please visit the site. Remember to respect the Author & Copyright.

In the past few months, there has been a dramatic and rapid shift in the speed at which organizations of all sizes have enabled remote work amidst the global health crisis. Companies examining priorities and shifting resources with agility can help their employees stay connected from new locations and devices, allowing for business continuity essential to productivity.

We have seen thousands of organizations turn to Windows Virtual Desktop to help them quickly deploy remote desktops and apps on Azure for users all over the globe. The service and its new updates available today in preview will simplify getting started and enabling secure access to what users need each day.

Get started quickly with the Azure Portal with a new admin experience to accelerate end-to-end deployment, management, and optimization.

Gain enhanced security and compliance using reverse connect technology, Azure Firewall to limit internet egress traffic from your virtual machines to specific IP addresses in Azure, and several other new additions.

Enjoy an upgraded Microsoft Teams experience coming in the next month with audio/video redirection (AV redirect) to reduce latency in conversations running in a virtualized environment.

Learn more about today’s announcement in the Microsoft 365 blog from Julia White and Brad Anderson.

Get started with Windows Virtual Desktop and connect with technical experts in the Windows Virtual Desktop Tech Community.

Cross-region restore for Azure Virtual Machines using Azure Backup

The content below is taken from the original ( Cross-region restore for Azure Virtual Machines using Azure Backup), to continue reading please visit the site. Remember to respect the Author & Copyright.

With the introduction of cross-region restore, you can now initiate restores in a secondary region at will to mitigate real downtime issues in a primary region for your environment.

Get your free work-from-home IT security awareness training kit, courtesy of SANS

The content below is taken from the original ( Get your free work-from-home IT security awareness training kit, courtesy of SANS), to continue reading please visit the site. Remember to respect the Author & Copyright.

Focus, train and engage your remote teams to stay safe, gratis

Promo As toilet paper stocks begin to recover, we all figure out the sweet spot for our government-mandated daily walk or trot, and fence off sections of our homes from our significant others for “me time,” it’s time to begin the next phase of social isolation: adjusting sensibly to our environment with an actual plan.…

Underwater Crawling Soft Robot Stays in Shape

The content below is taken from the original ( Underwater Crawling Soft Robot Stays in Shape), to continue reading please visit the site. Remember to respect the Author & Copyright.

When you think of robots that were modeled after animals, a brittle star is probably not the first species that comes to mind. Still, this is the animal that inspired [Zach J. Patterson] and his research colleagues from Carnegie Mellon University for their underwater crawling robot PATRICK.

PATRICK is a soft robot made from molded silicone. Each of his five limbs contains several shape memory alloy (SMA) springs which can be contracted through Joule heating thereby causing the limbs to bend. The robot’s control board is sending and receiving commands via Bluetooth Low Energy from a nearby computer. To control PATRICK’s motion the researchers constructed a closed-loop system where an offboard OpenCV based camera system is constantly tracking the robot. As shown in the video below with an average velocity of 1 cm/s, PATRICK’s movement is a bit sluggish but the system is supposedly very robust against uncertainties in the environment.

In the future [Zach J. Patterson et al.] would like to improve their design by giving the robot the ability to grasp objects. Ultimately, also the offboard camera should be replaced with onboard sensors so that PATRICK can navigate autonomously.

Soft robots like artificial jellyfish are especially useful underwater and sometimes almost cross the boundary to organic life.

CSIC launches a BOINC project to search for drugs against coronavirus[SPA]

The content below is taken from the original ( CSIC launches a BOINC project to search for drugs against coronavirus[SPA]), to continue reading please visit the site. Remember to respect the Author & Copyright.

CSIC launches a BOINC project to search for drugs against coronavirus[SPA] submitted by /u/Juanro49 to r/BOINC
[link] [comments]

Google Dinosaur Game in Batch

The content below is taken from the original ( in /r/ Batch), to continue reading please visit the site. Remember to respect the Author & Copyright.

It was a little boring today, so I tried replicating the Google Dinosaur game after my Internet went down. The script has randomized cactus and the day & night mode shift from the original game. And when you're saving it into a script, save it in ANSI encoding, or the Unicode characters won't display right. Here are some screenshots of the game https://imgur.com/7oAV5Rm

@ECHO OFF SETLOCAL ENABLEDELAYEDEXPANSION IF not "%1" == "" ( GOTO :%1 ) MODE 70, 18 FOR /F %%A in ('ECHO prompt $E^| cmd') DO SET "ESC=%%A" SET every="1/(((~(0-(frames %% #))>>31)&1)&((~((frames %% #)-0)>>31)&1))" SET "framerate=FOR /L %%J in (1,500,1000000) DO REM" SET "up=%ESC%[nA" SET "dn=%ESC%[nB" SET "bk=%ESC%[nD" SET "nx=%ESC%[nC" SET cactus[full]="Ã%bk:n=1%%up:n=1%´" "´%bk:n=1%%up:n=1%Ú" "Å%bk:n=1%%up:n=1%¿" "³%bk:n=1%%up:n=1%¿" "³%bk:n=1%%up:n=1%³" SET dino[full]="Ù³%bk:n=2%%up:n=1%ÛÛ%bk:n=1%%up:n=1%Û" "³Ù%bk:n=2%%up:n=1%ÛÛ%bk:n=1%%up:n=1%Û" "³³%bk:n=2%%up:n=1%ÛÛ%bk:n=1%%up:n=1%Û" FOR %%E in (cactus dino) DO ( FOR %%Q in (!%%E[full]!) DO ( SET /A "d[num]+=1" SET "%%E[!d[num]!]=%%~Q" ) SET "d[num]=" ) SET /A "rate=1000", "dino[y]=12", "sky[col]=255" SET "sprite=%dino[1]%" DEL "%~dpn0.quit" 2>nul :START SETLOCAL TITLE Google Dinosaur ECHO %ESC%[?25l%ESC%[38;2;0;0;0m%ESC%[48;2;255;255;255m%ESC%[2J%ESC%[12;15H%dino[3]%%ESC%[8;26HPress any Key to Play%ESC%[12;1H PAUSE>NUL FOR /L %%Q in (1, 1, 70) DO ( <NUL SET /P "=ß" %framerate% ) "%~F0" CONTROL W >"%temp%\%~n0_signal.txt" | "%~F0" GAME <"%temp%\%~n0_signal.txt" ENDLOCAL GOTO :START :GAME TITLE Press W to Jump FOR /L %%# in () DO ( SET /P "input=" SET /A "frames+=1" IF "!input!" == "W" ( IF not defined dino[jump] ( SET "dino[jump]=1" ) ) 2>NUL SET /A !every:#=2500! && ( SET /A "rate-=10" IF !sky[col]! EQU 255 ( SET /A "sky[col]=255","dino[col]=0","sky[check]=-17" ) else ( SET /A "sky[col]=0","dino[col]=255","sky[check]=17" ) ) 2>NUL SET /A !every:#=50! && ( SET /A "score+=1" IF "!sprite!" == "%dino[1]%" ( SET "sprite=%dino[2]%" ) else ( SET "sprite=%dino[1]%" ) ) 2>NUL SET /A !every:#=25! && ( IF defined sky[check] ( SET /A "sky[col]+=!sky[check]!","dino[col]-=!sky[check]!" ECHO %ESC%[48;2;!sky[col]!;!sky[col]!;!sky[col]!m%ESC%[38;2;!dino[col]!;!dino[col]!;!dino[col]!m FOR %%Q in (255 0) DO ( IF !sky[col]! EQU %%Q ( SET "sky[check]=" ) ) ) IF defined dino[jump] ( IF !dino[jump]! EQU 7 ( SET /A "dino[y]+=1" IF !dino[y]! EQU 12 ( SET "input=" SET "dino[jump]=" ) ) else ( SET /A "dino[y]-=1", "dino[jump]+=1" ) ) SET "proj[disp]=" FOR %%P in (!proj[all]!) DO ( FOR /F "tokens=1-2 delims=$" %%A in ("!proj%%P!") DO ( SET /A "d[num]=%%B-1" IF !d[num]! LSS 1 ( SET "proj[all]=!proj[all]:%%P=!" ) else IF !d[num]! LEQ 70 ( SET "proj[disp]=!proj[disp]!%ESC%[12;!d[num]!H%%A" SET "proj%%P=%%A$!d[num]!" IF !d[num]! EQU 15 ( IF not defined dino[jump] ( ECHO %ESC%[8;25HOuch^^! Press W to Continue%ESC% (COPY NUL "%~dpn0.quit")>NUL EXIT !score! ) ) ) ) ) ) ECHO %ESC%[12;70H%ESC%[1J%ESC%[3;55HScore : !score!%ESC%[!dino[y]!;15H!sprite!!proj[disp]! FOR %%Q in (!rate!) DO ( 2>NUL SET /A !every:#=%%Q! && ( SET /A "d[rand]=!RANDOM!*3/32768+1" FOR /L %%I in (1, 1, !d[rand]!) DO ( SET /A "proj[num]+=1","d[rand]=69+%%I","d[num]=!RANDOM!*5/32768+1" SET "proj[all]=!proj[all]! [!proj[num]!]" FOR %%E in (!d[num]!) DO ( SET "proj[!proj[num]!]=!cactus[%%E]!$!d[rand]!" ) ) ) ) ) :CONTROL FOR /L %%C in () do ( FOR /F "tokens=*" %%A in ('CHOICE /C:WASD /N') DO ( IF exist "%~dpn0.quit" ( DEL "%~dpn0.quit" EXIT ) <NUL SET /P ".=%%A" ) ) GOTO :EOF 

Have fun,

Lowsun

New compilation of remote work job boards

The content below is taken from the original ( New compilation of remote work job boards), to continue reading please visit the site. Remember to respect the Author & Copyright.

As a long-time freelancer, when the pandemic began to adversely affect my income, I started looking for remote work opportunities that would allow me to comfortably continue my digital nomad lifestyle.

I was hoping to find a nicely organized, up-to-date and relatively comprehensive online directory for remote work job boards/aggregator sites. The best I could find was something at Github, which was a good start but was somewhat out of date and not so easy to use.

So I compiled my own directory and put it online, to share with anyone who wanted to use it (no email/registration required and free of any affiliate links or advertising). This is more than just a list: every site is concisely summarized and the directory is broken down into two parts, general and technical.

In case anyone reading this might benefit from the directory, here’s the link.

Suggestions for additions and modifications are welcome. This is a work in progress that I hope will become increasingly valuable to the digital nomad community over time.

submitted by /u/DBinSJ to r/digitalnomad
[link] [comments]