# Configuration profile to set Global HTTP proxy for tvOS

This document describes how organizations can employ a configuration profile to set up a global HTTP proxy on tvOS devices.

Setting up a global HTTP proxy helps safeguard devices from external security threats. It guarantees that all network traffic between monitored Apple TVs and the internet is routed via a secure proxy server. Utilizing a custom configuration profile that can be remotely deployed to multiple enrolled tvOS devices using Hexnode’s [Deploy Custom Configuration](https://www.hexnode.com/mobile-device-management/help/how-to-deploy-custom-configuration-profiles-to-tvos-devices/) feature, IT administrators can ensure that the proxy configurations are applied to the Apple TVs in their organization.

 Pre-requisites: 
The configuration profile is supported only on supervised devices running tvOS 10.2 or later.

 

 Disclaimer: 
The configuration profile provided below is adapted from a third-party open-source site.

 

Configuration profile to configure global HTTP proxy
----------------------------------------------------

Custom configuration profile to configure Global HTTP Proxy on tvOS devices

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>PayloadContent</key> <array> <dict> <key>ProxyCaptiveLoginAllowed</key> <false/> <key>ProxyType</key> <string>Manual</string> <key>ProxyPassword</key> <string>password</string> <key>ProxyServer</key> <string>10.0.1.42</string> <key>ProxyServerPort</key> <integer>8080</integer> <key>ProxyUsername</key> <string>username</string> <key>PayloadIdentifier</key> <string>com.example.globalhttpproxy</string> <key>PayloadType</key> <string>com.apple.proxy.http.global</string> <key>PayloadUUID</key> <string>res0791a-7d3l-40bw-as81-d37144er076t</string> <key>PayloadVersion</key> <integer>1</integer> </dict> </array> <key>PayloadDisplayName</key> <string>GlobalHTTPProxy</string> <key>PayloadIdentifier</key> <string>com.example.configprofile</string> <key>PayloadType</key> <string>Configuration</string> <key>PayloadUUID</key> <string>es4w891c-6c2f-41be-5h19-a81a66d5ac0a</string> <key>PayloadVersion</key> <integer>1</integer> </dict> </plist> 

   1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

  <?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

<key>PayloadContent</key>

<array>

<dict>

<key>ProxyCaptiveLoginAllowed</key>

<false/>

<key>ProxyType</key>

<string>Manual</string>

<key>ProxyPassword</key>

<string>password</string>

<key>ProxyServer</key>

<string>10.0.1.42</string>

<key>ProxyServerPort</key>

<integer>8080</integer>

<key>ProxyUsername</key>

<string>username</string>

<key>PayloadIdentifier</key>

<string>com.example.globalhttpproxy</string>

<key>PayloadType</key>

<string>com.apple.proxy.http.global</string>

<key>PayloadUUID</key>

<string>res0791a-7d3l-40bw-as81-d37144er076t</string>

<key>PayloadVersion</key>

<integer>1</integer>

</dict>

</array>

<key>PayloadDisplayName</key>

<string>GlobalHTTPProxy</string>

<key>PayloadIdentifier</key>

<string>com.example.configprofile</string>

<key>PayloadType</key>

<string>Configuration</string>

<key>PayloadUUID</key>

<string>es4w891c-6c2f-41be-5h19-a81a66d5ac0a</string>

<key>PayloadVersion</key>

<integer>1</integer>

</dict>

</plist> 

   

 

  

The device management profile contains the following settings for the configuration of a global HTTP proxy for Apple TV:

- `ProxyCaptiveLoginAllowed`: If set to true, the key enables the device to show the login page for captive networks without using the proxy server.
- `ProxyType`: Set the key value to **Manual** for a manual proxy type, with the profile containing the proxy server address, including its port, and optionally a username and password. The key value should be set to **Auto** for an auto proxy type, where you can enter a PAC URL.

If `ProxyType` is set to **Manual**, specify the following settings:

- `ProxyServer`: The network address of the proxy server.
- `ProxyServerPort`: The port number of the proxy server.
- `ProxyUsername`: The username used to authenticate to the proxy server.
- `ProxyPassword`: The password used to authenticate to the proxy server.

If `ProxyType` is set to **Auto**, specify the following settings:

- `ProxyPACURL`: The URL of the PAC file that defines the proxy settings.
- `ProxyPACFallbackAllowed`: If set to true, it is possible to connect directly to the destination if the proxy autoconfiguration (PAC) file is unavailable.

 Notes:- To create and customize configuration profiles, you can use tools like Apple Configurator, Profile Manager or manually create them using text editors.
- Use non-encrypted .mobileconfig, .xml, or plist files to deploy profiles across tvOS devices.
- Ensure that you do not associate conflicting configurations with the devices.
- Use wildcards to fetch key values from the portal.
- It is recommended to manually validate the configuration profile execution on a system before executing the action in bulk.
- Hexnode will not be responsible for any damage/loss to the system on the behavior of the configuration profile.