mytunes-pro 1.9.9__tar.gz → 2.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mytunes-pro
3
- Version: 1.9.9
3
+ Version: 2.0.0
4
4
  Summary: A lightweight, keyboard-centric terminal player for streaming YouTube music.
5
5
  Author-email: loxo <loxo5432@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/postgresql-co-kr/mytunes
@@ -19,9 +19,11 @@ Dynamic: license-file
19
19
 
20
20
  # 🎵 MyTunes Pro (Korean)
21
21
 
22
- **현대적인 CLI 유튜브 뮤직 플레이어 (v1.9.9)**
23
- 터미널 환경에서 **YouTube 음악을 검색하여 듣는** 가볍고 빠른 키보드 중심의 플레이어입니다.
24
- 한국어 입력 환경에서도 **숫자 키(1~5)**를 통해 지연 없는 쾌적한 조작이 가능합니다.
22
+ ## 🚀 Professional TUI Music Player v2.0.0
23
+
24
+ MyTunes Pro는 **Context7**의 심층 리서치를 기반으로 제작된 **Premium CLI Music Player**입니다.
25
+ Python `curses` 라이브러리를 사용하여 터미널 환경에서도 **GUI급의 유려한 UX**를 제공하며,
26
+ `mpv` 플레이어의 강력한 IPC 제어 기능을 통해 끊김 없는 백그라운드 재생을 지원합니다.
25
27
 
26
28
  > **💡 개발 배경**
27
29
  > 이 프로그램은 하루 종일 터미널을 보는 개발자들이 **작업 흐름을 끊지 않고** 편하게 음악을 듣기 위해 만들어졌습니다.
@@ -1,8 +1,10 @@
1
1
  # 🎵 MyTunes Pro (Korean)
2
2
 
3
- **현대적인 CLI 유튜브 뮤직 플레이어 (v1.9.9)**
4
- 터미널 환경에서 **YouTube 음악을 검색하여 듣는** 가볍고 빠른 키보드 중심의 플레이어입니다.
5
- 한국어 입력 환경에서도 **숫자 키(1~5)**를 통해 지연 없는 쾌적한 조작이 가능합니다.
3
+ ## 🚀 Professional TUI Music Player v2.0.0
4
+
5
+ MyTunes Pro는 **Context7**의 심층 리서치를 기반으로 제작된 **Premium CLI Music Player**입니다.
6
+ Python `curses` 라이브러리를 사용하여 터미널 환경에서도 **GUI급의 유려한 UX**를 제공하며,
7
+ `mpv` 플레이어의 강력한 IPC 제어 기능을 통해 끊김 없는 백그라운드 재생을 지원합니다.
6
8
 
7
9
  > **💡 개발 배경**
8
10
  > 이 프로그램은 하루 종일 터미널을 보는 개발자들이 **작업 흐름을 끊지 않고** 편하게 음악을 듣기 위해 만들어졌습니다.
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "mytunes-pro"
7
- version = "1.9.9"
7
+ version = "2.0.0"
8
8
  authors = [
9
9
  { name = "loxo", email = "loxo5432@gmail.com" },
10
10
  ]
