Q:VPN是什么?

代理是什么?

为什么有时候网络上不去?

怎么给服务器挂代理?

VPN与代理

不论是代理服务器(与下文出现的“代理”同义)还是VPN,其实人们使用它的目的都是一致的,最终效果也基本一致,那就是:向目标网站或服务器隐藏IP。

什么是代理

所谓代理服务器,是一个“中间人”的角色,在你和服务器之间传递数据

相当大比例的代理服务器可以以网站的形式存在,你只需打开代理服务器的网站,然后输入你希望访问的链接,就可以像平时浏览网页一样操作了。

代理的工作原理是:由代理服务器自己去访问你的目标网站,并加载它的内容,然后再把这些加载过的内容传递到你的窗口上。这样就相当于你在浏览目标网站了

因此代理经常被叫做“梯子”或者“桥”。使用代理的好处是,你不需要直接链接到目标网站,因此目标网站就无法获取你的IP地址,取而代之获取的是代理服务器的IP地址。这样你就可以隐藏你的位置信息了。

好处

仅仅是要破除网站屏蔽,那么代理服务器可能是最简单便捷的方案了。由于所有的工作都是远程服务器完成的,你不需要安装任何东西,只需要访问代理服务器所在的网站,并选择一个国家就可以了。

不足

希望达成匿名浏览网站之外的目的,代理服务器或许并不能帮你做到这点。长期使用代理服务器,你会发现它会变慢而且速度并不稳定。而如果你不只是匿名希望浏览几个网站,而是希望匿名访问大量网站和网络应用,代理服务器的弊端就会很明显。

代理端口

与常规服务器或支持 Internet 的设备不同,代理服务器不遵守传统的标准,它们这样做是为了隐藏它们是代理服务器的事实。

有些端口是为代理服务器正式保留的(如1080、4444、8580和9050),有些则不是。但是,大多数匿名代理提供商不会使用它们,因为这样做意味着向Internet 服务提供商 (ISP)显示自己的代理,这可能会使 ISP 阻止它们。

代理服务器使用端口号作为代理池的端点而不是为不同的通信类型使用端口号。他们可以使用端口号来区分不同国家的代理池或不同用例的代理

仅仅访问代理服务并不能让你访问它们的所有端口,因为它们有层次,你可以访问的端口取决于你购买的包。代理端口只有在您被授权访问时才对您开放,否则您的流量将不被允许通过

代理地址

对应代理服务器的ip

查看代理地址与port

注意

image-20230908120117481

该地址并不是代理地址

127.0.0.1 是主机环回地址。主机环回是指地址为 127.0.0.1 的任何数据包都不应该离开计算机(主机),发送它——而不是被发送到本地网络或互联网,它只是被自己“环回”,并且发送数据包的计算机成为接收者。

可以理解为先将请求发到本机上,再让代理服务器在对应的端口监听?

什么是VPN

VPN和代理的主要区别就在于你向服务器发送数据的这个环节。 使用VPN,你必须先安装VPN软件(Windows 10虽然自带,但也是一个软件)。在开启VPN软件后,软件的主要职责就是加密你的数据并传递给VPN服务器,这样你传输的数据对截获者来说就是不可读的。这个技术叫做“隧道”

即多了加密环节

好处

VPN可以隐蔽你在互联网上的行为。反过来说,代理服务器很难做到这一点,至少在你和代理服务器交换数据的这个阶段是做不到的,任何有能力的人(包括黑客和你的网络服务商)都能看到你在传输什么。而VPN则从你的主机建立了隧道,包括网络服务商在内的任何人都无法“看到”你传输的东西。

坏处

昂贵,由于加密隧道是你的设备建立的,因此所有的离岸数据都是在你的设备上完成加密的。这可能会不同程度上拖慢你的设备速度,从而影响整个浏览体验。

关于浏览器访问

之所以有时候关掉手动设置代理可以恢复访问界面问题,原因有可能是你的请求被错误的发送到了代理服务器,但是代理服务器此时没连接上?导致请求失败

image-20230910225510352

Clash

指令集

所谓指令集,可以理解成硬件对外的接口。我们运行程序是通过操作系统调度,操作系统然后让硬件去计算。

让硬件计算的话,比如一些加法乘法,循环之类的,就需要硬件提供的接口,也就是指令集。这个就是我们常说的机器语言(汇编语言),已经到了计算机的最底层了。

指令集架构主要分两大类。

  • 复杂指令集运算(Complex Instruction Set Computing,CISC)
    • 简单的理解就是提供的指令很多,也都很复杂。
    • intelx86 架构为代表,主要针对的操作系统是微软的 Windows 和苹果的 maxOS。另外 Linux,一些 UNIX 等,都可以运行在复杂指令集架构的微处理器。
  • 精简指令集运算(Reduced Instruction Set Computing,RISC)
    • ARM 公司的 arm 架构为代表。当前有 UNIXLinux 以及包括 iOSAndroidWindows Phone 等在内的大多数移动操作系统运行在精简指令集的处理器上。

复杂指令集和精简指令集比较的话,区别在于我们编程(直接写机器语言代码在 CPU上运行)的时候,比如实现乘法。根据提供的指令,复杂指令集可能一条命令就够了,而简单指令集我们可能需要加法、循环等多条指令

x86

