Ethernet port on Apple TV - tvos

What ways is the Ethernet port accessible to apps in tvOS?
I can't find any documentation or mention of being able to use/access anything directly coming into the ethernet port in an app on tvOS.
EDIT: Additional INFO:
An Apple guy on their forums talking about Network access options across all OS's of Apple in their upcoming updates: https://forums.developer.apple.com/thread/6767
In this thread he's chatting with some others about something similar, specific to Mac, but this now seems to be relevant to all upcoming Apple OS's: https://forums.developer.apple.com/thread/6205

Three main things you will need to do: connectivity, discovery, and communication.
The ethernet port is expecting to be connected to a network. In your case, the Apple TV and your external controllers would each need to be clients connected to that network, likely through a hub or router. If the network does not have a DHCP server, you will need to manually configure the network connection for each device.
Discovery would be the next challenge. Each device will have a unique IP address on the network and you will need to come up with a method for the Apple TV to find the controllers IP address on the network. Perhaps this can be hard-coded if you are controlling the network, or if the controller is serving as the router.
Lastly, you will need to decide on a protocol that the Apple TV and controllers use to communicate. You could use a low level protocol such as TCP or UDP, or a higher protocol like HTTP is the controller wants to act as a web server.
This is an overly broad answer to a very broad question, but there is a lot involved in getting things like this to work.
Another note is that on the Apple TV, either the ethernet port is active or the Wifi connection, but not both. Connecting the ethernet port will lose any Wifi connection.

Related

Does connecting to Alljoyn disconnect wifi

I came across few WiFi based sharing applications which disconnect my phone's Internet connection. I was wondering if connecting and communicating using Alljoyn has the same effect.
Does it disconnect?
No, it does not. Alljoyn is just a protocol which works over WiFi. (Or in some cases Bluetooth, but WiFi or Ethernet are the normal transports for Alljoyn.)

Error message appeared when i want to add foxy proxy extension to Chrome

i want to add foxy proxy extension to chrome browser but when i click the "+ free" button it goes like "checking..." and then says:"an error has occurred, There was a problem adding the item to Chrome. Please refresh the page and try again." I do reload and try again but it's just the same thing.
More and more Internet connections are being filtered, from public Wi-Fi and workplace connection filtering to ISP and country-level censorship.
to solve this problem you should:
Connect to a virtual private network and all traffic coming from your computer will be redirected over that VPN. In other words, if you’re connected to a VPN located in USA, all your network traffic will be redirected to USA before it emerges. Replies will be send to the server in USA, which will forward them back to you. This all happens over an encrypted connection. All your ISP, network operator, or even your country’s government can see is that you’re making an encrypted VPN connection and sending data over the connection. If they want to block you, they’d have to block VPN connections. Free VPNs are available, but a solid, fast VPN will cost you money — either to rent from a VPN provider or to pay for hosting so you can set up your own VPN.

Cisco AnyConnect VPN - local printer

My need : I would like to make the local network printer work when I am using my VPN with cisco AnyConnect Sure Mobility Client VPN.
When I not conected to the VPN, I am able to ping the printer and use it, but when the VPn is on, routing tables are changed and I am not able to ping and use the printer anymore.
Our system :
All PCs and the printer are connected by ethernet to the same hub, we
are working with static IPs.
Printer IP : 192.168.1.49
Default gateway : 192.168.1.1
Cisco client configuration file (I can't give you the whole file because there is confidential information in it) :
<ClientInitialization>
<UseStartBeforeLogon UserControllable="true">false</UseStartBeforeLogon>
<AutomaticCertSelection UserControllable="true">true</AutomaticCertSelection>
<ShowPreConnectMessage>false</ShowPreConnectMessage>
<CertificateStore>All</CertificateStore>
<CertificateStoreOverride>false</CertificateStoreOverride>
<ProxySettings>Native</ProxySettings>
<AllowLocalProxyConnections>true</AllowLocalProxyConnections>
<AuthenticationTimeout>12</AuthenticationTimeout>
<AutoConnectOnStart UserControllable="true">false</AutoConnectOnStart>
<MinimizeOnConnect UserControllable="true">true</MinimizeOnConnect>
<LocalLanAccess UserControllable="true">false</LocalLanAccess>
<ClearSmartcardPin UserControllable="true">true</ClearSmartcardPin>
<AutoReconnect UserControllable="false">true
<AutoReconnectBehavior UserControllable="false">DisconnectOnSuspend</AutoReconnectBehavior>
</AutoReconnect>
<AutoUpdate UserControllable="false">false</AutoUpdate>
<RSASecurIDIntegration UserControllable="false">Automatic</RSASecurIDIntegration>
<WindowsLogonEnforcement>SingleLocalLogon</WindowsLogonEnforcement>
<WindowsVPNEstablishment>LocalUsersOnly</WindowsVPNEstablishment>
<AutomaticVPNPolicy>false</AutomaticVPNPolicy>
<PPPExclusion UserControllable="false">Automatic
<PPPExclusionServerIP UserControllable="false"></PPPExclusionServerIP>
</PPPExclusion>
<EnableScripting UserControllable="false">false</EnableScripting>
<CertificateMatch>
<ExtendedKeyUsage>
<ExtendedMatchKey>ServerAuth</ExtendedMatchKey>
</ExtendedKeyUsage>
</CertificateMatch>
<EnableAutomaticServerSelection UserControllable="true">false
<AutoServerSelectionImprovement>20</AutoServerSelectionImprovement>
<AutoServerSelectionSuspendTime>4</AutoServerSelectionSuspendTime>
</EnableAutomaticServerSelection>
<RetainVpnOnLogoff>false
</RetainVpnOnLogoff>
</ClientInitialization>
What I tried :
enabling the "Enable Local LAN acces" in preferences tab. -> doesn't
work
set the LocalLanAccess paramter in configuration xml file to true but when i conected to the VPN, this parameter is automatically reset to false.
route add 192.168.1.49 mask 255.255.255.255 192.168.1.1 -> doesn't
work
My network knowledge is limited, I hope to find a way to solve the problem.
Seems like the VPN Client connection is configured as "Full Tunnel". This means everything from the users computer is tunneled to the VPN connection while its active.
This might cause problems with using local resources at the users LAN at that moment and also if not "properly" configured, might not allow using Internet at the same time.
Here are two solutions that could help:
1) Reconfigure the VPN Client connection so that it uses Split Tunneling. While Split Tunneling is in use, the VPN Client users computer will only forward traffic destined to specific networks to the VPN connection and all other traffic either stays in the local LAN or heads out the local Internet connection like usual.
2) Configure the VPN Client connection so that it also permits Internet connectivity through the VPN Client connection. In this case the users Internet traffic would first travel to the remote site through the VPN and then possibly "hairpin" to Internet through the customers VPN devices outside interface
While connected with the VPN client, you can confirm how the VPN has been configured by looking at the "Statistics" section of the VPN software. It should contain a section for routes. Check what the routes section says. (might be different depending if you are using the Cisco VPN Client or Cisco AnyConnect VPN Client)
If it has
0.0.0.0 0.0.0.0 = It means that all traffic is forwarded to the VPN while its active
Hope it could help.
You need to enable local LAN access. Editing configuration XML is not the correct way to do that.
In AnyConnect parlance, we call the configuration XML as a client profile.
Every time you connect with the VPN headend; AnyConnects checks for updated version of AnyConnect software or client profile. If there is a different version of client profile available on the server (ASA); AnyConnect will replace your local version with the one that is available on the server.
Which explains why this is happening.
set the LocalLanAccess parameter in configuration XML file to true but >when i connected to the VPN, this parameter is automatically reset to >false.
You need to contact the network admin and request for local LAN access.
If you are the network admin, please update the profile that is present on the ASA. This can be easily done through ASDM.
http://www.cisco.com/c/en/us/support/docs/security/asa-5500-x-series-next-generation-firewalls/70847-local-lan-pix-asa.html
Your probably "tunnelling all" set it to only tunnel to said networks - meaning you will be able to surf locally and it not go through the tunnel.
<LocalLanAccess UserControllable="true">false</LocalLanAccess>
That line in your XML file doesn't allow the user to control local LAN access.

