实现terminal代理
问题
作为一名Linuxer,熟练使用终端是一项必备技能,但终端中有时下载安装功能速度很慢,令人崩溃.我自然而然想到了可否加个代理,提高速度。我之前一直用shadowsocks,浏览器使用switchyProxy,实现了初步的科学上网。那么,终端中是否有类似的工具呢?答案是肯定的。通过科学搜索,我成功解决了terminal中的科学上网问题,在此总结一下,希望可以帮到大家。
准备工具
shadowsocks, polipo
shadowsocks
shadowsocks的配置可以参考这篇文章, 我很久之前配置的,这里就不回忆了(忘得差不多了).
让我们直接从polipo开始吧.
polipo
polipo有多种安装方式,可以使用Python的包管理工具pip直接安装,也可以用各个操作系统的包管理工具安装.我更推荐后者,因为个人认为这样更好管理罢了.这里以Ubuntu为例.
apt-cache search polipo
adzapper - proxy advertisement zapper add-on
polipo - lightweight, caching web proxy
polipo-dbg - debug package for polipo
第二个包就是给我们这些小白使用的,安装它
sudo apt-get install polipo
安装好之后默认自启的,
我们要先修改它的配置文件(/etc/polipo/config):
logSyslog = true
logFile = /var/log/polipo/polipo.log
logLevel = 4 # 没有这句话的话`sudo polipo -v`会出现无法查看log文件的情况
socksParentProxy = "localhost:1080" # 这里假设shadowsocks的local port为1080
socksProxyType = socks5 # 是不是和SwitchyProxy的设置很像?
具体各个配置选项可以参考文件/usr/share/doc/polipo/examples/config.sample.
配置好之后,我们需要重启polipo服务(每次修改配置文件需要重启服务才能加载)
sudo service polipo stop;
sudo service polipo start;
或者直接
sudo service polipo restart;
可以用
sudo polipo -v
查看具体各个配置项,可以看到我们之前的更改生效了.
测试
配置完成后,怎么才知道自己是否已经可以科学上网了呢?
可以使用以下命令:
~$ curl ip.gs
当前 IP:60.xxx.xxx.x 来自:中国北京北京 xxx/电信
~$ http_proxy=http://localhost:8123 curl ip.gs # polipo的默认端口为8123,如有需要可以自行改动
当前 IP:xxx.xxx.xxx.xx0 来自:美国加利福尼亚州洛杉矶
这样就算成功了.
更进一步
每次都打这么长的命令http_proxy=http://localhost:8123着实不是我们想要的,为了方便使用,可以在终端键入export http_proxy=http://localhost:8123',表示对该终端所有命令生效;或者更进一步,在.bashrc中加入export http_proxy=http://localhost:8123',每次启动终端时自动执行.如果不想要每次都走代理,可以像我一样,在.bashrc中加入'alias hp=http://localhost:8123"',每次需要代理时,只需要在命令前面加hp就好了.
在终端中尽情享受科学上网吧!
实现terminal代理的更多相关文章
- MacOS代理设置(桌面应用代理设置&Terminal代理设置)
MacOS代理分为桌面应用代理设置&Terminal代理设置,使用代理软件默认只会开启桌面应用代理,Terminal代理需要单独配置 桌面应用代理设置 Terminal查看桌面应用代理设置 ...
- MacOS X Terminal中设置代理
MacOS X中,即使在网络设置中配置了代理连接,Terminal中也不能访问不可描述的东西,需要额外设置. 我用的是Shadowsocks,使用privoxy搭建了本地的代理服务器,地址是http: ...
- 为Mac Terminal设置代理
参考链接:http://tz101.github.io/new-mac-os-x-yosemite-10-10-Xcode-Brew-Shadowsocks-Proxychains/ https:// ...
- Ubuntu设置代理的方法
用过Linux的都知道,众多的PROXY配置,让人应接不暇,本文列出常见的一些PROXY的配置 1.apt-get proxy 的配置sudo gedit /etc/apt/apt.conf NOTE ...
- python爬虫scrapy之downloader_middleware设置proxy代理
一.背景: 小编在爬虫的时候肯定会遇到被封杀的情况,昨天爬了一个网站,刚开始是可以了,在settings的设置DEFAULT_REQUEST_HEADERS伪装自己是chrome浏览器,刚开始是可以的 ...
- centos 终端界面代理设置
一.centos自带界面设置代理 1. 界面设置 squid默认代理端口3128. 2. firefox设置 设置 -> 局域网设置 -> ip:port / username:passw ...
- Centos代理上网设置
原文链接:http://m.blog.csdn.net/article/details?id=51851677 一.centos自带界面设置代理 1. 界面设置 squid默认代理端口3128. 2 ...
- Linux SSH隧道技术(端口转发,socket代理)
动态转发(SOCKS5代理): 命令格式:ssh -D <local port> <SSH Server> ssh -fnND 0.0.0.0:20058 172.16.50. ...
- ubuntu 下使用polipo转换HTTP代理
***默认是用Socks5协议的,对于Terminal的get,wget等走http协议的地方是无能为力的,所以需要转换成http代理,加强通用性,这里使用的转换方法是基于Polipo的. sudo ...
随机推荐
- “眉毛导航”——SiteMapPath控件的使用(ASP.NET)
今天做网站的时候,用到了SiteMapPath控件,我把使用方法记录下来,以便日后查阅以及帮助新手朋友们. SiteMapPath”会显示一个导航路径(也称为痕迹导航或眉毛导航),此路径为用户显示当前 ...
- 体验 ASP.NET Core 1.1 中预编译 MVC Razor 视图
这是从 ASP.NET Core 1.1 官方发布博文中学到的一招,可以在 dontet publish 时将 Razor 视图编译为 .dll 文件. 需要在 project.json 中添加如下配 ...
- node基本理念(事件、多线程、进程)
关于node的几点理解: 1.所谓的node单线程,是指node的event loop,也就是我们的业务脚本是跑在一个单线程中的,可以理解为主线程: 2.若存在IO操作,例如文件.网络,是单独在线程里 ...
- (DNS被劫持所导致的)QQ音乐与视频网页打开很慢的解决方法
这周开始发现一个很让人抓狂的现象,QQ音乐网页(http://y.qq.com)与QQ视频(http://v.qq.com/)网页打开超慢,甚至是无法打开,严重影响了业余的音乐视频生活. 以QQ视频为 ...
- 迷你MVVM框架avalon在兼容旧式IE做的努力
很多时候,写代码就像砌砖头,只要我们不关心盖楼的原因.建筑的原理.土木工程基础和工程经验,就算我们砌了100栋高楼,我们也就只是一个砌砖工人,永远也成为不了一个工程师,更别说建筑师了.而那些包工头也只 ...
- 关于大型网站技术演进的思考(二十)--网站静态化处理—web前端优化—中(12)
Web前端很多优化原则都是从如何提升网络通讯效率的角度提出的,但是这些原则使用的时候还是有很多陷阱在里面,如果我们不能深入理解这些优化原则背后所隐藏的技术原理,很有可能掉进这些陷阱里,最终没有达到最佳 ...
- GIS规划应用——基于哈夫模型的GIS服务区分析
1. GIS服务区分析 区位因素是商业分析中一个至关重要的因素,因此在商店选址时,例行的服务区分析十分重要.服务区是指顾客分布的主要区域,在其范围内该店的商品销售量或服务营业额超过其竞争对手.对于现 ...
- 将nuget与VS直接集成,实现一键上传等功能
nuget是一个非常方便的包管理工具,很多团队为了开发的方便也建立了自己的包源网站(nuget.server),本篇文章是笔者在配置nuget上面的一点小体,其最终目标是要达到能够在VS里一键打包上传 ...
- C语言 · 删除数组0元素
从键盘读入n个整数放入数组中,编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动.注意,CompactIntegers函数需要接受数组及其元素个数作为参数,函数 ...
- 《Entity Framework 6 Recipes》中文翻译系列 (36) ------ 第六章 继承与建模高级应用之TPC继承映射
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 6-12 TPC继承映射建模 问题 你有两张或多张架构和数据类似的表,你想使用TP ...