知乎专栏 |
git clone https://github.com/HBLink-org/hblink3 /opt/hblink/hblink3 python3 -m venv venv source ./venv/bin/activate pip install dmr_utils3 dmr_utils twisted cd /opt/hblink/hblink3
主配置文件 hblink.cfg
[GLOBAL] PATH: ./ PING_TIME: 5 MAX_MISSED: 3 USE_ACL: True REG_ACL: PERMIT:ALL SUB_ACL: DENY:1 TGID_TS1_ACL: PERMIT:ALL TGID_TS2_ACL: PERMIT:ALL [REPORTS] REPORT: True REPORT_INTERVAL: 60 REPORT_PORT: 4321 REPORT_CLIENTS: 127.0.0.1 [LOGGER] LOG_FILE: /var/log/hblink/hblink.log LOG_HANDLERS: console-timed LOG_LEVEL: DEBUG LOG_NAME: HBlink [ALIASES] TRY_DOWNLOAD: True PATH: ./ PEER_FILE: peer_ids.json SUBSCRIBER_FILE: subscriber_ids.json TGID_FILE: talkgroup_ids.json PEER_URL: https://www.radioid.net/static/rptrs.json SUBSCRIBER_URL: https://www.radioid.net/static/users.json STALE_DAYS: 7 [MASTER-1] MODE: MASTER ENABLED: True REPEAT: True MAX_PEERS: 10 EXPORT_AMBE: False IP: PORT: 62030 PASSPHRASE: xxx GROUP_HANGTIME: 5 USE_ACL: True REG_ACL: DENY:1 SUB_ACL: DENY:1 TGID_TS1_ACL: PERMIT:ALL TGID_TS2_ACL: PERMIT:ALL [PARROT] MODE: PEER ENABLED: True LOOSE: False EXPORT_AMBE: False IP: PORT: 62031 MASTER_IP: 127.0.0.1 MASTER_PORT: 54100 PASSPHRASE: xxx CALLSIGN: ECHO RADIO_ID: 9999 RX_FREQ: 000000000 TX_FREQ: 000000000 TX_POWER: 1 COLORCODE: 1 SLOTS: 2 LATITUDE: 0 LONGITUDE: 0 HEIGHT: 0 LOCATION: Server Echo: TG 9999 DESCRIPTION: Echo server URL: SOFTWARE_ID: DMRGateway-20190702 PACKAGE_ID: MMDVM_HBlink GROUP_HANGTIME: 5 OPTIONS: USE_ACL: False SUB_ACL: DENY:1 TGID_TS1_ACL: PERMIT:ALL TGID_TS2_ACL: PERMIT:ALL
鹦鹉螺配置文件 playback.cfg
[GLOBAL] PATH: ./ PING_TIME: 10 MAX_MISSED: 5 USE_ACL: True REG_ACL: PERMIT:ALL SUB_ACL: DENY:1 TGID_TS1_ACL: PERMIT:ALL TGID_TS2_ACL: PERMIT:ALL [REPORTS] REPORT: False REPORT_INTERVAL: 60 REPORT_PORT: 4322 REPORT_CLIENTS: 127.0.0.1 [LOGGER] LOG_FILE: /var/log/hblink/parrot.log LOG_HANDLERS: file-timed LOG_LEVEL: INFO LOG_NAME: Parrot [ALIASES] TRY_DOWNLOAD: False PATH: ./ PEER_FILE: peer_ids.json SUBSCRIBER_FILE: subscriber_ids.json TGID_FILE: talkgroup_ids.json PEER_URL: https://database.radioid.net/static/rptrs.json SUBSCRIBER_URL: https://database.radioid.net/api/dmr/user/?country=United+States STALE_DAYS: 7 [PARROT] MODE: MASTER ENABLED: True REPEAT: True MAX_PEERS: 10 EXPORT_AMBE: False IP: PORT: 54100 PASSPHRASE: xxx GROUP_HANGTIME: 5 USE_ACL: True REG_ACL: DENY:1 SUB_ACL: DENY:1 TGID_TS1_ACL: PERMIT:9999 TGID_TS2_ACL: PERMIT:9999
规则配置 rules.py
BRIDGES = { 'PRIVATE_TG': [ {'SYSTEM': 'MASTER-1', 'TS': 1, 'TGID': 9, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE', 'ON': [9], 'OFF': []} ], 'PARROT': [ {'SYSTEM': 'MASTER-1', 'TS': 2, 'TGID': 9999, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE', 'ON': [9999], 'OFF': []}, {'SYSTEM': 'PARROT', 'TS': 2, 'TGID': 9999, 'ACTIVE': True, 'TIMEOUT': 2, 'TO_TYPE': 'NONE', 'ON': [9999], 'OFF': []} ] }
替换掉 MASTER-1 和 PARROT 这两个名称对应 hblink.cfg 中的配置
检查 rules.py 配置文件
python rules.py
启动服务
python /opt/hblink3/bridge.py -c hblink.cfg -r rules.py