Sign inSign up

bncfbb/natmap-manager

By bncfbb

Updated 5 months ago

Image
Networking
0

1.4K

bncfbb/natmap-manager repository overview

运行
docker run -itd \
  --name=natmap-manager \
  --restart=always \
  --net=host \
  -v ./config:/config \
  -v ./scripts:/scripts \
  bncfbb/natmap-manager:latest
config.yaml配置文件模板
npm:
  # Nginx Proxy Manager服务器 url
  server: https://xxx.com
  # Nginx Proxy Manager服务器 用户名
  username: [email protected]
  # Nginx Proxy Manager服务器 密码
  password: 123456
  # 当npm规则更新失败后是否重试
  retry_on_fail: true
  # 重试间隔(s)
  retry_interval: 10
natmap:
    # 配置名称, 如果有自定义脚本的话放到/scripts映射的目录下命名为 配置名称.py
  - name: test
    # [可选]脚本执行模式, 默认值0
    # 0:当npm主机更新成功后执行自定义脚本  1:先执行自定义脚本然后再更新npm主机  2:不更新npm主机, 只执行自定义脚本
    script_mode: 0
    # 绑定端口
    bind_port: 6666
    # 协议
    protocol: tcp
    # [可选]指定网络接口, 如果有多条线路的话需要设置
    interface: eth0
    # [可选]自定义stun服务器, 默认值stunserver2024.stunprotocol.org
    stun_server: stunserver2024.stunprotocol.org
    # [可选]自定义keepalive服务器,默认值www.qq.com
    keepalive_host: www.qq.com
    # [可选]NPM自定义404主机域名
    domain: xxx.com
    # [可选]NPM自定义404主机域名路径, 默认值/
    path: /
    # [可选]NPM自定义404主机状态码, 302为重定向, 200为文本
    status_code: 302
    # [可选]NPM自定义404主机的value, 可用变量{public_ip}和{public_port}
    content: http://{public_ip}:{public_port}$request_uri
自定义python脚本模板
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
import logging

logging.basicConfig(
    level=logging.INFO,
    format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
)

def hook_func(public_ip, public_port, ip4p, local_port, protocol, local_ip):
    logging.info(f'测试自定义脚本 {public_ip} {public_port} {ip4p} {local_port} {protocol} {local_ip}')
    # 自定义脚本发生异常后会按照配置文件中的retry_on_fail和retry_interval来执行重试策略
    #raise Exception('haha')

Tag summary

Content type

Image

Digest

sha256:15cc2f5a2

Size

49.2 MB

Last updated

5 months ago

docker pull bncfbb/natmap-manager