2 コミット 06a929149f ... 992a907be1

作者 SHA1 メッセージ 日付
  root 992a907be1 update 4 週間 前
  root 3e5fdc139a update 4 週間 前
6 ファイル変更3105 行追加4 行削除
  1. 1 1
      booker_builtin.py
  2. 9 0
      config/config.json
  3. 1507 0
      config/config_booker.json
  4. 1584 0
      config/config_sentinel.json
  5. 1 0
      requirements.txt
  6. 3 3
      tools/proxy_uploader.py

+ 1 - 1
booker_builtin.py

@@ -294,7 +294,7 @@ class BuiltinBookerGCO:
             instance.set_log(self.m_logger)
             instance.set_config(plg_cfg)
             instance.create_session()
-            
+            success = True
             with self.m_lock:
                 all_keys = [apt.routing_key for apt in self.m_cfg.appointment_types]
                 self.m_tasks.append(

+ 9 - 0
config/config.json

@@ -0,0 +1,9 @@
+{
+  "redis": {
+    "host": "text.skin",
+    "port": 6379,
+    "db": 0,
+    "password": "STEs2x6ML0U1HlpE9SojM6YU7QPhqzY8"
+  },
+  "group_list": []
+}

+ 1507 - 0
config/config_booker.json

@@ -0,0 +1,1507 @@
+{
+  "version": 202606011114,
+  "redis": {
+    "host": "text.skin",
+    "port": 6379,
+    "db": 0,
+    "password": "STEs2x6ML0U1HlpE9SojM6YU7QPhqzY8"
+  },
+  "group_list": [
+    {
+      "identifier": "vfs.ie.nl",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "booker": {
+        "account_source": "built-in",
+        "account_pool_id": "ie.nl.booker",
+        "target_instances": 1,
+        "keep_alive": 120,
+        "account_cd": 10800,
+        "booking_cooldown": 300,
+        "max_bookings_per_account": 8
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "vfs_plugin",
+        "plugin_bin": "vfs_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.dub.nl.tourist",
+          "city": "Dublin",
+          "visa_type": "Tourist",
+          "country": "Netherlands"
+        }
+      ],
+      "website": "https://visa.vfsglobal.com/irl/en/nld/login",
+      "free_config": {
+        "mission_code": "nld",
+        "mission_name": "Netherlands",
+        "country_code": "irl",
+        "country_name": "Ireland",
+        "culture_code": "en-US",
+        "language": "en",
+        "apt_configs": {
+          "slot.dub.nl.tourist": {
+            "center_name": "Netherlands Visa Application Center - Dublin",
+            "address": "Cunningham House, 130 Francis Street, Dublin 8  D08 H48R",
+            "vac_code": "NTDB",
+            "category_name": "All Short stay Categories",
+            "category_code": "TA",
+            "subcategory_name": "Tourist",
+            "subcategory_code": "To"
+          }
+        }
+      }
+    },
+    {
+      "identifier": "vfs.sg.fr",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "booker": {
+        "account_source": "built-in",
+        "account_pool_id": "sg.fr.booker",
+        "target_instances": 1,
+        "keep_alive": 120,
+        "account_cd": 10800,
+        "booking_cooldown": 10,
+        "max_bookings_per_account": 8
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "vfs_plugin",
+        "plugin_bin": "vfs_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.sin.fr.tourist",
+          "city": "Singapore",
+          "visa_type": "Tourist",
+          "country": "France"
+        }
+      ],
+      "website": "https://visa.vfsglobal.com/sgp/en/fra/login",
+      "free_config": {
+        "mission_code": "fra",
+        "mission_name": "France",
+        "country_code": "sgp",
+        "country_name": "Singapore",
+        "culture_code": "en-US",
+        "language": "en",
+        "apt_configs": {
+          "slot.sin.fr.tourist": {
+            "center_name": "France Visa Application Center, Singapore",
+            "address": "79 Anson Road #15-01 Singapore 079906",
+            "vac_code": "FRSN",
+            "category_name": "Short Stay",
+            "category_code": "02",
+            "subcategory_name": "Short Stay Tourist, Family Visit",
+            "subcategory_code": "Six"
+          }
+        }
+      }
+    },
+    {
+      "identifier": "vfs.au.fr",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "booker": {
+        "account_source": "built-in",
+        "account_pool_id": "au.fr.booker",
+        "target_instances": 1,
+        "keep_alive": 120,
+        "account_cd": 10800,
+        "booking_cooldown": 10,
+        "max_bookings_per_account": 8
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "vfs_plugin",
+        "plugin_bin": "vfs_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.syd.fr.tourist",
+          "city": "Sydney",
+          "visa_type": "Tourist",
+          "country": "France"
+        },
+        {
+          "weight": 10,
+          "routing_key": "slot.mel.fr.tourist",
+          "city": "Melbourne",
+          "visa_type": "Tourist",
+          "country": "France"
+        }
+      ],
+      "website": "https://visa.vfsglobal.com/aus/en/fra/login",
+      "free_config": {
+        "mission_code": "fra",
+        "mission_name": "France",
+        "country_code": "aus",
+        "country_name": "Australia",
+        "culture_code": "en-US",
+        "language": "en",
+        "apt_configs": {
+          "slot.syd.fr.tourist": {
+            "center_name": "France Visa Application Center - Sydney",
+            "address": "France Visa Application Center,Level 6, 88 Pitt Street,Sydney NSW 2000",
+            "vac_code": "SYD",
+            "category_name": "VISA",
+            "category_code": "VISA",
+            "subcategory_name": "Short Stay Schengen Visa",
+            "subcategory_code": "ShortStaySchengenVisa"
+          },
+          "slot.mel.fr.tourist": {
+            "center_name": "France Visa Application Center - Melbourne",
+            "address": "Level 5 332 St. Kilda road level 5 Melbourne 3004",
+            "vac_code": "MEL",
+            "category_name": "VISA",
+            "category_code": "VISA",
+            "subcategory_name": "Short Stay Schengen Visa",
+            "subcategory_code": "ShortStaySchengenVisa"
+          }
+        }
+      }
+    },
+    {
+      "identifier": "vfs.gb.it",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "booker": {
+        "account_source": "built-in",
+        "account_pool_id": "gb.it.booker",
+        "target_instances": 0,
+        "keep_alive": 120,
+        "account_cd": 10800,
+        "booking_cooldown": 10,
+        "max_bookings_per_account": 8
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "vfs_plugin",
+        "plugin_bin": "vfs_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 80,
+          "routing_key": "slot.lon.it.tourist",
+          "city": "London",
+          "visa_type": "Tourist",
+          "country": "Italy"
+        },
+        {
+          "weight": 20,
+          "routing_key": "slot.man.it.tourist",
+          "city": "Manchester",
+          "visa_type": "Tourist",
+          "country": "Italy"
+        }
+      ],
+      "website": "https://visa.vfsglobal.com/gbr/en/ita/login",
+      "free_config": {
+        "mission_code": "ita",
+        "mission_name": "Italy",
+        "country_code": "gbr",
+        "country_name": "United Kingdom",
+        "culture_code": "en-US",
+        "language": "en",
+        "apt_configs": {
+          "slot.lon.it.tourist": {
+            "center_name": "Italy Visa Application Centre, London",
+            "address": "Ground floor, 8- 20  Pocock St London SE1 0BW , United Kingdom",
+            "vac_code": "ILON",
+            "category_name": "Italy UK VisaCategory",
+            "category_code": "UKITVED",
+            "subcategory_name": "Tourist/ Business/ EU Family",
+            "subcategory_code": "TBE"
+          },
+          "slot.man.it.tourist": {
+            "center_name": "Italy Visa Application Centre, Manchester",
+            "address": "50 Devonshire Street North, M12 6JH",
+            "vac_code": "IMAN",
+            "category_name": "Italy UK VisaCategory",
+            "category_code": "UKITVED",
+            "subcategory_name": "Tourist/ Business/ EU Family",
+            "subcategory_code": "TBE"
+          }
+        }
+      }
+    },
+    {
+      "identifier": "vfs.gb.nl",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "booker": {
+        "account_source": "built-in",
+        "account_pool_id": "gb.nl.booker",
+        "target_instances": 1,
+        "keep_alive": 120,
+        "account_cd": 10800,
+        "booking_cooldown": 10,
+        "max_bookings_per_account": 8
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "vfs_plugin",
+        "plugin_bin": "vfs_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 90,
+          "routing_key": "slot.lon.nl.tourist",
+          "city": "London",
+          "visa_type": "Tourist",
+          "country": "Netherlands"
+        },
+        {
+          "weight": 10,
+          "routing_key": "slot.man.nl.tourist",
+          "city": "Manchester",
+          "visa_type": "Tourist",
+          "country": "Netherlands"
+        }
+      ],
+      "website": "https://visa.vfsglobal.com/gbr/en/nld/login",
+      "free_config": {
+        "mission_code": "nld",
+        "mission_name": "Netherland",
+        "country_code": "gbr",
+        "country_name": "United Kingdom",
+        "culture_code": "en-US",
+        "language": "en",
+        "apt_configs": {
+          "slot.lon.nl.tourist": {
+            "center_name": "Netherlands Visa application centre - London",
+            "address": "66 Wilson Street, EC2A 2BT",
+            "vac_code": "NAKN",
+            "category_name": "Schengen Visa",
+            "category_code": "Schengen Visa",
+            "subcategory_name": "Tourism",
+            "subcategory_code": "TA"
+          },
+          "slot.man.nl.tourist": {
+            "center_name": "Netherlands Visa application centre - Manchester",
+            "address": "50 Devonshire Street North, M12 6JH",
+            "vac_code": "NAKT",
+            "category_name": "Schengen Visa",
+            "category_code": "Schengen Visa",
+            "subcategory_name": "Tourism",
+            "subcategory_code": "TA"
+          }
+        }
+      }
+    },
+    {
+      "identifier": "vfs.gb.no",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "booker": {
+        "account_source": "built-in",
+        "account_pool_id": "gb.no.booker",
+        "target_instances": 1,
+        "keep_alive": 120,
+        "account_cd": 10800,
+        "booking_cooldown": 10,
+        "max_bookings_per_account": 8
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "vfs_plugin",
+        "plugin_bin": "vfs_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.lon.no.tourist",
+          "city": "London",
+          "visa_type": "Tourist",
+          "country": "Norway"
+        }
+      ],
+      "website": "https://visa.vfsglobal.com/gbr/en/nor/login",
+      "free_config": {
+        "mission_code": "nor",
+        "mission_name": "Norway",
+        "country_code": "gbr",
+        "country_name": "United Kingdom",
+        "culture_code": "en-US",
+        "language": "en",
+        "apt_configs": {
+          "slot.lon.no.tourist": {
+            "center_name": "Norway Visa Application Centre, London",
+            "address": "66 Wilson street, EC2A 2BT",
+            "vac_code": "NLON",
+            "category_name": "Schengen Visa C",
+            "category_code": "SCHVISA",
+            "subcategory_name": "Tourist Visa",
+            "subcategory_code": "TOU"
+          }
+        }
+      }
+    },
+    {
+      "identifier": "vfs.ie.at",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "booker": {
+        "account_source": "built-in",
+        "account_pool_id": "ie.at.booker",
+        "target_instances": 1,
+        "keep_alive": 120,
+        "account_cd": 10800,
+        "booking_cooldown": 300,
+        "max_bookings_per_account": 8
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "vfs_plugin",
+        "plugin_bin": "vfs_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.dub.at.tourist",
+          "city": "Dublin",
+          "visa_type": "Tourist",
+          "country": "Austria"
+        }
+      ],
+      "website": "https://visa.vfsglobal.com/irl/en/aut/login",
+      "free_config": {
+        "mission_code": "aut",
+        "mission_name": "Austria",
+        "country_code": "irl",
+        "country_name": "Ireland",
+        "culture_code": "en-US",
+        "language": "en",
+        "apt_configs": {
+          "slot.dub.at.tourist": {
+            "center_name": "Austria / Switzerland / Liechtenstein/ Slovenia Visa Application Center, Dublin",
+            "address": "Cunningham House, 130 Francis Street, Dublin 8 D08 H48R",
+            "vac_code": "AUT-DUB",
+            "category_name": "Other Visas",
+            "category_code": "Default_Austria_Ireland ",
+            "subcategory_name": "All Visas ",
+            "subcategory_code": "TA"
+          }
+        }
+      }
+    },
+    {
+      "identifier": "vfs.ie.dk",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "booker": {
+        "account_source": "built-in",
+        "account_pool_id": "ie.dk.booker",
+        "target_instances": 1,
+        "keep_alive": 120,
+        "account_cd": 10800,
+        "booking_cooldown": 10,
+        "max_bookings_per_account": 8
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "vfs_plugin",
+        "plugin_bin": "vfs_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.dub.dk.tourist",
+          "city": "Dublin",
+          "visa_type": "Tourist",
+          "country": "Denmark"
+        }
+      ],
+      "website": "https://visa.vfsglobal.com/irl/en/dnk/login",
+      "free_config": {
+        "mission_code": "dnk",
+        "mission_name": "Denmark",
+        "country_code": "irl",
+        "country_name": "Ireland",
+        "culture_code": "en-US",
+        "language": "en",
+        "apt_configs": {
+          "slot.dub.dk.tourist": {
+            "center_name": "Denmark Visa Application Center, Dublin ",
+            "address": "Cunningham House, 130 Francis Street, Dublin 8 D08 H48R",
+            "vac_code": "DIDUB",
+            "category_name": "Schengen Visa",
+            "category_code": "SV",
+            "subcategory_name": "Tourism",
+            "subcategory_code": "TV"
+          }
+        }
+      }
+    },
+    {
+      "identifier": "vfs.ie.fi",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "booker": {
+        "account_source": "built-in",
+        "account_pool_id": "ie.fi.booker",
+        "target_instances": 1,
+        "keep_alive": 120,
+        "account_cd": 10800,
+        "booking_cooldown": 10,
+        "max_bookings_per_account": 8
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "vfs_plugin",
+        "plugin_bin": "vfs_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.dub.fi.tourist",
+          "city": "Dublin",
+          "visa_type": "Tourist",
+          "country": "Finland"
+        }
+      ],
+      "website": "https://visa.vfsglobal.com/irl/en/fin/login",
+      "free_config": {
+        "mission_code": "fin",
+        "mission_name": "Finland",
+        "country_code": "irl",
+        "country_name": "Ireland",
+        "culture_code": "en-US",
+        "language": "en",
+        "apt_configs": {
+          "slot.dub.fi.tourist": {
+            "center_name": "Application Centre, Dublin",
+            "address": "Cunningham House, 130 Francis Street, Dublin 8 D08 H48R",
+            "vac_code": "Dubb",
+            "category_name": "VISA",
+            "category_code": "S S",
+            "subcategory_name": "Tourist Category",
+            "subcategory_code": "Tourist Category"
+          }
+        }
+      }
+    },
+    {
+      "identifier": "vfs.ie.hu",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "booker": {
+        "account_source": "built-in",
+        "account_pool_id": "ie.hu.booker",
+        "target_instances": 1,
+        "keep_alive": 120,
+        "account_cd": 10800,
+        "booking_cooldown": 180,
+        "max_bookings_per_account": 8
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "vfs_plugin",
+        "plugin_bin": "vfs_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.dub.hu.tourist",
+          "city": "Dublin",
+          "visa_type": "Tourist",
+          "country": "Hungary"
+        }
+      ],
+      "website": "https://visa.vfsglobal.com/irl/en/hun/login",
+      "free_config": {
+        "mission_code": "hun",
+        "mission_name": "Hungary",
+        "country_code": "irl",
+        "country_name": "Ireland",
+        "culture_code": "en-US",
+        "language": "en",
+        "apt_configs": {
+          "slot.dub.hu.tourist": {
+            "center_name": "Ireland Visa Application Center,Dublin",
+            "address": "Cunningham House, 130 Francis Street Dublin",
+            "vac_code": "DUB",
+            "category_name": "Short Stay",
+            "category_code": "SS",
+            "subcategory_name": "Schengen Visa",
+            "subcategory_code": "Schengen Visa"
+          }
+        }
+      }
+    },
+    {
+      "identifier": "vfs.ie.is",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "booker": {
+        "account_source": "built-in",
+        "account_pool_id": "ie.is.booker",
+        "target_instances": 0,
+        "keep_alive": 120,
+        "account_cd": 10800,
+        "booking_cooldown": 10,
+        "max_bookings_per_account": 8
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "vfs_plugin",
+        "plugin_bin": "vfs_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.dub.is.tourist",
+          "city": "Dublin",
+          "visa_type": "Tourist",
+          "country": "Iceland"
+        }
+      ],
+      "website": "https://visa.vfsglobal.com/irl/en/isl/login",
+      "free_config": {
+        "mission_code": "isl",
+        "mission_name": "Iceland",
+        "country_code": "irl",
+        "country_name": "Ireland",
+        "culture_code": "en-US",
+        "language": "en",
+        "apt_configs": {
+          "slot.dub.is.tourist": {
+            "center_name": "Iceland Visa Application Center- Dublin",
+            "address": "Cunningham House, 130 Francis Street, Dublin, Ireland- DO8 H48R",
+            "vac_code": "DUB",
+            "category_name": "C-Visa",
+            "category_code": "CVI",
+            "subcategory_name": "Tourism",
+            "subcategory_code": "OTT"
+          }
+        }
+      }
+    },
+    {
+      "identifier": "vfs.gb.at",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "booker": {
+        "account_source": "built-in",
+        "account_pool_id": "gb.at.booker",
+        "target_instances": 1,
+        "keep_alive": 120,
+        "account_cd": 10800,
+        "booking_cooldown": 10,
+        "max_bookings_per_account": 8
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "vfs_plugin",
+        "plugin_bin": "vfs_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.lon.at.tourist",
+          "city": "London",
+          "visa_type": "Tourist",
+          "country": "Austria"
+        }
+      ],
+      "website": "https://visa.vfsglobal.com/gbr/en/aut/login",
+      "free_config": {
+        "mission_code": "aut",
+        "mission_name": "Austria",
+        "country_code": "gbr",
+        "country_name": "United Kingdom",
+        "culture_code": "en-US",
+        "language": "en",
+        "apt_configs": {
+          "slot.lon.at.tourist": {
+            "center_name": "Austria Visa Application Centre, London",
+            "address": "66 Wilson Street, EC2A 2BT",
+            "vac_code": "ADN",
+            "category_name": "Visa  to  Austria",
+            "category_code": "Visa  to  Austria",
+            "subcategory_name": "Tourism",
+            "subcategory_code": "TA"
+          }
+        }
+      }
+    },
+    {
+      "identifier": "bls.ie.es",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "spain-isp"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 3600,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "booker": {
+        "account_source": "order",
+        "target_instances": 0,
+        "keep_alive": 120,
+        "account_cd": 10800,
+        "booking_cooldown": 10,
+        "max_bookings_per_account": 1
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "bls_plugin",
+        "plugin_bin": "bls_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.dub.es.tourist",
+          "city": "Dublin",
+          "visa_type": "Tourist",
+          "country": "Spain"
+        }
+      ],
+      "website": "https://ireland.blsspainglobal.com/Global/bls/visatypeverification",
+      "free_config": {
+        "domain": "ireland.blsspainglobal.com",
+        "ocr_model": "data/ctc.pth",
+        "apt_configs": {
+          "slot.dub.es.tourist": {
+            "location": "Dublin",
+            "jurisdiction": null,
+            "visa_type": "Schengen Visa/ Short Term Visa",
+            "visa_subtype": "Tourist Visa",
+            "appointment_type": "Individual",
+            "appointment_category": "Normal",
+            "mission_code": "EMBASSY_DUBLIN"
+          }
+        }
+      }
+    },
+    {
+      "identifier": "bls.gb.es",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "spain-isp"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 3600,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "booker": {
+        "account_source": "order",
+        "target_instances": 0,
+        "keep_alive": 120,
+        "account_cd": 10800,
+        "booking_cooldown": 10,
+        "max_bookings_per_account": 1
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "bls_plugin",
+        "plugin_bin": "bls_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.lon.es.tourist",
+          "city": "London",
+          "visa_type": "Tourist",
+          "country": "Spain"
+        }
+      ],
+      "website": "https://uk.blsspainglobal.com/Global/bls/visatypeverification",
+      "free_config": {
+        "domain": "uk.blsspainglobal.com",
+        "ocr_model": "data/ocr.pth",
+        "apt_configs": {
+          "slot.lon.es.tourist": {
+            "location": "Dublin",
+            "jurisdiction": "Greater London",
+            "visa_type": "Short Term Visa(Maximum stay of 90 days)",
+            "visa_subtype": "Tourist Visa",
+            "appointment_type": "Individual",
+            "appointment_category": "Normal",
+            "mission_code": "LHR"
+          }
+        }
+      }
+    },
+    {
+      "identifier": "tls.gb.fr",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 900,
+      "session_max_life": 1800,
+      "active_time_start": "07:00",
+      "active_time_end": "17:30",
+      "booker": {
+        "account_source": "order",
+        "target_instances": 1,
+        "keep_alive": 60,
+        "account_cd": 1800,
+        "booking_cooldown": 3,
+        "max_bookings_per_account": 1
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "tls_plugin",
+        "plugin_bin": "tls_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.lon.fr.tourist",
+          "city": "London",
+          "visa_type": "Tourist",
+          "country": "France"
+        }
+      ],
+      "website": "https://visas-fr.tlscontact.com/en-us/country/gb/vac/gbLON2fr",
+      "free_config": {
+        "tls_url": "https://visas-fr.tlscontact.com/en-us/country/gb/vac/gbLON2fr",
+        "location": "London",
+        "capsolver_key": "CAP-5441DD341DD3CC2FAEF0BE6FE493EE9A",
+        "login_captcha": {
+          "solve_advance": true,
+          "site_key": "6LcDpXcfAAAAAM7wOEsF_38DNsL20tTvPTKxpyn0",
+          "page_url": "https://i2-auth.visas-fr.tlscontact.com",
+          "task": "ReCaptchaV2TaskProxyLess"
+        }
+      }
+    },
+    {
+      "identifier": "tls.cn.hgh.fr",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 900,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "15:30",
+      "booker": {
+        "account_source": "order",
+        "target_instances": 1,
+        "keep_alive": 60,
+        "account_cd": 1800,
+        "booking_cooldown": 3,
+        "max_bookings_per_account": 1
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "tls_plugin",
+        "plugin_bin": "tls_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.hgh.fr.tourist",
+          "city": "Hangzhou",
+          "visa_type": "Tourist",
+          "country": "France"
+        }
+      ],
+      "website": "https://visas-fr.tlscontact.com/en-us/country/cn/vac/cnHGH2fr",
+      "free_config": {
+        "tls_url": "https://visas-fr.tlscontact.com/en-us/country/cn/vac/cnHGH2fr",
+        "location": "Hangzhou",
+        "capsolver_key": "CAP-5441DD341DD3CC2FAEF0BE6FE493EE9A",
+        "login_captcha": {
+          "solve_advance": false,
+          "site_key": "6LcDpXcfAAAAAM7wOEsF_38DNsL20tTvPTKxpyn0",
+          "page_url": "https://i2-auth.visas-fr.tlscontact.com",
+          "task": "ReCaptchaV2TaskProxyLess"
+        }
+      }
+    },
+    {
+      "identifier": "tls.cn.can.fr",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 900,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "15:30",
+      "booker": {
+        "account_source": "order",
+        "target_instances": 1,
+        "keep_alive": 60,
+        "account_cd": 1800,
+        "booking_cooldown": 3,
+        "max_bookings_per_account": 1
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "tls_plugin",
+        "plugin_bin": "tls_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.can.fr.tourist",
+          "city": "Guangzhou",
+          "visa_type": "Tourist",
+          "country": "France"
+        }
+      ],
+      "website": "https://visas-fr.tlscontact.com/en-us/country/cn/vac/cnHCAN2fr",
+      "free_config": {
+        "tls_url": "https://visas-fr.tlscontact.com/en-us/country/cn/vac/cnHCAN2fr",
+        "location": "Guangzhou",
+        "capsolver_key": "CAP-5441DD341DD3CC2FAEF0BE6FE493EE9A",
+        "login_captcha": {
+          "solve_advance": false,
+          "site_key": "6LcDpXcfAAAAAM7wOEsF_38DNsL20tTvPTKxpyn0",
+          "page_url": "https://i2-auth.visas-fr.tlscontact.com",
+          "task": "ReCaptchaV2TaskProxyLess"
+        }
+      }
+    },
+    {
+      "identifier": "tls.cn.bjs.fr",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 900,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "15:30",
+      "booker": {
+        "account_source": "order",
+        "target_instances": 1,
+        "keep_alive": 60,
+        "account_cd": 1800,
+        "booking_cooldown": 3,
+        "max_bookings_per_account": 1
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "tls_plugin",
+        "plugin_bin": "tls_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.bjs.fr.tourist",
+          "city": "Beijing",
+          "visa_type": "Tourist",
+          "country": "France"
+        }
+      ],
+      "website": "https://visas-fr.tlscontact.com/en-us/country/cn/vac/cnBJS2fr",
+      "free_config": {
+        "tls_url": "https://visas-fr.tlscontact.com/en-us/country/cn/vac/cnBJS2fr",
+        "location": "Beijing",
+        "capsolver_key": "CAP-5441DD341DD3CC2FAEF0BE6FE493EE9A",
+        "login_captcha": {
+          "solve_advance": false,
+          "site_key": "6LcDpXcfAAAAAM7wOEsF_38DNsL20tTvPTKxpyn0",
+          "page_url": "https://i2-auth.visas-fr.tlscontact.com",
+          "task": "ReCaptchaV2TaskProxyLess"
+        }
+      }
+    },
+    {
+      "identifier": "tls.cn.sha.fr",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 900,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "15:30",
+      "booker": {
+        "account_source": "order",
+        "target_instances": 1,
+        "keep_alive": 60,
+        "account_cd": 1800,
+        "booking_cooldown": 3,
+        "max_bookings_per_account": 1
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "tls_plugin",
+        "plugin_bin": "tls_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.sha.fr.tourist",
+          "city": "Shanghai",
+          "visa_type": "Tourist",
+          "country": "France"
+        }
+      ],
+      "website": "https://visas-fr.tlscontact.com/en-us/country/cn/vac/cnSHA2fr",
+      "free_config": {
+        "tls_url": "https://visas-fr.tlscontact.com/en-us/country/cn/vac/cnSHA2fr",
+        "location": "Shanghai",
+        "capsolver_key": "CAP-5441DD341DD3CC2FAEF0BE6FE493EE9A",
+        "login_captcha": {
+          "solve_advance": false,
+          "site_key": "6LcDpXcfAAAAAM7wOEsF_38DNsL20tTvPTKxpyn0",
+          "page_url": "https://i2-auth.visas-fr.tlscontact.com",
+          "task": "ReCaptchaV2TaskProxyLess"
+        }
+      }
+    },
+    {
+      "identifier": "tls.ie.fr",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 900,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "booker": {
+        "account_source": "order",
+        "target_instances": 1,
+        "keep_alive": 60,
+        "account_cd": 1800,
+        "booking_cooldown": 3,
+        "max_bookings_per_account": 1
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "tls_plugin",
+        "plugin_bin": "tls_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.dub.fr.tourist",
+          "city": "Dublin",
+          "visa_type": "Tourist",
+          "country": "France"
+        }
+      ],
+      "website": "https://visas-fr.tlscontact.com/en-us/country/ie/vac/ieDUB2fr",
+      "free_config": {
+        "tls_url": "https://visas-fr.tlscontact.com/en-us/country/ie/vac/ieDUB2fr",
+        "location": "Dublin",
+        "capsolver_key": "CAP-5441DD341DD3CC2FAEF0BE6FE493EE9A",
+        "login_captcha": {
+          "solve_advance": false,
+          "site_key": "6LcDpXcfAAAAAM7wOEsF_38DNsL20tTvPTKxpyn0",
+          "page_url": "https://i2-auth.visas-fr.tlscontact.com",
+          "task": "ReCaptchaV2TaskProxyLess"
+        }
+      }
+    },
+    {
+      "identifier": "vfs.cn.at",
+      "debug": false,
+      "enable": true,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "booker": {
+        "account_source": "built-in",
+        "account_pool_id": "cn.at.booker",
+        "target_instances": 1,
+        "keep_alive": 120,
+        "account_cd": 10800,
+        "booking_cooldown": 10,
+        "max_bookings_per_account": 8
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "vfs_plugin",
+        "plugin_bin": "vfs_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 1,
+          "routing_key": "slot.bjs.at.tourist",
+          "city": "Beijing",
+          "visa_type": "Tourist",
+          "country": "Austria"
+        },
+        {
+          "weight": 0,
+          "routing_key": "slot.can.at.tourist",
+          "city": "Guangzhou",
+          "visa_type": "Tourist",
+          "country": "Austria"
+        },
+        {
+          "weight": 0,
+          "routing_key": "slot.szx.at.tourist",
+          "city": "Shenzhen",
+          "visa_type": "Tourist",
+          "country": "Austria"
+        },
+        {
+          "weight": 1,
+          "routing_key": "slot.sha.at.tourist",
+          "city": "Shanghai",
+          "visa_type": "Tourist",
+          "country": "Austria"
+        }
+      ],
+      "website": "https://visa.vfsglobal.com/chn/en/aut/login",
+      "free_config": {
+        "mission_code": "aut",
+        "mission_name": "Austria",
+        "country_code": "chn",
+        "country_name": "China",
+        "culture_code": "en-US",
+        "language": "en",
+        "apt_configs": {
+          "slot.bjs.at.tourist": {
+            "center_name": "Austria Visa Application Center, Beijing",
+            "address": "7/F, GAL Tower, No. 78, Pazhou Avenue, Haizhu District",
+            "vac_code": "Bei",
+            "category_name": "Visa Type C-Schengen",
+            "category_code": "VTC",
+            "subcategory_name": "Tourism (90 days)",
+            "subcategory_code": "TR"
+          },
+          "slot.can.at.tourist": {
+            "center_name": "Austria Visa Application Center, Guangzhou",
+            "address": "7/F, GAL Tower, No. 78, Pazhou Avenue, Haizhu District",
+            "vac_code": "Gua",
+            "category_name": "Visa Type C-Schengen",
+            "category_code": "VTC",
+            "subcategory_name": "Tourism (90 days)",
+            "subcategory_code": "TR"
+          },
+          "slot.sha.at.tourist": {
+            "center_name": "Austria Visa Application Center, Shanghai",
+            "address": "3F, Jiushi Commercial Building, No. 213, Middle Sichuan Road, Huangpu District",
+            "vac_code": "Shaa",
+            "category_name": "Visa Type C - Tourism Visa",
+            "category_code": "TT",
+            "subcategory_name": "Visa Type C - Tourism Visa",
+            "subcategory_code": "VTCT"
+          },
+          "slot.szx.at.tourist": {
+            "center_name": "Austria Visa Application Center, Shenzhen",
+            "address": "Unit 2303, Floor 23, East Tower, C Future City, No. 9285 Binhe Avenue, Futian District",
+            "vac_code": "ASSZA",
+            "category_name": "Visa Type C-Schengen",
+            "category_code": "VTC",
+            "subcategory_name": "Tourism (90 days)",
+            "subcategory_code": "TR"
+          }
+        }
+      }
+    },
+    {
+      "identifier": "e-konsulat.ie.pl",
+      "debug": false,
+      "enable": false,
+      "need_account": false,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "booker": {
+        "account_source": "",
+        "target_instances": 0,
+        "account_cd": 0,
+        "booking_cooldown": 10,
+        "max_bookings_per_account": 1
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "pol_plugin",
+        "plugin_bin": "pol_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.dub.pl.tourist",
+          "city": "Dublin",
+          "visa_type": "Tourist",
+          "country": "Poland"
+        }
+      ],
+      "website": "https://secure.e-konsulat.gov.pl/placowki/151/wiza-schengen/wizyty/weryfikacja-obrazkowa",
+      "free_config": {
+        "query_url": "https://secure.e-konsulat.gov.pl/placowki/151/wiza-schengen/wizyty/weryfikacja-obrazkowa",
+        "service_type": "Wiza Schengen",
+        "location": "Dublin"
+      }
+    },
+    {
+      "identifier": "e-konsulat.jp.pl",
+      "debug": false,
+      "enable": false,
+      "need_account": false,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "booker": {
+        "account_source": "",
+        "target_instances": 0,
+        "account_cd": 0,
+        "booking_cooldown": 10,
+        "max_bookings_per_account": 1
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "pol_plugin",
+        "plugin_bin": "pol_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.tyo.pl.tourist",
+          "city": "Tokyo",
+          "visa_type": "Tourist",
+          "country": "Poland"
+        }
+      ],
+      "website": "https://secure.e-konsulat.gov.pl/placowki/178/wiza-krajowa/wizyty/weryfikacja-obrazkowa",
+      "free_config": {
+        "query_url": "https://secure.e-konsulat.gov.pl/placowki/178/wiza-krajowa/wizyty/weryfikacja-obrazkowa",
+        "service_type": "wiza krajowa",
+        "location": "Tokio"
+      }
+    },
+    {
+      "identifier": "visaonweb.ie.be",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "local"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 10800,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "booker": {
+        "account_source": "",
+        "target_instances": 0,
+        "account_cd": 0,
+        "booking_cooldown": 10,
+        "max_bookings_per_account": 1
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "bel_plugin",
+        "plugin_bin": "bel_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.dub.be.tourist",
+          "city": "Dublin",
+          "visa_type": "Tourist",
+          "country": "Belgium"
+        }
+      ],
+      "website": "https://visaonweb.diplomatie.be/en",
+      "free_config": {
+        "capsolver_key": "CAP-5441DD341DD3CC2FAEF0BE6FE493EE9A"
+      }
+    },
+    {
+      "identifier": "visametric.ie.de",
+      "debug": false,
+      "enable": false,
+      "need_account": false,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 900,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "booker": {
+        "account_source": "",
+        "account_pool_id": "",
+        "target_instances": 1,
+        "account_cd": 0,
+        "booking_cooldown": 10,
+        "max_bookings_per_account": 1
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "de_plugin",
+        "plugin_bin": "de_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.dub.de.tourist",
+          "city": "Dublin",
+          "visa_type": "Tourist",
+          "country": "Germany"
+        }
+      ],
+      "website": "https://ie-appointment.visametric.com/en",
+      "free_config": {
+        "base_url": "https://ie-appointment.visametric.com",
+        "consularid": 1
+      }
+    },
+    {
+      "identifier": "pernotami.ie.it",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 900,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "booker": {
+        "account_source": "order",
+        "target_instances": 1,
+        "keep_alive": 120,
+        "account_cd": 10800,
+        "booking_cooldown": 10,
+        "max_bookings_per_account": 1
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "ita_plugin",
+        "plugin_bin": "ita_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.dub.it.tourist",
+          "city": "Dublin",
+          "visa_type": "Tourist",
+          "country": "Italy"
+        }
+      ],
+      "website": "https://prenotami.esteri.it/Home",
+      "free_config": {
+        "capsolver_key": "03db1d1ff2f4a33e84ef1da99bd83336bed3710153525"
+      }
+    },
+    {
+      "identifier": "greekemba.ie.gr",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 86400,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "booker": {
+        "account_source": "order",
+        "target_instances": 10,
+        "keep_alive": 120,
+        "account_cd": 10800,
+        "booking_cooldown": 30,
+        "max_bookings_per_account": 1
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "grc_plugin",
+        "plugin_bin": "grc_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.dub.gr.tourist",
+          "city": "Dublin",
+          "visa_type": "Tourist",
+          "country": "Greece"
+        }
+      ],
+      "website": "https://www.supersaas.com/schedule/GreekEmbassyInDublin/Visas",
+      "free_config": {}
+    }
+  ]
+}

