A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://docs.citrix.com/en-us/citrix-daas/install-configure/machine-catalogs-create.html below:

Create machine catalogs | Citrix DaaS

Create machine catalogs

Note:

This article describes how to create catalogs using Studio. If you’re using Quick Deploy to create Azure resources, follow the guidance in Create catalogs using Quick Deploy.

Collections of physical or virtual machines are managed as a single entity called a machine catalog. Within a machine catalog, all machines share a common operating system type, which can be either multi-session OS or single-session OS, such as Windows or Linux-based systems.

Studio guides you to create the first machine catalog. After you create the first catalog, you create the first delivery group. Later, you can change the catalog you created, and create more catalogs.

Overview

When you create a catalog of VMs, you specify how to provision those VMs. You can use Machine Creation Services (MCS). Or, you can use your own tools to provide machines.

When using MCS to create the first catalog, you specify a hosting unit that you created previously. Hosting unit provide resource configuration for you to create a virtual machine. Later (after you create your first catalog and delivery group), you can change information about that hosting unit or its parent host connection or create more connections and hosting units.

If a Cloud Connector is not operating properly, MCS provisioning operations (such as catalog updates) take longer than usual, and the management interface’s performance degrades significantly.

RDS license check

Creation of a machine catalog containing Windows multi-session OS machines includes an automatic check for valid Microsoft RDS licenses. The catalog is searched for a powered-on and registered machine to do the check on.

VDA registration

A VDA must be registered with a Cloud Connector to be considered when launching brokered sessions. Unregistered VDAs can result in underutilization of otherwise available resources. There are various reasons that a VDA might not be registered, many of which you can troubleshoot. Troubleshooting information is provided in the catalog creation wizard, and after you add a catalog to a delivery group.

In the catalog creation wizard, after you add existing machines, the list of computer account names indicates whether each machine is suitable for adding to the catalog. Hover over the icon next to each machine to display an informative message about that machine.

If the message identifies a problematic machine, you can either remove that machine (using the Remove button), or add the machine. For example, if a message indicates that information cannot be obtained about a machine (perhaps because it was never registered), you might choose to add the machine anyway.

For more information about VDA registration troubleshooting, see CTX136668.

MCS catalog creation summary

Here’s a brief overview of default MCS actions after you provide information in the catalog creation wizard.

Alternatively, when creating VMs to deliver static desktops, you can specify (on the Machines page of the catalog creation wizard) thick (full copy) VM clones. Full clones do not require retention of the master image on every data store. Each VM has its own file.

MCS storage considerations

There are many factors when deciding on storage solutions, configurations, and capacities for MCS. The following information provides proper considerations for storage capacity:

Capacity considerations:

More considerations:

Machine Creation Services (MCS) storage optimization

The Machine Creation Services (MCS) storage optimization feature is also known as MCS I/O. This feature is only available on Azure, GCP, XenServer, VMware, AWS, and SCVMM.

Updating the write cache method from disk-based to file-based requires the following changes:

  1. MCS I/O no longer supports RAM only cache. Specify a disk size during machine catalog creation.
  2. The VM write cache disk is created and formatted automatically when booting a VM for the first time. Once the VM is up, the write cache file mcsdif.vhdx is written into the formatted volume MCSWCDisk.
  3. The pagefile is redirected to this formatted volume, MCSWCDisk. As a result, this disk size considers the total amount of disk space. It includes the delta between the disk size and the generated workload plus the pagefile size. This is typically associated with VM RAM size.
Enable MCS storage optimization updates

To enable the MCS I/O storage optimization feature, upgrade the Delivery Controller and the VDA to the latest version of Citrix DaaS.

Note:

If you upgrade an existing deployment which has MCS I/O enabled, no additional configuration is required. The VDA and the Delivery Controller upgrade handle the MCS I/O upgrade.

For information on assigning a drive letter to write-back cache disk, see Assign a specific drive letter to MCS I/O write-back cache disk.

Prepare a master image on the hypervisor or cloud service

The master image contains the operating system, non-virtualized applications, VDA, and other software.

Good to know:

Install and configure the following software on the master image:

Important:

If you are using MCS, do not run Sysprep on master images.

