-
-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #766 from fatedier/dev
bump version to 0.19.0
- Loading branch information
Showing
1,285 changed files
with
14,796 additions
and
309,078 deletions.
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
# Gopkg.toml example | ||
# | ||
# Refer to https://github.com/golang/dep/blob/master/docs/Gopkg.toml.md | ||
# for detailed Gopkg.toml documentation. | ||
# | ||
# required = ["github.com/user/thing/cmd/thing"] | ||
# ignored = ["github.com/user/project/pkgX", "bitbucket.org/user/project/pkgA/pkgY"] | ||
# | ||
# [[constraint]] | ||
# name = "github.com/user/project" | ||
# version = "1.0.0" | ||
# | ||
# [[constraint]] | ||
# name = "github.com/user/project2" | ||
# branch = "dev" | ||
# source = "github.com/myfork/project2" | ||
# | ||
# [[override]] | ||
# name = "github.com/x/y" | ||
# version = "2.4.0" | ||
# | ||
# [prune] | ||
# non-go = false | ||
# go-tests = true | ||
# unused-packages = true | ||
|
||
|
||
[[constraint]] | ||
name = "github.com/armon/go-socks5" | ||
revision = "e75332964ef517daa070d7c38a9466a0d687e0a5" | ||
|
||
[[constraint]] | ||
name = "github.com/fatedier/beego" | ||
revision = "6c6a4f5bd5eb5a39f7e289b8f345b55f75e7e3e8" | ||
|
||
[[constraint]] | ||
name = "github.com/fatedier/golib" | ||
branch = "master" | ||
|
||
[[constraint]] | ||
branch = "frp" | ||
name = "github.com/fatedier/kcp-go" | ||
|
||
[[constraint]] | ||
name = "github.com/gorilla/websocket" | ||
version = "1.2.0" | ||
|
||
[[constraint]] | ||
name = "github.com/hashicorp/yamux" | ||
revision = "2658be15c5f05e76244154714161f17e3e77de2e" | ||
|
||
[[constraint]] | ||
name = "github.com/rakyll/statik" | ||
version = "0.1.0" | ||
|
||
[[constraint]] | ||
name = "github.com/rodaine/table" | ||
version = "1.0.0" | ||
|
||
[[constraint]] | ||
name = "github.com/spf13/cobra" | ||
version = "0.0.2" | ||
|
||
[[constraint]] | ||
name = "github.com/vaughan0/go-ini" | ||
revision = "a98ad7ee00ec53921f08832bc06ecf7fd600e6a1" | ||
|
||
[prune] | ||
go-tests = true | ||
unused-packages = true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,4 @@ | ||
export PATH := $(GOPATH)/bin:$(PATH) | ||
export GO15VENDOREXPERIMENT := 1 | ||
|
||
all: fmt build | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,4 @@ | ||
export PATH := $(GOPATH)/bin:$(PATH) | ||
export GO15VENDOREXPERIMENT := 1 | ||
LDFLAGS := -s -w | ||
|
||
all: build | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -23,7 +23,6 @@ frp is a fast reverse proxy to help you expose a local server behind a NAT or fi | |
* [Expose a simple http file server](#expose-a-simple-http-file-server) | ||
* [Expose your service in security](#expose-your-service-in-security) | ||
* [P2P Mode](#p2p-mode) | ||
* [Connect website through frpc's network](#connect-website-through-frpcs-network) | ||
* [Features](#features) | ||
* [Configuration File](#configuration-file) | ||
* [Dashboard](#dashboard) | ||
|
@@ -32,6 +31,7 @@ frp is a fast reverse proxy to help you expose a local server behind a NAT or fi | |
* [Hot-Reload frpc configuration](#hot-reload-frpc-configuration) | ||
* [Get proxy status from client](#get-proxy-status-from-client) | ||
* [Port White List](#port-white-list) | ||
* [Port Reuse](#port-reuse) | ||
* [TCP Stream Multiplexing](#tcp-stream-multiplexing) | ||
* [Support KCP Protocol](#support-kcp-protocol) | ||
* [Connection Pool](#connection-pool) | ||
|
@@ -333,26 +333,6 @@ Now it can't penetrate all types of NAT devices. You can try **stcp** if **xtcp* | |
|
||
`ssh -oPort=6000 [email protected]` | ||
|
||
### Connect website through frpc's network | ||
|
||
Configure frps same as above. | ||
|
||
1. Start frpc with configurations: | ||
|
||
```ini | ||
# frpc.ini | ||
[common] | ||
server_addr = x.x.x.x | ||
server_port = 7000 | ||
|
||
[http_proxy] | ||
type = tcp | ||
remote_port = 6000 | ||
plugin = http_proxy # or socks5 | ||
``` | ||
|
||
2. Set http proxy or socks5 proxy `x.x.x.x:6000` in your browser and visit website through frpc's network. | ||
## Features | ||
|
||
### Configuration File | ||
|
@@ -434,6 +414,12 @@ allow_ports = 2000-3000,3001,3003,4000-50000 | |
|
||
`allow_ports` consists of a specific port or a range of ports divided by `,`. | ||
|
||
### Port Reuse | ||
|
||
Now `vhost_http_port` and `vhost_https_port` in frps can use same port with `bind_port`. frps will detect connection's protocol and handle it correspondingly. | ||
|
||
We would like to try to allow multiple proxies bind a same remote port with different protocols in the future. | ||
|
||
### TCP Stream Multiplexing | ||
|
||
frp support tcp stream multiplexing since v0.10.0 like HTTP2 Multiplexing. All user requests to same frpc can use only one tcp connection. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -21,7 +21,6 @@ frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp | |
* [对外提供简单的文件访问服务](#对外提供简单的文件访问服务) | ||
* [安全地暴露内网服务](#安全地暴露内网服务) | ||
* [点对点内网穿透](#点对点内网穿透) | ||
* [通过 frpc 所在机器访问外网](#通过-frpc-所在机器访问外网) | ||
* [功能说明](#功能说明) | ||
* [配置文件](#配置文件) | ||
* [Dashboard](#dashboard) | ||
|
@@ -30,6 +29,7 @@ frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp | |
* [客户端热加载配置文件](#客户端热加载配置文件) | ||
* [客户端查看代理状态](#客户端查看代理状态) | ||
* [端口白名单](#端口白名单) | ||
* [端口复用](#端口复用) | ||
* [TCP 多路复用](#tcp-多路复用) | ||
* [底层通信可选 kcp 协议](#底层通信可选-kcp-协议) | ||
* [连接池](#连接池) | ||
|
@@ -348,28 +348,6 @@ frp 提供了一种新的代理类型 **xtcp** 用于应对在希望传输大量 | |
|
||
`ssh -oPort=6000 [email protected]` | ||
|
||
### 通过 frpc 所在机器访问外网 | ||
|
||
frpc 内置了 http proxy 和 socks5 插件,可以使其他机器通过 frpc 的网络访问互联网。 | ||
|
||
frps 的部署步骤同上。 | ||
|
||
1. 启动 frpc,启用 http_proxy 或 socks5 插件(plugin 换为 socks5 即可), 配置如下: | ||
|
||
```ini | ||
# frpc.ini | ||
[common] | ||
server_addr = x.x.x.x | ||
server_port = 7000 | ||
|
||
[http_proxy] | ||
type = tcp | ||
remote_port = 6000 | ||
plugin = http_proxy | ||
``` | ||
|
||
2. 浏览器设置 http 或 socks5 代理地址为 `x.x.x.x:6000`,通过 frpc 机器的网络访问互联网。 | ||
|
||
## 功能说明 | ||
|
||
### 配置文件 | ||
|
@@ -461,6 +439,14 @@ allow_ports = 2000-3000,3001,3003,4000-50000 | |
|
||
`allow_ports` 可以配置允许使用的某个指定端口或者是一个范围内的所有端口,以 `,` 分隔,指定的范围以 `-` 分隔。 | ||
|
||
### 端口复用 | ||
|
||
目前 frps 中的 `vhost_http_port` 和 `vhost_https_port` 支持配置成和 `bind_port` 为同一个端口,frps 会对连接的协议进行分析,之后进行不同的处理。 | ||
|
||
例如在某些限制较严格的网络环境中,可以将 `bind_port` 和 `vhost_https_port` 都设置为 443。 | ||
|
||
后续会尝试允许多个 proxy 绑定同一个远端端口的不同协议。 | ||
|
||
### TCP 多路复用 | ||
|
||
从 v0.10.0 版本开始,客户端和服务器端之间的连接支持多路复用,不再需要为每一个用户请求创建一个连接,使连接建立的延迟降低,并且避免了大量文件描述符的占用,使 frp 可以承载更高的并发数。 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
<!DOCTYPE html> <html lang=en> <head> <meta charset=utf-8> <title>frps dashboard</title> <link rel="shortcut icon" href="favicon.ico"></head> <body> <div id=app></div> <script type="text/javascript" src="manifest.js?facf06d98c7e1aea259d"></script><script type="text/javascript" src="vendor.js?a05a344be2b42183469b"></script><script type="text/javascript" src="index.js?a914c2dc7a5bb16ad443"></script></body> </html> | ||
<!DOCTYPE html> <html lang=en> <head> <meta charset=utf-8> <title>frps dashboard</title> <link rel="shortcut icon" href="favicon.ico"></head> <body> <div id=app></div> <script type="text/javascript" src="manifest.js?33af4addd27a494b40c1"></script><script type="text/javascript" src="vendor.js?c2d294f9c0a40fd7073a"></script><script type="text/javascript" src="index.js?a0da222d4e0f906bc057"></script></body> </html> |
Large diffs are not rendered by default.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Oops, something went wrong.