How to automatically detect a server?

We have developed a client app and a server app. The client communicates with the server using the http protocol and sends some data to be processed by the server.
Our structure allow us to have the server installed anywhere. I can be on the same client network or even on the cloud.
When the server is hosted on the cloud, it makes sense asking the user for the server address (since it can change if the user wishes to) but it does not make sense when the server is on the same network that the client. Besides that, we are currently asking users to configure the server ip/name in order to connect to the server.
To avoid this (asking users for the address) I have developed a discovery service based on UDP. The client broadcasts a message that the server answer with its address. It does work on some cases, but it does not when the user has some kind of firewall, proxy or even an anti virus.
I have read a lot about discovery services, and the one that a like most is Bonjour.
So, the question is: what is the best way of discovering a server's IP when the server is on the same network that the client without being blocked by firewalls, proxies, etc?
You can keep your service purely local (in the intranet) and build on top of what you are using now by implementing hole punching. You can get past firewalls, but Im really not sure about AV software policies.
Or you can establish a well-known http-based discovery service in the internet.
A server comes alive, sends its (local) ip address to the discovery service (keeps sending keep-alives)
On startup, the client queries that discovery service, identifies the local subnet he is in, and gets back the local ip address of the server.
That of course creates a single point of failure in your system in that if the discovery service kicks the bucket, your clients cannot find servers. You can remedy that by replicating the service and/or introducing fallback mechanisms (like the purely local discovery you have), which you probably want to do anyway. The only problem you might have is the subnet identification, if computers in local subnets dont share external IP addresses (then it depends on what a local subnet is for you).

Performance of local domain vs localhost

Is there a performance difference between TCP connections to:
localhost / 127.0.0.1
a domain which resolves to the local machine
Or more specifically, do the latter connections go through the loopback device, or over the actual network?
The reason I'm asking is I'm thinking about changing database settings in many PHP apps so they use a full domain instead of localhost. That way we could more easily move the database to a different server, if the need arises.
This is implementation and operating system dependent. On Windows, anything connecting to a local IP address, even if it is an outside-facing IP, will go over loopback. This is a documented problem for applications such as packet sniffers, because you can't sniff the loopback. (Windows doesn't treat loopback as a "device" -- it is handled at the network level.) However, in this case it would work in your favor.
Linux, in contrast, will follow whatever you have in your routing table, so packets that are destined to your local machine will go to your local machine over the network if the routing table isn't properly configured. However, in 99% of the cases the routing will be configured properly. Your packets won't go over the loopback device, but the TCP/IP stack will know that you are contacting a local IP and it will virtually go out and back in the proper ethernet device.
In a properly configured environment, the only bottleneck for using a domain name would be DNS resolution time. Contacting an outside DNS can add additional latency into your configuration. However, if you add in the domain name into your /etc/hosts file (C:\Windows\System32\drivers\etc\hosts on Windows), your system will skip the DNS resolution phase and obtain an IP directly, making this time cost moot.
That depends on how the names are resolved. The procedure is typically /etc/hosts first and then DNS if that fails. If localhost is in your /etc/hosts, putting whatever.wherever in the file as well will make it resolve with the same speed.