+ 1584 - 0
config/config_sentinel.json

@@ -0,0 +1,1584 @@
+{
+  "version": 202606011112,
+  "redis": {
+    "host": "text.skin",
+    "port": 6379,
+    "db": 0,
+    "password": "STEs2x6ML0U1HlpE9SojM6YU7QPhqzY8"
+  },
+  "group_list": [
+    {
+      "identifier": "vfs.ie.nl",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "sentinel": {
+        "account_source": "built-in",
+        "account_pool_id": "ie.nl.sentinel",
+        "target_instances": 1,
+        "account_cd": 10800,
+        "signal_ttl": 30,
+        "query_wait": {
+          "mode": "Random",
+          "fixed_wait": 10,
+          "random_min": 60,
+          "random_max": 300
+        }
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "vfs_plugin",
+        "plugin_bin": "vfs_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.dub.nl.tourist",
+          "city": "Dublin",
+          "visa_type": "Tourist",
+          "country": "Netherlands"
+        }
+      ],
+      "website": "https://visa.vfsglobal.com/irl/en/nld/login",
+      "free_config": {
+        "mission_code": "nld",
+        "mission_name": "Netherlands",
+        "country_code": "irl",
+        "country_name": "Ireland",
+        "culture_code": "en-US",
+        "language": "en",
+        "apt_configs": {
+          "slot.dub.nl.tourist": {
+            "center_name": "Netherlands Visa Application Center - Dublin",
+            "address": "Cunningham House, 130 Francis Street, Dublin 8  D08 H48R",
+            "vac_code": "NTDB",
+            "category_name": "All Short stay Categories",
+            "category_code": "TA",
+            "subcategory_name": "Tourist",
+            "subcategory_code": "To"
+          }
+        }
+      }
+    },
+    {
+      "identifier": "vfs.sg.fr",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "sentinel": {
+        "account_source": "built-in",
+        "account_pool_id": "sg.fr.sentinel",
+        "target_instances": 1,
+        "account_cd": 10800,
+        "signal_ttl": 30,
+        "query_wait": {
+          "mode": "Random",
+          "fixed_wait": 10,
+          "random_min": 60,
+          "random_max": 300
+        }
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "vfs_plugin",
+        "plugin_bin": "vfs_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.sin.fr.tourist",
+          "city": "Singapore",
+          "visa_type": "Tourist",
+          "country": "France"
+        }
+      ],
+      "website": "https://visa.vfsglobal.com/sgp/en/fra/login",
+      "free_config": {
+        "mission_code": "fra",
+        "mission_name": "France",
+        "country_code": "sgp",
+        "country_name": "Singapore",
+        "culture_code": "en-US",
+        "language": "en",
+        "apt_configs": {
+          "slot.sin.fr.tourist": {
+            "center_name": "France Visa Application Center, Singapore",
+            "address": "79 Anson Road #15-01 Singapore 079906",
+            "vac_code": "FRSN",
+            "category_name": "Short Stay",
+            "category_code": "02",
+            "subcategory_name": "Short Stay Tourist, Family Visit",
+            "subcategory_code": "Six"
+          }
+        }
+      }
+    },
+    {
+      "identifier": "vfs.au.fr",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "sentinel": {
+        "account_source": "built-in",
+        "account_pool_id": "au.fr.sentinel",
+        "target_instances": 1,
+        "account_cd": 10800,
+        "signal_ttl": 30,
+        "query_wait": {
+          "mode": "Random",
+          "fixed_wait": 10,
+          "random_min": 60,
+          "random_max": 300
+        }
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "vfs_plugin",
+        "plugin_bin": "vfs_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.syd.fr.tourist",
+          "city": "Sydney",
+          "visa_type": "Tourist",
+          "country": "France"
+        },
+        {
+          "weight": 10,
+          "routing_key": "slot.mel.fr.tourist",
+          "city": "Melbourne",
+          "visa_type": "Tourist",
+          "country": "France"
+        }
+      ],
+      "website": "https://visa.vfsglobal.com/aus/en/fra/login",
+      "free_config": {
+        "mission_code": "fra",
+        "mission_name": "France",
+        "country_code": "aus",
+        "country_name": "Australia",
+        "culture_code": "en-US",
+        "language": "en",
+        "apt_configs": {
+          "slot.syd.fr.tourist": {
+            "center_name": "France Visa Application Center - Sydney",
+            "address": "France Visa Application Center,Level 6, 88 Pitt Street,Sydney NSW 2000",
+            "vac_code": "SYD",
+            "category_name": "VISA",
+            "category_code": "VISA",
+            "subcategory_name": "Short Stay Schengen Visa",
+            "subcategory_code": "ShortStaySchengenVisa"
+          },
+          "slot.mel.fr.tourist": {
+            "center_name": "France Visa Application Center - Melbourne",
+            "address": "Level 5 332 St. Kilda road level 5 Melbourne 3004",
+            "vac_code": "MEL",
+            "category_name": "VISA",
+            "category_code": "VISA",
+            "subcategory_name": "Short Stay Schengen Visa",
+            "subcategory_code": "ShortStaySchengenVisa"
+          }
+        }
+      }
+    },
+    {
+      "identifier": "vfs.gb.it",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "sentinel": {
+        "account_source": "built-in",
+        "account_pool_id": "gb.it.sentinel",
+        "target_instances": 1,
+        "account_cd": 10800,
+        "signal_ttl": 30,
+        "query_wait": {
+          "mode": "Random",
+          "fixed_wait": 10,
+          "random_min": 60,
+          "random_max": 300
+        }
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "vfs_plugin",
+        "plugin_bin": "vfs_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 80,
+          "routing_key": "slot.lon.it.tourist",
+          "city": "London",
+          "visa_type": "Tourist",
+          "country": "Italy"
+        },
+        {
+          "weight": 20,
+          "routing_key": "slot.man.it.tourist",
+          "city": "Manchester",
+          "visa_type": "Tourist",
+          "country": "Italy"
+        }
+      ],
+      "website": "https://visa.vfsglobal.com/gbr/en/ita/login",
+      "free_config": {
+        "mission_code": "ita",
+        "mission_name": "Italy",
+        "country_code": "gbr",
+        "country_name": "United Kingdom",
+        "culture_code": "en-US",
+        "language": "en",
+        "apt_configs": {
+          "slot.lon.it.tourist": {
+            "center_name": "Italy Visa Application Centre, London",
+            "address": "Ground floor, 8- 20  Pocock St London SE1 0BW , United Kingdom",
+            "vac_code": "ILON",
+            "category_name": "Italy UK VisaCategory",
+            "category_code": "UKITVED",
+            "subcategory_name": "Tourist/ Business/ EU Family",
+            "subcategory_code": "TBE"
+          },
+          "slot.man.it.tourist": {
+            "center_name": "Italy Visa Application Centre, Manchester",
+            "address": "50 Devonshire Street North, M12 6JH",
+            "vac_code": "IMAN",
+            "category_name": "Italy UK VisaCategory",
+            "category_code": "UKITVED",
+            "subcategory_name": "Tourist/ Business/ EU Family",
+            "subcategory_code": "TBE"
+          }
+        }
+      }
+    },
+    {
+      "identifier": "vfs.gb.nl",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "sentinel": {
+        "account_source": "built-in",
+        "account_pool_id": "gb.nl.sentinel",
+        "target_instances": 1,
+        "account_cd": 10800,
+        "signal_ttl": 30,
+        "query_wait": {
+          "mode": "Random",
+          "fixed_wait": 10,
+          "random_min": 60,
+          "random_max": 300
+        }
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "vfs_plugin",
+        "plugin_bin": "vfs_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 90,
+          "routing_key": "slot.lon.nl.tourist",
+          "city": "London",
+          "visa_type": "Tourist",
+          "country": "Netherlands"
+        },
+        {
+          "weight": 10,
+          "routing_key": "slot.man.nl.tourist",
+          "city": "Manchester",
+          "visa_type": "Tourist",
+          "country": "Netherlands"
+        }
+      ],
+      "website": "https://visa.vfsglobal.com/gbr/en/nld/login",
+      "free_config": {
+        "mission_code": "nld",
+        "mission_name": "Netherland",
+        "country_code": "gbr",
+        "country_name": "United Kingdom",
+        "culture_code": "en-US",
+        "language": "en",
+        "apt_configs": {
+          "slot.lon.nl.tourist": {
+            "center_name": "Netherlands Visa application centre - London",
+            "address": "66 Wilson Street, EC2A 2BT",
+            "vac_code": "NAKN",
+            "category_name": "Schengen Visa",
+            "category_code": "Schengen Visa",
+            "subcategory_name": "Tourism",
+            "subcategory_code": "TA"
+          },
+          "slot.man.nl.tourist": {
+            "center_name": "Netherlands Visa application centre - Manchester",
+            "address": "50 Devonshire Street North, M12 6JH",
+            "vac_code": "NAKT",
+            "category_name": "Schengen Visa",
+            "category_code": "Schengen Visa",
+            "subcategory_name": "Tourism",
+            "subcategory_code": "TA"
+          }
+        }
+      }
+    },
+    {
+      "identifier": "vfs.gb.no",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "sentinel": {
+        "account_source": "built-in",
+        "account_pool_id": "gb.no.sentinel",
+        "target_instances": 1,
+        "account_cd": 10800,
+        "signal_ttl": 30,
+        "query_wait": {
+          "mode": "Random",
+          "fixed_wait": 10,
+          "random_min": 60,
+          "random_max": 300
+        }
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "vfs_plugin",
+        "plugin_bin": "vfs_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.lon.no.tourist",
+          "city": "London",
+          "visa_type": "Tourist",
+          "country": "Norway"
+        }
+      ],
+      "website": "https://visa.vfsglobal.com/gbr/en/nor/login",
+      "free_config": {
+        "mission_code": "nor",
+        "mission_name": "Norway",
+        "country_code": "gbr",
+        "country_name": "United Kingdom",
+        "culture_code": "en-US",
+        "language": "en",
+        "apt_configs": {
+          "slot.lon.no.tourist": {
+            "center_name": "Norway Visa Application Centre, London",
+            "address": "66 Wilson street, EC2A 2BT",
+            "vac_code": "NLON",
+            "category_name": "Schengen Visa C",
+            "category_code": "SCHVISA",
+            "subcategory_name": "Tourist Visa",
+            "subcategory_code": "TOU"
+          }
+        }
+      }
+    },
+    {
+      "identifier": "vfs.ie.at",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "sentinel": {
+        "account_source": "built-in",
+        "account_pool_id": "ie.at.sentinel",
+        "target_instances": 1,
+        "account_cd": 10800,
+        "signal_ttl": 30,
+        "query_wait": {
+          "mode": "Random",
+          "fixed_wait": 10,
+          "random_min": 60,
+          "random_max": 300
+        }
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "vfs_plugin",
+        "plugin_bin": "vfs_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.dub.at.tourist",
+          "city": "Dublin",
+          "visa_type": "Tourist",
+          "country": "Austria"
+        }
+      ],
+      "website": "https://visa.vfsglobal.com/irl/en/aut/login",
+      "free_config": {
+        "mission_code": "aut",
+        "mission_name": "Austria",
+        "country_code": "irl",
+        "country_name": "Ireland",
+        "culture_code": "en-US",
+        "language": "en",
+        "apt_configs": {
+          "slot.dub.at.tourist": {
+            "center_name": "Austria / Switzerland / Liechtenstein/ Slovenia Visa Application Center, Dublin",
+            "address": "Cunningham House, 130 Francis Street, Dublin 8 D08 H48R",
+            "vac_code": "AUT-DUB",
+            "category_name": "Other Visas",
+            "category_code": "Default_Austria_Ireland ",
+            "subcategory_name": "All Visas ",
+            "subcategory_code": "TA"
+          }
+        }
+      }
+    },
+    {
+      "identifier": "vfs.ie.dk",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "sentinel": {
+        "account_source": "built-in",
+        "account_pool_id": "ie.dk.sentinel",
+        "target_instances": 1,
+        "account_cd": 10800,
+        "signal_ttl": 30,
+        "query_wait": {
+          "mode": "Random",
+          "fixed_wait": 10,
+          "random_min": 60,
+          "random_max": 300
+        }
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "vfs_plugin",
+        "plugin_bin": "vfs_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.dub.dk.tourist",
+          "city": "Dublin",
+          "visa_type": "Tourist",
+          "country": "Denmark"
+        }
+      ],
+      "website": "https://visa.vfsglobal.com/irl/en/dnk/login",
+      "free_config": {
+        "mission_code": "dnk",
+        "mission_name": "Denmark",
+        "country_code": "irl",
+        "country_name": "Ireland",
+        "culture_code": "en-US",
+        "language": "en",
+        "apt_configs": {
+          "slot.dub.dk.tourist": {
+            "center_name": "Denmark Visa Application Center, Dublin ",
+            "address": "Cunningham House, 130 Francis Street, Dublin 8 D08 H48R",
+            "vac_code": "DIDUB",
+            "category_name": "Schengen Visa",
+            "category_code": "SV",
+            "subcategory_name": "Tourism",
+            "subcategory_code": "TV"
+          }
+        }
+      }
+    },
+    {
+      "identifier": "vfs.ie.fi",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "sentinel": {
+        "account_source": "built-in",
+        "account_pool_id": "ie.fi.sentinel",
+        "target_instances": 1,
+        "account_cd": 10800,
+        "signal_ttl": 30,
+        "query_wait": {
+          "mode": "Random",
+          "fixed_wait": 10,
+          "random_min": 60,
+          "random_max": 300
+        }
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "vfs_plugin",
+        "plugin_bin": "vfs_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.dub.fi.tourist",
+          "city": "Dublin",
+          "visa_type": "Tourist",
+          "country": "Finland"
+        }
+      ],
+      "website": "https://visa.vfsglobal.com/irl/en/fin/login",
+      "free_config": {
+        "mission_code": "fin",
+        "mission_name": "Finland",
+        "country_code": "irl",
+        "country_name": "Ireland",
+        "culture_code": "en-US",
+        "language": "en",
+        "apt_configs": {
+          "slot.dub.fi.tourist": {
+            "center_name": "Application Centre, Dublin",
+            "address": "Cunningham House, 130 Francis Street, Dublin 8 D08 H48R",
+            "vac_code": "Dubb",
+            "category_name": "VISA",
+            "category_code": "S S",
+            "subcategory_name": "Tourist Category",
+            "subcategory_code": "Tourist Category"
+          }
+        }
+      }
+    },
+    {
+      "identifier": "vfs.ie.hu",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "sentinel": {
+        "account_source": "built-in",
+        "account_pool_id": "ie.hu.sentinel",
+        "target_instances": 1,
+        "account_cd": 10800,
+        "signal_ttl": 30,
+        "query_wait": {
+          "mode": "Random",
+          "fixed_wait": 10,
+          "random_min": 60,
+          "random_max": 300
+        }
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "vfs_plugin",
+        "plugin_bin": "vfs_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.dub.hu.tourist",
+          "city": "Dublin",
+          "visa_type": "Tourist",
+          "country": "Hungary"
+        }
+      ],
+      "website": "https://visa.vfsglobal.com/irl/en/hun/login",
+      "free_config": {
+        "mission_code": "hun",
+        "mission_name": "Hungary",
+        "country_code": "irl",
+        "country_name": "Ireland",
+        "culture_code": "en-US",
+        "language": "en",
+        "apt_configs": {
+          "slot.dub.hu.tourist": {
+            "center_name": "Ireland Visa Application Center,Dublin",
+            "address": "Cunningham House, 130 Francis Street Dublin",
+            "vac_code": "DUB",
+            "category_name": "Short Stay",
+            "category_code": "SS",
+            "subcategory_name": "Schengen Visa",
+            "subcategory_code": "Schengen Visa"
+          }
+        }
+      }
+    },
+    {
+      "identifier": "vfs.ie.is",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "sentinel": {
+        "account_source": "built-in",
+        "account_pool_id": "ie.is.sentinel",
+        "target_instances": 1,
+        "account_cd": 10800,
+        "signal_ttl": 30,
+        "query_wait": {
+          "mode": "Random",
+          "fixed_wait": 10,
+          "random_min": 60,
+          "random_max": 300
+        }
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "vfs_plugin",
+        "plugin_bin": "vfs_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.dub.is.tourist",
+          "city": "Dublin",
+          "visa_type": "Tourist",
+          "country": "Iceland"
+        }
+      ],
+      "website": "https://visa.vfsglobal.com/irl/en/isl/login",
+      "free_config": {
+        "mission_code": "isl",
+        "mission_name": "Iceland",
+        "country_code": "irl",
+        "country_name": "Ireland",
+        "culture_code": "en-US",
+        "language": "en",
+        "apt_configs": {
+          "slot.dub.is.tourist": {
+            "center_name": "Iceland Visa Application Center- Dublin",
+            "address": "Cunningham House, 130 Francis Street, Dublin, Ireland- DO8 H48R",
+            "vac_code": "DUB",
+            "category_name": "C-Visa",
+            "category_code": "CVI",
+            "subcategory_name": "Tourism",
+            "subcategory_code": "OTT"
+          }
+        }
+      }
+    },
+    {
+      "identifier": "vfs.gb.at",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "sentinel": {
+        "account_source": "built-in",
+        "account_pool_id": "gb.at.sentinel",
+        "target_instances": 1,
+        "account_cd": 10800,
+        "signal_ttl": 30,
+        "query_wait": {
+          "mode": "Random",
+          "fixed_wait": 10,
+          "random_min": 60,
+          "random_max": 300
+        }
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "vfs_plugin",
+        "plugin_bin": "vfs_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.lon.at.tourist",
+          "city": "London",
+          "visa_type": "Tourist",
+          "country": "Austria"
+        }
+      ],
+      "website": "https://visa.vfsglobal.com/gbr/en/aut/login",
+      "free_config": {
+        "mission_code": "aut",
+        "mission_name": "Austria",
+        "country_code": "gbr",
+        "country_name": "United Kingdom",
+        "culture_code": "en-US",
+        "language": "en",
+        "apt_configs": {
+          "slot.lon.at.tourist": {
+            "center_name": "Austria Visa Application Centre, London",
+            "address": "66 Wilson Street, EC2A 2BT",
+            "vac_code": "ADN",
+            "category_name": "Visa  to  Austria",
+            "category_code": "Visa  to  Austria",
+            "subcategory_name": "Tourism",
+            "subcategory_code": "TA"
+          }
+        }
+      }
+    },
+    {
+      "identifier": "bls.ie.es",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "spain-isp"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 3600,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "sentinel": {
+        "account_source": "built-in",
+        "account_pool_id": "ie.es.sentinel",
+        "target_instances": 1,
+        "account_cd": 10800,
+        "signal_ttl": 30,
+        "query_wait": {
+          "mode": "Random",
+          "fixed_wait": 10,
+          "random_min": 180,
+          "random_max": 360
+        }
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "bls_plugin",
+        "plugin_bin": "bls_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.dub.es.tourist",
+          "city": "Dublin",
+          "visa_type": "Tourist",
+          "country": "Spain"
+        }
+      ],
+      "website": "https://ireland.blsspainglobal.com/Global/bls/visatypeverification",
+      "free_config": {
+        "domain": "ireland.blsspainglobal.com",
+        "ocr_model": "data/ctc.pth",
+        "apt_configs": {
+          "slot.dub.es.tourist": {
+            "location": "Dublin",
+            "jurisdiction": null,
+            "visa_type": "Schengen Visa/ Short Term Visa",
+            "visa_subtype": "Tourist Visa",
+            "appointment_type": "Individual",
+            "appointment_category": "Normal",
+            "mission_code": "EMBASSY_DUBLIN"
+          }
+        }
+      }
+    },
+    {
+      "identifier": "bls.gb.es",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "spain-isp"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 3600,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "sentinel": {
+        "account_source": "built-in",
+        "account_pool_id": "gb.es.sentinel",
+        "target_instances": 1,
+        "account_cd": 10800,
+        "signal_ttl": 30,
+        "query_wait": {
+          "mode": "Random",
+          "fixed_wait": 10,
+          "random_min": 60,
+          "random_max": 300
+        }
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "bls_plugin",
+        "plugin_bin": "bls_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.lon.es.tourist",
+          "city": "London",
+          "visa_type": "Tourist",
+          "country": "Spain"
+        }
+      ],
+      "website": "https://uk.blsspainglobal.com/Global/bls/visatypeverification",
+      "free_config": {
+        "domain": "uk.blsspainglobal.com",
+        "ocr_model": "data/ocr.pth",
+        "apt_configs": {
+          "slot.lon.es.tourist": {
+            "location": "Dublin",
+            "jurisdiction": "Greater London",
+            "visa_type": "Short Term Visa(Maximum stay of 90 days)",
+            "visa_subtype": "Tourist Visa",
+            "appointment_type": "Individual",
+            "appointment_category": "Normal",
+            "mission_code": "LHR"
+          }
+        }
+      }
+    },
+    {
+      "identifier": "tls.gb.fr",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 900,
+      "session_max_life": 1800,
+      "active_time_start": "07:00",
+      "active_time_end": "17:30",
+      "sentinel": {
+        "account_source": "built-in",
+        "account_pool_id": "tls.gb.lon.fr.sentinel",
+        "target_instances": 3,
+        "account_cd": 1800,
+        "signal_ttl": 30,
+        "query_wait": {
+          "mode": "Random",
+          "fixed_wait": 10,
+          "random_min": 55,
+          "random_max": 65
+        }
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "tls_plugin",
+        "plugin_bin": "tls_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.lon.fr.tourist",
+          "city": "London",
+          "visa_type": "Tourist",
+          "country": "France"
+        }
+      ],
+      "website": "https://visas-fr.tlscontact.com/en-us/country/gb/vac/gbLON2fr",
+      "free_config": {
+        "tls_url": "https://visas-fr.tlscontact.com/en-us/country/gb/vac/gbLON2fr",
+        "location": "London",
+        "capsolver_key": "CAP-5441DD341DD3CC2FAEF0BE6FE493EE9A",
+        "login_captcha": {
+          "solve_advance": false,
+          "site_key": "6LcDpXcfAAAAAM7wOEsF_38DNsL20tTvPTKxpyn0",
+          "page_url": "https://i2-auth.visas-fr.tlscontact.com",
+          "task": "ReCaptchaV2TaskProxyLess"
+        }
+      }
+    },
+    {
+      "identifier": "tls.cn.bjs.fr",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 900,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "15:00",
+      "sentinel": {
+        "account_source": "built-in",
+        "account_pool_id": "tls.cn.bjs.fr.sentinel",
+        "target_instances": 2,
+        "account_cd": 1800,
+        "signal_ttl": 30,
+        "query_wait": {
+          "mode": "Random",
+          "fixed_wait": 10,
+          "random_min": 55,
+          "random_max": 65
+        }
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "tls_plugin",
+        "plugin_bin": "tls_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.bjs.fr.tourist",
+          "city": "Beijing",
+          "visa_type": "Tourist",
+          "country": "France"
+        }
+      ],
+      "website": "https://visas-fr.tlscontact.com/en-us/country/cn/vac/cnBJS2fr",
+      "free_config": {
+        "tls_url": "https://visas-fr.tlscontact.com/en-us/country/cn/vac/cnBJS2fr",
+        "location": "Beijing",
+        "capsolver_key": "CAP-5441DD341DD3CC2FAEF0BE6FE493EE9A",
+        "login_captcha": {
+          "solve_advance": false,
+          "site_key": "6LcDpXcfAAAAAM7wOEsF_38DNsL20tTvPTKxpyn0",
+          "page_url": "https://i2-auth.visas-fr.tlscontact.com",
+          "task": "ReCaptchaV2TaskProxyLess"
+        }
+      }
+    },
+    {
+      "identifier": "tls.cn.hgh.fr",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 900,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "15:00",
+      "sentinel": {
+        "account_source": "built-in",
+        "account_pool_id": "tls.cn.hgh.fr.sentinel",
+        "target_instances": 3,
+        "account_cd": 1800,
+        "signal_ttl": 30,
+        "query_wait": {
+          "mode": "Random",
+          "fixed_wait": 10,
+          "random_min": 55,
+          "random_max": 65
+        }
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "tls_plugin",
+        "plugin_bin": "tls_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.hgh.fr.tourist",
+          "city": "Hangzhou",
+          "visa_type": "Tourist",
+          "country": "France"
+        }
+      ],
+      "website": "https://visas-fr.tlscontact.com/en-us/country/cn/vac/cnHGH2fr",
+      "free_config": {
+        "tls_url": "https://visas-fr.tlscontact.com/en-us/country/cn/vac/cnHGH2fr",
+        "location": "Hangzhou",
+        "capsolver_key": "CAP-5441DD341DD3CC2FAEF0BE6FE493EE9A",
+        "login_captcha": {
+          "solve_advance": false,
+          "site_key": "6LcDpXcfAAAAAM7wOEsF_38DNsL20tTvPTKxpyn0",
+          "page_url": "https://i2-auth.visas-fr.tlscontact.com",
+          "task": "ReCaptchaV2TaskProxyLess"
+        }
+      }
+    },
+    {
+      "identifier": "tls.cn.can.fr",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 900,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "15:00",
+      "sentinel": {
+        "account_source": "built-in",
+        "account_pool_id": "tls.cn.can.fr.sentinel",
+        "target_instances": 5,
+        "account_cd": 1800,
+        "signal_ttl": 30,
+        "query_wait": {
+          "mode": "Random",
+          "fixed_wait": 10,
+          "random_min": 55,
+          "random_max": 65
+        }
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "tls_plugin",
+        "plugin_bin": "tls_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.can.fr.tourist",
+          "city": "Guangzhou",
+          "visa_type": "Tourist",
+          "country": "France"
+        }
+      ],
+      "website": "https://visas-fr.tlscontact.com/en-us/country/cn/vac/cnCAN2fr",
+      "free_config": {
+        "tls_url": "https://visas-fr.tlscontact.com/en-us/country/cn/vac/cnCAN2fr",
+        "location": "Guangzhou",
+        "capsolver_key": "CAP-5441DD341DD3CC2FAEF0BE6FE493EE9A",
+        "login_captcha": {
+          "solve_advance": false,
+          "site_key": "6LcDpXcfAAAAAM7wOEsF_38DNsL20tTvPTKxpyn0",
+          "page_url": "https://i2-auth.visas-fr.tlscontact.com",
+          "task": "ReCaptchaV2TaskProxyLess"
+        }
+      }
+    },
+    {
+      "identifier": "tls.cn.sha.fr",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 900,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "15:00",
+      "sentinel": {
+        "account_source": "built-in",
+        "account_pool_id": "tls.cn.sha.fr.sentinel",
+        "target_instances": 1,
+        "account_cd": 1800,
+        "signal_ttl": 30,
+        "query_wait": {
+          "mode": "Random",
+          "fixed_wait": 10,
+          "random_min": 55,
+          "random_max": 65
+        }
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "tls_plugin",
+        "plugin_bin": "tls_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.sha.fr.tourist",
+          "city": "Shanghai",
+          "visa_type": "Tourist",
+          "country": "France"
+        }
+      ],
+      "website": "https://visas-fr.tlscontact.com/en-us/country/cn/vac/cnSHA2fr",
+      "free_config": {
+        "tls_url": "https://visas-fr.tlscontact.com/en-us/country/cn/vac/cnSHA2fr",
+        "location": "Shanghai",
+        "capsolver_key": "CAP-5441DD341DD3CC2FAEF0BE6FE493EE9A",
+        "login_captcha": {
+          "solve_advance": false,
+          "site_key": "6LcDpXcfAAAAAM7wOEsF_38DNsL20tTvPTKxpyn0",
+          "page_url": "https://i2-auth.visas-fr.tlscontact.com",
+          "task": "ReCaptchaV2TaskProxyLess"
+        }
+      }
+    },
+    {
+      "identifier": "tls.ie.fr",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap-good"
+      ],
+      "proxy_cd": 900,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "sentinel": {
+        "account_source": "built-in",
+        "account_pool_id": "tls.ie.fr.sentinel",
+        "target_instances": 1,
+        "account_cd": 1800,
+        "signal_ttl": 30,
+        "query_wait": {
+          "mode": "Random",
+          "fixed_wait": 10,
+          "random_min": 60,
+          "random_max": 300
+        }
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "tls_plugin",
+        "plugin_bin": "tls_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.dub.fr.tourist",
+          "city": "Dublin",
+          "visa_type": "Tourist",
+          "country": "France"
+        }
+      ],
+      "website": "https://visas-fr.tlscontact.com/en-us/country/ie/vac/ieDUB2fr",
+      "free_config": {
+        "tls_url": "https://visas-fr.tlscontact.com/en-us/country/ie/vac/ieDUB2fr",
+        "location": "Dublin",
+        "capsolver_key": "CAP-5441DD341DD3CC2FAEF0BE6FE493EE9A",
+        "login_captcha": {
+          "solve_advance": false,
+          "site_key": "6LcDpXcfAAAAAM7wOEsF_38DNsL20tTvPTKxpyn0",
+          "page_url": "https://i2-auth.visas-fr.tlscontact.com",
+          "task": "ReCaptchaV2TaskProxyLess"
+        }
+      }
+    },
+    {
+      "identifier": "vfs.cn.at",
+      "debug": false,
+      "enable": true,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "sentinel": {
+        "account_source": "built-in",
+        "account_pool_id": "cn.at.sentinel",
+        "target_instances": 1,
+        "account_cd": 10800,
+        "signal_ttl": 30,
+        "query_wait": {
+          "mode": "Random",
+          "fixed_wait": 10,
+          "random_min": 60,
+          "random_max": 300
+        }
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "vfs_plugin",
+        "plugin_bin": "vfs_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 0,
+          "routing_key": "slot.bjs.at.tourist",
+          "city": "Beijing",
+          "visa_type": "Tourist",
+          "country": "Austria"
+        },
+        {
+          "weight": 0,
+          "routing_key": "slot.can.at.tourist",
+          "city": "Guangzhou",
+          "visa_type": "Tourist",
+          "country": "Austria"
+        },
+        {
+          "weight": 0,
+          "routing_key": "slot.szx.at.tourist",
+          "city": "Shenzhen",
+          "visa_type": "Tourist",
+          "country": "Austria"
+        },
+        {
+          "weight": 1,
+          "routing_key": "slot.sha.at.tourist",
+          "city": "Shanghai",
+          "visa_type": "Tourist",
+          "country": "Austria"
+        }
+      ],
+      "website": "https://visa.vfsglobal.com/chn/en/aut/login",
+      "free_config": {
+        "mission_code": "aut",
+        "mission_name": "Austria",
+        "country_code": "chn",
+        "country_name": "China",
+        "culture_code": "en-US",
+        "language": "en",
+        "apt_configs": {
+          "slot.bjs.at.tourist": {
+            "center_name": "Austria Visa Application Center, Beijing",
+            "address": "7/F, GAL Tower, No. 78, Pazhou Avenue, Haizhu District",
+            "vac_code": "Bei",
+            "category_name": "Visa Type C-Schengen",
+            "category_code": "VTC",
+            "subcategory_name": "Tourism (90 days)",
+            "subcategory_code": "TR"
+          },
+          "slot.can.at.tourist": {
+            "center_name": "Austria Visa Application Center, Guangzhou",
+            "address": "7/F, GAL Tower, No. 78, Pazhou Avenue, Haizhu District",
+            "vac_code": "Gua",
+            "category_name": "Visa Type C-Schengen",
+            "category_code": "VTC",
+            "subcategory_name": "Tourism (90 days)",
+            "subcategory_code": "TR"
+          },
+          "slot.sha.at.tourist": {
+            "center_name": "Austria Visa Application Center, Shanghai",
+            "address": "3F, Jiushi Commercial Building, No. 213, Middle Sichuan Road, Huangpu District",
+            "vac_code": "Shaa",
+            "category_name": "Visa Type C - Tourism Visa",
+            "category_code": "TT",
+            "subcategory_name": "Visa Type C - Tourism Visa",
+            "subcategory_code": "VTCT"
+          },
+          "slot.szx.at.tourist": {
+            "center_name": "Austria Visa Application Center, Shenzhen",
+            "address": "Unit 2303, Floor 23, East Tower, C Future City, No. 9285 Binhe Avenue, Futian District",
+            "vac_code": "ASSZA",
+            "category_name": "Visa Type C-Schengen",
+            "category_code": "VTC",
+            "subcategory_name": "Tourism (90 days)",
+            "subcategory_code": "TR"
+          }
+        }
+      }
+    },
+    {
+      "identifier": "e-konsulat.ie.pl",
+      "debug": false,
+      "enable": false,
+      "need_account": false,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 1800,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "sentinel": {
+        "account_source": "",
+        "account_pool_id": "",
+        "target_instances": 1,
+        "account_cd": 0,
+        "signal_ttl": 30,
+        "query_wait": {
+          "mode": "Random",
+          "fixed_wait": 10,
+          "random_min": 60,
+          "random_max": 300
+        }
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "pol_plugin",
+        "plugin_bin": "pol_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.dub.pl.tourist",
+          "city": "Dublin",
+          "visa_type": "Tourist",
+          "country": "Poland"
+        }
+      ],
+      "website": "https://secure.e-konsulat.gov.pl/placowki/151/wiza-schengen/wizyty/weryfikacja-obrazkowa",
+      "free_config": {
+        "query_url": "https://secure.e-konsulat.gov.pl/placowki/151/wiza-schengen/wizyty/weryfikacja-obrazkowa",
+        "service_type": "Wiza Schengen",
+        "location": "Dublin"
+      }
+    },
+    {
+      "identifier": "visaonweb.ie.be",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "local"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 10800,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "sentinel": {
+        "account_source": "built-in",
+        "account_pool_id": "ie.be.sentinel",
+        "target_instances": 1,
+        "account_cd": 3600,
+        "signal_ttl": 30,
+        "query_wait": {
+          "mode": "Random",
+          "fixed_wait": 10,
+          "random_min": 60,
+          "random_max": 300
+        }
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "bel_plugin",
+        "plugin_bin": "bel_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.dub.be.tourist",
+          "city": "Dublin",
+          "visa_type": "Tourist",
+          "country": "Belgium"
+        }
+      ],
+      "website": "https://visaonweb.diplomatie.be/en",
+      "free_config": {
+        "capsolver_key": "CAP-5441DD341DD3CC2FAEF0BE6FE493EE9A"
+      }
+    },
+    {
+      "identifier": "visametric.ie.de",
+      "debug": false,
+      "enable": false,
+      "need_account": false,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 900,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "sentinel": {
+        "account_source": "",
+        "account_pool_id": "",
+        "target_instances": 1,
+        "account_cd": 0,
+        "signal_ttl": 30,
+        "query_wait": {
+          "mode": "Random",
+          "fixed_wait": 10,
+          "random_min": 60,
+          "random_max": 300
+        }
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "de_plugin",
+        "plugin_bin": "de_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.dub.de.tourist",
+          "city": "Dublin",
+          "visa_type": "Tourist",
+          "country": "Germany"
+        }
+      ],
+      "website": "https://ie-appointment.visametric.com/en",
+      "free_config": {
+        "base_url": "https://ie-appointment.visametric.com",
+        "consularid": 1
+      }
+    },
+    {
+      "identifier": "pernotami.ie.it",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 900,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "sentinel": {
+        "account_source": "built-in",
+        "account_pool_id": "ie.it.sentinel",
+        "target_instances": 1,
+        "account_cd": 10800,
+        "signal_ttl": 30,
+        "query_wait": {
+          "mode": "Random",
+          "fixed_wait": 10,
+          "random_min": 60,
+          "random_max": 300
+        }
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "ita_plugin",
+        "plugin_bin": "ita_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.dub.it.tourist",
+          "city": "Dublin",
+          "visa_type": "Tourist",
+          "country": "Italy"
+        }
+      ],
+      "website": "https://prenotami.esteri.it/Home",
+      "free_config": {
+        "capsolver_key": "03db1d1ff2f4a33e84ef1da99bd83336bed3710153525"
+      }
+    },
+    {
+      "identifier": "greekemba.ie.gr",
+      "debug": false,
+      "enable": false,
+      "need_account": true,
+      "need_proxy": true,
+      "proxy_pool": [
+        "proxy-cheap"
+      ],
+      "proxy_cd": 300,
+      "session_max_life": 86400,
+      "active_time_start": "00:00",
+      "active_time_end": "23:59",
+      "sentinel": {
+        "account_source": "built-in",
+        "account_pool_id": "ie.gr.sentinel",
+        "target_instances": 1,
+        "account_cd": 10800,
+        "signal_ttl": 30,
+        "query_wait": {
+          "mode": "Random",
+          "fixed_wait": 10,
+          "random_min": 60,
+          "random_max": 300
+        }
+      },
+      "plugin_config": {
+        "lib_path": "plugins",
+        "plugin_name": "grc_plugin",
+        "plugin_bin": "grc_plugin.py",
+        "plugin_proto": "IVSPlg"
+      },
+      "appointment_types": [
+        {
+          "weight": 10,
+          "routing_key": "slot.dub.gr.tourist",
+          "city": "Dublin",
+          "visa_type": "Tourist",
+          "country": "Greece"
+        }
+      ],
+      "website": "https://www.supersaas.com/schedule/GreekEmbassyInDublin/Visas",
+      "free_config": {}
+    }
+  ]
+}

