如果是零基础,请移步(详细版)基于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 
   | 
 
然后启动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客户端”,后面配置和前面的一样

v2ray配置:
开启透明代理,设置透明代理端口1099
(如果这个路由器不想用于平时上网,可以不用勾选)

然后进行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 许可协议,转载请注明出处。