1*6236dae4SAndroid Build Coastguard Worker--- 2*6236dae4SAndroid Build Coastguard Workerc: Copyright (C) Daniel Stenberg, <[email protected]>, et al. 3*6236dae4SAndroid Build Coastguard WorkerSPDX-License-Identifier: curl 4*6236dae4SAndroid Build Coastguard WorkerLong: proxy 5*6236dae4SAndroid Build Coastguard WorkerShort: x 6*6236dae4SAndroid Build Coastguard WorkerArg: [protocol://]host[:port] 7*6236dae4SAndroid Build Coastguard WorkerHelp: Use this proxy 8*6236dae4SAndroid Build Coastguard WorkerCategory: proxy 9*6236dae4SAndroid Build Coastguard WorkerAdded: 4.0 10*6236dae4SAndroid Build Coastguard WorkerMulti: single 11*6236dae4SAndroid Build Coastguard WorkerSee-also: 12*6236dae4SAndroid Build Coastguard Worker - socks5 13*6236dae4SAndroid Build Coastguard Worker - proxy-basic 14*6236dae4SAndroid Build Coastguard WorkerExample: 15*6236dae4SAndroid Build Coastguard Worker - --proxy http://proxy.example $URL 16*6236dae4SAndroid Build Coastguard Worker--- 17*6236dae4SAndroid Build Coastguard Worker 18*6236dae4SAndroid Build Coastguard Worker# `--proxy` 19*6236dae4SAndroid Build Coastguard Worker 20*6236dae4SAndroid Build Coastguard WorkerUse the specified proxy. 21*6236dae4SAndroid Build Coastguard Worker 22*6236dae4SAndroid Build Coastguard WorkerThe proxy string can be specified with a protocol:// prefix. No protocol 23*6236dae4SAndroid Build Coastguard Workerspecified or http:// it is treated as an HTTP proxy. Use socks4://, 24*6236dae4SAndroid Build Coastguard Workersocks4a://, socks5:// or socks5h:// to request a specific SOCKS version to be 25*6236dae4SAndroid Build Coastguard Workerused. (Added in 7.21.7) 26*6236dae4SAndroid Build Coastguard Worker 27*6236dae4SAndroid Build Coastguard WorkerUnix domain sockets are supported for socks proxy. Set localhost for the host 28*6236dae4SAndroid Build Coastguard Workerpart. e.g. socks5h://localhost/path/to/socket.sock 29*6236dae4SAndroid Build Coastguard Worker 30*6236dae4SAndroid Build Coastguard WorkerHTTPS proxy support works set with the https:// protocol prefix for OpenSSL 31*6236dae4SAndroid Build Coastguard Workerand GnuTLS (added in 7.52.0). It also works for BearSSL, mbedTLS, Rustls, 32*6236dae4SAndroid Build Coastguard WorkerSchannel, Secure Transport and wolfSSL (added in 7.87.0). 33*6236dae4SAndroid Build Coastguard Worker 34*6236dae4SAndroid Build Coastguard WorkerUnrecognized and unsupported proxy protocols cause an error (added in 7.52.0). 35*6236dae4SAndroid Build Coastguard WorkerAncient curl versions ignored unknown schemes and used http:// instead. 36*6236dae4SAndroid Build Coastguard Worker 37*6236dae4SAndroid Build Coastguard WorkerIf the port number is not specified in the proxy string, it is assumed to be 38*6236dae4SAndroid Build Coastguard Worker1080. 39*6236dae4SAndroid Build Coastguard Worker 40*6236dae4SAndroid Build Coastguard WorkerThis option overrides existing environment variables that set the proxy to 41*6236dae4SAndroid Build Coastguard Workeruse. If there is an environment variable setting a proxy, you can set proxy to 42*6236dae4SAndroid Build Coastguard Worker"" to override it. 43*6236dae4SAndroid Build Coastguard Worker 44*6236dae4SAndroid Build Coastguard WorkerAll operations that are performed over an HTTP proxy are transparently 45*6236dae4SAndroid Build Coastguard Workerconverted to HTTP. It means that certain protocol specific operations might 46*6236dae4SAndroid Build Coastguard Workernot be available. This is not the case if you can tunnel through the proxy, as 47*6236dae4SAndroid Build Coastguard Workerone with the --proxytunnel option. 48*6236dae4SAndroid Build Coastguard Worker 49*6236dae4SAndroid Build Coastguard WorkerUser and password that might be provided in the proxy string are URL decoded 50*6236dae4SAndroid Build Coastguard Workerby curl. This allows you to pass in special characters such as @ by using %40 51*6236dae4SAndroid Build Coastguard Workeror pass in a colon with %3a. 52*6236dae4SAndroid Build Coastguard Worker 53*6236dae4SAndroid Build Coastguard WorkerThe proxy host can be specified the same way as the proxy environment 54*6236dae4SAndroid Build Coastguard Workervariables, including the protocol prefix (http://) and the embedded user + 55*6236dae4SAndroid Build Coastguard Workerpassword. 56*6236dae4SAndroid Build Coastguard Worker 57*6236dae4SAndroid Build Coastguard WorkerWhen a proxy is used, the active FTP mode as set with --ftp-port, cannot be 58*6236dae4SAndroid Build Coastguard Workerused. 59*6236dae4SAndroid Build Coastguard Worker 60*6236dae4SAndroid Build Coastguard WorkerDoing FTP over an HTTP proxy without --proxytunnel makes curl do HTTP with an 61*6236dae4SAndroid Build Coastguard WorkerFTP URL over the proxy. For such transfers, common FTP specific options do not 62*6236dae4SAndroid Build Coastguard Workerwork, including --ftp-ssl-reqd and --ftp-ssl-control. 63