Skip to content

Commit a746bac

Browse files
committed
docs: CLAUDE.md 및 README.md 업데이트
- CLAUDE.md에 체인 빌더 및 HTTP 파서 기능 추가 - README.md에서 주요 기능 및 다운로드 정보 개선 - 사용자 경험 향상을 위한 UI 요소 및 설명 추가 - 프로젝트 구조 및 빌드 과정에 대한 정보 업데이트
1 parent 8e648ab commit a746bac

File tree

2 files changed

+79
-142
lines changed

2 files changed

+79
-142
lines changed

CLAUDE.md

Lines changed: 48 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,10 @@ RiSA is an Electron-based desktop application for RSA encryption and decryption
1616
### Key Components
1717
- **Settings Management**: Uses `electron-store` for persistent settings with GUI configuration panel
1818
- **RSA Operations**: Implemented using `node-rsa` library in the main process
19+
- **Chain Builder**: Sequential operation system for complex workflows (encoding, encryption, HTTP parsing)
20+
- **HTTP Parser**: URL template-based parsing and building with reusable templates
1921
- **IPC Communication**: Defined channels in `src/shared/constants.ts` for secure process communication
20-
- **State Management**: React Context API for settings state across the renderer process
22+
- **State Management**: React Context API for settings, chains, keys, history, and HTTP templates
2123

2224
### Project Structure
2325
```
@@ -34,30 +36,35 @@ src/
3436

3537
### Prerequisites
3638
- Uses `pnpm` as package manager
37-
- Requires Node.js and Electron dependencies
39+
- Node.js 18+ and Electron dependencies required
3840

3941
### Building and Development
4042
```bash
4143
# Install dependencies
4244
pnpm install
4345

44-
# Development mode (needs to be set up)
45-
NODE_ENV=development pnpm run dev
46+
# Development mode (runs both main and renderer processes)
47+
pnpm run dev
4648

47-
# Build for production
49+
# Build for production (builds main, renderer, and preload)
4850
pnpm run build
4951

