nothere990 commited on
Commit
a9cba1d
·
1 Parent(s): ef80b85
Files changed (5) hide show
  1. .env +0 -66
  2. requirements.txt +1 -1
  3. src/ca.pem +26 -0
  4. src/database/model.py +20 -2
  5. youtube-cookies.txt +0 -0
.env DELETED
@@ -1,66 +0,0 @@
1
- # Example .env file for ytdlbot configuration
2
-
3
- # Number of workers (default is 100)
4
- WORKERS=100
5
-
6
- # Telegram app ID
7
- APP_ID=956443
8
-
9
- # Telegram app hash
10
- APP_HASH=314fe48ff04c3e47fc896a8f120c2c5b
11
-
12
- # Telegram bot token
13
- BOT_TOKEN=6867828892:AAH-VzBLZF8qircK-0wivQ1AF2lR7rkbnaE
14
-
15
- # Owner ID, comma-separated
16
- OWNER=790841356
17
-
18
- # List of authorized users, comma-separated
19
- AUTHORIZED_USER=
20
-
21
- # Database connection address, i.e. mysql+pymysql://user:pass@mysql/dbname
22
- DB_DSN=mysql+pymysql://sql3768083:sN7cAqbEDf@sql3.freesqldatabase.com:3306/sql3768083?ssl_disabled=true
23
-
24
- # Redis host, leave it empty to use fakeredis
25
- REDIS_HOST=redis
26
-
27
- # Enable FFMPEG for video processing (True/False)
28
- ENABLE_FFMPEG=False
29
-
30
- # Desired audio format (e.g., mp3, wav), leave it empty to use m4a
31
- AUDIO_FORMAT=
32
-
33
- # Enable m3u8 link support (True/False)
34
- M3U8_SUPPORT=True
35
-
36
- # Enable Aria2 for downloads (True/False)
37
- ENABLE_ARIA2=True
38
-
39
- # Path to Rclone executable
40
- RCLONE_PATH=
41
-
42
- # Enable VIP features (True/False)
43
- ENABLE_VIP=False
44
-
45
- # Payment provider token from Bot Father
46
- PROVIDER_TOKEN=
47
-
48
- # Free downloads allowed per user
49
- FREE_DOWNLOAD=3
50
-
51
- # Rate limit for requests
52
- RATE_LIMIT=120
53
-
54
- # Path for temporary files (ensure the directory exists and is writable)
55
- TMPFILE_PATH=
56
-
57
- # Maximum size for Telegram uploads in MB
58
- TG_NORMAL_MAX_SIZE=2000
59
-
60
- # Maximum URL length in captions
61
- CAPTION_URL_LENGTH_LIMIT=150
62
-
63
- # potoken 'https://github.com/yt-dlp/yt-dlp/wiki/PO-Token-Guide'
64
- POTOKEN=11
65
-
66
- BROWSERS=firefox
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
requirements.txt CHANGED
@@ -1,5 +1,5 @@
1
  tgcrypto>=1.2.5
2
- yt-dlp==2025.1.15
3
  APScheduler>=3.11.0
4
  ffmpeg-python>=0.2.0
5
  PyMySQL>=1.1.1
 
1
  tgcrypto>=1.2.5
2
+ yt-dlp
3
  APScheduler>=3.11.0
4
  ffmpeg-python>=0.2.0
5
  PyMySQL>=1.1.1
