Feat: FTP 서버 기본 구조 구현

- AndroidManifest.xml에 필요한 권한 추가 (INTERNET, STORAGE 등)
- FTPResponse 클래스 생성: FTP 응답 코드 상수 정의
- FTPSession 클래스 생성: 개별 클라이언트 세션 처리
  * 명령어 읽기/응답 보내기 기본 루프
  * USER, PASS, QUIT, SYST, PWD, NOOP 명령어 처리
- FTPServer 클래스 생성: 메인 서버 로직
  * ServerSocket으로 포트 2121에서 수신 대기
  * ExecutorService로 다중 클라이언트 연결 관리
- FTPService 클래스 생성: 백그라운드 포그라운드 서비스
  * 서버 시작/중지 Intent 처리
  * 알림 채널 및 포그라운드 서비스 구현
- MainActivity UI 업데이트: 서버 제어 기능
  * 시작/중지 버튼 추가
  * 서버 상태 표시
  * 런타임 권한 요청 처리

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-01 02:46:18 +09:00
parent 509685936a
commit f08d8d66d8
50 changed files with 1459 additions and 0 deletions

17
.idea/runConfigurations.xml generated Normal file
View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RunConfigurationProducerService">
<option name="ignoredProducers">
<set>
<option value="com.intellij.execution.junit.AbstractAllInDirectoryConfigurationProducer" />
<option value="com.intellij.execution.junit.AllInPackageConfigurationProducer" />
<option value="com.intellij.execution.junit.PatternConfigurationProducer" />
<option value="com.intellij.execution.junit.TestInClassConfigurationProducer" />
<option value="com.intellij.execution.junit.UniqueIdConfigurationProducer" />
<option value="com.intellij.execution.junit.testDiscovery.JUnitTestDiscoveryConfigurationProducer" />
<option value="org.jetbrains.kotlin.idea.junit.KotlinJUnitRunConfigurationProducer" />
<option value="org.jetbrains.kotlin.idea.junit.KotlinPatternConfigurationProducer" />
</set>
</option>
</component>
</project>