x86 架构于 1978 年推出的 Intel 8086 中央处理器中首度出现,之后 x86 便成为了个人电脑的标准平台,成为了历来最成功的 CPU 架构。

808616 位处理器,接着一系列的处理器进行了 32 位架构的改进,现在 x86 一般指 32 位的架构。

该系列较早期的处理器名称是以数字来表示 80x86。由于以 86 作为结尾,包括 Intel 8086801868028680386 以及 80486,因此其架构被称为 x86

生产 x86 架构的 CPU 除了因特尔,它还把专利授权给了现在比较出名的超微(AMD)。然后在 1999AMD 首次公开 64 位集以扩展 x86,此架构称为 AMD64。后来英特尔也推出了与之兼容的处理器,并命名Intel 64两者一般被统称为 x86-64x64

amd64=x86_64

这个指令集标准的叫法就是 amd64,只不过这个叫法对 intel 来说有点不舒服,所以后来才会引入了 x86_64 这样的叫法,但他们本质上是一样的

arm64,armv7

ARM处理器:因为其低功耗和小尺寸而闻名,现在几乎所有的手机处理器都是基于 ARM。
armv6、armv7、armv7s、arm64 都是 ARM 处理器的指令集,并且所有指令集原则上都是向下兼容的,如 iPhone4S的 CPU 默认指令集为 armv7 指令集,但是它同时兼容 armv6 指令集,只是使用 armv6 指令集时无法充分发挥其性能,无法使用 armv7 指令集中的新特性,

Clash配置

2023最新Clash for Windows使用教程配置从入门到精通

觅云

Clash for Windows 配置教程 - AgentNEO 配置说明文档 (neobook.co)

为Linux配置代理

临时代理

并非每个人都希望一直使用代理。对于某些用户,在需要时必须使用代理。在将它们用于所需的用例之后,他们将其丢弃,并继续使用其真实IP地址访问Internet。要为当前会话临时设置代理,您需要使用http_proxyhttps_proxy环境变量来完成。启动终端,然后从下面选择一个可用的选项

  • 设置不需要用户名/密码认证的代理

在Linux中,最简单的方法是设置不需要用户名和密码身份验证的代理。这是因为您只需要指定服务器IP和端口。有两类不需要身份验证的用户名和密码的代理。

这些是被认为是低质量的免费/公共代理,而代理服务器则提供IP身份验证作为替代。一些提供商甚至将IP身份验证作为唯一的身份验证方法。对于此类代理,请从代理提供商提供的仪表板中将您的设备IP列入白名单。将iP地址列入白名单后,请使用以下命令临时设置代理。

1
# export http_proxy=http://SERVER:PORT/
  • 使用用户名和密码验证设置代理

当代理服务器要求您使用用户名和密码进行身份验证时,则需要稍微修改上面的命令以容纳用户名和密码。下面是修改后的代码。

1
# export http_proxy=http://USERNAME:PASSWORD@SERVER:PORT/

如果用户名和密码正确,并且您具有有效的订阅,则您已设置代理。

  • 使用域设置代理(不常用)

对于需要设置域详细信息的代理,请运行以下修改后的代码。

1
# export http_proxy=http://DOMAIN\\USERNAME:PASSWORD@SERVER:PORT/
  • 处理密码中的@字符(不常用)

显然,您的用户名中不会包含@作为字符。但是,它通常用于密码。用户名或密码中使用@字符时,请使用以下命令。

1
# export http_proxy=http://DOMAIN\\USERNAME:P\@SSWORD@SERVER:PORT/

看上面的代码;您会在@前面看到反斜杠(\)。

永久代理

如果您不想时不时设置代理,则需要使用环境变量来设置代理。这是通过使用以下代码修改文件/ etc / environment来完成的。

1
#echo“ http_proxy = http://proxy.example.com:3128 /” >> / etc / environment

验证代理设置

Linux提供了一种简单的方法来检查您是否在计算机上设置了代理。您将需要使用终端进行检查。使用以下命令。如果它们的值为空,则尚未设置代理。

1
2
# echo $ http_proxy
# echo $https_proxy

有时候,上面的代码可能会返回值,但是您的浏览器并没有使用它们。有些浏览器可能会忽略默认的代理设置。要检查你是否使用代理IP地址访问互联网,访问WhatIsMyIPAddress网站-通过点击这个链接。您在访问互联网时使用的IP地址将显示出来。另外,对于你打算使用的每一款软件,阅读一些软件,因为它们往往会忽略全局代理设置——如果是这种情况,那么你必须在该软件提供的界面中设置代理。

如果您只关心隐私,那么VPN可能是一个更好的选择。这是因为与不强制所有应用程序通过代理访问Internet的代理不同,VPN确保所有Internet连接都通过代理。通过设置VPN,您无需担心特定软件而无视代理。

参考链接:

代理(Proxy)和VPN的区别 - 知乎 (zhihu.com)

x86,x64,x86-64,amd64,arm指令集架构之间的关系 - 知乎 (zhihu.com)

(58 封私信 / 13 条消息) 为什么有的地方叫X86-64,有的地方叫AMD64? - 知乎 (zhihu.com)

arm64、armv7、armv7s是指什么? - 简书 (jianshu.com)

什么是代理端口以及如何查找代理地址和端口? | 代理 • Proxy (dailiproxy.com)

Linux代理设置 | 代理 • Proxy (dailiproxy.com)