To prepare a master image:

  1. Using your hypervisor’s management tool, create a master image and then install the operating system, and all service packs and updates. Specify the number of vCPUs. You can also specify the vCPU value if you create the machine catalog using PowerShell. You cannot specify the number of vCPUs when creating a catalog from Studio. Configure the amount of hard disk space needed for desktops and applications. That value cannot be changed later or in the catalog.
  2. Ensure that the hard disk is attached at device location 0. Most standard master image templates configure this location by default, but some custom templates might not.
  3. Install and configure the software listed above on the master image.
  4. If you are not using MCS, join the master image to the domain where applications and desktops are members. Ensure that the master image is available on the host where the machines are created. If you are using MCS, joining the master image to a domain is not required. The provisioned machines are joined to the domain specified in the catalog creation wizard.
  5. Citrix recommends that you create and name a snapshot of your master image so that it can be identified later. If you specify a master image rather than a snapshot when creating a catalog, the management interface creates a snapshot, but you cannot name it.
Volume licensing activation

MCS supports volume licensing activation to automate and manage the activation of Windows operating systems and Microsoft Office. The three models that MCS supports for volume licensing activation are:

You can change the activation setting after you create the machine catalog.

Key Management Service (KMS)

The KMS is a lightweight service that does not require a dedicated system and can easily be co-hosted on a system that provides other services. This functionality is supported on all Citrix supported Windows versions. During image preparation, MCS does the Microsoft Windows and Microsoft Office KMS rearm. You can skip rearm by running the command Set-Provserviceconfigurationdata. For more information on KMS activation, see Activate using Key Management Service.

Note:

All machine catalogs created after running the command Set-Provserviceconfigurationdata have the same setting as provided in the command.

Active Directory-based activation (ADBA)

ADBA enables you to activate machines through their domain connections. Machines are immediately activated when they join the domain. These machines remain activated as long as they remain joined to the domain and in contact with it. This functionality is supported on all Citrix supported Windows versions. For more information on Active directory-based activation, see Activate using Active Directory-based activation.

Multiple Activation Key (MAK)

MAK is a way of activating volume and authenticating the Windows system with the help of the Microsoft server. You must buy the MAK key from Microsoft which is assigned with a fixed number of activation counts. Every time a Windows system is activated, the activation count reduces. There are two ways of activating the system:

Note:

Key requirements Activation Counts

To view the number of activations remaining for MAK Key or to check if a VM is consuming two or more activations, use the Volume Activation Management Tool (VAMT). See Install VAMT.

Activate the Windows system using MAK

To activate the Windows system using MAK:

  1. Install the product key on the master image. This step consumes one activation count.
  2. Create an MCS machine catalog.
  3. If you aren’t using image preparation:

    1. Add the registry DWORD value Manual under Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\Activation.
    2. Set the value to 1.

    This method disables the option of online activation.

  4. Add VMs to the machine catalog.
  5. Power on the VMs.
  6. Depending on whether it’s online or offline activation, the Windows system is activated.

Troubleshooting

If the provisioned VM is not activated with the installed MAK Key, run Get-ProvVM or Get-ProvScheme command on a PowerShell window.

You can check the error and verify the steps to resolve the issue.

Create a machine catalog using Studio

Before creating a catalog:

Note:

When you are using a cloud service or hypervisor to host VMs, the catalog creation wizard might contain extra pages specific to that host. For example, when using an Azure Resource Manager master image, the catalog creation wizard contains a Storage and License Types page. For host-specific information, see the specific articles as mentioned in Where to go next.

Launch the catalog creation wizard
  1. Sign in to Citrix Cloud.
  2. In the DaaS tile, click Manage to open Studio.
  3. Select Machine Catalogs in the left pane.
  4. If this is the first catalog being created, you are guided to the correct selection (such as “Set up the machines and create machine catalogs to run apps and desktops”). The catalog creation wizard opens.
  5. If you already created a catalog and want to create another, follow these steps:

    1. To organize catalogs using folders, create folders under the default Machine Catalogs folder. For more information, see Create a catalog folder.
    2. Select the folder where you want to create the catalog, and then click Create Machine Catalog. The catalog creation wizard opens.