@@ -23,7 +23,7 @@ warnings.filterwarnings("ignore", message=".*urllib3 v2 only supports OpenSSL 1.
23
23
  import webbrowser
24
24
  import tempfile
25
25
  import shutil
26
- import pusher
26
+
27
27
  import requests
28
28
 
29
29
 
@@ -36,7 +36,7 @@ MPV_SOCKET = "/tmp/mpv_socket"
36
36
  LOG_FILE = "/tmp/mytunes_mpv.log"
37
37
  PID_FILE = "/tmp/mytunes_mpv.pid"
38
38
  APP_NAME = "MyTunes Pro"
39
- APP_VERSION = "1.9.9"
39
+ APP_VERSION = "2.0.0"
40
40
 
41
41
  # === [Strings & Localization] ===
42
42
  STRINGS = {
@@ -446,16 +446,9 @@ class MyTunesApp:
446
446
  curses.mousemask(curses.ALL_MOUSE_EVENTS | curses.REPORT_MOUSE_POSITION)
447
447
  print("\033[?1003h") # Enable mouse tracking
448
448
 
449
- # Pusher Client
450
- try:
451
- self.pusher = pusher.Pusher(
452
- app_id='2106370',
453
- key='44e3d7e4957944c867ec',
454
- secret='0be8e65a287bbccc7369',
455
- cluster='ap3',
456
- ssl=True
457
- )
458
- except: self.pusher = None
449
+ # Sharing Client (Serverless Proxy)
450
+ self.pusher = None # Deprecated: Direct Pusher client removed for security
451
+ self.share_api_url = "https://postgresql.co.kr/api/pusher/mytunes"
459
452
  self.sent_history = {}
460
453
 
461
454
 
@@ -750,7 +743,7 @@ class MyTunesApp:
750
743
  self.status_msg = "⚠️ Already Shared Recently!"
751
744
  else:
752
745
  try:
753
- # Send to Pusher
746
+ # Send to Serverless Proxy (Secure)
754
747
  payload = {
755
748
  "title": title,
756
749
  "url": url,
@@ -758,13 +751,28 @@ class MyTunesApp:
758
751
  "country": self.dm.get_country(),
759
752
  "timestamp": time.time()
760
753
  }
761
- if self.pusher:
762
- self.pusher.trigger('mytunes-pro', 'share-track', payload)
763
- self.sent_history[url] = time.time()
764
- safe_title = self.truncate(title, 50)
765
- self.status_msg = f"🚀 Shared: {safe_title}..."
766
- else:
767
- self.status_msg = "❌ Pusher Error"
754
+
755
+ # v1.9.9 Security Update: Use centralized API with Auth Header
756
+ try:
757
+ headers = {
758
+ "Content-Type": "application/json",
759
+ "x-mytunes-secret": "mytunes-v1-secret-8822"
760
+ }
761
+ resp = requests.post(
762
+ self.share_api_url,
763
+ json=payload,
764
+ headers=headers,
765
+ timeout=3
766
+ )
767
+ if resp.status_code == 200:
768
+ self.sent_history[url] = time.time()
769
+ safe_title = self.truncate(title, 50)
770
+ self.status_msg = f"🚀 Shared: {safe_title}..."
771
+ else:
772
+ self.status_msg = f"❌ Share Error: {resp.status_code}"
773
+ except:
774
+ self.status_msg = "❌ Network Error (API)"
775
+
768
776
  except Exception as e:
769
777
  self.status_msg = f"❌ Share Failed: {str(e)}"
770
778
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mytunes-pro
3
- Version: 1.9.9
3
+ Version: 2.0.0
4
4
  Summary: A lightweight, keyboard-centric terminal player for streaming YouTube music.
5
5
  Author-email: loxo <loxo5432@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/postgresql-co-kr/mytunes
@@ -19,9 +19,11 @@ Dynamic: license-file
19
19
 
20
20
  # 🎵 MyTunes Pro (Korean)
21
21
 
22
- **현대적인 CLI 유튜브 뮤직 플레이어 (v1.9.9)**
23
- 터미널 환경에서 **YouTube 음악을 검색하여 듣는** 가볍고 빠른 키보드 중심의 플레이어입니다.
24
- 한국어 입력 환경에서도 **숫자 키(1~5)**를 통해 지연 없는 쾌적한 조작이 가능합니다.
22
+ ## 🚀 Professional TUI Music Player v2.0.0
23
+
24
+ MyTunes Pro는 **Context7**의 심층 리서치를 기반으로 제작된 **Premium CLI Music Player**입니다.
25
+ Python `curses` 라이브러리를 사용하여 터미널 환경에서도 **GUI급의 유려한 UX**를 제공하며,
26
+ `mpv` 플레이어의 강력한 IPC 제어 기능을 통해 끊김 없는 백그라운드 재생을 지원합니다.
25
27
 
26
28
  > **💡 개발 배경**
27
29
  > 이 프로그램은 하루 종일 터미널을 보는 개발자들이 **작업 흐름을 끊지 않고** 편하게 음악을 듣기 위해 만들어졌습니다.
File without changes
File without changes