Commit Graph

2 Commits

Author SHA1 Message Date
9594233c8e Feat: 사용자 설정 기능 구현 (포트, 루트 디렉토리)
- FTPConfig 클래스 생성: SharedPreferences 기반 설정 관리
  * 포트 번호 저장/로드
  * 루트 디렉토리 URI 및 경로 저장/로드
- MainActivity UI 업데이트
  * ScrollView로 전체 레이아웃 감싸기
  * 설정 섹션 추가 (포트 입력, 디렉토리 선택)
  * Storage Access Framework로 디렉토리 선택 기능
  * 설정 유효성 검사 (포트 범위: 1024-65535)
- MainActivity 로직 업데이트
  * ActivityResultLauncher로 디렉토리 선택
  * takePersistableUriPermission으로 지속적 권한 획득
  * 설정 로드 및 저장 기능
  * 서버 시작 전 루트 디렉토리 필수 체크
- FTPService 수정
  * Intent로 포트 및 루트 디렉토리 전달받음
  * FTPServer에 설정값 전달
- FTPServer 생성자 확장
  * 포트 및 루트 디렉토리 파라미터 추가
  * FTPSession에 설정값 전달
- FTPSession 생성자 확장
  * 루트 디렉토리 파라미터 추가
  * FTPFileSystem에 전달
- FTPFileSystem 생성자 확장
  * 사용자 지정 루트 디렉토리 지원
  * null일 경우 기본 디렉토리 사용
  * 경로 유효성 검증

이제 사용자가 원하는 디렉토리를 FTP 루트로 설정 가능
Android 11+ Scoped Storage 문제 해결

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-01 04:12:28 +09:00
f08d8d66d8 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>
2026-01-01 02:46:18 +09:00