The wizard walks you through the pages described in the following sections. The pages you see may differ, depending on the selections you make, and the connection (to a host) you use. Hosts / virtualization resources lists information sources for the supported host types.

Select a machine type

Each catalog must contain machines of only one OS type. Select one of the following on the Machine Type page:

Select machine management options

Note:

The page Machine Management does not appear if you select Remote PC Access on the Machine Type page.

The Machine Management page indicates how machines are managed and the tool that you want to use to deploy machines.

Select one of the options to indicate how machines must be power managed:

If you select the option Machines that are power managed (for example, virtual machines or blade PCs), then select a tool to create VMs:

Note:

For Linux OS machines, see Create Linux VDAs using Machine Creation Services (MCS).

Select a desktop experience

Note:

The options on the Desktop Experience page varies according to the machine type that you select on the Machine Type page.

If you select Save changes on the local disk of the machine hosting virtual desktops: Persistent, the Fast Copy Clone or Full Copy Clone options are available for the Virtual machine copy mode on the Virtual Machines page. Otherwise, the Virtual machine copy mode is unavailable.

Select an image and a machine profile

Note:

Follow these steps to complete the settings on the page:

  1. Select an image type for the machine catalog, and then select an image. Two types of images are available:

  2. To inherit VM settings from a machine profile, select Use a machine profile, and then select a VM or ARM template spec (specific to Azure) to use as the machine profile.

    Note:

    Currently, using machine profiles is restricted to Azure, AWS, GCP, and VMware VMs.

  3. For VMWare deployments, when creating a machine catalog using a machine profile, you must specify the folder where you want to keep the virtual machines.

To provide the virtual machine folder location, on the catalog creation wizard, go to Virtual Machines page, and go to Select a folder to place the machines section and provide the virtual machine folder location. If not specified, the system considers the folder of the selected machine profile as the default location.

  1. For AWS deployments, you can select a launch template as the machine profile.

  2. Select the minimum functional level for the catalog. To enable the use of the latest product features, ensure that the master image has the latest VDA version installed.

Configure the machines

Note:

Virtual machine copy mode

The copy mode that you specify on the Machines page determines whether MCS creates thin (fast copy) or thick (full copy) clones from the master image. (Default = thin clones)

Note:

The Full Copy Clone approach is available only for provisioning persistent VMs on multi- or single-session OSs.

Configure cache for temporary data

When using MCS to manage random non-persistent machines in a catalog, you can enable write-back cache for machines to improve I/O performance.

Write-back cache is referred to as MCSIO. For more information, see this blog article.

Prerequisites

To enable write-back cache, the catalog must meet these requirements:

Considerations Using CSV files to bulk add machines

If you use Studio, you can bulk add machines by using CSV files. The feature is available to all catalogs except catalogs created through MCS.

A general workflow to use CSV files to bulk add machines is as follows:

  1. On the Machines page, select Add CSV File. The Add Machines in Bulk window appears.
  2. Select Download CSV Template.
  3. Fill out the template file.
  4. Drag or browse to the file to upload it.
  5. Select Validate to do validation checks on your import.
  6. Select Import to complete.

For information about CSV file considerations, see Considerations when using CSV files to add machines.

You can also export machines from a catalog on the same Machines page. The exported CSV of machines can then be used as a template when adding machines in bulk. To export machines:

  1. On the Machines page, select Export to CSV file. A CSV file containing a list of the machines is downloaded.

  2. Open the CSV file to add or edit machines as needed. To add machines in bulk using the saved CSV file, see the previous section, Using CSV files to bulk add machines.

Note:

Security

The Security page appears only if you are creating a machine catalog without assigning a machine profile. Use the Security page to configure the security groups for the VMs. This is also applicable when editing and cloning an existing machine catalog.

If you create a machine profile-based machine catalog, then the security group configurations are inherited from the machine profile and the Security page does not appear.

Configure NICs for the machines

The page NICs does not appear if you select Remote PC Access on the Machine Type page.

If you plan to use multiple NICs, associate a virtual network with each card. For example, you can assign one card to access a specific secure network, and another card to access a more commonly used network. You can also add or remove NICs from this page.

Note:

For VMWare deployments, when creating a machine catalog using a machine profile, the catalog inherits the NIC configurations from the machine profile. In such cases, if the machine profile has multiple NICs with the same network, then Studio uses the network from the hosting unit for NIC configurations.

