with-proxy: 在局部范围内使用代理

:point_right: GitHub - twlz0ne/with-proxy.el: Evaluate expressions with proxy

需求源自:

总结起来就是,把代理的作用局限在一个 form 之内,避免扩散到全局。适用于偶尔需要代理的场景。

6 个赞

ding ding

不错!如果要全局使用行吗?

with-proxy 不能全局使用。

全局代理直接设置 url-proxy-services。我感觉全局带来的麻烦更多,比如你需要考虑白名单的问题,而且已经打开的 buffer 如果设置了本地变量,恐怕就不受全局代理的控制了。

您好,我准备使用with-proxy.el,,但是我不知道里面有哪些需要修改,我使用的是shadowsocks作为代理服务,想实现gnus使用代理,wget和emacs-w3m根据网址不同自动切换代理,请问该怎么做,您的说明文件里面那两个例子看不懂

有那么难懂?再看不懂就没办法了:

;; 1. 使用默认代理设置
(with-proxy
  ;; 请求代码写在这里
  )

;; 2. 使用自定义代理设置
(with-proxy
  :http-server "127.0.0.1:1081"
  :no-proxy '("localhost" "127.0.0.1" "192.168.*" "10.*")
  ;; 请求代码写在这里
  )

代理有效范围仅限于 (with-proxy ...),在括号外的请求不走代理。

还真的看不懂,我对elisp一无所知,我是中医,大神,完全外行

目前使用的是proxychains启动emacs,但是有时候要ssh到家里别的电脑,有时候要看b站视频,ss流量浪费很大

牛比啊中医都开始用emacs了吗

你不懂的是elisp,还是proxy,还是都有?

断断续续用了有两三年了,今年才完全转到emacs,我在论坛里面发了几个求助,大部分都被大神们解决了,所以在某个帖子里面介绍了一个养生的小动作,不知道有没有朋友实践过

都不懂

比如我想让gnus走代理,我连该怎么写都不知道,就是注明 写请求代码 的位置,根本不知道怎么写

那可以先从elisp基础学起

如果是想让gnus用代理的话,建议查查gnus的代理配置,而不是用with-proxy。with-proxy不是干这个用的。还有楼主说的url-proxy-services也可以看看

感谢您的建议

不过我是完全零基础,没有任何编程经验,这样会不会事倍功半

这个没办法,不管什么路线,总要有第一步

我觉得你想要的其实只是ss的pac模式,国内网站直连,其它的根据ip、域名等规则走代理。

是的,就是这个意思,但是我用的是命令行启动ss服务,不知道要怎么去设置

用这个去生成pac文件,然后将系统代理设置为自动,并设置为pac文件地址,这样应该能解决许多问题。

上网搜了篇博文,你参考下如何设置全局代理走pac https://www.litcc.com/2016/12/29/Ubuntu16-shadowsocks-pac/index.html

好的,感谢您的建议

看了一下那篇文章,他应该安装了桌面环境,我只有基础的xorg,不知道在哪里修改全局代理

genpac这个我是清楚怎么搞了