src/ca.pem ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIETTCCArWgAwIBAgIUEmlJoYZrDo9U+ewA1hq9i+H2CZgwDQYJKoZIhvcNAQEM
3
+ BQAwQDE+MDwGA1UEAww1MzMxOGZiMzQtMjMzYy00OTg5LTkzZjYtYjc1YzMxZGE1
4
+ MDUzIEdFTiAxIFByb2plY3QgQ0EwHhcNMjUwMjI3MDYwNjMxWhcNMzUwMjI1MDYw
5
+ NjMxWjBAMT4wPAYDVQQDDDUzMzE4ZmIzNC0yMzNjLTQ5ODktOTNmNi1iNzVjMzFk
6
+ YTUwNTMgR0VOIDEgUHJvamVjdCBDQTCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCC
7
+ AYoCggGBAJqU78H3y+By7PggUg8NAUMC0AMESOZQxIPYcvtizDGjgMRcERJgkAzZ
8
+ el8vMh8QrkAM7pwfvqgoDe11gkiOR+mZCrnYuWcr4acCGgY5v+o35wraqfuhFKAg
9
+ 33fNnofEgOWoaMaUOrkCrotX/GCScZ4XHSNQnMq+TSMbC6nyk2vBY1mkn1mbYmu3
10
+ 15pn2Iz9r89dkg/wcOvsfyqmI+J4/RcuXzKX9S/SsdoFhDZTVb3Ets3CrRXG5SfJ
11
+ 4qU8Om4dnc2ak24JCf06D/1U8QZPDi2ZcptoMabeio/gpOjx0NHVxUW/7ttgtmfe
12
+ jjQofbUyy+9AZ3H0xYEu90bnuUjPjpvZlwNFfqTaWhtHA2HvL/hD2f1X5f4VjFcI
13
+ Jrbj+ccRNLTt0nP7R0D5V2esUhtzwx5NDQgmJWn6N7kRjrZmp1FdG73AR37KbdOK
14
+ ebmopRH13k8dHByQC07HDXRY1Oy8S1dbakGQtnhWfZz42LmcGw6ySkUPNP5qZwFl
15
+ BjqjlmVdCQIDAQABoz8wPTAdBgNVHQ4EFgQUFrvWjJT9cWibttbatO7oz3Ijrugw
16
+ DwYDVR0TBAgwBgEB/wIBADALBgNVHQ8EBAMCAQYwDQYJKoZIhvcNAQEMBQADggGB
17
+ AAOUy40s39jLcmicqHnG7HdjQRJRhw7mXmiGNqXhojXjSNsPG2CkO5if9ejsU1Yc
18
+ n+yzZmyaybMojswXTkwmjzX70GC0h+T62OtNm1KINnaBkoRKN9dn/sg0qoga6oOQ
19
+ bVTJvIPyTxjcDwxcc8r5p5j1HQ8t8IRqKk70mBfRErdH70g/ZBr6Jo2FIxwDXOUo
20
+ 498kUJpqnovATLa8BAvb0KxTiAj0MfCEBPBRHfBXmBtAyv4IVx1E1eqGnue/M1rZ
21
+ xPEtGyR1dIiWcVfAXrX0+O8qD2w2nrm0WzqALXuCPeZRljgXpKc4+N68ehWZZyTG
22
+ iXix3S52ZeGXAAMO4bdBZxIj/OzrC7zClVghPl4ln4Zu8LuPak+ZbSkx8sZEP/jX
23
+ zN1waAqjCadCyhHayMbH70K9uNP1mx+AwdhjyjYLRd3it3f+Q1iarZjUhq4Oh6rE
24
+ eKhEQY+A686qq102rIzL6pAgfBCNaGJ62r9wJaDg9Bu01yyJcxizxFN/senzxzNV
25
+ Hw==
26
+ -----END CERTIFICATE-----
src/database/model.py CHANGED
@@ -79,17 +79,35 @@ class Payment(Base):
79
 
80
 
81
  def create_session():
 
 
 
 
82
  engine = create_engine(
83
  os.getenv("DB_DSN"),
84
  pool_size=50,
85
  max_overflow=100,
86
  pool_timeout=30,
87
  pool_recycle=1800,
 
 
 
 
 
 
88
  )
 
 
 
 
 
 
 
 
 
89
  Base.metadata.create_all(engine)
90
  return sessionmaker(bind=engine)
91
-
92
-
93
  SessionFactory = create_session()
94
 
95
 
 
79
 
80
 
81
  def create_session():
82
+ # Get SSL certificate path from environment variable
83
+ # ssl_ca_path = os.getenv("SSL_CA_PATH", "/path/to/ca.pem") # Default path if not set
84
+
85
+ # Create engine with SSL configuration
86
  engine = create_engine(
87
  os.getenv("DB_DSN"),
88
  pool_size=50,
89
  max_overflow=100,
90
  pool_timeout=30,
91
  pool_recycle=1800,
92
+ connect_args={
93
+ "ssl": {
94
+ "ca": "ca.pem",
95
+ "ssl_mode": "REQUIRED"
96
+ }
97
+ }
98
  )
99
+
100
+ # Verify connection works
101
+ try:
102
+ with engine.connect() as conn:
103
+ conn.execute("SELECT 1")
104
+ except Exception as e:
105
+ logging.error("Failed to connect to database: %s", e)
106
+ raise
107
+
108
  Base.metadata.create_all(engine)
109
  return sessionmaker(bind=engine)
110
+
 
111
  SessionFactory = create_session()
112
 
113
 
youtube-cookies.txt DELETED
File without changes