Add machine accounts

Note:

This page Machine Accounts appears only when you select Remote PC Access on the Machine Type page.

Add the Active Directory machine accounts or Organizational Units (OUs). Do not use a forward slash (/) in an OU name.

You can choose a previously configured power management connection or select not to use power management. If you want to use power management but a suitable connection has not been configured yet, you can create that connection later and then edit the machine catalog to update the power management settings.

You can also bulk add machines by using CSV files. A general workflow to do that is as follows:

  1. On the Machine Accounts page, select Add CSV File. The Add Machines in Bulk window appears.
  2. Select Download CSV Template.
  3. Fill out the template file.
  4. Drag or browse to the file to upload it.
  5. Select Validate to do validation checks on your import.
  6. Select Import to complete.

For information about CSV file considerations, see Considerations when using CSV files to add machines.

Configure identities for machines in the catalog

Note:

Each machine in the catalog must have a unique identity. This page lets you configure identities for machines in the catalog. The machines are joined to the identity after they are provisioned. You cannot change the identity type after you create the catalog.

A general workflow to configure settings on this page is as follows:

  1. Select an identity from the list.
  2. Indicate whether to create accounts or use existing ones, and the location (domain) for those accounts.

You can select one of the following options:

Important:

If you create accounts, you must have permission to create computer accounts in the OU where the machines reside. Each machine in the catalog must have a unique name. Specify the account naming scheme for the machines that you want to create. For more information, see Machine account naming scheme.

Note:

Make sure that OU names do not use forward slashes (/).

If you use existing accounts, browse to the accounts or click Import and specify a .csv file containing account names. The imported file content must use the format: [ADComputerAccount] ADcomputeraccountname.domain

Ensure that there are enough accounts for all the machines you are adding. Studio manages those accounts. Therefore, either allow that interface to reset the passwords for all the accounts or specify the account password, which must be the same for all accounts.

For catalogs containing physical or existing machines, select or import existing accounts and assign each machine to both an Active Directory computer account and to a user account.

Machine account naming scheme

Each machine in a catalog must have a unique name. You must specify a machine account naming scheme when creating a catalog. Use wildcards (hash marks) as placeholders for sequential numbers or letters that appear in the name.

When specifying a naming scheme, consider the following:

You can indicate whether the sequential values are numbers (0-9) or letters (A-Z):

For example, a naming scheme of PC-Sales-## (with 0-9 selected) results in accounts named PC-Sales-01, PC-Sales-02, PC-Sales-03, and so on.

Optionally, you can specify what the account names start with.

Add domain credentials

Enter the credentials of an administrator who has permission to perform account operations. Detailed steps are as follows:

  1. Click Enter credentials. The Windows Security page appears.
  2. In the User name field, enter the administrator’s SamName, user name, or user SID. Depending on your input:

  3. Click Check name to check whether the user name is valid or unique.
  4. In the Password field, enter the domain password of the administrator.
  5. Click Done.

Note:

If the identity type you selected in Machine Identities is Hybrid Azure Active Directory joined, the credentials you enter must have been granted the Write userCertificate permission.

Select a Workspace Environment Management configuration set (optional)

The page WEM appears only when you use the Advanced or Premium edition of Citrix DaaS.

Select a Workspace Environment Management (WEM) configuration set to which you want to bind the catalog. A configuration set is a logical container used to organize a set of WEM configurations. Binding a catalog to a configuration set lets you use WEM to deliver the best possible workspace experience to your users.

Important:

If the selected configuration set does not contain settings relating to the basic configuration of WEM, the following option appears:

Upgrade VDA (optional)

Important:

This feature applies to the following machine types:

For more information about the two options, see Machine management

On the VDA Upgrade page, select the VDA version to upgrade to. If specified, the VDAs in the catalog that have the VDA Upgrade Agent installed can upgrade to the selected version — immediately or at a scheduled time.

Note:

Choose a VDA track that suits your deployment:

Important:

You can switch between the CR VDA and the LTSR VDA as long as you switch from an earlier version to a later version. You cannot switch from a later version to an earlier version because that is considered a downgrade. For example, you cannot downgrade from 2212 CR to 2203 LTSR (any CU) but you can upgrade from 2112 CR to 2203 LTSR (any CU).

