jack hace 8 meses
padre
commit
e327583fb5
Se han modificado 3 ficheros con 39 adiciones y 4 borrados
  1. 3 0
      __manifest__.py
  2. 35 4
      models/daily_3dos.py
  3. 1 0
      views/view_daily_3dos.xml

+ 3 - 0
__manifest__.py

@@ -7,6 +7,9 @@
     'summary': 'Web3',
     'description': """Web3""",
     "depends": ["base"],
+    'external_dependencies': {
+        'python': ['httpx', 'web3', 'fake-useragent']
+    },
     "data": [
         "security/ir.model.access.csv",
         "security/security.xml",

+ 35 - 4
models/daily_3dos.py

@@ -3,7 +3,7 @@
 from odoo import models, fields
 from httpx import Client
 from concurrent.futures import ThreadPoolExecutor, as_completed
-
+from fake_useragent import UserAgent
 from odoo.exceptions import UserError
 
 
@@ -74,6 +74,9 @@ class Daily3dos(models.Model):
         email = email
         password = password
 
+        ua = UserAgent()
+        user_agent = ua.random
+
         client = Client(proxy="http://127.0.0.1:7890")
 
         login_url = "https://api.dashboard.3dos.io/api/auth/login"
@@ -91,7 +94,7 @@ class Daily3dos(models.Model):
             "Sec-Fetch-Dest": "empty",
             "Sec-Fetch-Mode": "cors",
             "Sec-Fetch-Site": "same-site",
-            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"
+            "User-Agent": user_agent
         }
         login_payload = {
             "email": email,
@@ -131,7 +134,7 @@ class Daily3dos(models.Model):
             "Sec-Fetch-Dest": "empty",
             "Sec-Fetch-Mode": "cors",
             "Sec-Fetch-Site": "same-site",
-            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"
+            "User-Agent": user_agent
         }
 
         try:
@@ -157,7 +160,7 @@ class Daily3dos(models.Model):
             "Sec-Fetch-Dest": "empty",
             "Sec-Fetch-Mode": "cors",
             "Sec-Fetch-Site": "same-site",
-            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"
+            "User-Agent": user_agent
         }
         claim_payload = {
             "id": "daily-reward-api"
@@ -195,6 +198,11 @@ class Daily3dosLine(models.Model):
     password = fields.Char(string='Password')
     message = fields.Char(string='Message')
 
+    def btn_execute_single(self):
+        for retry in range(3):
+            result = self.daily_3dos_id.account_handle(self.account, self.password)
+            print(result)
+
 
 class Daily3dosConfig(models.Model):
     _name = 'daily.3dos.config'
@@ -204,3 +212,26 @@ class Daily3dosConfig(models.Model):
     account = fields.Char(string='Account')
     password = fields.Char(string='Password')
     description = fields.Text(string='Description')
+
+    def btn_init_data(self):
+        init_data = {
+            "jack0210_@hotmail.com": "aaaAAA111!!!",
+            "yujieccyj01@hotmail.com": "aaaAAA111!!!",
+            "yujieccyj02@hotmail.com": "aaaAAA111!!!",
+            "yujieccyj03@hotmail.com": "aaaAAA111!!!",
+            "yujieccyj04@hotmail.com": "aaaAAA111!!!",
+            "yujieccyj05@hotmail.com": "aaaAAA111!!!",
+            "yujieccyj06@hotmail.com": "aaaAAA111!!!",
+            "yujieccyj07@hotmail.com": "aaaAAA111!!!",
+            "yujieccyj08@hotmail.com": "aaaAAA111!!!",
+            "yujieccyj09@hotmail.com": "aaaAAA111!!!",
+            "yujieccyj10@hotmail.com": "aaaAAA111!!!"
+        }
+
+        for account, password in init_data.items():
+            created = self.search([('account', '=', account)], limit=1)
+            if not created:
+                self.create({
+                    'account': account,
+                    'password': password
+                })

+ 1 - 0
views/view_daily_3dos.xml

@@ -35,6 +35,7 @@
                         <page string="Lines">
                             <field name="daily_3dos_line_ids">
                                 <list string="Lines" editable="bottom">
+                                    <button name="btn_execute_single" string="Execute" type="object" class="oe_highlight"/>
                                     <field name="account"/>
                                     <field name="message"/>
                                     <field name="line_state"/>