Giter Site home page Giter Site logo

frps-auth's Introduction

"# frps-auth"

一个简单frps授权;基于frps提供接口NewProxy

Release

配置

  • 通过后台页面配置授权Token和授权时间,只允许 frpc 客户端创建通过鉴权的代理
  1. 创建 frps-auth.ini 文件。
address=0.0.0.0
#frps-auth的运行端口
port=4000
#后台管理用户名
username=admin
#后台管理密码;此项必填
password=
#签名盐值;此项必填;一个随机字符串
salt=

2.修改fprs的配置文件 frps.ini注册插件并启动。

[plugin.port-manager]
addr=0.0.0.0:4000
path=/auth
ops=NewProxy,Heartbeat

后台管理使用

后台访问路径127.0.0.1:4000

image

标注1 添加
标注2 修改
标注3 删除
标注4 生成授权信息
标注5 临时开关授权

1.添加一个授权信息

image

添加一个授权;当类型选择为HTTP时;同时支持https授权;此时端口设置禁用,代理名称将成为subdomain。

2.修改一个授权信息

修改一个授权;仅支持修改时间和备注

3.删除

4.生成授权信息

image

#你可以将该信息粘贴到frpc.ini中。
#授权到期时间
meta_auth_valid_to=
#授权key
meta_auth_key=
  1. 临时开关授权
当你只是想临时想关闭某个服务的对外访问时;可以启用