After catalog creation, you can upgrade VDAs as needed. For more information, see Upgrade VDAs.

If you want to enable VDA upgrade later, you can return to this page by editing the catalog after catalog creation. For more information, see Configure VDA upgrade settings by editing a catalog.

Review the settings

On the Summary page, review the settings you specified. Enter a name and description for the catalog. This information appears in Studio.

When you’re done, select Finish to start the catalog creation.

In Machine Catalogs, the new catalog appears with an inline progress bar.

To view details of the creation progress:

  1. Hover the mouse over the machine catalog.
  2. In the tooltip that appears, click View details.

    A step-by-step progress graph appears where you can see the following:

Create an MCS machine catalog using PowerShell commands

You can also create an MCS machine catalog using PowerShell commands. For more information, see:

Assign a specific drive letter to an MCS I/O write-back cache disk

You can assign a specific drive letter to an MCS I/O write-back cache disk. This implementation helps you to avoid conflicts between the drive letter of any applications that you use and the drive letter of MCS I/O write-back cache disk. To do this, you can use PowerShell commands. The supported hypervisors are Azure, GCP, VMware, SCVMM, and XenServer.

Note:

This feature requires VDA version 2305 or later.

Limitations Assign a drive letter to a write-back cache disk

To assign a drive letter to a write-back cache disk:

  1. Open the PowerShell window.
  2. Run asnp citrix*.
  3. Create an identity pool if not already created.
  4. Create a provisioning scheme using the New-ProvScheme command with the property WriteBackCacheDriveLetter. For example:

    New-ProvScheme -CleanOnBoot `
    -HostingUnitName "<name>" `
    -IdentityPoolName $schemeName `
    -ProvisioningSchemeName $schemeName `
    -InitialBatchSizeHint 1 `
    -UseWriteBackCache -WriteBackCacheDiskSize 127 -WriteBackCacheMemorySize 256 -WriteBackCacheDriveLetter E `
    -MasterImageVM "XDHyp:\HostingUnits\<name>\image.folder\abcd-resources.resourcegroup\MCSIOMasterVm_OsDisk_1_d3e2d6352xxxxxxxxx2130aa145ec77.manageddisk" `
    -NetworkMapping @{"0"="XDHyp:\\HostingUnits\\name\\virtualprivatecloud.folder\\East US.region\\virtualprivatecloud.folder\\abcd-resources.resourcegroup\\abcd-resources-vnet.virtualprivatecloud\\default.network"} `
    -ServiceOffering "XDHyp:\\HostingUnits\\<name>\\serviceoffering.folder\\Standard_D2s_v5.serviceoffering" `
    -CustomProperties '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Property xsi:type="StringProperty" Name="UseManagedDisks" Value="true" />
    <Property xsi:type="StringProperty" Name="OsType" Value="Windows" />
    <Property xsi:type="StringProperty" Name="StorageType" Value="Premium_LRS"/>
    <Property xsi:type="StringProperty" Name="PersistWBC" Value="false" />
    <Property xsi:type="StringProperty" Name="PersistOsDisk" Value="false" />
    <Property xsi:type="StringProperty" Name="PersistVm" Value="false" />
    <Property xsi:type="StringProperty" Name="WBCDiskStorageType" Value="Premium_LRS" />
    <Property xsi:type="StringProperty" Name="UseTempDiskForWBC" Value="false" />
    <Property xsi:type="StringProperty" Name="ResourceGroups" Value="abcd-group1" />
    <Property xsi:type="StringProperty" Name="LicenseType" Value="Windows_Client" />
    <Property xsi:type="StringProperty" Name="SchemaVersion" Value="2" />
    </CustomProperties>'
    <!--NeedCopy-->
    
  5. Finish creating the catalog.
Important consideration about setting custom properties

Custom properties must be set correctly at New-ProvScheme and Set-ProvScheme in GCP and Azure environments. If you specify a non-existing custom property or properties, you get the following error message, and the commands fail to run.

Invalid property found: <invalid property>. Ensure that the CustomProperties parameter supports the property.

Important consideration about setting ProvScheme parameters

When you use MCS to create a catalog, you get an error if you:

Parameter Supported hypervisor UseWriteBackCache VMware   Hyper-V   XenServer   Azure   GCP DedicatedTenancy Azure   GCP   AWS TenancyType Azure   GCP   AWS UseFullDiskCloneProvisioning VMware   Hyper-V   XenServer Add SIDs while creating virtual machines

You can add the parameter ADAccountSid to uniquely identify the machines while creating new virtual machines.

To do this:

  1. Create a catalog with the supported identity type.
  2. Add machines to the catalog using NewProvVM. For example:

    New-ProvVM  -ProvisioningSchemeName "name"  -ADAccountSid @("SID ")  -RunAsynchronously
    <!--NeedCopy-->
    

However, you cannot provision a machine with:

Validate configuration before creating an MCS machine catalog

You can validate configuration settings before creating an MCS machine catalog using the parameter -validate in New-ProvScheme command. After you run this PowerShell command with the parameter, you get an appropriate error message if there is an incorrect parameter used or a parameter has conflict with another parameter. You can then use the error message to resolve the issue and successfully create an MCS machine catalog using PowerShell. Currently, this feature is applicable to AWS, Azure, GCP, and VMware virtualization environments.

Note:

While validating, you must not create an actual MCS machine catalog. You must use the result of the command to fix the errors, and then create a successful catalog. Therefore, while running the New-ProvScheme command, use a fake identity pool name.

To validate the configuration, do the following steps:

  1. Open a PowerShell window from the Delivery Controller host.
  2. Run asnp citrix* to load the Citrix-specific PowerShell modules.
  3. Run New-ProvScheme command and use the parameter -validate. Provide a fake identity pool name for the command to work. For example,

    $result =New-ProvScheme  -CleanOnBoot -HostingUnitName "vSanRg" -IdentityPoolName "mptmpcatalogdemo" -InitialBatchSizeHint 1  -MasterImageVM "XDHyp:\HostingUnits\vSanRg\Windows19MasterImage.vm\Citrix_XD_NonMachineProfileWin19Machines.snapshot" -NetworkMapping @{"0"="XDHyp:\HostingUnits\vSanRg\\VM Network.network"} -ProvisioningSchemeName "MachineProfileW10Machines"  -Scope @()
    -VMCpuCount 2  -VM
    MemoryMB 6143 -MachineProfile "XDHyp:\HostingUnits\vSanRg\TRW-Win11-tpm-BL-TEMPLATE.template" -TenancyType Shared  -FunctionalLevel "L7_20" -Validate
    $result.TerminatingError | Format-List -Property *
    <!--NeedCopy-->
    

    Error message:

    ErrorData    : {[[ValidationFailureCount, xxx], [InvalidMemoryValue, The memory size provided 6143 must be a multiple of 4 MB and must be greater than or equal to 4 MB.], [InconsistentGuestOsSetting, The GuestOs setting - windows9_64Guest of the selected machine profile does not match with the setting - windows2019srv_64Guest of master image. Please select a machine profile that matches the GuestOs setting of the master image.], [InconsistentVtpmSetting, The vTPM setting of the selected machine profile does not match with the selected master image. Please select a machine profile that matches the vTPM setting of the master image.], [InconsistentFirmwareSetting, The firmware setting - efi of the selected machine profile does not match with the setting - bios of master image. Please select a machine profile that matches the firmware setting of the master image ErrorId      : ValidationFailure
    ErrorMessage : ValidationFailure
    Operation    : ValidatingInputs
    <!--NeedCopy-->
    
  4. After validating the configuration setting, you can create an MCS machine catalog with a real identity pool name and correct parameters.
Where to go next

For information on creating specific hypervisor catalogs, see:

If this is the first catalog created, you are guided to create a delivery group.

To review the entire configuration process, see Plan and build a deployment.

You can create a Citrix Provisioning catalog using Studio and PowerShell. This implementation provides you the following advantages:

Currently, this feature is available only for Azure and VMware workloads. However, in VMware and XenServer environments, you can currently create the catalogs using only PowerShell commands. For more information, see Create Citrix Provisioning catalogs in Citrix Studio.

More information

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.3