gitextract_dfvped34/ ├── .github/ │ └── workflows/ │ └── build.yml ├── .gitignore ├── LICENSE ├── README.md ├── aliyun_sms.md ├── build_release.sh ├── config/ │ ├── aliyun_sms.properties │ ├── application.properties │ ├── im.properties │ └── tencent_sms.properties ├── deb/ │ └── control/ │ ├── control │ ├── postinst │ └── postrm ├── docker/ │ ├── Dockerfile │ └── README.md ├── mvnw ├── mvnw.cmd ├── nginx/ │ └── appserver.conf ├── pom.xml ├── release_note.md ├── src/ │ ├── lib/ │ │ ├── DmDialect-for-hibernate5.4.jar │ │ ├── DmJdbcDriver8.jar │ │ ├── common-1.4.4.jar │ │ └── sdk-1.4.4.jar │ ├── main/ │ │ ├── java/ │ │ │ └── cn/ │ │ │ └── wildfirechat/ │ │ │ └── app/ │ │ │ ├── AppController.java │ │ │ ├── Application.java │ │ │ ├── AudioController.java │ │ │ ├── ForbiddenException.java │ │ │ ├── IMCallbackController.java │ │ │ ├── IMConfig.java │ │ │ ├── IMExceptionEventController.java │ │ │ ├── RestResult.java │ │ │ ├── Service.java │ │ │ ├── ServiceImpl.java │ │ │ ├── conference/ │ │ │ │ ├── ConferenceCleanupService.java │ │ │ │ ├── ConferenceController.java │ │ │ │ ├── ConferenceService.java │ │ │ │ └── ConferenceServiceImpl.java │ │ │ ├── jpa/ │ │ │ │ ├── Announcement.java │ │ │ │ ├── AnnouncementRepository.java │ │ │ │ ├── ConferenceEntity.java │ │ │ │ ├── ConferenceEntityRepository.java │ │ │ │ ├── ConferenceRecord.java │ │ │ │ ├── ConferenceRecordRepository.java │ │ │ │ ├── FavoriteItem.java │ │ │ │ ├── FavoriteRepository.java │ │ │ │ ├── PCSession.java │ │ │ │ ├── PCSessionRepository.java │ │ │ │ ├── Record.java │ │ │ │ ├── RecordRepository.java │ │ │ │ ├── ShiroSession.java │ │ │ │ ├── ShiroSessionRepository.java │ │ │ │ ├── SlideVerify.java │ │ │ │ ├── SlideVerifyRepository.java │ │ │ │ ├── UserConference.java │ │ │ │ ├── UserConferenceQuota.java │ │ │ │ ├── UserConferenceQuotaRepository.java │ │ │ │ ├── UserConferenceRepository.java │ │ │ │ ├── UserNameEntry.java │ │ │ │ ├── UserNameRepository.java │ │ │ │ ├── UserPassword.java │ │ │ │ ├── UserPasswordRepository.java │ │ │ │ ├── UserPrivateConferenceId.java │ │ │ │ ├── UserPrivateConferenceIdRepository.java │ │ │ │ ├── UserQuotaUsage.java │ │ │ │ └── UserQuotaUsageRepository.java │ │ │ ├── model/ │ │ │ │ └── ConferenceDTO.java │ │ │ ├── pojo/ │ │ │ │ ├── CancelSessionRequest.java │ │ │ │ ├── ChangeNameRequest.java │ │ │ │ ├── ChangePasswordRequest.java │ │ │ │ ├── ComplainRequest.java │ │ │ │ ├── ConferenceInfo.java │ │ │ │ ├── ConferenceInfoRequest.java │ │ │ │ ├── ConferenceQuotaResponse.java │ │ │ │ ├── ConfirmSessionRequest.java │ │ │ │ ├── CreateSessionRequest.java │ │ │ │ ├── DestroyRequest.java │ │ │ │ ├── GroupAnnouncementPojo.java │ │ │ │ ├── GroupIdPojo.java │ │ │ │ ├── LoadFavoriteRequest.java │ │ │ │ ├── LoadFavoriteResponse.java │ │ │ │ ├── LoginResponse.java │ │ │ │ ├── PhoneCodeLoginRequest.java │ │ │ │ ├── PhoneCodeLoginRequestWithSlideVerify.java │ │ │ │ ├── RecordingRequest.java │ │ │ │ ├── ResetPasswordRequest.java │ │ │ │ ├── SendCodeRequest.java │ │ │ │ ├── SendCodeRequestWithSlideVerify.java │ │ │ │ ├── SendDestroyCodeRequest.java │ │ │ │ ├── SendMessageRequest.java │ │ │ │ ├── SessionOutput.java │ │ │ │ ├── SlideVerifyRequest.java │ │ │ │ ├── SlideVerifyResponse.java │ │ │ │ ├── UploadFileResponse.java │ │ │ │ ├── UserIdNamePortraitPojo.java │ │ │ │ ├── UserIdPojo.java │ │ │ │ ├── UserPasswordLoginRequest.java │ │ │ │ └── UserPasswordLoginRequestWithSlideVerify.java │ │ │ ├── shiro/ │ │ │ │ ├── AuthDataSource.java │ │ │ │ ├── CorsFilter.java │ │ │ │ ├── DBSessionDao.java │ │ │ │ ├── JsonAuthLoginFilter.java │ │ │ │ ├── LdapMatcher.java │ │ │ │ ├── LdapRealm.java │ │ │ │ ├── LdapToken.java │ │ │ │ ├── PhoneCodeRealm.java │ │ │ │ ├── PhoneCodeToken.java │ │ │ │ ├── ScanCodeRealm.java │ │ │ │ ├── ShiroConfig.java │ │ │ │ ├── ShiroSessionManager.java │ │ │ │ ├── TokenAuthenticationToken.java │ │ │ │ ├── TokenMatcher.java │ │ │ │ └── UserPasswordRealm.java │ │ │ ├── slide/ │ │ │ │ ├── SlideVerifyCleanupService.java │ │ │ │ └── SlideVerifyService.java │ │ │ ├── sms/ │ │ │ │ ├── AliyunSMSConfig.java │ │ │ │ ├── SmsService.java │ │ │ │ ├── SmsServiceImpl.java │ │ │ │ └── TencentSMSConfig.java │ │ │ └── tools/ │ │ │ ├── LdapUser.java │ │ │ ├── LdapUtil.java │ │ │ ├── NumericIdGenerator.java │ │ │ ├── OrderedIdUserNameGenerator.java │ │ │ ├── PhoneNumberUserNameGenerator.java │ │ │ ├── RateLimiter.java │ │ │ ├── ShortUUIDGenerator.java │ │ │ ├── SpinLock.java │ │ │ ├── UUIDUserNameGenerator.java │ │ │ ├── UserNameGenerator.java │ │ │ └── Utils.java │ │ └── resources/ │ │ └── application.properties │ └── test/ │ └── java/ │ └── cn/ │ └── wildfirechat/ │ └── app/ │ ├── ApplicationTests.java │ ├── jpa/ │ │ ├── AnnouncementTest.java │ │ ├── ConferenceEntityTest.java │ │ ├── FavoriteItemTest.java │ │ ├── PCSessionTest.java │ │ ├── RecordTest.java │ │ ├── ShiroSessionTest.java │ │ ├── SlideVerifyRepositoryTest.java │ │ ├── SlideVerifyTest.java │ │ ├── UserConferenceTest.java │ │ ├── UserNameEntryTest.java │ │ ├── UserPasswordTest.java │ │ └── UserPrivateConferenceIdTest.java │ └── slide/ │ ├── SlideVerifyCleanupServiceTest.java │ └── SlideVerifyServiceTest.java └── systemd/ ├── README.md └── app-server.service