diff --git a/taoyao-signal-server/taoyao-boot/pom.xml b/taoyao-signal-server/taoyao-boot/pom.xml index 282d4be..727cc3c 100644 --- a/taoyao-signal-server/taoyao-boot/pom.xml +++ b/taoyao-signal-server/taoyao-boot/pom.xml @@ -2,31 +2,31 @@ - 4.0.0 + 4.0.0 - - com.acgist - taoyao - 1.0.0 - + + com.acgist + taoyao + 1.0.0 + - taoyao-boot - jar + taoyao-boot + jar - taoyao-boot - 基础模块 + taoyao-boot + 基础模块 - - - org.springframework.boot - spring-boot-starter-web - true - - - org.springframework.boot - spring-boot-starter-websocket - true - - + + + org.springframework.boot + spring-boot-starter-web + true + + + org.springframework.boot + spring-boot-starter-websocket + true + + \ No newline at end of file diff --git a/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/annotation/Description.java b/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/annotation/Description.java index 8f7ccf8..6c51409 100644 --- a/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/annotation/Description.java +++ b/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/annotation/Description.java @@ -15,6 +15,8 @@ import java.lang.annotation.Target; * -[消息类型]) 全员广播:对所有的终端广播信令(排除自己) * +[消息类型]) 全员广播:对所有的终端广播信令(包含自己) * + * 消息类型可以省略表示和前面一致 + * * @author acgist */ @Target(ElementType.TYPE) @@ -26,15 +28,15 @@ public @interface Description { /** * @return 消息主体 */ - String[] body() default { "{}" }; + String[] body() default "{}"; /** * @return 数据流向 */ - String[] flow() default { "终端->信令服务->终端" }; + String[] flow() default "终端->信令服务->终端"; /** - * @return 描述信息 + * @return 详细描述 */ String memo() default ""; diff --git a/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/annotation/Protocol.java b/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/annotation/Protocol.java index ad1bcdc..0894fa7 100644 --- a/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/annotation/Protocol.java +++ b/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/annotation/Protocol.java @@ -18,5 +18,5 @@ import org.springframework.stereotype.Component; @Retention(RetentionPolicy.RUNTIME) @Documented public @interface Protocol { - + } diff --git a/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/config/Constant.java b/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/config/Constant.java index f8b4f50..38d9a22 100644 --- a/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/config/Constant.java +++ b/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/config/Constant.java @@ -14,7 +14,7 @@ public interface Constant { */ String TO = "to"; /** - * IP + * IP地址 */ String IP = "ip"; /** @@ -58,21 +58,13 @@ public interface Constant { */ String CHARGING = "charging"; /** - * 终端是否正在录像 + * 终端是否正在录像(录像端) */ String CLIENT_RECORDING = "clientRecording"; /** - * 服务端是否正在录像 + * 终端是否正在录像(服务端) */ String SERVER_RECORDING = "serverRecording"; - /** - * 地址 - */ - String URLS = "urls"; - /** - * 凭证 - */ - String CREDENTIAL = "credential"; /** * 最小 */ @@ -118,7 +110,7 @@ public interface Constant { */ String PORT = "port"; /** - * 地址 + * 主机 */ String HOST = "host"; /** @@ -153,10 +145,6 @@ public interface Constant { * WebRTC */ String WEBRTC = "webrtc"; - /** - * 音量 - */ - String VOLUMES = "volumes"; /** * 日期时间 */ @@ -181,6 +169,10 @@ public interface Constant { * 来源终端ID */ String SOURCE_ID = "sourceId"; + /** + * 目标终端ID + */ + String TARGET_ID = "targetId"; /** * 会话ID */ @@ -209,6 +201,14 @@ public interface Constant { * 媒体服务ID */ String MEDIA_CLIENT_ID = "mediaClientId"; + /** + * 地址列表 + */ + String URLS = "urls"; + /** + * 凭证信息 + */ + String CREDENTIAL = "credential"; /** * ICE服务 */ @@ -316,12 +316,20 @@ public interface Constant { /** * 生产者ID生成器 + * type 媒体类型 + * producerId 生产者终端ID */ - public static final BiFunction STREAM_ID_PRODUCER = (type, producerId) -> type + "::" + producerId; + public static final BiFunction STREAM_ID_PRODUCER + = + (type, producerId) -> type + "::" + producerId; /** * 消费者ID生成器 + * producerStreamId 生产者媒体ID + * consumerId 消费者终端ID */ - public static final BiFunction STREAM_ID_CONSUMER = (producerStreamId, consumerId) -> producerStreamId + "->" + consumerId; + public static final BiFunction STREAM_ID_CONSUMER + = + (producerStreamId, consumerId) -> producerStreamId + "->" + consumerId; } diff --git a/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/config/IdProperties.java b/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/config/IdProperties.java index 0d736a3..eacaaa2 100644 --- a/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/config/IdProperties.java +++ b/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/config/IdProperties.java @@ -24,9 +24,9 @@ import lombok.Setter; @Schema(title = "ID配置", description = "ID配置") @ConfigurationProperties(prefix = "taoyao.id") public class IdProperties { - + @Schema(title = "最大序号", description = "最大序号") - private Integer maxIndex; + private Integer maxIndex; @Schema(title = "机器序号", description = "机器序号") private Integer serverIndex; @Schema(title = "最小终端序号", description = "最小终端序号") diff --git a/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/config/MediaAudioProperties.java b/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/config/MediaAudioProperties.java index 728651c..b4f8ac0 100644 --- a/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/config/MediaAudioProperties.java +++ b/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/config/MediaAudioProperties.java @@ -16,14 +16,14 @@ import lombok.Setter; @Schema(title = "音频配置", description = "音频配置") public class MediaAudioProperties { - /** - * 音频格式 - * - * @author acgist - */ - public enum Format { + /** + * 音频格式 + * + * @author acgist + */ + public enum Format { - // G722 + // G722 G722, // G711A PCMA, @@ -32,15 +32,15 @@ public class MediaAudioProperties { // OPUS OPUS; - } - - @Schema(title = "格式", description = "格式", example = "G722|PCMA|PCMU|OPUS") - private Format format; - @Schema(title = "比特率", description = "比特率", example = "96|128|256") - private Integer bitrate; - @Schema(title = "采样位数(位深)", description = "采样位数(位深)", example = "8|16|32") - private Integer sampleSize; - @Schema(title = "采样率", description = "采样率", example = "8000|16000|32000|48000") - private Integer sampleRate; - + } + + @Schema(title = "格式", description = "格式", example = "G722|PCMA|PCMU|OPUS") + private Format format; + @Schema(title = "比特率", description = "比特率", example = "96|128|256") + private Integer bitrate; + @Schema(title = "采样位数(位深)", description = "采样位数(位深)", example = "8|16|32") + private Integer sampleSize; + @Schema(title = "采样率", description = "采样率", example = "8000|16000|32000|48000") + private Integer sampleRate; + } diff --git a/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/config/MediaProperties.java b/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/config/MediaProperties.java index 3a18368..df9ab44 100644 --- a/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/config/MediaProperties.java +++ b/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/config/MediaProperties.java @@ -47,13 +47,13 @@ public class MediaProperties { private Integer minAudioBitrate; @Schema(title = "最大音频码率", description = "最大音频码率") private Integer maxAudioBitrate; - @Schema(title = "音频默认配置", description = "音频默认配置") - private MediaAudioProperties audio; - @Schema(title = "视频默认配置", description = "视频默认配置") - private MediaVideoProperties video; - @Schema(title = "音频配置", description = "音频配置") - private Map audios; - @Schema(title = "视频配置", description = "视频配置") - private Map videos; + @Schema(title = "音频默认配置", description = "音频默认配置") + private MediaAudioProperties audio; + @Schema(title = "视频默认配置", description = "视频默认配置") + private MediaVideoProperties video; + @Schema(title = "音频配置", description = "音频配置") + private Map audios; + @Schema(title = "视频配置", description = "视频配置") + private Map videos; } diff --git a/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/config/MediaVideoProperties.java b/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/config/MediaVideoProperties.java index b55bd22..4e22fb4 100644 --- a/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/config/MediaVideoProperties.java +++ b/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/config/MediaVideoProperties.java @@ -21,28 +21,32 @@ import lombok.Setter; @Schema(title = "视频配置", description = "视频配置") public class MediaVideoProperties { - /** - * 视频格式 - * - * @author acgist - */ - public enum Format { - - VP8, - VP9, - H264, - H265; - - } - - @Schema(title = "格式", description = "格式", example = "VP8|VP9|H264|H265") - private Format format; - @Schema(title = "码率", description = "码率影响画质", example = "600|1200|1500|1800") - private Integer bitrate; - @Schema(title = "帧率", description = "帧率影响流畅", example = "15|18|20|24|30|45") - private Integer frameRate; - @Schema(title = "分辨率", description = "分辨率影响画面大小", example = "4096*2160|2560*1440|1920*1080|1280*720|720*480") - private String resolution; + /** + * 视频格式 + * + * @author acgist + */ + public enum Format { + + // VP8 + VP8, + // VP9 + VP9, + // H264 + H264, + // H265 + H265; + + } + + @Schema(title = "格式", description = "格式", example = "VP8|VP9|H264|H265") + private Format format; + @Schema(title = "码率", description = "码率影响画质", example = "600|1200|1500|1800") + private Integer bitrate; + @Schema(title = "帧率", description = "帧率影响流畅", example = "15|18|20|24|30|45") + private Integer frameRate; + @Schema(title = "分辨率", description = "分辨率影响画面大小", example = "4096*2160|2560*1440|1920*1080|1280*720|720*480") + private String resolution; @Schema(title = "宽度", description = "宽度", example = "4096|2560|1920|1280|720") private Integer width; @Schema(title = "高度", description = "高度", example = "2160|1440|1080|720|480") @@ -50,7 +54,7 @@ public class MediaVideoProperties { public Integer getWidth() { if (this.width == null) { - final int index = this.resolution.indexOf('*'); + final int index = this.resolution.indexOf('*'); return this.width = Integer.valueOf(this.resolution.substring(0, index).strip()); } return this.width; @@ -58,7 +62,7 @@ public class MediaVideoProperties { public Integer getHeight() { if (this.height == null) { - final int index = this.resolution.indexOf('*'); + final int index = this.resolution.indexOf('*'); return this.height = Integer.valueOf(this.resolution.substring(index + 1).strip()); } return this.height; diff --git a/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/config/IpRewriteProperties.java b/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/config/RewriteProperties.java similarity index 73% rename from taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/config/IpRewriteProperties.java rename to taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/config/RewriteProperties.java index f310f06..367c6a8 100644 --- a/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/config/IpRewriteProperties.java +++ b/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/config/RewriteProperties.java @@ -9,21 +9,22 @@ import lombok.Getter; import lombok.Setter; /** - * 地址重写 + * 地址重写配置 + * 用于多网卡多子网复杂网络环境自动适配IP地址 * * @author acgist */ @Getter @Setter @Schema(title = "地址重写", description = "地址重写") -@ConfigurationProperties(prefix = "taoyao.ip-rewrite") -public class IpRewriteProperties { +@ConfigurationProperties(prefix = "taoyao.rewrite") +public class RewriteProperties { @Schema(title = "是否启用", description = "是否启用") private Boolean enabled; @Schema(title = "子网掩码", description = "子网掩码:主机号的长度") private Integer prefix; @Schema(title = "重写规则", description = "重写规则") - private List rule; - + private List rule; + } diff --git a/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/config/IpRewriteRuleProperties.java b/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/config/RewriteRuleProperties.java similarity index 70% rename from taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/config/IpRewriteRuleProperties.java rename to taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/config/RewriteRuleProperties.java index 6f26d61..3e645cf 100644 --- a/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/config/IpRewriteRuleProperties.java +++ b/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/config/RewriteRuleProperties.java @@ -6,14 +6,18 @@ import lombok.Setter; /** * 重写规则 - * 没有配置内网地址等于网络号加上原始主机号 + * 配置内网地址直接返回内网地址 + * 没有配置内网地址内网地址等于网络号加上原始主机号 + * + * 内网设备IP返回内网地址 + * 外网设备IP返回外网地址 * * @author acgist */ @Getter @Setter @Schema(title = "重写规则", description = "重写规则") -public class IpRewriteRuleProperties { +public class RewriteRuleProperties { @Schema(title = "网络号", description = "网络号:匹配终端IP") private String network; @@ -21,5 +25,5 @@ public class IpRewriteRuleProperties { private String innerHost; @Schema(title = "外网地址", description = "外网地址") private String outerHost; - + } diff --git a/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/configuration/BootAutoConfiguration.java b/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/configuration/BootAutoConfiguration.java index df13bbe..5b6132e 100644 --- a/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/configuration/BootAutoConfiguration.java +++ b/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/configuration/BootAutoConfiguration.java @@ -45,7 +45,7 @@ import org.springframework.web.servlet.NoHandlerFoundException; import com.acgist.taoyao.boot.config.FfmpegProperties; import com.acgist.taoyao.boot.config.IdProperties; -import com.acgist.taoyao.boot.config.IpRewriteProperties; +import com.acgist.taoyao.boot.config.RewriteProperties; import com.acgist.taoyao.boot.config.MediaProperties; import com.acgist.taoyao.boot.config.ScriptProperties; import com.acgist.taoyao.boot.config.SecurityProperties; @@ -92,8 +92,8 @@ import lombok.extern.slf4j.Slf4j; SocketProperties.class, TaoyaoProperties.class, WebrtcProperties.class, + RewriteProperties.class, SecurityProperties.class, - IpRewriteProperties.class }) public class BootAutoConfiguration { @@ -150,12 +150,12 @@ public class BootAutoConfiguration { public CommandLineRunner successCommandLineRunner( TaskExecutor taskExecutor, TaoyaoProperties taoyaoProperties, - IpRewriteProperties ipRewriteProperties + RewriteProperties rewriteProperties ) { return new OrderedCommandLineRunner() { @Override public void run(String ... args) throws Exception { - NetUtils.init(ipRewriteProperties); + NetUtils.init(rewriteProperties); HTTPUtils.init(taoyaoProperties.getTimeout(), taskExecutor); BootAutoConfiguration.this.registerException(); } diff --git a/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/utils/NetUtils.java b/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/utils/NetUtils.java index 01d1d04..6fd1b1c 100644 --- a/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/utils/NetUtils.java +++ b/taoyao-signal-server/taoyao-boot/src/main/java/com/acgist/taoyao/boot/utils/NetUtils.java @@ -9,8 +9,8 @@ import java.util.BitSet; import org.apache.commons.lang3.StringUtils; -import com.acgist.taoyao.boot.config.IpRewriteProperties; -import com.acgist.taoyao.boot.config.IpRewriteRuleProperties; +import com.acgist.taoyao.boot.config.RewriteProperties; +import com.acgist.taoyao.boot.config.RewriteRuleProperties; import lombok.extern.slf4j.Slf4j; @@ -36,14 +36,14 @@ public final class NetUtils { /** * 地址重写 */ - private static IpRewriteProperties ipRewriteProperties; + private static RewriteProperties rewriteProperties; /** * 加载配置 */ - public static final void init(IpRewriteProperties ipRewriteProperties) { + public static final void init(RewriteProperties rewriteProperties) { try { - NetUtils.ipRewriteProperties = ipRewriteProperties; + NetUtils.rewriteProperties = rewriteProperties; final InetAddress localHost = InetAddress.getLocalHost(); final InetAddress loopbackAddress = InetAddress.getLoopbackAddress(); NetUtils.localIp = localHost.getHostAddress(); @@ -89,8 +89,8 @@ public final class NetUtils { final int length = (sourceBytes.length & clientBytes.length) * Byte.SIZE; final BitSet sourceBit = BitSet.valueOf(sourceBytes); final BitSet clientBit = BitSet.valueOf(clientBytes); - sourceBit.set(NetUtils.ipRewriteProperties.getPrefix(), length, true); - clientBit.set(NetUtils.ipRewriteProperties.getPrefix(), length, true); + sourceBit.set(NetUtils.rewriteProperties.getPrefix(), length, true); + clientBit.set(NetUtils.rewriteProperties.getPrefix(), length, true); final BigInteger source = new BigInteger(sourceBit.toByteArray()); final BigInteger client = new BigInteger(clientBit.toByteArray()); return source.equals(client); @@ -110,10 +110,10 @@ public final class NetUtils { * @return 替换IP */ public static final String rewriteIp(final String sourceIp, final String clientIp) { - if(Boolean.FALSE.equals(NetUtils.ipRewriteProperties.getEnabled())) { + if(Boolean.FALSE.equals(NetUtils.rewriteProperties.getEnabled())) { return sourceIp; } - final IpRewriteRuleProperties rule = NetUtils.ipRewriteProperties.getRule().stream() + final RewriteRuleProperties rule = NetUtils.rewriteProperties.getRule().stream() .filter(v -> NetUtils.subnetIp(v.getNetwork(), clientIp)) .findFirst() .orElse(null); @@ -138,7 +138,7 @@ public final class NetUtils { final BitSet sourceBit = BitSet.valueOf(sourceBytes); final BitSet clientBit = BitSet.valueOf(clientBytes); // 替换网络号保留主机号 - for (int index = 0; index < NetUtils.ipRewriteProperties.getPrefix(); index++) { + for (int index = 0; index < NetUtils.rewriteProperties.getPrefix(); index++) { sourceBit.set(index, clientBit.get(index)); } final byte[] bytes = sourceBit.toByteArray(); diff --git a/taoyao-signal-server/taoyao-boot/src/test/java/com/acgist/taoyao/boot/utils/NetUtilsTest.java b/taoyao-signal-server/taoyao-boot/src/test/java/com/acgist/taoyao/boot/utils/NetUtilsTest.java index d003cd4..288b36f 100644 --- a/taoyao-signal-server/taoyao-boot/src/test/java/com/acgist/taoyao/boot/utils/NetUtilsTest.java +++ b/taoyao-signal-server/taoyao-boot/src/test/java/com/acgist/taoyao/boot/utils/NetUtilsTest.java @@ -9,8 +9,8 @@ import java.util.List; import org.junit.jupiter.api.Test; -import com.acgist.taoyao.boot.config.IpRewriteProperties; -import com.acgist.taoyao.boot.config.IpRewriteRuleProperties; +import com.acgist.taoyao.boot.config.RewriteProperties; +import com.acgist.taoyao.boot.config.RewriteRuleProperties; import lombok.extern.slf4j.Slf4j; @@ -18,15 +18,15 @@ import lombok.extern.slf4j.Slf4j; public class NetUtilsTest { private void init() { - final IpRewriteRuleProperties ipRewriteRuleProperties1 = new IpRewriteRuleProperties(); - ipRewriteRuleProperties1.setNetwork("192.168.1.0"); - final IpRewriteRuleProperties ipRewriteRuleProperties10 = new IpRewriteRuleProperties(); - ipRewriteRuleProperties10.setNetwork("192.168.10.0"); - final IpRewriteProperties ipRewriteProperties = new IpRewriteProperties(); - ipRewriteProperties.setEnabled(true); - ipRewriteProperties.setPrefix(24); - ipRewriteProperties.setRule(List.of(ipRewriteRuleProperties1, ipRewriteRuleProperties10)); - NetUtils.init(ipRewriteProperties); + final RewriteRuleProperties rewriteRuleProperties1 = new RewriteRuleProperties(); + rewriteRuleProperties1.setNetwork("192.168.1.0"); + final RewriteRuleProperties rewriteRuleProperties10 = new RewriteRuleProperties(); + rewriteRuleProperties10.setNetwork("192.168.10.0"); + final RewriteProperties rewriteProperties = new RewriteProperties(); + rewriteProperties.setEnabled(true); + rewriteProperties.setPrefix(24); + rewriteProperties.setRule(List.of(rewriteRuleProperties1, rewriteRuleProperties10)); + NetUtils.init(rewriteProperties); } @Test diff --git a/taoyao-signal-server/taoyao-server/src/main/java/com/acgist/taoyao/controller/ConfigController.java b/taoyao-signal-server/taoyao-server/src/main/java/com/acgist/taoyao/controller/ConfigController.java index 6887084..a1568df 100644 --- a/taoyao-signal-server/taoyao-server/src/main/java/com/acgist/taoyao/controller/ConfigController.java +++ b/taoyao-signal-server/taoyao-server/src/main/java/com/acgist/taoyao/controller/ConfigController.java @@ -5,6 +5,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.acgist.taoyao.boot.config.FfmpegProperties; +import com.acgist.taoyao.boot.config.RewriteProperties; import com.acgist.taoyao.boot.config.MediaProperties; import com.acgist.taoyao.boot.config.SocketProperties; import com.acgist.taoyao.boot.config.WebrtcProperties; @@ -32,6 +33,7 @@ public class ConfigController { private final FfmpegProperties ffmpegProperties; private final SocketProperties socketProperties; private final WebrtcProperties webrtcProperties; + private final RewriteProperties rewriteProperties; @Operation(summary = "媒体配置", description = "媒体配置") @GetMapping("/media") @@ -61,4 +63,11 @@ public class ConfigController { return Message.success(this.webrtcProperties); } + @Operation(summary = "地址重写配置", description = "地址重写配置") + @GetMapping("/rewrite") + @ApiResponse(content = @Content(schema = @Schema(implementation = WebrtcProperties.class))) + public Message rewrite() { + return Message.success(this.rewriteProperties); + } + } diff --git a/taoyao-signal-server/taoyao-server/src/main/resources/application.yml b/taoyao-signal-server/taoyao-server/src/main/resources/application.yml index 0ec8f71..9a74739 100644 --- a/taoyao-signal-server/taoyao-server/src/main/resources/application.yml +++ b/taoyao-signal-server/taoyao-server/src/main/resources/application.yml @@ -236,6 +236,18 @@ taoyao: # port: 3478 # username: taoyao # password: taoyao + # 地址重写 + rewrite: + enabled: true + prefix: 24 + # 重写规则 + rule: +# - network: 192.168.1.0 +# inner-host: +# outer-host: +# - network: 192.168.8.0 +# inner-host: +# outer-host: # 安全配置 security: enabled: true @@ -253,15 +265,3 @@ taoyao: room: 0 0/5 * * * ? # 清理无效终端连接 client: 0 * * * * ? - # 地址重写 - ip-rewrite: - enabled: true - prefix: 24 - # 重写规则 - rule: -# - network: 192.168.1.0 -# inner-host: -# outer-host: -# - network: 192.168.8.0 -# inner-host: -# outer-host: