最简单的使用方式就是用开启ss service,然后设置http和https代理。
参考代码 (来自https://github.com/seagle0128/.emacs.d):
;; Configure network proxy
(defun show-proxy ()
"Show http/https proxy."
(interactive)
(if url-proxy-services
(message "Current proxy is \"%s\"" my-proxy)
(message "No proxy")))
(defun set-proxy ()
"Set http/https proxy."
(interactive)
(setq url-proxy-services `(("http" . ,my-proxy)
("https" . ,my-proxy)))
(show-proxy))
(defun unset-proxy ()
"Unset http/https proxy."
(interactive)
(setq url-proxy-services nil)
(show-proxy))
(defun toggle-proxy ()
"Toggle http/https proxy."
(interactive)
(if url-proxy-services
(unset-proxy)
(set-proxy)))
2 个赞
老哥 稳 可以啊 顺利 小飞机 。。。。 感谢, 之前都不知道 socks-server 这个变量(也难怪,它没有doc description) 一直用的 url-proxy-services 这个变量 难怪 不可以用socks上https。 谢啦
非常感谢,不过我在实验的时候发现http不行了,要全改成https才行:
(eval-after-load 'google-translate-core
'(setq google-translate-base-url "https://translate.google.cn/translate_a/single"
google-translate-listen-url "https://translate.google.cn/translate_tts"))
(eval-after-load 'google-translate-tk
'(setq google-translate--tkk-url "https://translate.google.cn/"))
1 个赞
老帖又给挖起来了。
我不折腾邮件、rss 这些,所以需要用到代理的情况不多,主要就是下载包的时候。然而大多数的包从国内 elpa 镜像下载,剩下少部分用 el-get 下载,这其中又只有少部分才需要代理。所以我只需要针对个别的 url 使用代理,例如:
(setq package-recipes
'(...
(mwe-log-commands . (http "http://www.foldr.org/~michaelw/emacs/mwe-log-commands.el"
:proxy t))
...))
然后把下载函数包裹在 with-url-proxy
中,需要代理的时候临时开一下:
(if (need-proxy? package)
(with-url-proxy
(funcall 'el-get-do-install package))
(funcall 'el-get-do-install package))
刚刚顺手把相关的函数提取出来做一个单独的包发布了:
提供了这些函数:
-
with-proxy
等效于以下两个函数叠加
with-url-proxy
with-shell-proxy
4 个赞
Kinney
32
不知道为什么,我的mac一开代理用一会就会卡死,就跟windows的蓝屏一样,电脑系统报错然后重启。搞得我都不敢开代理,不知道有么有人遇到类似的情况。MacBook (Retina, 12-inch, Early 2016), Mojave
大佬不敢当。
还有文档/测试没补上。
melpa 的规定有时候也比较烦人,我不想把 with-{url,shell}-proxy
的命名改成 with-proxy-
开头。
1 个赞
我挺喜欢这个包的 从你的with-emacs 粉过来的 我不太想用submodule管理包,机器老,check太慢,看来只能自己补个本地recipe了
通常即使出错也不会导致系统重启吧,你用 emacs -Q
(或者 other-emacs-eval / with-emacs) 试试。
先克隆到本地用吧,等 melpa 要很久,purcell 十天半月才来审核一次。
Kinney
37
没有重启,就是会出现 “your system meet some problems…” 之类的一段话表示系统崩了,不得不重启。
你的 openssl / gnutls 库有问题吗?
@Angelaneia with-proxy 进 MELPA 了,我最后妥协了 ,改了宏的名字 ╮(╯_╰)╭
cireu
43
MELPA有些事情管太严了,比如我喜欢写(when (not ...) ...)
非得让我改成(unless ... ...)
每次看unless form都费我好大劲才明白