注意;开启禁用后;在frp默认版本上只有在客户端重启或网络链接断开后重新连接时生效; 如果需要即时生效;请访问(ping-plugin分支)[https://github.com/dev-lluo/frp/tree/ping-plugin] ;此分支为个人修改版本。 根据和frp作者大大沟通;在frp的dev分支上已经加入了类似的api,此功能可能会在dev合并到master分支后发生更改。

如果需要即时生效;请访问(heartbeat-plugin分支,基于0.42.0版本)[https://github.com/dev-lluo/frp/tree/heartbeat-plugin] ;此分支为个人修改版本。 ping-plugin分支由于鸽了太久;没有同步主干代码;目前不推荐使用

关于为啥同步主干代码后还会有heartbeat-plugin分支

frps主干目前已加入Ping的扩展点,但似乎是基于整个client端的;由客户端与服务器心跳触发;且此消息不会携带meta的扩展属性; 但由于此插件的临时授权开关是基于Proxy的;所以又另外维护了一个heartbeat-plugin分支;由server端主动触发;

备注

此授权开启后;frpc.ini中对应的代理中meta_auth_valid_to,meta_auth_key不可以被修改
当代理类型为HTTP时,客户端还不可修改subdomain属性
当代理为其他类型时;客户端还不可以修改remote_port,proxy_name和proxy_type属性

frps-auth's People

Contributors

chi-cat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

frps-auth's Issues

start error: invalid

frps log
2020/06/27 17:08:38 [I] [service.go:137] plugin [port-manager] has been registered 2020/06/27 17:08:38 [I] [service.go:178] frps tcp listen on 127.0.0.1:7100 2020/06/27 17:08:38 [I] [service.go:187] frps kcp listen on udp 127.0.0.1:7100 2020/06/27 17:08:38 [I] [service.go:241] https service listen on 127.0.0.1:32443 2020/06/27 17:08:38 [I] [service.go:259] nat hole udp service listen on 127.0.0.1:32000 2020/06/27 17:08:38 [I] [service.go:277] Dashboard listen on 127.0.0.1:7501 2020/06/27 17:08:38 [I] [root.go:209] start frps success 2020/06/27 17:08:56 [I] [service.go:432] [120534f4feb002c4] client login info: ip [127.0.0.1:53091] version [0.33.0] hostname [] os [windows] arch [amd64] 2020/06/27 17:08:56 [W] [control.go:441] [120534f4feb002c4] new proxy [小Q主人-远程桌面] error: invalid[79fc9c5e8ab41fe9c05fa3bd3688a8b4] 2020/06/27 17:08:56 [W] [control.go:441] [120534f4feb002c4] new proxy [http-test123] error: invalid[beeff1346632dd0e987067ff67ff3dd3]

frpc log
2020/06/27 17:08:56 [I] [service.go:282] [120534f4feb002c4] login to server success, get run id [120534f4feb002c4], server udp port [32000] 2020/06/27 17:08:56 [I] [proxy_manager.go:144] [120534f4feb002c4] proxy added: [小Q主人-远程桌面 http-test123] 2020/06/27 17:08:56 [W] [control.go:177] [120534f4feb002c4] [小Q主人-远程桌面] start error: invalid[79fc9c5e8ab41fe9c05fa3bd3688a8b4] 2020/06/27 17:08:56 [W] [control.go:177] [120534f4feb002c4] [http-test123] start error: invalid[beeff1346632dd0e987067ff67ff3dd3]

frps-auth log
17:08:38.907 main > INFO 001 start frps-auth. 17:08:38.908 main > INFO 002 bind 127.0.0.1:7200 17:08:56.151 ServeHTTP > INFO 003 {0.1.0 NewProxy {小Q主人-远程桌面 tcp 23389 {ffd71185-6857-48d4-b31f-d3567f317fff 1588896000000}}} 17:08:56.151 SignMD5 > INFO 004 __pt:tcp__,__rp:23389__,__vt:1588896000000__,__sk:ffd71185-6857-48d4-b31f-d3567f317fff__ 17:08:56.152 ServeHTTP > INFO 005 79fc9c5e8ab41fe9c05fa3bd3688a8b4 17:08:56.152 ServeHTTP > INFO 006 {0.1.0 NewProxy {http-test123 http 0 test123 {64a3b37b-bf1e-4856-a475-f1ff7f39f770 1589155200000}}} 17:08:56.152 SignMD5 > INFO 007 __pt:http[s]__,__sb:test123__,__vt:1589155200000__,__sk:64a3b37b-bf1e-4856-a475-f1ff7f39f770__ 17:08:56.153 ServeHTTP > INFO 008 beeff1346632dd0e987067ff67ff3dd3

用服务运行自建数据库文件夹和log文件都在根目录下

作者,您好!
我用服务的方式运行的话,数据库文件夹和Log文件都建在根目录下了,
如果cd到软件目录用 ./ 方式运行就是在当前目录创建的,
这个有办法让他还是写在软件的当前目录下不?

还有日志文件如果不想自动生成,如何关闭呢?可以在ini文件中配置吗?比如不配置日志相关的信息就不生成日志,配置后才会有日志文件

关于修改4000平台后台禁用某个渠道不重启frpc无效

经过多次测试,情况如下:
1、如果后台4000正常添加渠道配置,然后启动客户端会报:start proxy success,这个没问题。
2、如果后台4000正常添加渠道配置,禁用掉,然后启动客户端会报:start error: invalid[disabled],这个没问题。
3、如果后台被禁用了,然后启动,不重启frpc,30s后会自动变为:start proxy success,但是反过来不会。异常情况就在这里。比如说:目前frpc已经是start proxy success,但是我在4000平台禁用掉,frpc无论过多长时间,管道依然生效,没被禁用掉,还是必须重启frpc?这个反过来就不行,感觉很奇怪

授权失败

frps.ini

[common]
bind_addr = 127.0.0.1
bind_port = 7100
bind_udp_port = 32000
kcp_bind_port = 7100
token = xqzr
tls_only = true
log_level = debug
vhost_http_port = 32080
vhost_https_port = 32443
dashboard_addr = 127.0.0.1
dashboard_port = 7501
dashboard_user = 
dashboard_pwd = 
allow_ports = 20022,22389,21389,21022,20443,32001-32499
subdomain_host = frp.wo25.net
custom_404_page = null.html

[plugin.port-manager]
addr = 127.0.0.1:4000
path = /auth
ops = NewProxy

frpc.ini

[common]
server_addr = 127.0.0.1
server_port = 7100
tls_enable = true
token = xqzr

[小Q主人-远程桌面]
type=tcp
remote_port=23389
meta_auth_valid_to=1588896000000
meta_auth_key=ffd71185-6857-48d4-b31f-d3567f317fff
local_ip=127.0.0.1
local_port=3389
#use_compression=false
#use_compression = true

frps-auth.ini

address=127.0.0.1
port=4000
username=admin
password=admin
salt=

frps-auth.log

20:38:46.786 main > INFO 001 start frps-auth.
20:38:46.786 main > INFO 002 bind 127.0.0.1:4000
20:38:48.846 func1 > WARN 003  At 2020-04-08 20:38:48.8467285 +0800 CST m=+2.089154301 failed.
20:39:58.029 AddAuthServeHTTP > INFO 004 add {XQZR-Server-x86-SSH tcp 22022 1588896000000 SSH}
20:39:58.031 SignMD5 > INFO 005 __pt:tcp__,__rp:22022__,__vt:1588896000000__,__sk:b5f5f294-686d-4e55-b3c9-9e2113b6709a__
20:40:02.884 DisableAuthServeHTTP > INFO 006 disable tcp-XQZR-Server-x86-SSH-22022
20:40:04.106 EnableAuthServeHTTP > INFO 007 enable tcp-XQZR-Server-x86-SSH-22022
20:43:53.277 AddAuthServeHTTP > INFO 008 add {小Q主人-远程桌面 tcp 23389 1588896000000 小Q主人}
20:43:53.278 SignMD5 > INFO 009 __pt:tcp__,__rp:23389__,__vt:1588896000000__,__sk:ffd71185-6857-48d4-b31f-d3567f317fff__
20:45:31.315 func1 > WARN 00a  At 2020-04-08 20:45:31.3158304 +0800 CST m=+404.558256201 failed.
20:48:19.945 func1 > WARN 00b  At 2020-04-08 20:48:19.9458226 +0800 CST m=+573.188248401 failed.
20:48:52.844 func1 > WARN 00c  At 2020-04-08 20:48:52.8443225 +0800 CST m=+606.086748301 failed.
20:49:25.851 func1 > WARN 00d  At 2020-04-08 20:49:25.8511257 +0800 CST m=+639.093551501 failed.
20:49:55.860 func1 > WARN 00e  At 2020-04-08 20:49:55.8607454 +0800 CST m=+669.103171201 failed.
20:50:25.868 func1 > WARN 00f  At 2020-04-08 20:50:25.8686282 +0800 CST m=+699.111054001 failed.
20:51:08.374 func1 > WARN 010  At 2020-04-08 20:51:08.3743709 +0800 CST m=+741.616796701 failed.
20:51:41.368 func1 > WARN 011  At 2020-04-08 20:51:41.3684285 +0800 CST m=+774.610854301 failed.
20:53:46.215 func1 > WARN 012  At 2020-04-08 20:53:46.2153126 +0800 CST m=+899.457738401 failed.
20:54:16.222 func1 > WARN 013  At 2020-04-08 20:54:16.2221193 +0800 CST m=+929.464545101 failed.

frps.log

2020/04/08 20:37:58 [I] [service.go:120] plugin [port-manager] has been registered
2020/04/08 20:37:58 [I] [service.go:157] frps tcp listen on 127.0.0.1:7100
2020/04/08 20:37:58 [I] [service.go:166] frps kcp listen on udp 127.0.0.1:7100
2020/04/08 20:37:58 [I] [service.go:199] http service listen on 127.0.0.1:32080
2020/04/08 20:37:58 [I] [service.go:220] https service listen on 127.0.0.1:32443
2020/04/08 20:37:58 [I] [service.go:255] nat hole udp service listen on 127.0.0.1:32000
2020/04/08 20:37:58 [I] [service.go:273] Dashboard listen on 127.0.0.1:7501
2020/04/08 20:37:58 [I] [root.go:209] start frps success
2020/04/08 20:45:31 [I] [service.go:420] [2fc40f4d951b775e] client login info: ip [127.0.0.1:50394] version [0.32.1] hostname [] os [windows] arch [amd64]
2020/04/08 20:45:31 [D] [control.go:219] [2fc40f4d951b775e] new work connection registered
2020/04/08 20:45:31 [W] [manager.go:112] [reqid: 4172f962d235a827] send NewProxy request to plugin [port-manager] error: do http request error code: 401
2020/04/08 20:45:31 [W] [control.go:441] [2fc40f4d951b775e] new proxy [ssh] error: send NewProxy request to plugin error
2020/04/08 20:45:43 [D] [control.go:335] [2fc40f4d951b775e] control connection closed
2020/04/08 20:45:43 [I] [control.go:308] [2fc40f4d951b775e] control writer is closing
2020/04/08 20:45:43 [I] [control.go:383] [2fc40f4d951b775e] client exit success
2020/04/08 20:45:43 [D] [service.go:393] Accept new mux stream error: read tcp 127.0.0.1:7100->127.0.0.1:50394: wsarecv: An existing connection was forcibly closed by the remote host.
2020/04/08 20:48:19 [I] [service.go:420] [2de33fab1328f0d4] client login info: ip [127.0.0.1:50483] version [0.32.1] hostname [] os [windows] arch [amd64]
2020/04/08 20:48:19 [D] [control.go:219] [2de33fab1328f0d4] new work connection registered
2020/04/08 20:48:19 [W] [manager.go:112] [reqid: 15037be74eaf3e37] send NewProxy request to plugin [port-manager] error: do http request error code: 401
2020/04/08 20:48:19 [W] [control.go:441] [2de33fab1328f0d4] new proxy [XQZR-Server-x86-SSH] error: send NewProxy request to plugin error
2020/04/08 20:48:49 [D] [control.go:474] [2de33fab1328f0d4] receive heartbeat
2020/04/08 20:48:52 [W] [manager.go:112] [reqid: 09f400f3946ae0b7] send NewProxy request to plugin [port-manager] error: do http request error code: 401
2020/04/08 20:48:52 [W] [control.go:441] [2de33fab1328f0d4] new proxy [XQZR-Server-x86-SSH] error: send NewProxy request to plugin error
2020/04/08 20:49:19 [D] [control.go:474] [2de33fab1328f0d4] receive heartbeat
2020/04/08 20:49:25 [W] [manager.go:112] [reqid: a896bb55e920d22b] send NewProxy request to plugin [port-manager] error: do http request error code: 401
2020/04/08 20:49:25 [W] [control.go:441] [2de33fab1328f0d4] new proxy [XQZR-Server-x86-SSH] error: send NewProxy request to plugin error
2020/04/08 20:49:49 [D] [control.go:474] [2de33fab1328f0d4] receive heartbeat
2020/04/08 20:49:55 [W] [manager.go:112] [reqid: efc3cd355078c14c] send NewProxy request to plugin [port-manager] error: do http request error code: 401
2020/04/08 20:49:55 [W] [control.go:441] [2de33fab1328f0d4] new proxy [XQZR-Server-x86-SSH] error: send NewProxy request to plugin error
2020/04/08 20:50:19 [D] [control.go:474] [2de33fab1328f0d4] receive heartbeat
2020/04/08 20:50:25 [W] [manager.go:112] [reqid: 1b00a5e136c9fd52] send NewProxy request to plugin [port-manager] error: do http request error code: 401
2020/04/08 20:50:25 [W] [control.go:441] [2de33fab1328f0d4] new proxy [XQZR-Server-x86-SSH] error: send NewProxy request to plugin error
2020/04/08 20:50:38 [D] [control.go:335] [2de33fab1328f0d4] control connection closed
2020/04/08 20:50:38 [D] [service.go:393] Accept new mux stream error: read tcp 127.0.0.1:7100->127.0.0.1:50483: wsarecv: An existing connection was forcibly closed by the remote host.
2020/04/08 20:50:38 [I] [control.go:308] [2de33fab1328f0d4] control writer is closing
2020/04/08 20:50:38 [I] [control.go:383] [2de33fab1328f0d4] client exit success
2020/04/08 20:51:08 [I] [service.go:420] [287dacf4facde8fc] client login info: ip [127.0.0.1:50573] version [0.32.1] hostname [] os [windows] arch [amd64]
2020/04/08 20:51:08 [D] [control.go:219] [287dacf4facde8fc] new work connection registered
2020/04/08 20:51:08 [W] [manager.go:112] [reqid: e1f2209be408095d] send NewProxy request to plugin [port-manager] error: do http request error code: 401
2020/04/08 20:51:08 [W] [control.go:441] [287dacf4facde8fc] new proxy [XQZR-Server-x86-SSH] error: send NewProxy request to plugin error
2020/04/08 20:51:38 [D] [control.go:474] [287dacf4facde8fc] receive heartbeat
2020/04/08 20:51:41 [W] [manager.go:112] [reqid: 713f93cb0b7bcb26] send NewProxy request to plugin [port-manager] error: do http request error code: 401
2020/04/08 20:51:41 [W] [control.go:441] [287dacf4facde8fc] new proxy [XQZR-Server-x86-SSH] error: send NewProxy request to plugin error
2020/04/08 20:52:04 [D] [control.go:335] [287dacf4facde8fc] control connection closed
2020/04/08 20:52:04 [D] [service.go:393] Accept new mux stream error: read tcp 127.0.0.1:7100->127.0.0.1:50573: wsarecv: An existing connection was forcibly closed by the remote host.
2020/04/08 20:52:04 [I] [control.go:308] [287dacf4facde8fc] control writer is closing
2020/04/08 20:52:04 [I] [control.go:383] [287dacf4facde8fc] client exit success
2020/04/08 20:53:46 [I] [service.go:420] [edbce2cf56641138] client login info: ip [127.0.0.1:50659] version [0.32.1] hostname [] os [windows] arch [amd64]
2020/04/08 20:53:46 [D] [control.go:219] [edbce2cf56641138] new work connection registered
2020/04/08 20:53:46 [W] [manager.go:112] [reqid: 2a2d5602e8c66e7a] send NewProxy request to plugin [port-manager] error: do http request error code: 401
2020/04/08 20:53:46 [W] [control.go:441] [edbce2cf56641138] new proxy [小Q主人-远程桌面] error: send NewProxy request to plugin error
2020/04/08 20:54:16 [D] [control.go:474] [edbce2cf56641138] receive heartbeat
2020/04/08 20:54:16 [W] [manager.go:112] [reqid: 9386061955ae8779] send NewProxy request to plugin [port-manager] error: do http request error code: 401
2020/04/08 20:54:16 [W] [control.go:441] [edbce2cf56641138] new proxy [小Q主人-远程桌面] error: send NewProxy request to plugin error
2020/04/08 20:54:42 [D] [control.go:335] [edbce2cf56641138] control connection closed
2020/04/08 20:54:42 [D] [service.go:393] Accept new mux stream error: read tcp 127.0.0.1:7100->127.0.0.1:50659: wsarecv: An existing connection was forcibly closed by the remote host.
2020/04/08 20:54:42 [I] [control.go:308] [edbce2cf56641138] control writer is closing
2020/04/08 20:54:42 [I] [control.go:383] [edbce2cf56641138] client exit success

frpc.log

2020/04/08 20:51:08 [I] [service.go:282] [287dacf4facde8fc] login to server success, get run id [287dacf4facde8fc], server udp port [32000]
2020/04/08 20:51:08 [I] [proxy_manager.go:144] [287dacf4facde8fc] proxy added: [XQZR-Server-x86-SSH]
2020/04/08 20:51:08 [W] [control.go:177] [287dacf4facde8fc] [XQZR-Server-x86-SSH] start error: send NewProxy request to plugin error
2020/04/08 20:51:41 [W] [control.go:177] [287dacf4facde8fc] [XQZR-Server-x86-SSH] start error: send NewProxy request to plugin error

E:\frp>frpc -c frpc.ini
2020/04/08 20:53:46 [I] [service.go:282] [edbce2cf56641138] login to server success, get run id [edbce2cf56641138], server udp port [32000]
2020/04/08 20:53:46 [I] [proxy_manager.go:144] [edbce2cf56641138] proxy added: [小Q主人-远程桌面]
2020/04/08 20:53:46 [W] [control.go:177] [edbce2cf56641138] [小Q主人-远程桌面] start error: send NewProxy request to plugin error
2020/04/08 20:54:16 [W] [control.go:177] [edbce2cf56641138] [小Q主人-远程桌面] start error: send NewProxy request to plugin error

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.