0%

(简略)基于frp与v2ray的几种校园网内网穿透的方案

如果是零基础,请移步(详细版)基于frp与v2ray的几种校园网内网穿透的方案

方案一:简单的frp socks5/http代理

方案二:用frp映射v2ray的inbound端口+校外设备http/socks5代理

方案三:用frp映射v2ray的inbound端口+校外设备使用v2ray/ssr连接

方案四:用v2ray自带的反向代理功能

方案五:用路由器代替校内主机

通讯过程的三台设备:

A.校内跳板机,电脑路由器之类的设备,前提是能够访问校外网络。

B.一台拥有公网ip的设备,一般是VPS云主机之类的

C.任意想要在校外访问校园网的设备

示意图

方案一:简单的frp socks5/http代理

VPS(frps.ini):

1
2
3
[common]
bind_port = 12345(要用来和校内主机建立连接的端口,注意检查防火墙)
token = 8d283ya2-7sl5-4a8d-857e (相当于密码,要与frpc.ini中的token保持一致)

然后启动frps

跳板机:(frpc.ini)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[common]
server_addr = 12.34.56.78(公网ip)
server_port = 12345 (上面的bind_port填哪个这里就填哪个)
token = 8d283ya2-7sl5-4a8d-857e(与上面token保持一致)
pool_count = 5 (与服务端通信时预设的连接池数量)

[socks5_proxy]
type = tcp
remote_port = 8080 (设置远程云主机的8080端口为监听端口,可供校外机器连接)
plugin = socks5
use_encryption = true
#如果不想设置用户名密码就把下面两行删掉,因为有的浏览器不支持身份认证
plugin_http_user = xxx (用户名)
plugin_http_passwd = xxxxxx (密码)

如果不想要socks5代理,也可以换成http代理:

1
2
3
4
5
6
7
8
9
10
11
12
13
[common]
server_addr = 12.34.56.78(公网ip)
server_port = 12345 (VPS端口,与上面一致)
token = 8d283ya2-7sl5-4a8d-857e(与上面token保持一致)
pool_count = 5 (与服务端通信时预设的连接池数量,如果对连接速度有要求可以设大一些)

[http_proxy]
type = tcp
remote_port = 8080
plugin = http_proxy
use_encryption = true
plugin_http_user = xxx
plugin_http_passwd = xxxx

然后启动frps

比较鸡肋的就是,
frp自带的http_proxy好像只能访问http,不能访问https网站

之后只要在校外主机的浏览器设置代理就可以访问校内网络了:
设置代理

方案二:用frp映射v2ray的inbound端口+校外设备http/socks5代理

该方案适用于校外设备无法使用v2ray的情况

值得一提的是,socks5的数据都是没有经过加密的明文数据,所以方案二与方案一并不被推荐

思路:在校内设备搭建一个v2ray的代理,将v2ray的inbound设为socks5流量,然后把这个inbound端口通过frp映射到云主机上。校外设备则通过socks5或http代理访问校内外。

frps.ini:

1
2
3
[common]
bind_port = 12345
token = 8d283ya2-7sl5-4a8d-857e

然后是校内设备搭建v2ray与frp:

配置一个json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
"inbounds": [
{
"port": 10808, //填监听端口
"protocol": "socks",
"sniffing": {
"enabled": true,
"destOverride": ["http", "tls"]
},
"settings": {
"auth": "noauth"
}
}
],
"outbounds": [
{
"protocol": "freedom",
"settings": {}
}
]
}

然后打开v2rayN.exe
左上角“服务器–添加自定义服务器”

然后选择刚才编辑的json导入,开启
开启全局代理

查看界面最下边的监听端口:
代理地址

现在v2ray配置完成了,接下来配置frpc.ini:

1
2
3
4
5
6
7
8
9
10
[common]
server_addr = 12.34.56.78//公网ip
server_port = 12345 //端口
token = 8d283ya2-6dba-4a8d
pool_count = 5

[v2ray_mapping]
type = tcp
remote_port = 8083 #供校外设备挂代理的端口
local_port = 10809 #校内设备本地http的端口,参考上一张图

然后启动frpc

在校内设备的配置完成,
接下来就是校外设备设置代理了:

设置校园网专用的代理,如图:
在这里插入图片描述

然后可以在auto switch中设置自动切换

自动切换
在访问校园网时会自动切换为校园代理。

方案三:用frp映射v2ray的inbound端口+校外设备使用v2ray/ssr连接

该方案适用于校外设备可以使用v2ray的情况。
校内设备和云主机的配置过程和上述方案二大同小异。

其中v2ray的json配置需要换为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
"inbounds": [
//v2ray也支持ssr 所以下面的这段配置也可以换成ssr配置
//然后校外设备就可以用ssr连接
{
"port": 10809, // 本地监听端口
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "123456", // 用户ID(相当于ssr中的密码),客户端与服务器只要保持相同即可
"alterId": 64 //客户端与服务端须保持相同
}
]
}
}
],
"outbounds": [
{
"protocol": "freedom", // 传出协议
"settings": {}
}
]
}

其他的都一样

最后是校外设备设置代理,以Windows为例:
打开v2rayN.exe,然后左上角”服务器–添加vmess服务器”,
填写参数:
在这里插入图片描述

方案四:用v2ray自带的反代功能

我没有尝试过这种方案,只能放个文档链接
这个方案需要三方设备都使用v2ray

方案五:用路由器代替校内主机

众所周知,路由器可以刷各种固件,有些固件本身就自带v2ray和frp
如果在校内没有跳板机,不妨试试路由器。
网上可以找到很多刷固件的教程。

接下来以老毛子为例进行说明。

首先校内的路由器必须要能上校外网络,很多学校是使用drcom的,对于drcom登录的,可以参考这篇文章

或者ssh进路由器然后运行一些自动登录的脚本

frp设置和前面的没什么不同,路由器可以充当frpc或者frps,我们要让路由器充当frpc。

frp设置:
勾选“启动frpc客户端”,后面配置和前面的一样

frp

v2ray配置:
开启透明代理,设置透明代理端口1099

(如果这个路由器不想用于平时上网,可以不用勾选)
v2ray
然后进行config.json的配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
{
"inbounds": [
{
//这个是透明代理的inbound,平时连路由器上网的流量走这里
"tag": "transparent",
"port": 1099,
"protocol": "dokodemo-door",
"settings": {
"network": "tcp,udp",
"followRedirect": true
},
"sniffing": {
"enabled": true,
"destOverride": ["http", "tls"]
},
"streamSettings": {
"sockopt": {
"tproxy": "tproxy"
}
}
},
{
//这个是校外跳进来的inbound,校外的流量走这里
"tag": "vmess-mapping",
"port": 10809, // 本地监听端口
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "123456", // 用户ID(相当于ssr中的密码),客户端与服务器只要保持相同即可
"alterId": 64 //客户端与服务端须保持相同
}
]
}
}
],
"outbounds": [
{
"protocol": "freedom",
"settings": {},
"tag": "direct"
},
{
//如果这个路由器还想用于平时上网,
//可以自行添加自己平时kx上网的配置,
//然后在rules里面添加路由规则
}
],
"routing": {
"domainStrategy": "IPOnDemand",
"rules": []
}
}

如果这个路由器还想用于平时上网,
可以自行添加自己平时上网的服务器配置,
然后在rules里面添加路由规则。

本文地址: https://www.chimaoshu.top/(简略版)基于frp与v2ray的几种校园网内网穿透的方案/
版权声明:本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议,转载请注明出处。

Welcome to my other publishing channels