https://github.com/iwizard7/macportscanner
https://github.com/iwizard7/macportscanner
Last synced: 9 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/iwizard7/macportscanner
- Owner: iwizard7
- License: mit
- Created: 2025-08-13T07:05:33.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-09-17T05:35:52.000Z (9 months ago)
- Last Synced: 2025-09-17T05:46:23.050Z (9 months ago)
- Language: TypeScript
- Size: 1.22 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# MacPortScanner

**π ΠΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠΊΠ°Π½Π΅Ρ ΠΏΠΎΡΡΠΎΠ² Π΄Π»Ρ macOS Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π΄Π»Ρ Apple Silicon**
[](https://opensource.org/licenses/MIT)
[](https://www.apple.com/macos/)
[](https://www.apple.com/mac/)
[](https://www.typescriptlang.org/)
[](https://www.electronjs.org/)
[Π‘ΠΊΠ°ΡΠ°ΡΡ](https://github.com/iwizard7/MacPortScanner/releases) β’ [ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ](#Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ) β’ [ΠΡΠΈΠΌΠ΅ΡΡ](#ΠΏΡΠΈΠΌΠ΅ΡΡ-ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ) β’ [ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°](#ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°)
## π¦ Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
### Π‘ΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅
1. ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ [Releases](https://github.com/iwizard7/MacPortScanner/releases)
2. Π‘ΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠΈΠΉ ΡΠ°ΠΉΠ»:
- **MacPortScanner-X.X.X-arm64.dmg** - Π΄Π»Ρ Apple Silicon (M1/M2/M3)
- **MacPortScanner-X.X.X.dmg** - Π΄Π»Ρ Intel Mac
### ΠΠ΅ΡΠ²ΡΠΉ Π·Π°ΠΏΡΡΠΊ
β οΈ **ΠΠ°ΠΆΠ½ΠΎ**: ΠΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ macOS Gatekeeper ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠΊΠ°Π·Π°Π² ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ "ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ MacPortScanner ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ΠΎ".
**ΠΠΎΠ»Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Gatekeeper:**
#### Π‘ΠΏΠΎΡΠΎΠ± 1: Π§Π΅ΡΠ΅Π· ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠ΅ ΠΌΠ΅Π½Ρ (Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ)
1. **ΠΠ΅ ΠΎΡΠΊΡΡΠ²Π°ΠΉΡΠ΅** ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π²ΠΎΠΉΠ½ΡΠΌ ΠΊΠ»ΠΈΠΊΠΎΠΌ
2. **Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ** ΠΏΠΎ `MacPortScanner.app` Π² Finder
3. ΠΡΠ±Π΅ΡΠΈΡΠ΅ **"ΠΡΠΊΡΡΡΡ"** ΠΈΠ· ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ
4. Π ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΌΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³Π΅ Π½Π°ΠΆΠΌΠΈΡΠ΅ **"ΠΡΠΊΡΡΡΡ"**
#### Π‘ΠΏΠΎΡΠΎΠ± 2: Π§Π΅ΡΠ΅Π· Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ
1. ΠΡΠΊΡΠΎΠΉΡΠ΅ **Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ** β **ΠΠ°ΡΠΈΡΠ° ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ**
2. Π ΡΠ°Π·Π΄Π΅Π»Π΅ **"ΠΡΠ½ΠΎΠ²Π½ΡΠ΅"** Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ
3. ΠΠ°ΠΆΠΌΠΈΡΠ΅ **"ΠΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΎΡΠΊΡΡΡΡ"**
#### Π‘ΠΏΠΎΡΠΎΠ± 3: Π§Π΅ΡΠ΅Π· Π’Π΅ΡΠΌΠΈΠ½Π°Π» (Π΄Π»Ρ ΠΎΠΏΡΡΠ½ΡΡ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ)
```bash
# Π£Π΄Π°Π»ΠΈΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½Π°
sudo xattr -rd com.apple.quarantine /Applications/MacPortScanner.app
# ΠΠ»ΠΈ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°
xattr -cr /Applications/MacPortScanner.app
```
#### Π‘ΠΏΠΎΡΠΎΠ± 4: ΠΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Gatekeeper (ΠΠ Π ΠΠΠΠΠΠΠΠ£ΠΠ’Π‘Π―)
```bash
# ΠΡΠΊΠ»ΡΡΠΈΡΡ Gatekeeper (ΡΡΠ΅Π±ΡΠ΅Ρ sudo)
sudo spctl --master-disable
# ΠΠΊΠ»ΡΡΠΈΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
sudo spctl --master-enable
```
**ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅**: ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ macOS Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ Π΅Π³ΠΎ Π·Π°ΠΏΡΡΠΊ. ΠΡΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ open-source ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π±Π΅Π· ΠΏΠ»Π°ΡΠ½ΠΎΠ³ΠΎ Π°ΠΊΠΊΠ°ΡΠ½ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Apple.
### Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ
- macOS 10.15 (Catalina) ΠΈΠ»ΠΈ Π½ΠΎΠ²Π΅Π΅
- Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ: Apple Silicon Π΄Π»Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
## β¨ ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ
- π **ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π΄Π»Ρ Apple Silicon** - ΠΠΎ 100 ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ
ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ Π½Π° M1/M2/M3
- π¨ **ΠΠ°ΡΠΈΠ²Π½ΡΠΉ macOS ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ** - Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ UI Π² ΡΡΠΈΠ»Π΅ macOS Ρ ΡΠ΅ΠΌΠ½ΠΎΠΉ ΡΠ΅ΠΌΠΎΠΉ
- β‘ **ΠΡΡΠΎΠΊΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ** - ΠΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΠ΅ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΠΌ Π½Π°Π³ΡΡΠ·ΠΊΠΈ
- π§ **ΠΠΈΠ±ΠΊΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ** - TCP/SYN/UDP ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΡΠ°ΠΉΠΌΠ°ΡΡΡ
- πΎ **ΠΠ²ΡΠΎΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅** - Π‘ΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ
Π½Π°ΡΡΡΠΎΠ΅ΠΊ
- π **ΠΠΊΡΠΏΠΎΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ²** - JSON ΠΈ CSV ΡΠΎΡΠΌΠ°ΡΡ
- β¨οΈ **ΠΠΎΡΡΡΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ** - ΠΡΡΡΡΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΡΠ½ΠΊΡΠΈΡΠΌ
- π **ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ IP** - Π‘ΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΡΡ
IP ΠΈ ΠΏΠΎΠ΄ΡΠ΅ΡΠ΅ΠΉ
- π **ΠΠ΅ΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ²** - ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΏΠΎ Π±Π°Π½Π½Π΅ΡΠ°ΠΌ
- π **ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ** - ΠΠΎΠ½ΡΠ΅ΠΊΡΡΠ½Π°Ρ ΠΈΠ·ΠΎΠ»ΡΡΠΈΡ Electron
## π Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ
- **macOS**: 10.15 (Catalina) ΠΈΠ»ΠΈ Π½ΠΎΠ²Π΅Π΅
- **ΠΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°**: Apple Silicon (M1/M2/M3) ΠΈΠ»ΠΈ Intel
- **RAM**: Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ 8 GB
- **ΠΠ΅ΡΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠ΅**: ~300 MB
## π ΠΡΡΡΡΡΠΉ ΡΡΠ°ΡΡ
### ΠΠΎΡΠΎΠ²ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
Π‘ΠΊΠ°ΡΠ°ΠΉΡΠ΅ Π³ΠΎΡΠΎΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· [Releases](https://github.com/iwizard7/MacPortScanner/releases):
- **Apple Silicon (M1/M2/M3)**: `MacPortScanner-1.6.3-arm64.dmg`
- **Intel Mac**: `MacPortScanner-1.6.3.dmg`
### Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
1. Π‘ΠΊΠ°ΡΠ°ΠΉΡΠ΅ DMG ΡΠ°ΠΉΠ» Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ
2. ΠΡΠΊΡΠΎΠΉΡΠ΅ DMG ΠΈ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΏΠ°ΠΏΠΊΡ Applications
3. ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ MacPortScanner ΠΈΠ· Launchpad
### Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°
```bash
# ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
git clone https://github.com/iwizard7/MacPortScanner.git
cd MacPortScanner
# Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ
npm install
# ΠΠ°ΠΏΡΡΠΊ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
npm run dev
# Π‘Π±ΠΎΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
npm run build:mac
```
## π― ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
### ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ
| Π€ΡΠ½ΠΊΡΠΈΡ | ΠΠΎΡΡΡΠ°Ρ ΠΊΠ»Π°Π²ΠΈΡΠ° | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---------|----------------|----------|
| ΠΡΡΡΡΠΎΠ΅ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ | `β+Q` | Π‘ΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ
ΠΏΠΎΡΡΠΎΠ² |
| ΠΠΎΠ»Π½ΠΎΠ΅ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ | `β+F` | Π‘ΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡΡΠΎΠ² 1-1000 |
| ΠΡΡΠ°Π½ΠΎΠ²ΠΊΠ° | `β+S` | ΠΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ |
| ΠΠΊΡΠΏΠΎΡΡ | `β+E` | Π‘ΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² |
### ΠΠ΅ΡΠΎΠ΄Ρ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
- **TCP Connect** - Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ TCP ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ (ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ)
- **SYN Scan** - ΠΡΡΡΡΠΎΠ΅ SYN ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (ΡΡΠ΅Π±ΡΠ΅Ρ sudo)
- **UDP Scan** - Π‘ΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ UDP ΠΏΠΎΡΡΠΎΠ²
### ΠΠ΅ΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ²
MacPortScanner Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΈΠΏ ΡΠ΅ΡΠ²ΠΈΡΠ° Π½Π° ΠΎΡΠΊΡΡΡΡΡ
ΠΏΠΎΡΡΠ°Ρ
Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°Π½Π°Π»ΠΈΠ·Π° Π±Π°Π½Π½Π΅ΡΠΎΠ² ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ²:
- **HTTP/HTTPS** - ΠΠ½Π°Π»ΠΈΠ· HTTP Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ², HTML title ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π΄Π΅ΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ
ΠΏΠΎΡΡΠ°Ρ
- **SSH** - ΠΠ°ΡΡΠΈΠ½Π³ SSH Π²Π΅ΡΡΠΈΠΈ ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°
- **FTP** - Π§ΡΠ΅Π½ΠΈΠ΅ welcome ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ
- **SMTP/POP3/IMAP** - ΠΠ½Π°Π»ΠΈΠ· ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΡΡ
ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ
- **ΠΠ°Π·Ρ Π΄Π°Π½Π½ΡΡ
** - ΠΠ΅ΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ MySQL, PostgreSQL, Redis, MongoDB
- **Π‘Π΅ΡΠ΅Π²ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ** - DHCP, DNS, NTP, SNMP, LDAP, SMB
- **ΠΡΠΎΠΊΡΠΈ ΠΈ VPN** - SOCKS, HTTP Proxy
- **Π§Π°Ρ ΠΈ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ** - IRC, XMPP
- **Π Π΄ΡΡΠ³ΠΈΠ΅** - ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π±ΠΎΠ»Π΅Π΅ 40 ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ
ΡΠ΅ΡΠ²ΠΈΡΠΎΠ²
**ΠΡΠΈΠΌΠ΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ²:**
```
Port 22: SSH (SSH-2.0-OpenSSH_8.9p1)
Port 80: HTTP (nginx/1.21.6)
Port 443: HTTPS (Apache/2.4.54)
Port 3306: MySQL (MySQL 8.0.33)
Port 5000: HTTP (Flask/Python)
Port 5959: VNC (alternative)
Port 7000: HTTP (various)
```
### ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ
- **Π’Π°ΠΉΠΌΠ°ΡΡ**: 100-10000 ΠΌΡ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 3000 ΠΌΡ)
- **ΠΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌ**: ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ Π΄Π»Ρ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ
- **ΠΠΎΡΡΡ**: Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ ΠΈΠ»ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: `80,443,8000-8080`)
## π ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ
### ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ Apple Silicon
MacPortScanner Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°:
| ΠΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ° | ΠΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ | ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ |
|-------------|------------------------|-------------------|
| Apple Silicon (ARM64) | 100 | π ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ |
| Intel (x64) | 50 | β‘ ΠΡΡΠΎΠΊΠ°Ρ |
### ΠΠ΅Π½ΡΠΌΠ°ΡΠΊΠΈ
- **ΠΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΡΠ΅ΡΡ**: ~1000 ΠΏΠΎΡΡΠΎΠ² Π·Π° 10-15 ΡΠ΅ΠΊΡΠ½Π΄
- **ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ**: ~100 ΠΏΠΎΡΡΠΎΠ² Π·Π° 30-60 ΡΠ΅ΠΊΡΠ½Π΄
- **ΠΠ°ΠΌΡΡΡ**: ~50-100 MB Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
## ποΈ ΠΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°
```
MacPortScanner/
βββ src/
β βββ main.ts # ΠΠ»Π°Π²Π½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ Electron
β βββ preload.ts # IPC ΠΌΠΎΡΡ
β βββ App.tsx # React ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
β βββ main.tsx # Π’ΠΎΡΠΊΠ° Π²Ρ
ΠΎΠ΄Π° React
β βββ components/ui/ # UI ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ
β βββ lib/ # Π£ΡΠΈΠ»ΠΈΡΡ
βββ build/ # Π‘Π±ΠΎΡΠΊΠ° (ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΡΡΡ Git)
βββ package.json # ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°
βββ README.md # ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ
```
### Π’Π΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΡΠ΅ΠΊ
- **Frontend**: React 18 + TypeScript + Tailwind CSS
- **Backend**: Electron 28 + Node.js
- **UI**: Radix UI + shadcn/ui ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ
- **Π‘Π±ΠΎΡΠΊΠ°**: Vite + electron-builder
- **Π‘ΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅**: Node.js net ΠΌΠΎΠ΄ΡΠ»Ρ
## π ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ
- **ΠΠΎΠ½ΡΠ΅ΠΊΡΡΠ½Π°Ρ ΠΈΠ·ΠΎΠ»ΡΡΠΈΡ** Electron Π΄Π»Ρ Π·Π°ΡΠΈΡΡ ΠΎΡ XSS
- **IPC ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ** ΡΠ΅ΡΠ΅Π· Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠ΅ ΠΊΠ°Π½Π°Π»Ρ
- **ΠΠ°Π»ΠΈΠ΄Π°ΡΠΈΡ Π²Ρ
ΠΎΠ΄Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
** Π½Π° Π²ΡΠ΅Ρ
ΡΡΠΎΠ²Π½ΡΡ
- **ΠΠ΅Ρ ΠΏΡΡΠΌΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°** ΠΊ Node.js API ΠΈΠ· ΡΠ΅Π½Π΄Π΅ΡΠ°
- **ΠΠ΅ΡΠΎΡΠ½ΠΈΡΠ°** Π΄Π»Ρ Π²Π΅Π±-ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°
## π ΠΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
### Π‘ΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°
```
IP: 127.0.0.1
ΠΠΎΡΡΡ: 22,80,443,3306,5432
ΠΠ΅ΡΠΎΠ΄: TCP Connect
Π’Π°ΠΉΠΌΠ°ΡΡ: 1000 ΠΌΡ
```
### ΠΡΠ΄ΠΈΡ Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΉ ΡΠ΅ΡΠΈ
```
IP: 192.168.1.1-254
ΠΠΎΡΡΡ: 22,23,80,443,8080
ΠΠ΅ΡΠΎΠ΄: TCP Connect
Π’Π°ΠΉΠΌΠ°ΡΡ: 2000 ΠΌΡ
```
### ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ°
```
IP: example.com
ΠΠΎΡΡΡ: 80,443,8080,8443,3000
ΠΠ΅ΡΠΎΠ΄: TCP Connect
Π’Π°ΠΉΠΌΠ°ΡΡ: 5000 ΠΌΡ
```
## π οΈ Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°
### Π‘ΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ°
- **Electron Main Process** - Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΠΈ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
- **React Frontend** - ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ
- **IPC Communication** - ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½Π°Ρ ΡΠ²ΡΠ·Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ²
- **Electron Store** - Π‘ΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π°ΡΡΡΠΎΠ΅ΠΊ
### ΠΠΎΠΌΠ°Π½Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
```bash
# Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°
npm run dev # ΠΠ°ΠΏΡΡΠΊ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
npm run dev:electron # Π’ΠΎΠ»ΡΠΊΠΎ Electron ΠΏΡΠΎΡΠ΅ΡΡ
npm run dev:react # Π’ΠΎΠ»ΡΠΊΠΎ React ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
# Π‘Π±ΠΎΡΠΊΠ°
npm run build # ΠΠΎΠ»Π½Π°Ρ ΡΠ±ΠΎΡΠΊΠ°
npm run build:electron # Π‘Π±ΠΎΡΠΊΠ° Electron
npm run build:react # Π‘Π±ΠΎΡΠΊΠ° React
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
npm run build:mac # ΠΠ»Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ
npm run build:mac-arm64 # Π’ΠΎΠ»ΡΠΊΠΎ Apple Silicon
npm run build:mac-universal # Π£Π½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½Π°Ρ ΡΠ±ΠΎΡΠΊΠ°
# Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
npm run lint # ESLint
npm run type-check # TypeScript ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°
./test-app.sh # Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
```
### π€ CI/CD Ρ GitHub Actions
**ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ:**
- π **Build Check** - ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ±ΠΎΡΠΊΠΈ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ push
- π¦ **Auto Version** - Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²Π΅ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°ΠΌ
- π **Release** - Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ±ΠΎΡΠΊΠ° ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ DMG ΡΠ°ΠΉΠ»ΠΎΠ²
```bash
# ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅Π»ΠΈΠ·
git commit -m "β¨ feat: add new scanning feature"
git push origin main
# β ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π²Π΅ΡΡΠΈΡ ΠΈ ΡΠ΅Π»ΠΈΠ·
# Π ΡΡΠ½ΠΎΠΉ ΡΠ΅Π»ΠΈΠ·
./.dev-scripts/version-bump.sh
git push origin v1.2.3
# β ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΡΠ΅ΡΡΡ
```
**ΠΠΎΠ³ΠΈΠΊΠ° Π²Π΅ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ:**
- `π₯ BREAKING` β Major (1.0.0 β 2.0.0)
- `β¨ feat` β Minor (1.0.0 β 1.1.0)
- `π fix` β Patch (1.0.0 β 1.0.1)
### ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ
1. **IPC ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ** Π² `src/main.ts`
2. **Π’ΠΈΠΏΡ** Π² `src/preload.ts`
3. **UI Π»ΠΎΠ³ΠΈΠΊΠ°** Π² `src/App.tsx`
4. **ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ** Π² `src/components/ui/`
## π Changelog
### v1.4.2 (2025-09-02)
- β¨ ΠΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½ PortInput ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
- π§ ΠΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ ΡΠΈΠΏΡ ScanRequest Ρ ΠΏΠΎΠ»ΡΠΌΠΈ portInput ΠΈ portCount
- π¨ ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ ΠΏΠΎΡΡΠΎΠ² Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π² UI
- β‘ ΠΠ½ΠΎΠΏΠΊΠ° ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΡΠΈ ΠΎΡΠΈΠ±ΠΊΠ°Ρ
Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ
- π ΠΡΠΏΡΠ°Π²Π»Π΅Π½Ρ Π²ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ TypeScript Π² App.tsx
- πΎ ΠΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ
- π ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² ΠΏΠΎΡΡΠΎΠ² ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π°
## π€ ΠΠΊΠ»Π°Π΄ Π² ΠΏΡΠΎΠ΅ΠΊΡ
ΠΡ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΡΠ΅ΠΌ Π²ΠΊΠ»Π°Π΄ Π² ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ MacPortScanner!
1. Fork ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
2. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ feature branch (`git checkout -b feature/amazing-feature`)
3. Commit ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ (`git commit -m 'Add amazing feature'`)
4. Push Π² branch (`git push origin feature/amazing-feature`)
5. ΠΡΠΊΡΠΎΠΉΡΠ΅ Pull Request
### ΠΡΠ°Π²ΠΈΠ»Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ TypeScript Π΄Π»Ρ ΡΠΈΠΏΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ
- Π‘Π»Π΅Π΄ΡΠΉΡΠ΅ ESLint ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ
- ΠΠΎΠ±Π°Π²Π»ΡΠΉΡΠ΅ ΡΠ΅ΡΡΡ Π΄Π»Ρ Π½ΠΎΠ²ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ
- ΠΠ±Π½ΠΎΠ²Π»ΡΠΉΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ
## π ΠΠΈΡΠ΅Π½Π·ΠΈΡ
ΠΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠΎΠ²Π°Π½ ΠΏΠΎΠ΄ MIT License - ΡΠΌ. ΡΠ°ΠΉΠ» [LICENSE](LICENSE) Π΄Π»Ρ Π΄Π΅ΡΠ°Π»Π΅ΠΉ.
## π ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°
### ΠΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠΌΠΎΡΡ
- π [ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ](https://github.com/iwizard7/MacPortScanner/wiki)
- π [Π‘ΠΎΠΎΠ±ΡΠΈΡΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅](https://github.com/iwizard7/MacPortScanner/issues)
- π‘ [ΠΡΠ΅Π΄Π»ΠΎΠΆΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ](https://github.com/iwizard7/MacPortScanner/issues)
- π¬ [ΠΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ](https://github.com/iwizard7/MacPortScanner/discussions)
### FAQ
**Q: ΠΠΎΡΠ΅ΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ?**
A: Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Ρ Π²Π°Ρ macOS 10.15+ ΠΈ ΡΠ°Π·ΡΠ΅ΡΠΈΡΠ΅ Π·Π°ΠΏΡΡΠΊ Π² System Preferences β Security & Privacy.
**Q: ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°ΡΡ IPv6?**
A: Π ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ IPv4. IPv6 ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ Π² Π±ΡΠ΄ΡΡΠΈΡ
Π²Π΅ΡΡΠΈΡΡ
.
**Q: ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅?**
A: ΠΠ°, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Electron ΠΈ Π½Π΅ ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ Π»ΠΈΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅.
## π ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ½ΠΎΡΡΠΈ
- [Electron](https://www.electronjs.org/) - ΠΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
- [React](https://reactjs.org/) - UI Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°
- [Tailwind CSS](https://tailwindcss.com/) - CSS ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ
- [Radix UI](https://www.radix-ui.com/) - UI ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ
- [Vite](https://vitejs.dev/) - ΠΡΡΡΡΠ°Ρ ΡΠ±ΠΎΡΠΊΠ°
---
**Π‘Π΄Π΅Π»Π°Π½ΠΎ Ρ β€οΈ Π΄Π»Ρ macOS ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°**
[β ΠΠΎΡΡΠ°Π²ΡΡΠ΅ Π·Π²Π΅Π·Π΄Ρ](https://github.com/iwizard7/MacPortScanner) Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ΅ΠΊΡ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΠ°Π²ΠΈΠ»ΡΡ!
## π ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ
### v1.6.3 - 2025-09-17
π **ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ**
- π Π£Π±ΡΠ°Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
- π§Ή ΠΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π° ΠΏΡΠΎΡΡΠ°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄Π»Ρ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΠΈ
- π ΠΡΠΏΡΠ°Π²Π»Π΅Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ° ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ° ΠΏΡΠΎΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΠΏΠΎΡΡΠΎΠ²
- π§ Π£Π»ΡΡΡΠ΅Π½Π° ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°ΠΌΠΈ
- π― ΠΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΡΠΈΠΊ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ
### v1.5.1 - 2025-09-17
π **Π Π°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠ΅ Π΄Π΅ΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ²**
- π― ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ HTTP ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π½Π° Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ
ΠΏΠΎΡΡΠ°Ρ
- π Π Π°ΡΡΠΈΡΠ΅Π½ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΡΠΎΠ² Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π½Π° 20 Π½ΠΎΠ²ΡΡ
ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² (DHCP, NTP, SNMP, LDAP, SMB, IRC, XMPP ΠΈ Π΄Ρ.)
- β‘ Π£Π»ΡΡΡΠ΅Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ° Π΄Π΅ΡΠ΅ΠΊΡΠΈΠΈ Π΄Π»Ρ Π»ΡΡΡΠ΅Π³ΠΎ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π½Π° Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ
ΠΏΠΎΡΡΠ°Ρ
### v1.5.0 - 2025-09-17
β¨ **ΠΠ΅ΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΏΠΎ Π±Π°Π½Π½Π΅ΡΠ°ΠΌ**
- π ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠ° ΡΠ΅ΡΠ²ΠΈΡΠ° Π½Π° ΠΎΡΠΊΡΡΡΡΡ
ΠΏΠΎΡΡΠ°Ρ
- π Π Π°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΏΠΎΠ»Π΅ΠΌ banner
- π― ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° HTTP/HTTPS, SSH, FTP, SMTP, POP3, IMAP, MySQL, PostgreSQL, Redis, MongoDB
- π§ ΠΠΎΠ΄ΡΠ»ΡΠ½Π°Ρ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ° Ρ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΌ PortScanner ΠΊΠ»Π°ΡΡΠΎΠΌ
- π§ͺ ΠΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΡΠ΅ unit ΡΠ΅ΡΡΡ Π΄Π»Ρ PortScanner
- π ΠΠ±Π½ΠΎΠ²Π»Π΅Π½Π½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ
### v1.4.2 - 2025-09-02
β¨ **ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ ΠΏΠΎΡΡΠΎΠ²**
- π― ΠΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½ PortInput ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Ρ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠ΅ΠΉ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ
- π§ ΠΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ ΡΠΈΠΏΡ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² ΠΏΠΎΡΡΠΎΠ² ΠΈ ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ°
- π¨ Π£Π»ΡΡΡΠ΅Π½ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Ρ ΡΠ²Π΅ΡΠΎΠ²ΠΎΠΉ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ
- β‘ ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈ ΠΎΡΠΈΠ±ΠΊΠ°Ρ
- π ΠΡΠΏΡΠ°Π²Π»Π΅Π½Ρ Π²ΡΠ΅ TypeScript ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ
- πΎ Π£Π»ΡΡΡΠ΅Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ
Π½Π°ΡΡΡΠΎΠ΅ΠΊ
π **ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ:**
- [ΠΠΎΠ»Π½ΡΠΉ changelog](CHANGELOG.md)
- [Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΡΠ΅Π»ΠΈΠ·Π°ΠΌ](RELEASE_GUIDE.md)