2023-12-23 16:24:30 +08:00

46 lines
1.1 KiB
EmacsLisp

;; -*- coding: utf-8; -*-
;;; Require
;;; Code:
(defun proxy-socks-show ()
"Show SOCKS proxy."
(interactive)
(when (fboundp 'cadddr)
(if (bound-and-true-p socks-noproxy)
(message "Current SOCKS%d proxy is %s:%d"
(cadddr socks-server) (cadr socks-server) (caddr socks-server))
(message "No SOCKS proxy"))))
(defun proxy-socks-enable ()
"Enable SOCKS proxy."
(interactive)
(require 'socks)
(setq url-gateway-method 'socks
socks-noproxy '("localhost")
socks-server '("Default server" "127.0.0.1" 10800 5))
(setenv "all_proxy" "socks5://127.0.0.1:10800")
(proxy-socks-show))
(defun proxy-socks-disable ()
"Disable SOCKS proxy."
(interactive)
(require 'socks)
(setq url-gateway-method 'native
socks-noproxy nil)
(setenv "all_proxy" "")
(proxy-socks-show))
(defun proxy-socks-toggle ()
"Toggle SOCKS proxy."
(interactive)
(require 'socks)
(if (bound-and-true-p socks-noproxy)
(proxy-socks-disable)
(proxy-socks-enable)))
;; (proxy-socks-enable)
(provide 'init-proxy)
;;; init-proxy.el ends here