SOCKS – Wikipedia
SOCKS is an Internet protocol that exchanges network packets between a client and server through a proxy server. SOCKS5 optionally provides authentication so only authorized users may access a server. Practically, a SOCKS server proxies TCP connections to an arbitrary IP address, and provides a means for UDP packets to be forwarded.
SOCKS performs at Layer 5 of the OSI model (the session layer, an intermediate layer between the presentation layer and the transport layer). A SOCKS server accepts incoming client connection on TCP port 1080, as defined in RFC 1928. 
The protocol was originally developed/designed by David Koblas, a system administrator of MIPS Computer Systems. After MIPS was taken over by Silicon Graphics in 1992, Koblas presented a paper on SOCKS at that year’s Usenix Security Symposium,  making SOCKS publicly available.  The protocol was extended to version 4 by Ying-Da Lee of NEC.
The SOCKS reference architecture and client are owned by Permeo Technologies,  a spin-off from NEC. (Blue Coat Systems bought out Permeo Technologies. )
The SOCKS5 protocol was originally a security protocol that made firewalls and other security products easier to administer. It was approved by the IETF in 1996 as RFC 1928 (authored by: M. Leech, M. Ganis, Y. Lee, R. Kuris, D. Koblas, and L. Jones). The protocol was developed in collaboration with Aventail Corporation, which markets the technology outside of Asia. 
SOCKS is a de facto standard for circuit-level gateways (level 5 gateways). 
The circuit/session level nature of SOCKS make it a versatile tool in forwarding any TCP (or UDP since SOCKS5) traffic, creating a good interface for all types of routing tools. It can be used as:
A circumvention tool, allowing traffic to bypass Internet filtering to access content otherwise blocked, e. g., by governments, workplaces, schools, and country-specific web services.  Since SOCKS is very detectable, a common approach is to present a SOCKS interface for more sophisticated protocols:
The Tor onion proxy software presents a SOCKS interface to its clients. 
Providing similar functionality to a virtual private network, allowing connections to be forwarded to a server’s “local” network:
Some SSH suites, such as OpenSSH, support dynamic port forwarding that allows the user to create a local SOCKS proxy.  This can free the user from the limitations of connecting only to a predefined remote port and server.
A typical SOCKS4 connection request looks like this:
First packet to server
SOCKS version number, 0x04 for this version
0x01 = establish a TCP/IP stream connection
0x02 = establish a TCP/IP port binding
2-byte port number (in network byte order)
IPv4 Address, 4 bytes (in network byte order)
the user ID string, variable length, null-terminated.
Response packet from server
reply version, null byte
Request rejected or failed
Request failed because client is not running identd (or not reachable from server)
Request failed because client’s identd could not confirm the user ID in the request
destination port, meaningful if granted in BIND, otherwise ignore
destination IP, as above – the ip:port the client should bind to
For example, this a SOCKS4 request to connect Fred to 66. 102. 7. 99:80, the server replies with an “OK”:
Client: 0x04 | 0x01 | 0x00 0x50 | 0x42 0x66 0x07 0x63 | 0x46 0x72 0x65 0x64 0x00
The last field is “Fred” in ASCII, followed by a null byte.
Server: 0x00 | 0x5A | 0xXX 0xXX | 0xXX 0xXX 0xXX 0xXX
0xXX can be any byte value. The SOCKS4 protocol specifies that the values of these bytes should be ignored.
From this point onwards, any data sent from the SOCKS client to the SOCKS server is relayed to 66. 99, and vice versa.
The command field may be 0x01 for “connect” or 0x02 for “bind”; the “bind” command allows incoming connections for protocols such as active FTP.
SOCKS4a extends the SOCKS4 protocol to allow a client to specify a destination domain name rather than an IP address; this is useful when the client itself cannot resolve the destination host’s domain name to an IP address. It was proposed by Ying-Da Lee, the author of SOCKS4. 
The client should set the first three bytes of DSTIP to NULL and the last byte to a non-zero value. (This corresponds to IP address 0. 0. x, with x nonzero, an inadmissible destination address and thus should never occur if the client can resolve the domain name. ) Following the NULL byte terminating USERID, the client must send the destination domain name and terminate it with another NULL byte. This is used for both “connect” and “bind” requests.
Client to SOCKS server:
SOCKS4 client handshake packet (above)
the domain name of the host to contact, variable length, null (0x00) terminated
Server to SOCKS client: (Same as SOCKS4)
A server using protocol SOCKS4a must check the DSTIP in the request packet. If it represents address 0. x with nonzero x, the server must read in the domain name that the client sends in the packet. The server should resolve the domain name and make connection to the destination host if it can.
The SOCKS5 protocol is defined in RFC 1928. It is an incompatible extension of the SOCKS4 protocol; it offers more choices for authentication and adds support for IPv6 and UDP, the latter of which can be used for DNS lookups. The initial handshake consists of the following:
Client connects and sends a greeting, which includes a list of authentication methods supported.
Server chooses one of the methods (or sends a failure response if none of them are acceptable).
Several messages may now pass between the client and the server, depending on the authentication method chosen.
Client sends a connection request similar to SOCKS4.
Server responds similar to SOCKS4.
The initial greeting from the client is:
SOCKS version (0x05)
Number of authentication methods supported, uint8
Authentication methods, 1 byte per method supported
The authentication methods supported are numbered as follows:
0x00: No authentication
0x01: GSSAPI (RFC 1961
0x02: Username/password (RFC 1929)
0x03–0x7F: methods assigned by IANA
0x03: Challenge-Handshake Authentication Protocol
0x05: Challenge-Response Authentication Method
0x06: Secure Sockets Layer
0x07: NDS Authentication
0x08: Multi-Authentication Framework
0x09: JSON Parameter Block
0x80–0xFE: methods reserved for private use
chosen authentication method, or 0xFF if no acceptable methods were offered
The subsequent authentication is method-dependent. Username and password authentication (method 0x02) is described in RFC 1929:
Client authentication request, 0x02
0x01 for current version of username/password authentication
Username length, uint8; username as bytestring
Password length, uint8; password as bytestring
Server response, 0x02
0x00 success, otherwise failure, connection must be closed
After authentication the connection can proceed. We first define an address datatype as:
type of the address. One of:
0x01: IPv4 address
0x03: Domain name
0x04: IPv6 address
the address data that follows. Depending on type:
4 bytes for IPv4 address
1 byte of name length followed by 1–255 bytes for the domain name
16 bytes for IPv6 address
Client connection request
0x01: establish a TCP/IP stream connection
0x02: establish a TCP/IP port binding
0x03: associate a UDP port
reserved, must be 0x00
destination address, see the address structure above.
port number in a network byte order
0x00: request granted
0x01: general failure
0x02: connection not allowed by ruleset
0x03: network unreachable
0x04: host unreachable
0x05: connection refused by destination host
0x06: TTL expired
0x07: command not supported / protocol error
0x08: address type not supported
server bound address (defined in RFC 1928) in the “SOCKS5 address” format specified above
server bound port number in a network byte order
Since clients are allowed to use either resolved addresses or domain names, a convention from cURL exists to label the domain name variant of SOCKS5 “socks5h”, and the other simply “socks5”. A similar convention exists between SOCKS4a and SOCKS4. 
SOCKS proxy server implementations
Sun Java System Web Proxy Server is a caching proxy server running on Solaris, Linux and Windows servers that support HTTPS, NSAPI I/O filters, dynamic reconfiguration, SOCKSv5 and reverse proxy.
WinGate is a multi-protocol proxy server and SOCKS server for Microsoft Windows which supports SOCKS4, SOCKS4a and SOCKS5 (including UDP-ASSOCIATE and GSSAPI auth). It also supports handing over SOCKS connections to the HTTP proxy, so can cache and scan HTTP over SOCKS.
Socksgate5 SocksGate5 is an application-SOCKS firewall with inspection feature on Layer 7 of the OSI model, the Application Layer. Because packets are inspected at 7 OSI Level the application-SOCKS firewall may search for protocol non-compliance and blocking specified content.
Dante is a circuit-level SOCKS server that can be used to provide convenient and secure network connectivity, requiring only the host Dante runs on to have external network connectivity. 
Other programs providing SOCKS server interface
OpenSSH allows dynamic creation of tunnels, specified via a subset of the SOCKS protocol, supporting the CONNECT command.
PuTTY is a Win32 SSH client that supports local creation of SOCKS (dynamic) tunnels through remote SSH servers.
ShimmerCat is a web server that uses SOCKS5 to simulate an internal network, allowing web developers to test their local sites without modifying their /etc/hosts file.
Tor is a system intended to enable online anonymity. Tor offers a TCP-only SOCKS server interface to its clients.
Shadowsocks is a circumvent censorship tool. It provides a SOCKS5 interface.
Client software must have native SOCKS support in order to connect through SOCKS. There are programs that allow users to circumvent such limitations:
Socksifiers allow applications to access the networks to use a proxy without needing to support any proxy protocols. The most common way is to set up a virtual network adapter and appropriate routing tables to send traffic through the adapter.
Win2Socks, which enables applications to access the network through SOCKS5, HTTPS or Shadowsocks.
tun2socks, an open source tool that creates virtual TCP TUN adapters from a SOCKS proxy. Works on Linux and Windows,  has a macOS port and a UDP-capable reimplementation in Golang.
proxychains, a Unix program that forces TCP traffic through SOCKS or HTTP proxies on (dynamically-linked) programs it launches. Works on various Unix-like systems. 
Polipo, a forwarding and caching HTTP/1. 1 proxy server with IPv4 support. Open Source running on Linux, OpenWrt, Windows, Mac OS X, and FreeBSD. Almost any Web browser can use it.
Privoxy, a non-caching SOCKS-to-HTTP proxy.
multsocks,  an approach based on Docker which would run on any platform that runs Docker, using client, server, or both to translate proxies.
Due to lack of request and packets exchange encryption it makes SOCKS practically vulnerable to man-in-the-middle attacks and IP addresses eavesdropping which in consequence clears a way to censorship by governments.
^ “Service Name and Transport Protocol Port Number Registry”. Internet Assigned Numbers Authority. 19 May 2017. Retrieved 23 May 2017.
^ Koblas, David; Koblas, Michelle R. SOCKS (PDF). USENIX UNIX Security Symposium III. Retrieved 16 November 2019.
^ Darmohray, Tina. “Firewalls and fairy tales”. ;LOGIN:. Vol 30, no. 1.
^ Archive index at the Wayback Machine
^ CNET: Cyberspace from outer space
^ Oppliger, Rolf (2003). “Circuit-level gateways”. Security technologies for the World Wide Web (2nd ed. ). Artech House. ISBN 1580533485. Retrieved 21 January 2020.
^ “2010 Circumvention Tool Usage Report” (PDF). The Berkman Center for Internet & Society at Harvard University. October 2010.
^ “Tor FAQ”.
^ “OpenSSH FAQ”. Archived from the original on 2002-02-01.
^ Ying-Da Lee. “SOCKS 4A: A Simple Extension to SOCKS 4 Protocol”. OpenSSH. Retrieved 2013-04-03.
^ “CURLOPT_PROXY”. Retrieved 20 January 2020.
^ “Products developed by Inferno Nettverk A/S”.. Retrieved 2021-03-20.
^ “Easy Net with SOCKS5”. ShimmerCat. Archived from the original on 2018-09-13. Retrieved 20 April 2016.
^ Bizjak, Ambroz (20 January 2020). “ambrop72/badvpn: NCD scripting language, tun2socks proxifier, P2P VPN”. GitHub. Retrieved 20 January 2020.
^ Hamsik, Adam (20 January 2020). “proxychains: a tool that forces any TCP connection made by any given application to follow through proxy like TOR or any other SOCKS4, SOCKS5 or HTTP(S) proxy”. Retrieved 20 January 2020.
^ Momm, Gregorio (2020-08-24), gregoriomomm/docker-multsocks, retrieved 2020-08-29
RFC 1928: SOCKS Protocol Version 5
RFC 1929: Username/Password Authentication for SOCKS V5
RFC 1961: GSS-API Authentication Method for SOCKS Version 5
RFC 3089: A SOCKS-based IPv6/IPv4 Gateway Mechanism
Draft-ietf-aft-socks-chap, Challenge-Handshake Authentication Protocol for SOCKS V5
SOCKS: A protocol for TCP proxy across firewalls, SOCKS Protocol Version 4 (NEC)
What are the benefits of SOCKS5 proxy? | NordVPN
ContentsWhat is SOCKS5 proxy? SOCKS5 proxy servers benefits1. Gets you around internet blocks2. Faster and more reliable connection3. Fewer errors and improved overall performance4. Better performance on P2P platformsSOCKS5 vs HTTP proxyShould you use SOCKS5 with a VPN? Should you use a free proxy? What is SOCKS5 proxy? SOCKS5 is the latest and most up-to-date SOCKS protocol. It is an improved version of SOCKS, an internet protocol that routes packets between a server and a client using a proxy server. SOCKS5 has enhanced security and offers three types of authentication methods: Null authentication – No authentication required to connect to a proxy;Username/password authentication – You need to provide login details to connect to a proxy;GSS-API authentication – Both you and the server use authentication methods at the operating system level to verify your does it work? Your traffic is routed through a proxy server that generates an arbitrary IP address before you reach your destination. Technically speaking, SOCKS5 (the latest version) uses proxy servers to form User Datagram Protocol (UDP) or Transmission Control Protocol (TCP) connections through arbitrary IP your IP is 1. 1. 1 and your traffic is routed through a SOCKS Proxy with the IP 2. 2. 2, the destination server (the website) will think that the request came from the latter. The website cannot see your original IP address. This helps you hide your location, but it doesn’t mean that your traffic is secure. Contrary to Virtual Private Networks (VPNs), proxies do not encrypt your traffic – it’s still out in the open and anyone can snoop on what you are is no such thing as an 100% anonymous SOCKS5 proxy server, because it’s impossible to be truly anonymous online. You can get close to it by being aware of what you do online, what services and security tools you use and how it all impacts your privacy. But no single proxy, VPN, or encrypted messaging app will make you ’s little chance you’ll be able to use streaming services that are not available in your country by connecting through a proxy. However, if you only want to change your virtual location and bypass simple geo-blocks, you can find a SOCKS5 proxy list online and try your luck. Check our brief video about SOCKS5 a SOCKS5 proxy better than a VPN? SOCKS5 is not as secure or as fast as a VPN. It’s easy to confuse a SOCKS5 proxy with a VPN, but there are curcial differences. Like most proxies, SOCKS5 won’t encrypt your data, and will lower internet speed and reover, SOCKS is quite detectable, so it most likely won’t get you around national firewalls. Due to this fact you need to enhance its security with a VPN. A good VPN, on the other hand, will encrypt your data as it travels from your device to the VPN server, ensuring that nobody can view it at any point on its journey. With a service like NordVPN, you can still get around internet restrictions and protect your IP address, but you’ll do so with genuine privacy and lightning fast internet speeds. Upgrade your privacy with high-quality VPN CKS5 proxy servers benefitsHere are 4 strong reasons to use SOCKS proxies:1. Gets you around internet blocksSince proxy servers act as relays between your device and the internet, they can easily help you bypass internet blocks. For example, if your IP was blacklisted by a certain website (or you use a VPN and its servers IPs were blacklisted) you can route your traffic through a SOCKS5 proxy and so bypass this block. However, it won’t help you to circumvent national firewalls in the way that a VPN will, as most of them use deep packet inspection (DPI). This means that your traffic is blocked by your ISP and before it reaches the website. Faster and more reliable connectionUnlike its predecessors, which only used TCP protocol, SOCKS5 proxy servers can use UDP protocol, ensuring a reliable connection and efficient TCP internet protocol forms a connection between a client and a server, making sure that all the packets arrive from one side to the other. It requires fitting the content into a fixed format so that it can be transferred easily. UDP, on the other hand, doesn’t focus on whether all packets from the client or server reach the other side and whether they are transferred in the same order. UDP doesn’t waste time converting data packets into a stream of fixed packets. Therefore, with these UDP at hand, SOCKS5 can offer faster speeds and a reliable connection. 3. Fewer errors and improved overall performanceMany other proxies rewrite data packet headers. Because of this, there’s a high chance of misrouting or mislabelling that data. SOCKS5 proxy servers do not rewrite data packet headers, so there is a lower chance for errors. Since there are far fewer errors, the performance automatically improves. However, this comes at a cost of your privacy and security as packet headers contain your personal information and can be easily identified. 4. Better performance on P2P platformsSOCKS5 is faster than other proxies because it transfers smaller data packets. Therefore, it offers faster download speeds, which is why many users use it to connect to P2P sharing websites and CKS5 vs HTTP proxyUnlike HTTP proxies, which can only interpret and work with HTTP and HTTPS webpages, SOCKS5 proxies can work with any proxies are high-level proxies usually designed for a specific protocol. While this means you get better connection speeds, they’re not nearly as flexible and secure as SOCKS proxies. SOCKS proxies are low-level proxies that can handle any program or protocol and any traffic without you use SOCKS5 with a VPN? The main difference between proxies and VPNs is that VPNs encrypt your traffic and proxies don’t. VPNs provide more stable connections while proxy connections drop more are few reasons to use both together, so your best bet is to choose the right tool for the job. Fortunately, NordVPN’s servers also support SOCKS5 connections. For full instructions on how to use SOCKS5 proxy on different platforms, visit our tutorial page. Should you use a free proxy? Because of their low overhead, proxy services aren’t expensive to run, but they still come with costs. Therefore, free proxies, like free VPNs, should be avoided. Here’s why:Poor performance. Free proxies will have less support personnel and may have less configuration options or slower infrastructure. All of this can make them slower and less secure. They might also reduce their speeds or turn off features in an effort to make you a paying ivacy issues. If you’re not paying for the service, you aren’t the customer. Free proxies can monitor user traffic and sell that data to third parties or serve ads. This means replacing ads on websites you love (thereby cutting into their revenue) or introducing new ads that weren’t there best bet is a premium proxy service, which will offer the best speeds, support, and security. Fortunately, when you buy NordVPN, you can also use some of our servers as SOCKS5 proxies. With all of our other features, you can easily switch between maximum security, maximum speed, or the best of both secure and flexible service offers tons of options, including SOCKS5. Try it with our risk-free money-back guarantee for 30 days!
Emily Green is a content writer who loves to investigate the latest internet privacy and security news. She thrives on looking for solutions to problems and sharing her knowledge with NordVPN readers and customers.
What is SOCKS5 Proxy and How to Set Up and Use It for Free
Updated on July 13, 2021: From now on, traffic filtering, malware protection, and suspicious DNS activity blocking are available as a part of the separate DNS Firewall CKS5 is a popular choice for netizens looking to protect their online activities, hide their real location, or bypass geo-blocking. KeepSolid offers SOCKS5 proxy for free, which you can learn how to get it in the following section of this article. But what is SOCKS5 proxy? How to setup and use free SOCKS5 proxy server? What’s the difference between SOCKS5 and VPN services? Let’s dig right into it! Get started with our reliable VPN solution and make your browsing more secure What is SOCKS5 Proxy
SOCKS (SOCKet Secure) is an internet protocol that forwards the user’s internet traffic through a proxy server. Any third-party observer will only be able to see the IP address of the SOCKS proxy server, not your real one.
This ensures that your online activities, sensitive information, physical location, and identity are protected from ISP, corporate, and even government surveillance (the extent of such proxy protection is limited, but we’ll discuss this later in the piece).
Difference between SOCKS4 and SOCKS5
SOCKS5 is the latest iteration of this free proxy protocol. It brings enough improvements to the table to make it unambiguously preferable than its predecessors in any situation. Here’s a quick summary of the differences between SOCKS4 and SOCKS5:
SOCKS5 is more universal. It supports a variety of authentication methods, while SOCKS4 doesn’t support authentication at all.
SOCKS5 proxy is more secure. It supports IPv6, TCP, and UDP proxies, while SOCKS4 only supports TCP.
How to Setup SOCKS5 Proxy
Then again, there is no reason not to try using SOCKS5 proxy and see how it fares. After all, you may not want to install a full-fledged cyber-security solution if all you need is a free SOCKS5 proxy to unblock Telegram.
Here’s how to setup SOCKS5 proxy and use SOCKS5 servers for free:
Consult the developer, documentation, or manuals of the app you want to use SOCKS5 proxy with to see if the application supports such an option.
Unless specified otherwise by the developer of the app in question, open its settings and find the section for SOCKS5 proxy configurations.
Enter the address and port of the server you want to connect to. SOCKS5 proxy servers currently available for free are:
USA NY (server address 142. 93. 68. 63, server port 2434)
Netherlands Amsterdam (server address 82. 196. 7. 200, server port 2434)
Singapore (server address 159. 89. 206. 161, server port 2434)
Enter login vpn and password unlimited
Benefits of SOCKS5 Proxy
As mentioned before, SOCKS5 protocol, if used properly, can be quite helpful in many occasions. The trick here is to know when it’s best to use proxy servers, and when you need other solutions. Let’s take a look at what free SOCKS5 proxy is best for.
Hide your location
As part of the modus operandi of the SOCKS5 protocol, all user traffic goes via a proxy server. This hides users’ actual location, instead causing the traffic to look like it originates from the location of the SOCKS5 proxy server.
Bypass geo-blocking and content censorship
Geographic content blocking occurs when a website, service, movie or show, video, etc. is banned in a particular region. But with SOCKS5 proxy you can virtually hop to a different location where the content is available (by selecting a respective server). An example of such use is that with proxy SOCKS5 you can access Telegram for free, even if it’s blocked in your country.
Improved security over other proxies
Proxies are universally considered quite unreliable and insecure. And even though SOCKS5 doesn’t eliminate all the perils associated with its counterparts, it’s still significantly more secure than them thanks to using internet protocols more secure than the common UDP.
Works at the application level
Since you set up SOCKS5 proxy server at the app level (we’ll explain how to do this later in the article), you can choose which programs on your device you want it to affect. This can be important if you only need free SOCKS5 proxy for a single specific app, or have complete control over which applications are affected.
SOCKS5 setup is only required once per app
After you’ve configured SOCKS5 proxy for an application, it will always automatically fire the proxy server connection upon launching the app (unless you wish to disable this option in the settings, obviously). Thus, you won’t have to remember to start it manually. Get top-notch protection on the web with VPN Unlimited SOCKS5 Proxy or VPN?
Now, let’s discuss shortcomings of SOCKS5 proxy and why an all-around privacy service like KeepSolid VPN Unlimited can be a more preferable choice in some cases.
Lack of security
The most prominent drawback of any proxy server, SOCKS5 proxy included, is the lack of data encryption. This means that whatever personal data or sensitive information you send off is totally unprotected from any malefactors. And you may be surprised to know how many cyber criminals are lurking about in the hunt for your passwords, credentials, online banking info, photos, private messages, search requests, etc.
Lack of independence
Another big issue of SOCKS5 proxy is its dependence on specific apps and their developers. You can only set up and use a SOCKS5 proxy server with an app if the application in question supports this option to begin with. Moreover, it means that if you wanted to connect multiple apps to the server, configuring them all will be quite a hassle. Compare it to VPN Unlimited, where you can protect the whole device (or, to be more precise, up to 5 devices with a single account) at once.
Lack of flexibility
Last but not the least, SOCKS5 proxy is less flexible than VPNs. Even the best free SOCKS5 proxies usually offer very few servers that are often cramped (causing lags) and inconveniently located. Compare this to VPN Unlimited servers: over 400 servers in 80+ locations all around the world, dedicated servers for torrenting and unblocking streaming services like Netflix, ability to buy Personal servers. Not to mention that you can switch servers on the fly, whereas with SOCKS5 you’d have to manually enter the new server’s settings every time.
SOCKS5 proxy vs. VPN Unlimited comparison
All in all, it’s highly recommended you use VPN Unlimited over SOCKS5 proxy if you are concerned about your online security and the integrity of your personal data, or need anything more than hiding your IP or bypassing basic geo-blocking. If you’re still not sure, you can try VPN Unlimited for free to see if it suits your needs. Get started with VPN Unlimited right now Grab your 7-day free trial and 30-day money-back guarantee to check out KeepSolid VPN Unlimited features!
Frequently Asked Questions about socks version 5 proxy
What is a SOCKS version 5 protocol error?
When you try to log in to the desktop app, you may receive an error message that states: “SOCKS version 5 protocol error.” The SOCKS error message indicates that the problem is caused by proxy settings.
Is SOCKS and proxy the same?
Unlike HTTP proxies, which can only interpret and work with HTTP and HTTPS webpages, SOCKS5 proxies can work with any traffic. HTTP proxies are high-level proxies usually designed for a specific protocol. … SOCKS proxies are low-level proxies that can handle any program or protocol and any traffic without limitations.
Where can I find SOCKS5 proxy?
SOCKS5 proxy servers currently available for free are:USA NY (server address 142.93. 68.63, server port 2434)Netherlands Amsterdam (server address 82.196. 7.200, server port 2434)Singapore (server address 159.89. 206.161, server port 2434)Feb 16, 2020