50-
# TypeScript compilation
52+
# Build individual components
53+
pnpm run build:main # Main process only
54+
pnpm run build:renderer # Renderer process only
55+
pnpm run build:preload # Preload script only
56+
57+
# Run built application
58+
pnpm run start
59+
60+
# Package for distribution
61+
pnpm run package # All platforms
62+
pnpm run package:mac # macOS only
63+
64+
# TypeScript type checking
5165
pnpm exec tsc --noEmit
5266
```
5367

54-
### Current Development Status
55-
The project is in early development with basic structure set up. Missing components include:
56-
- Build scripts in package.json
57-
- Settings page implementation
58-
- Key manager page implementation
59-
- Webpack build configuration for both main and renderer processes
60-
6168
## Technical Notes
6269

6370
### TypeScript Configuration
@@ -69,7 +76,10 @@ The project is in early development with basic structure set up. Missing compone
6976
All communication between main and renderer processes goes through predefined IPC channels defined in `src/shared/constants.ts`. The main process handles:
7077
- Settings persistence via electron-store
7178
- RSA key generation and cryptographic operations
79+
- Chain execution via `chainExecutor.ts` (URL encoding, Base64, RSA, HTTP parsing/building)
80+
- HTTP template management and URL parsing/building
7281
- File system operations (folder/file selection)
82+
- History tracking for all operations
7383
- Settings import/export functionality
7484

7585
### Security Considerations
@@ -84,15 +94,28 @@ Uses Ant Design components with:
8494
- Theme support (light/dark mode)
8595
- React Router for page navigation
8696

87-
## Known Issues
88-
89-
### Current TypeScript Errors
90-
- `electron-store` usage needs proper typing
91-
- Missing CSS loader dependencies for webpack
92-
- Build scripts not configured in package.json
93-
94-
### Missing Implementation
95-
- Settings page UI and functionality
96-
- Key manager page
97-
- File encryption/decryption features
98-
- Proper webpack dev server setup
97+
## Feature Areas
98+
99+
### Implemented Features
100+
- RSA encryption/decryption with multiple key sizes and algorithms
101+
- Key generation and management with import/export
102+
- Chain Builder for sequential operations
103+
- HTTP Parser with template-based URL parsing and building
104+
- Base64 and URL encoding/decoding tools
105+
- Operation history with filtering
106+
- Auto-update system for macOS
107+
108+
### Chain Builder Operations
109+
The Chain Builder (`ChainBuilderPage.tsx`) supports sequential operations with input/output mapping:
110+
- URL encoding/decoding
111+
- Base64 encoding/decoding
112+
- RSA encryption/decryption
113+
- HTTP parsing (extract path/query parameters from URLs)
114+
- HTTP building (construct URLs from templates and parameters)
115+
116+
### HTTP Templates
117+
HTTP templates (`HttpTemplateContext.tsx`) enable reusable URL patterns:
118+
- Path parameters using `:param` or `{param}` syntax
119+
- Query parameters with validation patterns
120+
- Template-based parsing and building in Chain Builder
121+
- Input/output field mapping for chain operations

README.md

Lines changed: 31 additions & 117 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
<div align="center">
44
<img src="assets/icons/RiSA.png" alt="RiSA Logo" width="120" height="120">
5-
6-
**간단하고 직관적인 RSA 암호화 데스크톱 애플리케이션**
7-
5+
6+
**민감한 데이터를 로컬에서 안전하게 암호화하는 오픈소스 데스크톱 **
7+
88
[![GitHub release](https://img.shields.io/github/v/release/0-ROK/RiSA)](https://github.com/0-ROK/RiSA/releases)
99
[![GitHub downloads](https://img.shields.io/github/downloads/0-ROK/RiSA/total)](https://github.com/0-ROK/RiSA/releases)
1010
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
@@ -13,47 +13,49 @@
1313

1414
---
1515

16+
## 🛡️ 왜 RiSA인가?
17+
18+
**완전한 로컬 보안**: 모든 암호화 과정이 사용자의 컴퓨터에서만 실행됩니다. 네트워크 전송 없이, 서버 업로드 없이, 온전히 로컬에서 처리됩니다.
19+
20+
**투명성과 신뢰**: 모든 소스코드가 공개되어 있어 언제든 검증할 수 있습니다. 숨겨진 백도어나 데이터 수집이 없습니다.
21+
22+
**편리한 GUI**: 복잡한 명령어나 설정 없이 직관적인 그래픽 인터페이스로 강력한 RSA 암호화를 사용할 수 있습니다.</div>
23+
24+
---
25+
1626
## 📥 다운로드
1727

1828
### 🌐 공식 다운로드 페이지
1929

2030
**[https://0-rok.github.io/RiSA](https://0-rok.github.io/RiSA)**
2131

22-
### 📦 직접 다운로드
23-
24-
최신 릴리즈는 [GitHub Releases](https://github.com/0-ROK/RiSA/releases/latest)에서 다운로드할 수 있습니다.
32+
가장 쉽고 안전한 다운로드 방법입니다. 운영체제를 자동으로 감지하여 최적의 설치 파일을 제공합니다.
2533

26-
| 플랫폼 | 다운로드 |
27-
| ------------ | ------------------------------------------------------------------------------------------------------------------------- |
28-
| 🍎 **macOS** | [DMG 파일](https://github.com/0-ROK/RiSA/releases/latest)[ZIP 압축파일](https://github.com/0-ROK/RiSA/releases/latest) |
34+
*최신 릴리즈는 [GitHub Releases](https://github.com/0-ROK/RiSA/releases/latest)에서도 확인할 수 있습니다.*
2935

3036
---
3137

3238
## ✨ 주요 기능
3339

3440
### 🔒 **강력한 RSA 암호화**
35-
3641
- RSA-OAEP (권장) 및 RSA-PKCS1 알고리즘 지원
3742
- 1024, 2048, 4096 비트 키 크기 선택 가능
38-
- 안전한 키 생성 및 관리
43+
- 안전한 키 생성, 관리, 가져오기/내보내기
3944

40-
### 🎨 **직관적인 사용자 인터페이스**
45+
### 🔗 **Chain Builder (연속 작업)**
46+
- 여러 작업을 순차적으로 연결하여 실행
47+
- URL 인코딩/디코딩, Base64 인코딩/디코딩
48+
- RSA 암호화/복호화를 포함한 복합 워크플로우
4149

42-
- 깔끔하고 현대적인 디자인
43-
- 사이드바 네비게이션으로 쉬운 접근
44-
- 실시간 오류 검증 및 사용자 피드백
50+
### 🌐 **HTTP Parser (URL 템플릿)**
51+
- URL 템플릿을 활용한 파싱 및 생성
52+
- 경로 파라미터와 쿼리 파라미터 추출
53+
- 재사용 가능한 템플릿 시스템
4554

46-
### 🔧 **키 관리 시스템**
47-
48-
- RSA 키 쌍 자동 생성
49-
- 키 가져오기/내보내기 (JSON 형식)
50-
- 저장된 키 목록 관리
51-
52-
### **성능 최적화**
53-
54-
- Electron 기반 네이티브 성능
55-
- 빠른 암호화/복호화 처리
56-
- 자동 업데이트 지원
55+
### 🎨 **직관적인 사용자 경험**
56+
- 깔끔한 사이드바 네비게이션
57+
- 실시간 검증 및 피드백
58+
- 작업 히스토리 자동 저장
5759

5860
---
5961

@@ -93,28 +95,12 @@
9395
- **알고리즘**: RSA-OAEP 사용
9496
- **키 관리**: 개인키는 안전한 곳에 보관
9597

96-
### 다운로드 안전성
98+
### 신뢰할 수 있는 다운로드
9799

98100
-**오픈소스**: 모든 코드는 GitHub에서 공개적으로 검증 가능
99101
-**자동 빌드**: GitHub Actions로 자동 빌드되어 변조 불가능
100102
-**MIT 라이선스**: 자유롭게 사용, 수정, 배포 가능
101103

102-
### 설치 시 보안 경고 해결법
103-
104-
#### 🍎 macOS
105-
106-
1. **"확인되지 않은 개발자"** 경고 시:
107-
- 앱 파일을 **우클릭** → "**열기**" 선택
108-
- 다시 "**열기**" 확인 클릭
109-
2. **"앱이 손상되었습니다"** 경고 시:
110-
```bash
111-
# 터미널에서 다음 명령어 실행
112-
xattr -cr /Applications/RiSA.app
113-
```
114-
3. **대안 방법**:
115-
- 시스템 환경설정 → 보안 및 개인 정보 보호
116-
- "**확인 없이 열기**" 버튼 클릭
117-
118104
---
119105

120106
## 🔄 자동 업데이트
@@ -127,88 +113,16 @@ RiSA는 자동 업데이트를 지원합니다:
127113

128114
---
129115

130-
## 🔨 소스코드에서 빌드하기
131-
132-
개발자나 고급 사용자를 위한 소스코드 빌드 방법:
133-
134-
### 사전 요구사항
135-
136-
- Node.js 18 이상
137-
- pnpm (권장) 또는 npm
138-
- Git
139-
140-
### 빌드 과정
141-
142-
```bash
143-
# 저장소 클론
144-
git clone https://github.com/0-ROK/RiSA.git
145-
cd RiSA
146-
147-
# 의존성 설치
148-
pnpm install
149-
150-
# 개발 모드 실행
151-
pnpm run dev
152-
153-
# 프로덕션 빌드
154-
pnpm run build
155-
156-
# 플랫폼별 패키징
157-
pnpm run package:win # Windows
158-
pnpm run package:mac # macOS
159-
pnpm run package:linux # Linux
160-
```
161-
162-
### Apple Developer 통합 (macOS 개발자용)
163-
164-
macOS 앱 서명 및 공증을 위한 설정은 [APPLE_DEVELOPER_SETUP.md](APPLE_DEVELOPER_SETUP.md)를 참조하세요.
165-
166-
---
167-
168-
## 🛠️ 개발자 정보
169-
170-
### 기술 스택
171-
172-
- **Frontend**: React 19, TypeScript, Ant Design
173-
- **Backend**: Electron, Node.js
174-
- **암호화**: node-rsa, node-forge
175-
- **빌드**: Webpack, electron-builder
176-
177-
### 시스템 요구사항
178-
179-
- **macOS**: macOS 10.15 이상
180-
181-
---
182-
183-
## 🐛 문제 해결
184-
185-
### 일반적인 문제
186-
187-
1. **앱이 실행되지 않음**: 최신 버전 다운로드 확인
188-
2. **암호화 실패**: Base64 형식 및 키 유효성 확인
189-
3. **키 가져오기 실패**: JSON 파일 형식 확인
190-
191-
### 지원 요청
192-
193-
문제가 지속되면 [GitHub Issues](https://github.com/0-ROK/RiSA/issues)에서 도움을 요청하세요.
194-
195-
---
196116

197117
## 📄 라이선스
198118

199119
이 프로젝트는 [MIT 라이선스](LICENSE) 하에 배포됩니다.
200120

201121
---
202122

203-
## 🤝 기여하기
204-
205-
버그 신고, 기능 제안, 코드 기여를 환영합니다!
123+
## 💬 지원
206124

207-
1. 이 저장소를 포크하세요
208-
2. 기능 브랜치를 생성하세요 (`git checkout -b feature/amazing-feature`)
209-
3. 변경사항을 커밋하세요 (`git commit -m 'Add amazing feature'`)
210-
4. 브랜치에 푸시하세요 (`git push origin feature/amazing-feature`)
211-
5. Pull Request를 생성하세요
125+
문제가 있거나 기능 제안이 있으시면 [GitHub Issues](https://github.com/0-ROK/RiSA/issues)에서 알려주세요.
212126

213127
---
214128

0 commit comments

Comments
 (0)