+ 1 - 0
requirements.txt

@@ -3,6 +3,7 @@ bs4
 redis
 cryptography
 curl-cffi>=0.7.0
+openai
 ddddocr
 easyocr
 fastapi

+ 3 - 3
tools/proxy_uploader.py

@@ -2,9 +2,9 @@ import requests
 from datetime import datetime, timezone
 
 # --- 配置部分 ---
-API_URL = 'https://visafly.top/api/proxy/create'
+API_URL = 'https://api.text.skin/api/proxy/create'
 BEARER_TOKEN = 'tok_e946329a60ff45ba807f3f41b0e8b7fc'    # 替换为你的真实 Token
-FILE_PATH = '../config/decodo.txt'   # 替换为你实际的文本文件名 (例如 proxies.txt)
+FILE_PATH = 'proxylist.txt'   # 替换为你实际的文本文件名 (例如 proxies.txt)
 
 headers = {
     'accept': 'application/json',
@@ -54,7 +54,7 @@ def main():
     for index, proxy in enumerate(proxies, start=1):
         # 组装 API Payload
         payload = {
-            "pool_name": "decodo",  # 自定义你的代理池名称
+            "pool_name": "proxy-cheap",  # 自定义你的代理池名称
             "proto": "http",          # 文本中没有协议字段,默认为 http。如果是 socks5 请自行修改
             "ip": proxy["ip"],
             "port": proxy["port"],