Skip to main content

HAC社区插件: Frp内网穿透

通过frp隧道,使局域网中的Home Assistant可以通过公网访问。
插件中frpc的版本为:0.38.0

关于

frp是一个可用于内网穿透的高性能的反向代理应用。

本插件可以连接到frps服务器,实现http或者tcp的反向代理。

缺省配置仅作为示例,无法实际使用。如果你需要稳定穿透服务,需要在公网上搭建自己的frps服务器,具体教程参见frp官方教程frps服务器搭建

配置选项说明

  • *frp_server
    必须。frps服务器的IP地址/域名(如果使用域名的形式,则该域名需要已经解析到搭载frps的服务器)

  • *frp_server_port
    必须。frp服务器端口

  • *frp_token
    必须。frp服务器连接token

  • tcp_remote_port
    非必须。使用tcp协议反向代理后服务对外暴露的实际端口。 仅在使用tcp协议时需要

  • *local_host
    必须。本地Home Assistant所在服务器的IP地址/名称(如果使用的是Home Assistant OS部署的HA仅需要填homeassistant)

  • *local_port
    必须。本地Home Assistant服务的端口号,Home Assistant默认为8123

  • *tunnel_type
    必须。代理使用的服务协议,插件中提供了tcphttp两种(同时只能有一种生效)

  • http_domain
    非必须。使用http协议反向代理后访问的主域名,此参数只有在使用http时需要填写,应该保持和frps服务器中subdomain_host的值一致。
    仅在使用http协议时需要,需和frps服务器中subdomain_host的值一致

  • http_subdomain_host
    非必须。使用http协议反向代理后访问的子域名,如果为空,则使用系统中的随机UUID。此参数只有在使用http时会生效。 仅在使用http协议时需要

frps服务器搭建

搭建并使用自己的frps服务器的前提条件是:拥有一台可以通过公网直接访问的服务器/云主机(使用国内的云服务商提供的服务器/云主机时你可能需要进行备案)。

搭建过程
在服务器上运行frps程序。详细搭建过程见frps服务器搭建

支持tcp反向代理的配置frps.ini

[common]
bind_port = 7000
token = 12345678

同时支持tcphttp反向代理的配置frps.ini

[common]
bind_port = 7000
token = 12345678

vhost_http_port = 80
subdomain_host = yyyy.com

注:在http模式中如果允许http_subdomain_host值为空,,你必须要将泛域名`.yyyy.com`解析到你的主机。*

关于frps的更多配置参见frps默认配置文件frp官方教程

说明

  1. 缺省配置仅作为示例,无法实际使用
  2. 插件中使用的frpc版本会定期更新,搭建自己的frps服务器,建议使用对应版本(说明:frp官方没有指明frps和frpc版本一定要对应,考虑到稳定性建议使用一致的版本)
  3. 启动后,通过公网访问Home Assistant的URL可以在日志中查看

更多支持