Proxy servers are commonly used to provide gateways through firewalls or as caches serving some more-or-less local network.
Each protocol (HTTP, FTP, etc.) can have a different gateway server. Proxying is conventionally configured commonly amongst different programs through environment variables of the form protocol-proxy, where protocol is one of the supported network protocols (http, ftp, etc.). The library recognized such variables in either upper or lower case.
System Proxy#
Add these lines to .bashrc
:
export http_proxy=http://username:password@proxy.xxx.com:8080
export https_proxy=${http_proxy}
Or add these lines to init.el
:
(setenv "http_proxy" "http://user:pass@proxy.server:port")
(setenv "https_proxy" "https://user:pass@proxy.server:port")
(setenv "no_proxy" "localhost,127.0.0.1,.local")
URL Proxy Services#
Proxies are supported by URL package, by setting url-proxy-services
to an assoc list mapping url services and the proxy servers that support them.
(setq url-proxy-services
'(("http" . "proxy.example.com:8080")
("https" . "proxy.example.com:8080")
("no_proxy" . "^.*example.com")))
If the proxy services need to be authorized, we need to customize url-http-proxy-basic-auth-storage
.
(setq url-http-proxy-basic-auth-storage
(list (list "proxy.example.com:8080"
(cons "Input your LDAP UID !"
(base64-encode-string "LOGIN:PASSWORD")))))
Socks Proxy#
Enable socks proxy:
(setq url-gateway-method 'socks
socks-server '("Default Server" "socks.proxy.com" 1080 5)
socks-noproxy '("localhost"))
If the socks-server
need to be authorized, socks-username
and socks-password
need to be customized.
Disable socks proxy:
(setq url-gateway-method 'native
socks-server nil
socks-noproxy nil)
Related
Emacs tokyonight-themes
A clean dark Visual Studio Code theme that celebrates the lights of Downtown Tokyo at night.
Disable Annoying Audio Notifications
By default Emacs ring the bell to attract the user’s attention, this is annoying.
Clangd Configuration With Eglot
Eglot是Emacs内置的LSP客户端。Eglot内置已支持大量的LSP服务端。以C++语言为例,Eglot支持clangd和ccls两种服务端模式。