Emacs 怎么使用代理

也可以定义一个 toggle (spacemacs 自带有定义 toggle 的函数,可以用那个),需要的时候就打开,不需要就关闭。

实现很简单,不需要的时候,把 url-gateway-method 的值恢复为默认值就行了。

比如哪种的补全?

比如不代理 localhost127.0.0.1

(setq url-gateway-local-host-regexp
      (concat "\\`" (regexp-opt '("localhost" "127.0.0.1")) "\\'"))
2 个赞

很多模式都是由后端服务提供补全的,比如 ternjs, anaconda/elpy, ycmd, irony, gocode…,如果没有白名单,这些本地服务的就连不上了

1 个赞

soga!我知道了

好像用了代理,eww 还是用不了 Google 搜索(如: https://www.google.com.hk ),好像是由于 eww 不支持 JavaScript?但 HTTP 版本的 http://www.google.com.hk 倒是可以使用。

https 打不开可能是 gnutls 的锅,配置可参考:无法用Gnus查看论坛的RSS链接

不清楚 gnutls,我这边访问其它 HTTPS 网页没问题。应该是 Google 的 HTTPS 版本需要 JavaScript,但 HTTP 版本不需要的缘故。

在 emacs 里边设置代理,无论 socks-server 还是 url-proxy-services 好像都有问题。我上边回帖用的是 $ proxychains4 emacs, 只要排除 tls 握手故障就可以了。

1 个赞

有些代理需要认证比较麻烦,比如公司网络
试用了很多方法都不行,最后发现可以用proxifier
设置好代理,然后把emacs或者Emacs-x86_64-10_9设置为使用代理就可以了

1 个赞

用了 @et2010 的方法可以

用了解决方案的配置, 还是不能用!

在 spacemacs 怎么设置, 那位写全点

Contacting host: translate.google.com:80

是不是因为 S_S_R 用的 SwitchyOmega

(defun dotspacemacs/user-init ()

   (setq url-proxy-services '(
                              ("http" . "www.xxx.com:8080")
                              ("https" . "www.xxx.com:8080")
                              ))

)
1 个赞

就 Google 翻译,可以改用 http://translate.google.cn ,这个网址在大陆一直都可以访问,且如果用 google-translate 的话,可以用以下的命令把 .com 改成 .cn:

(eval-after-load 'google-translate-core
  '(setq google-translate-base-url "http://translate.google.cn/translate_a/single"
         google-translate-listen-url "http://translate.google.cn/translate_tts"))

(eval-after-load 'google-translate-tk
  '(setq google-translate--tkk-url "http://translate.google.cn/"))
4 个赞

先谢谢两位, 试后再反馈.

可以了, 但是英语翻成法语了, 还好前面有搜到这个, 加了这个就 OK 了.

google-translate-default-target-language “zh-CN”

@zhongke 的就没试了, 因为没看懂.

请忽略我的回答,我看标题,只是问怎么设置代理,其实已经不是这个问题了 :sweat_smile:

为啥我每次打开Emacs都要重新设置一遍相应的语言,您改的是哪个配置?

都是抄的, 但能用.

(eval-after-load 'google-translate-core '(setq google-translate-base-url “http://translate.google.cn/translate_a/single” google-translate-listen-url “http://translate.google.cn/translate_tts” google-translate-default-target-language “zh-CN”))

(eval-after-load 'google-translate-tk '(setq google-translate–tkk-url “http://translate.google.cn/”))

2 个赞

最简单的使用方式就是用开启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 个赞

我写了一个简单的mode, https://github.com/stardiviner/proxy-mode

1 个赞