├── .github ├── repo_get_trial └── workflows │ └── get_trial.yml ├── README.md ├── __pycache__ ├── apis.cpython-310.pyc ├── get_trial_update_url.cpython-310.pyc ├── subconverter.cpython-310.pyc └── utils.cpython-310.pyc ├── apis.py ├── base.yaml ├── get_trial.py ├── get_trial_update_url.py ├── sub.txt ├── sub3.txt ├── subconverter.py ├── subconverters.cfg ├── trial ├── trial.cache ├── trial.cfg ├── trial.yaml ├── trial_pp.yaml ├── trials ├── 2.flybar20.cc ├── 2.flybar20.cc.yaml ├── 2.flybar20.cc_pp.yaml ├── cloudcat.top ├── cloudcat.top.yaml ├── cloudcat.top_pp.yaml ├── mgnet.vip ├── mgnet.vip.yaml ├── mgnet.vip_pp.yaml ├── vipxgyun.com#西瓜皮 ├── vipxgyun.com#西瓜皮.yaml ├── vipxgyun.com#西瓜皮_pp.yaml ├── www.qlgq.top ├── www.qlgq.top.yaml ├── www.qlgq.top_pp.yaml ├── yiyuanvpn.top ├── yiyuanvpn.top.yaml └── yiyuanvpn.top_pp.yaml ├── trials_providers ├── 2.flybar20.cc │ ├── All.yaml │ ├── CN.yaml │ ├── HK.yaml │ ├── JP.yaml │ ├── Other.yaml │ ├── SG.yaml │ ├── TW.yaml │ └── US.yaml ├── All.yaml ├── CN.yaml ├── HK.yaml ├── JP.yaml ├── Other.yaml ├── SG.yaml ├── TW.yaml ├── US.yaml ├── cloudcat.top │ ├── All.yaml │ ├── Other.yaml │ └── US.yaml ├── mgnet.vip │ ├── All.yaml │ ├── CN.yaml │ ├── HK.yaml │ ├── Other.yaml │ ├── SG.yaml │ ├── TW.yaml │ └── US.yaml ├── vipxgyun.com#西瓜皮 │ ├── All.yaml │ ├── CN.yaml │ ├── HK.yaml │ ├── JP.yaml │ ├── Other.yaml │ ├── SG.yaml │ ├── TW.yaml │ └── US.yaml ├── www.qlgq.top │ ├── All.yaml │ ├── CN.yaml │ ├── HK.yaml │ ├── Other.yaml │ ├── SG.yaml │ └── US.yaml └── yiyuanvpn.top │ ├── All.yaml │ ├── CN.yaml │ ├── HK.yaml │ ├── Other.yaml │ ├── SG.yaml │ └── US.yaml └── utils.py /.github/repo_get_trial: -------------------------------------------------------------------------------- 1 | mfbpn/tg_mfbpn_sub -------------------------------------------------------------------------------- /.github/workflows/get_trial.yml: -------------------------------------------------------------------------------- 1 | name: get_trial.py 2 | on: 3 | workflow_dispatch: 4 | schedule: 5 | - cron: '40 * * * *' 6 | permissions: write-all 7 | jobs: 8 | main: 9 | runs-on: ubuntu-latest 10 | env: 11 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 12 | DDAL_EMAIL: ${{ secrets.DDAL_EMAIL }} 13 | DDAL_PASSWORD: ${{ secrets.DDAL_PASSWORD }} 14 | steps: 15 | - uses: actions/checkout@v3 16 | with: 17 | ref: ${{ github.ref }} 18 | - uses: actions/setup-python@v4 19 | with: 20 | python-version: '3.10' 21 | - name: Prepare 22 | run: pip install requests beautifulsoup4 ruamel.yaml json5 23 | - name: Run get_trial.py 24 | run: python get_trial.py 25 | - name: Commit 26 | id: commit 27 | continue-on-error: true 28 | run: | 29 | git config user.email "actions@github.com" 30 | git config user.name "GitHub Actions" 31 | git add . 32 | git commit -m "${{ github.workflow }} https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" 33 | git pull --rebase 34 | - uses: ad-m/github-push-action@master 35 | if: ${{ steps.commit.outcome == 'success' }} 36 | - name: Run get_trial_update_url.py 37 | run: python get_trial_update_url.py 38 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # tg_mfbpn_sub 2 | TG频道@mfbpn 3 | -------------------------------------------------------------------------------- /__pycache__/apis.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mfbpn/tg_mfbpn_sub/1dfc8c7b82c10ff753cf70120571d7471076e32f/__pycache__/apis.cpython-310.pyc -------------------------------------------------------------------------------- /__pycache__/get_trial_update_url.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mfbpn/tg_mfbpn_sub/1dfc8c7b82c10ff753cf70120571d7471076e32f/__pycache__/get_trial_update_url.cpython-310.pyc -------------------------------------------------------------------------------- /__pycache__/subconverter.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mfbpn/tg_mfbpn_sub/1dfc8c7b82c10ff753cf70120571d7471076e32f/__pycache__/subconverter.cpython-310.pyc -------------------------------------------------------------------------------- /__pycache__/utils.cpython-310.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mfbpn/tg_mfbpn_sub/1dfc8c7b82c10ff753cf70120571d7471076e32f/__pycache__/utils.cpython-310.pyc -------------------------------------------------------------------------------- /base.yaml: -------------------------------------------------------------------------------- 1 | mixed-port: 7890 2 | allow-lan: true 3 | mode: rule 4 | log-level: info 5 | external-controller: :9090 6 | proxy-groups: 7 | - name: ⚡ ‍低延迟 8 | use: 9 | - All 10 | - name: 🇭🇰 ‍香港 11 | use: 12 | - HK 13 | - name: 🇹🇼 ‍台湾 14 | use: 15 | - TW 16 | - name: 🇨🇳 ‍中国 17 | use: 18 | - CN 19 | - name: 🇸🇬 ‍新加坡 20 | use: 21 | - SG 22 | - name: 🇯🇵 ‍日本 23 | use: 24 | - JP 25 | - name: 🇺🇸 ‍美国 26 | use: 27 | - US 28 | - name: 🎏 ‍其他 29 | use: 30 | - Other 31 | - name: 👆🏻 ‍指定 32 | use: 33 | - All 34 | - name: 👆🏻🇭🇰 ‍香港 35 | use: 36 | - HK 37 | - name: 👆🏻🇹🇼 ‍台湾 38 | use: 39 | - TW 40 | - name: 👆🏻🇨🇳 ‍中国 41 | use: 42 | - CN 43 | - name: 👆🏻🇸🇬 ‍新加坡 44 | use: 45 | - SG 46 | - name: 👆🏻🇯🇵 ‍日本 47 | use: 48 | - JP 49 | - name: 👆🏻🇺🇸 ‍美国 50 | use: 51 | - US 52 | - name: 👆🏻🎏 ‍其他 53 | use: 54 | - Other 55 | proxy-providers: 56 | All: 57 | type: http 58 | url: 59 | interval: 180 60 | path: 61 | health-check: 62 | enable: true 63 | url: https://i.ytimg.com/generate_204 64 | interval: 30 65 | -------------------------------------------------------------------------------- /get_trial.py: -------------------------------------------------------------------------------- 1 | import os 2 | from concurrent.futures import ThreadPoolExecutor 3 | from datetime import timedelta 4 | from random import choice, randint 5 | from time import time 6 | from urllib.parse import urlsplit, urlunsplit 7 | 8 | from apis import PanelSession, TempEmail, guess_panel, panel_class_map 9 | from subconverter import gen_base64_and_clash_config, get 10 | from utils import (clear_files, g0, keep, list_file_paths, list_folder_paths, 11 | rand_id, read, read_cfg, remove, size2str, str2timestamp, 12 | timestamp2str, to_zero, write, write_cfg) 13 | 14 | 15 | def get_sub(session: PanelSession, opt: dict, cache: dict[str, list[str]]): 16 | url = cache['sub_url'][0] 17 | suffix = ' - ' + g0(cache, 'name') 18 | #suffix = ' - ' + opt['name'] 19 | if 'speed_limit' in opt: 20 | suffix += ' ⚠️限速 ' + opt['speed_limit'] 21 | try: 22 | info, *rest = get(url, suffix) 23 | except Exception: 24 | origin = urlsplit(session.origin)[:2] 25 | url = '|'.join(urlunsplit(origin + urlsplit(part)[2:]) for part in url.split('|')) 26 | info, *rest = get(url, suffix) 27 | cache['sub_url'][0] = url 28 | if not info and hasattr(session, 'get_sub_info'): 29 | session.login(cache['email'][0]) 30 | info = session.get_sub_info() 31 | return info, *rest 32 | 33 | 34 | def should_turn(session: PanelSession, opt: dict, cache: dict[str, list[str]]): 35 | if 'sub_url' not in cache: 36 | return 1, 37 | 38 | now = time() 39 | try: 40 | info, *rest = get_sub(session, opt, cache) 41 | except Exception as e: 42 | msg = str(e) 43 | if '邮箱' in msg and ('不存在' in msg or '禁' in msg or '黑' in msg): 44 | if (d := cache['email'][0].split('@')[1]) not in ('gmail.com', 'qq.com', g0(cache, 'email_domain')): 45 | cache['banned_domains'].append(d) 46 | return 2, 47 | raise e 48 | 49 | return int( 50 | not info 51 | or opt.get('turn') == 'always' 52 | or float(info['total']) - (float(info['upload']) + float(info['download'])) < (1 << 28) 53 | or (opt.get('expire') != 'never' and info.get('expire') and str2timestamp(info.get('expire')) - now < ((now - str2timestamp(cache['time'][0])) / 7 if 'reg_limit' in opt else 2400)) 54 | ), info, *rest 55 | 56 | 57 | def _register(session: PanelSession, email, *args, **kwargs): 58 | try: 59 | return session.register(email, *args, **kwargs) 60 | except Exception as e: 61 | raise Exception(f'注册失败({email}): {e}') 62 | 63 | 64 | def _get_email_and_email_code(kwargs, session: PanelSession, opt: dict, cache: dict[str, list[str]]): 65 | while True: 66 | tm = TempEmail(banned_domains=cache.get('banned_domains')) 67 | try: 68 | email = kwargs['email'] = tm.email 69 | except Exception as e: 70 | raise Exception(f'获取邮箱失败: {e}') 71 | try: 72 | session.send_email_code(email) 73 | except Exception as e: 74 | msg = str(e) 75 | if '禁' in msg or '黑' in msg: 76 | cache['banned_domains'].append(email.split('@')[1]) 77 | continue 78 | raise Exception(f'发送邮箱验证码失败({email}): {e}') 79 | email_code = tm.get_email_code(g0(cache, 'name')) 80 | if not email_code: 81 | cache['banned_domains'].append(email.split('@')[1]) 82 | raise Exception(f'获取邮箱验证码超时({email})') 83 | kwargs['email_code'] = email_code 84 | return email 85 | 86 | 87 | def register(session: PanelSession, opt: dict, cache: dict[str, list[str]], log: list) -> bool: 88 | kwargs = keep(opt, 'name_eq_email', 'reg_fmt', 'aff') 89 | 90 | if 'invite_code' in cache: 91 | kwargs['invite_code'] = cache['invite_code'][0] 92 | elif 'invite_code' in opt: 93 | kwargs['invite_code'] = choice(opt['invite_code'].split()) 94 | 95 | email = kwargs['email'] = f"{rand_id()}@{g0(cache, 'email_domain', default='gmail.com')}" 96 | while True: 97 | if not (msg := _register(session, **kwargs)): 98 | if g0(cache, 'auto_invite', 'T') == 'T' and hasattr(session, 'get_invite_info'): 99 | if 'buy' not in opt and 'invite_code' not in kwargs: 100 | session.login() 101 | try: 102 | code, num, money = session.get_invite_info() 103 | except Exception as e: 104 | if g0(cache, 'auto_invite') == 'T': 105 | log.append(f'{session.host}({email}): {e}') 106 | if '邀请' in str(e): 107 | cache['auto_invite'] = 'F' 108 | return False 109 | if 'auto_invite' not in cache: 110 | if not money: 111 | cache['auto_invite'] = 'F' 112 | return False 113 | balance = session.get_balance() 114 | plan = session.get_plan(min_price=balance + 0.01, max_price=balance + money) 115 | if not plan: 116 | cache['auto_invite'] = 'F' 117 | return False 118 | cache['auto_invite'] = 'T' 119 | cache['invite_code'] = [code, num] 120 | kwargs['invite_code'] = code 121 | 122 | session.reset() 123 | 124 | if 'email_code' in kwargs: 125 | email = _get_email_and_email_code(kwargs, session, opt, cache) 126 | else: 127 | email = kwargs['email'] = f"{rand_id()}@{email.split('@')[1]}" 128 | 129 | if (msg := _register(session, **kwargs)): 130 | break 131 | 132 | if 'invite_code' in kwargs: 133 | if 'invite_code' not in cache or int(cache['invite_code'][1]) == 1 or randint(0, 1): 134 | session.login() 135 | try_buy(session, opt, cache, log) 136 | try: 137 | cache['invite_code'] = [*session.get_invite_info()[:2]] 138 | except Exception as e: 139 | if 'invite_code' not in cache: 140 | cache['auto_invite'] = 'F' 141 | else: 142 | log.append(f'{session.host}({email}): {e}') 143 | return True 144 | else: 145 | n = int(cache['invite_code'][1]) 146 | if n > 0: 147 | cache['invite_code'][1] = n - 1 148 | return False 149 | if '后缀' in msg: 150 | if email.split('@')[1] != 'gmail.com': 151 | break 152 | email = kwargs['email'] = f'{rand_id()}@qq.com' 153 | elif '验证码' in msg: 154 | email = _get_email_and_email_code(kwargs, session, opt, cache) 155 | elif '联' in msg: 156 | kwargs['im_type'] = True 157 | elif ( 158 | '邀请人' in msg 159 | and g0(cache, 'invite_code', '') == kwargs.get('invite_code') 160 | ): 161 | del cache['invite_code'] 162 | if 'invite_code' in opt: 163 | kwargs['invite_code'] = choice(opt['invite_code'].split()) 164 | else: 165 | del kwargs['invite_code'] 166 | else: 167 | break 168 | raise Exception(f'注册失败({email}): {msg}{" " + kwargs.get("invite_code") if "邀" in msg else ""}') 169 | 170 | 171 | def is_checkin(session, opt: dict): 172 | return hasattr(session, 'checkin') and opt.get('checkin') != 'F' 173 | 174 | 175 | def try_checkin(session: PanelSession, opt: dict, cache: dict[str, list[str]], log: list): 176 | if is_checkin(session, opt) and cache.get('email'): 177 | if len(cache['last_checkin']) < len(cache['email']): 178 | cache['last_checkin'] += ['0'] * (len(cache['email']) - len(cache['last_checkin'])) 179 | last_checkin = to_zero(str2timestamp(cache['last_checkin'][0])) 180 | now = time() 181 | if now - last_checkin > 24.5 * 3600: 182 | try: 183 | session.login(cache['email'][0]) 184 | session.checkin() 185 | cache['last_checkin'][0] = timestamp2str(now) 186 | cache.pop('尝试签到失败', None) 187 | except Exception as e: 188 | cache['尝试签到失败'] = [e] 189 | log.append(f'尝试签到失败({session.host}): {e}') 190 | else: 191 | cache.pop('last_checkin', None) 192 | 193 | 194 | def try_buy(session: PanelSession, opt: dict, cache: dict[str, list[str]], log: list): 195 | try: 196 | if (plan := opt.get('buy')): 197 | return session.buy(plan) 198 | if (plan := g0(cache, 'buy')): 199 | if plan == 'pass': 200 | return False 201 | try: 202 | return session.buy(plan) 203 | except Exception as e: 204 | del cache['buy'] 205 | cache.pop('auto_invite', None) 206 | cache.pop('invite_code', None) 207 | log.append(f'上次购买成功但这次购买失败({session.host}): {e}') 208 | plan = session.buy() 209 | cache['buy'] = plan or 'pass' 210 | return plan 211 | except Exception as e: 212 | log.append(f'购买失败({session.host}): {e}') 213 | return False 214 | 215 | 216 | def do_turn(session: PanelSession, opt: dict, cache: dict[str, list[str]], log: list, force_reg=False) -> bool: 217 | is_new_reg = False 218 | login_and_buy_ok = False 219 | reg_limit = opt.get('reg_limit') 220 | if not reg_limit: 221 | login_and_buy_ok = register(session, opt, cache, log) 222 | is_new_reg = True 223 | cache['email'] = [session.email] 224 | if is_checkin(session, opt): 225 | cache['last_checkin'] = ['0'] 226 | else: 227 | reg_limit = int(reg_limit) 228 | if len(cache['email']) < reg_limit or force_reg: 229 | login_and_buy_ok = register(session, opt, cache, log) 230 | is_new_reg = True 231 | cache['email'].append(session.email) 232 | if is_checkin(session, opt): 233 | cache['last_checkin'] += ['0'] * (len(cache['email']) - len(cache['last_checkin'])) 234 | if len(cache['email']) > reg_limit: 235 | del cache['email'][:-reg_limit] 236 | if is_checkin(session, opt): 237 | del cache['last_checkin'][:-reg_limit] 238 | 239 | cache['email'] = cache['email'][-1:] + cache['email'][:-1] 240 | if is_checkin(session, opt): 241 | cache['last_checkin'] = cache['last_checkin'][-1:] + cache['last_checkin'][:-1] 242 | 243 | if not login_and_buy_ok: 244 | try: 245 | session.login(cache['email'][0]) 246 | except Exception as e: 247 | raise Exception(f'登录失败: {e}') 248 | try_buy(session, opt, cache, log) 249 | 250 | try_checkin(session, opt, cache, log) 251 | cache['sub_url'] = [session.get_sub_url(**opt)] 252 | cache['time'] = [timestamp2str(time())] 253 | log.append(f'{"更新订阅链接(新注册)" if is_new_reg else "续费续签"}({session.host}) {cache["sub_url"][0]}') 254 | 255 | 256 | def try_turn(session: PanelSession, opt: dict, cache: dict[str, list[str]], log: list): 257 | cache.pop('更新旧订阅失败', None) 258 | cache.pop('更新订阅链接/续费续签失败', None) 259 | cache.pop('获取订阅失败', None) 260 | 261 | try: 262 | turn, *sub = should_turn(session, opt, cache) 263 | except Exception as e: 264 | cache['更新旧订阅失败'] = [e] 265 | log.append(f'更新旧订阅失败({session.host})({cache["sub_url"][0]}): {e}') 266 | return None 267 | 268 | if turn: 269 | try: 270 | do_turn(session, opt, cache, log, force_reg=turn == 2) 271 | except Exception as e: 272 | cache['更新订阅链接/续费续签失败'] = [e] 273 | log.append(f'更新订阅链接/续费续签失败({session.host}): {e}') 274 | return sub 275 | try: 276 | sub = get_sub(session, opt, cache) 277 | except Exception as e: 278 | cache['获取订阅失败'] = [e] 279 | log.append(f'获取订阅失败({session.host})({cache["sub_url"][0]}): {e}') 280 | 281 | return sub 282 | 283 | 284 | def cache_sub_info(info, opt: dict, cache: dict[str, list[str]]): 285 | if not info: 286 | raise Exception('no sub info') 287 | used = float(info["upload"]) + float(info["download"]) 288 | total = float(info["total"]) 289 | rest = '(剩余 ' + size2str(total - used) 290 | if opt.get('expire') == 'never' or not info.get('expire'): 291 | expire = '永不过期' 292 | else: 293 | ts = str2timestamp(info['expire']) 294 | expire = timestamp2str(ts) 295 | rest += ' ' + str(timedelta(seconds=ts - time())) 296 | rest += ')' 297 | cache['sub_info'] = [size2str(used), size2str(total), expire, rest] 298 | 299 | 300 | def save_sub_base64_and_clash(base64, clash, host, opt: dict): 301 | return gen_base64_and_clash_config( 302 | base64_path=f'trials/{host}', 303 | clash_path=f'trials/{host}.yaml', 304 | providers_dir=f'trials_providers/{host}', 305 | base64=base64, 306 | clash=clash, 307 | exclude=opt.get('exclude') 308 | ) 309 | 310 | 311 | def save_sub(info, base64, clash, base64_url, clash_url, host, opt: dict, cache: dict[str, list[str]], log: list): 312 | cache.pop('保存订阅信息失败', None) 313 | cache.pop('保存base64/clash订阅失败', None) 314 | 315 | try: 316 | cache_sub_info(info, opt, cache) 317 | except Exception as e: 318 | cache['保存订阅信息失败'] = [e] 319 | log.append(f'保存订阅信息失败({host})({clash_url}): {e}') 320 | try: 321 | node_n = save_sub_base64_and_clash(base64, clash, host, opt) 322 | if (d := node_n - int(g0(cache, 'node_n', 0))) != 0: 323 | log.append(f'{host} 节点数 {"+" if d > 0 else ""}{d} ({node_n})') 324 | cache['node_n'] = node_n 325 | except Exception as e: 326 | cache['保存base64/clash订阅失败'] = [e] 327 | log.append(f'保存base64/clash订阅失败({host})({base64_url})({clash_url}): {e}') 328 | 329 | 330 | def get_and_save(session: PanelSession, host, opt: dict, cache: dict[str, list[str]], log: list): 331 | try_checkin(session, opt, cache, log) 332 | sub = try_turn(session, opt, cache, log) 333 | if sub: 334 | save_sub(*sub, host, opt, cache, log) 335 | 336 | 337 | def new_panel_session(host, cache: dict[str, list[str]], log: list) -> PanelSession | None: 338 | if 'type' not in cache: 339 | info = guess_panel(host) 340 | if 'type' not in info: 341 | if (e := info.get('error')): 342 | log.append(f"{host} 判别类型失败: {e}") 343 | else: 344 | log.append(f"{host} 未知类型") 345 | return None 346 | cache.update(info) 347 | return panel_class_map[g0(cache, 'type')](g0(cache, 'api_host', host), **keep(cache, 'auth_path', getitem=g0)) 348 | 349 | 350 | def get_trial(host, opt: dict, cache: dict[str, list[str]]): 351 | log = [] 352 | session = new_panel_session(host, cache, log) 353 | if session: 354 | get_and_save(session, host, opt, cache, log) 355 | if session.redirect_origin: 356 | cache['api_host'] = session.host 357 | return log 358 | 359 | 360 | def build_options(cfg): 361 | opt = { 362 | host: dict(zip(opt[::2], opt[1::2])) 363 | for host, *opt in cfg 364 | } 365 | return opt 366 | 367 | 368 | if __name__ == '__main__': 369 | pre_repo = read('.github/repo_get_trial') 370 | cur_repo = os.getenv('GITHUB_REPOSITORY') 371 | if pre_repo != cur_repo: 372 | remove('trial.cache') 373 | write('.github/repo_get_trial', cur_repo) 374 | 375 | cfg = read_cfg('trial.cfg')['default'] 376 | 377 | opt = build_options(cfg) 378 | 379 | cache = read_cfg('trial.cache', dict_items=True) 380 | 381 | for host in [*cache]: 382 | if host not in opt: 383 | del cache[host] 384 | 385 | for path in list_file_paths('trials'): 386 | host, ext = os.path.splitext(os.path.basename(path)) 387 | if ext != '.yaml': 388 | host += ext 389 | else: 390 | host = host.split('_')[0] 391 | if host not in opt: 392 | remove(path) 393 | 394 | for path in list_folder_paths('trials_providers'): 395 | host = os.path.basename(path) 396 | if '.' in host and host not in opt: 397 | clear_files(path) 398 | remove(path) 399 | 400 | with ThreadPoolExecutor(32) as executor: 401 | args = [(h, opt[h], cache[h]) for h, *_ in cfg] 402 | for log in executor.map(get_trial, *zip(*args)): 403 | for line in log: 404 | print(line) 405 | 406 | total_node_n = gen_base64_and_clash_config( 407 | base64_path='trial', 408 | clash_path='trial.yaml', 409 | providers_dir='trials_providers', 410 | base64_paths=(path for path in list_file_paths('trials') if os.path.splitext(path)[1].lower() != '.yaml'), 411 | providers_dirs=(path for path in list_folder_paths('trials_providers') if '.' in os.path.basename(path)) 412 | ) 413 | 414 | print('总节点数', total_node_n) 415 | 416 | write_cfg('trial.cache', cache) 417 | -------------------------------------------------------------------------------- /get_trial_update_url.py: -------------------------------------------------------------------------------- 1 | import os 2 | import re 3 | from subprocess import getoutput 4 | from threading import RLock 5 | from time import sleep 6 | from urllib.parse import urlsplit 7 | 8 | import requests 9 | from bs4 import BeautifulSoup 10 | from requests.adapters import HTTPAdapter 11 | from urllib3 import Retry 12 | 13 | from utils import list_file_paths, parallel_map 14 | 15 | GITHUB_REPOSITORY = os.getenv('GITHUB_REPOSITORY') 16 | GITHUB_REF_NAME = os.getenv('GITHUB_REF_NAME') 17 | GITHUB_SHA = getoutput('git rev-parse HEAD') 18 | DDAL_EMAIL = os.getenv('DDAL_EMAIL') 19 | DDAL_PASSWORD = os.getenv('DDAL_PASSWORD') 20 | 21 | GH_RAW_URL_PREFIX = f'https://raw.kgithub.com/{GITHUB_REPOSITORY}/{GITHUB_REF_NAME}' 22 | GH_RAW_URL_PREFIX_SHA = f'https://cdn.jsdelivr.net/gh/{GITHUB_REPOSITORY}@{GITHUB_SHA}' 23 | 24 | re_ddal_alias = re.compile(r'[\da-z]+(?:-[\da-z]+)*', re.I) 25 | 26 | 27 | def get_short_url(path: str): 28 | if DDAL_EMAIL and DDAL_PASSWORD: 29 | name = os.path.splitext(os.path.basename(path))[0] 30 | return f"https://dd.al/{get_alias(name)}" 31 | else: 32 | return f'{GH_RAW_URL_PREFIX}/{path}' 33 | 34 | 35 | def get_alias(name: str): 36 | if GITHUB_REPOSITORY == 'zsokami/sub': 37 | if name == 'clash-hardcode': 38 | return 'trial' 39 | if name == 'clash-proxy-providers': 40 | return 'trial-pp' 41 | return f"trial-{'-'.join(re_ddal_alias.findall(name))}" 42 | else: 43 | repo = '-'.join(re_ddal_alias.findall(GITHUB_REPOSITORY)) 44 | if name == 'clash-hardcode': 45 | return f"gh-{repo}-trial" 46 | if name == 'clash-proxy-providers': 47 | return f"gh-{repo}-trial-pp" 48 | return f"gh-{repo}-trial-{'-'.join(re_ddal_alias.findall(name))}" 49 | 50 | 51 | class DDAL: 52 | def __init__(self): 53 | self.__session = requests.Session() 54 | self.__session.mount('https://', HTTPAdapter(max_retries=Retry(total=3, backoff_factor=0.1))) 55 | self.__session.mount('http://', HTTPAdapter(max_retries=Retry(total=3, backoff_factor=0.1))) 56 | self.__session.headers['User-Agent'] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36' 57 | self.__token_lock = RLock() 58 | 59 | @staticmethod 60 | def raise_for_alias(alias): 61 | if not re_ddal_alias.fullmatch(alias): 62 | raise Exception(f'非法 alias: {alias}') 63 | 64 | def login(self, email, password): 65 | for _ in range(10): 66 | with self.__token_lock: 67 | bs = BeautifulSoup(self.__session.get('https://dd.al/user/login').text, 'html.parser') 68 | token = bs.find('input', {'name': 'token'}) 69 | if not token: 70 | raise Exception('未找到 token (https://dd.al/user/login)') 71 | token = token['value'] 72 | r = self.__session.post('https://dd.al/user/login', data={ 73 | 'email': email, 74 | 'password': password, 75 | 'token': token 76 | }, allow_redirects=False) 77 | loc = r.headers.get('Location') 78 | if loc and urlsplit(loc).path == '/user': 79 | break 80 | sleep(9) 81 | else: 82 | raise Exception(f'尝试 10 次登录均失败 (loc = {repr(loc)})') 83 | 84 | def search(self, q) -> list[dict]: 85 | html = self.__session.post('https://dd.al/user/search', data={ 86 | 'q': q, 87 | 'token': 'd2172161243aedc5da47e41227f37add' 88 | }).text 89 | bs = BeautifulSoup(html, 'html.parser') 90 | return [{ 91 | 'id': item['data-id'], 92 | 'short': item.select_one('.short-url>a')['href'], 93 | 'original': item.select_one('.title>a')['href'] 94 | } for item in bs.find_all(class_='url-list')] 95 | 96 | def insert(self, alias, url) -> str: 97 | self.raise_for_alias(alias) 98 | r = self.__session.post('https://dd.al/shorten', data={ 99 | 'url': url, 100 | 'custom': alias 101 | }).json() 102 | if r['error']: 103 | raise Exception(f"{r['msg']} (alias = {repr(alias)}, url = {repr(url)})") 104 | return r['short'] 105 | 106 | def update(self, id, alias, url) -> str: 107 | for _ in range(10): 108 | with self.__token_lock: 109 | bs = BeautifulSoup(self.__session.get(f'https://dd.al/user/edit/{id}').text, 'html.parser') 110 | token = bs.find('input', {'name': 'token'}) 111 | if not token: 112 | raise Exception(f'未找到 token (https://dd.al/user/edit/{id})') 113 | token = token['value'] 114 | r = self.__session.post(f'https://dd.al/user/edit/{id}', data={ 115 | 'url': url, 116 | 'token': token 117 | }, allow_redirects=False) 118 | loc = r.headers.get('Location') 119 | if not (loc and urlsplit(loc).path != '/user'): 120 | raise Exception(f'loc = {repr(loc)}') 121 | item = next((item for item in self.search(alias) if item['id'] == id), None) 122 | if item and item['original'] == url: 123 | break 124 | else: 125 | raise Exception(f'尝试 10 次更新 url 均失败 (id = {repr(id)}, url = {repr(url)})') 126 | return item['short'] 127 | 128 | def upsert(self, alias, url) -> str: 129 | self.raise_for_alias(alias) 130 | id = next((item['id'] for item in self.search(alias) if urlsplit(item['short']).path[1:] == alias), None) 131 | if id: 132 | return self.update(id, alias, url) 133 | else: 134 | return self.insert(alias, url) 135 | 136 | 137 | if __name__ == '__main__': 138 | names_and_paths = [ 139 | ('base64', 'trial'), 140 | ('clash-hardcode', 'trial.yaml'), 141 | ('clash-proxy-providers', 'trial_pp.yaml') 142 | ] 143 | 144 | descriptions = [ 145 | 'base64 版', 146 | 'clash 硬编码版', 147 | 'clash 提供器版' 148 | ] 149 | 150 | for path in list_file_paths('trials_providers'): 151 | name = os.path.splitext(os.path.basename(path))[0] 152 | names_and_paths.append((name, path)) 153 | descriptions.append(name) 154 | 155 | if DDAL_EMAIL and DDAL_PASSWORD: 156 | ddal = DDAL() 157 | ddal.login(DDAL_EMAIL, DDAL_PASSWORD) 158 | aliases_and_urls = ((get_alias(name), f'{GH_RAW_URL_PREFIX_SHA}/{path}') for name, path in names_and_paths) 159 | 160 | def upsert(alias, url): 161 | try: 162 | return ddal.upsert(alias, url) 163 | except Exception as e: 164 | return f'{type(e)}: {e}' 165 | 166 | for short, description in zip(parallel_map(upsert, *zip(*aliases_and_urls)), descriptions): 167 | print(f'{description}: {short}') 168 | else: 169 | for (name, path), description in zip(names_and_paths, descriptions): 170 | print(f'{description}: {GH_RAW_URL_PREFIX}/{path}') 171 | -------------------------------------------------------------------------------- /subconverter.py: -------------------------------------------------------------------------------- 1 | import os 2 | import re 3 | from base64 import b64decode, b64encode 4 | from collections import defaultdict 5 | from copy import deepcopy 6 | from random import randint 7 | from time import time 8 | from urllib.parse import quote, urljoin 9 | 10 | from ruamel.yaml import YAML 11 | 12 | from apis import Response, Session 13 | from get_trial_update_url import get_short_url 14 | from utils import (DOMAIN_SUFFIX_Tree, IP_CIDR_SegmentTree, cached, 15 | clear_files, get_name, list_file_paths, re_non_empty_base64, 16 | read, read_cfg, write) 17 | 18 | github_raw_url_prefix = f"https://raw.kgithub.com/{os.getenv('GITHUB_REPOSITORY')}/{os.getenv('GITHUB_REF_NAME')}" 19 | 20 | subconverters = [row[0] for row in read_cfg('subconverters.cfg')['default']] 21 | 22 | 23 | def _yaml(): 24 | yaml = YAML() 25 | yaml.version = (1, 1) 26 | yaml.width = float('inf') 27 | return yaml 28 | 29 | 30 | def _get_by_any(session: Session, url, retry_400=99) -> Response: 31 | r = None 32 | 33 | def get(): 34 | nonlocal retry_400, r 35 | try: 36 | r = session.get(url) 37 | if r.ok: 38 | return True 39 | if 400 <= r.status_code < 500: 40 | if retry_400 <= 0: 41 | return True 42 | retry_400 -= 1 43 | except Exception: 44 | pass 45 | return False 46 | 47 | if session.host: 48 | if get(): 49 | return r 50 | idx_map = {} 51 | for i in range(len(subconverters) - 1, -1, -1): 52 | j = randint(0, i) 53 | session.set_base(subconverters[idx_map.get(j, j)]) 54 | idx_map[j] = idx_map.get(i, i) 55 | if get(): 56 | return r 57 | return r 58 | 59 | 60 | @cached 61 | def _sc_config_url(): 62 | try: 63 | data = Session().get( 64 | 'https://api.github.com/repos/zsokami/ACL4SSR/git/refs/heads/main', 65 | headers={'Authorization': f"Bearer {os.getenv('GITHUB_TOKEN')}"} 66 | ).json() 67 | try: 68 | sha = data['object']['sha'] 69 | except KeyError: 70 | raise Exception(data) 71 | return f'https://raw.githubusercontent.com/zsokami/ACL4SSR/{sha}/ACL4SSR_Online_Full_Mannix.ini' 72 | except Exception as e: 73 | raise Exception(f'_get_sc_config_url: 获取订阅转换配置链接失败: {e}') 74 | 75 | 76 | @cached 77 | def _base_clash_config(): 78 | session = Session(user_agent='ClashforWindows') 79 | url = f"sub?target=clash&config={_sc_config_url()}&url=ss://YWVzLTEyOC1nY206YWJj@c.c:1%231" 80 | try: 81 | res = _get_by_any(session, url) 82 | y = _yaml() 83 | cfg = y.load(res.content) 84 | base_yaml = read('base.yaml', reader=y.load) 85 | group_to_provider_map = {g['name']: g['use'][0] for g in base_yaml['proxy-groups']} 86 | groups = base_yaml['proxy-groups'] = cfg['proxy-groups'] 87 | for g in groups: 88 | if (p := group_to_provider_map.get(g['name'])): 89 | del g['proxies'] 90 | g['use'] = [p] 91 | base_yaml['proxy-providers'].setdefault(p, None) 92 | rules = _remove_redundant_rules(cfg['rules']) 93 | return base_yaml, group_to_provider_map, rules 94 | except Exception as e: 95 | raise Exception(f'_cache_base_clash_config: 获取基本 clash 配置失败: {e}') 96 | 97 | 98 | def _base_yaml(): 99 | return _base_clash_config()[0] 100 | 101 | 102 | def _group_to_provider_map(): 103 | return _base_clash_config()[1] 104 | 105 | 106 | def _rules(): 107 | return _base_clash_config()[2] 108 | 109 | 110 | def _remove_redundant_rules(rules): 111 | keywords = [] 112 | domain_tree = DOMAIN_SUFFIX_Tree() 113 | ip_trees = defaultdict(IP_CIDR_SegmentTree) 114 | sets = defaultdict(set) 115 | i = 0 116 | for rule in rules: 117 | t, v, *_ = rule.split(',') 118 | if t.startswith('DOMAIN'): 119 | if any(w in v for w in keywords): 120 | continue 121 | if t == 'DOMAIN-KEYWORD': 122 | keywords.append(v) 123 | elif not domain_tree.add(v, t == 'DOMAIN-SUFFIX'): 124 | continue 125 | elif 'IP-CIDR' in t: 126 | if not ip_trees[t].add(v): 127 | continue 128 | else: 129 | if v in sets[t]: 130 | continue 131 | sets[t].add(v) 132 | rules[i] = rule 133 | i += 1 134 | del rules[i:] 135 | return rules 136 | 137 | 138 | def _get_info(r: Response): 139 | info = r.headers.get('subscription-userinfo') 140 | return dict(kv.split('=') for kv in info.split('; ')) if info else None 141 | 142 | 143 | def get(url: str, suffix=None): 144 | session = Session(user_agent='ClashforWindows') 145 | _url = '|'.join(f'{part}#{time()}' for part in url.split('|')) 146 | params = f"config={_sc_config_url()}&url={quote(_url)}" 147 | if suffix: 148 | params += '&rename=' + quote(f'$@{suffix}') 149 | clash_url = f'sub?target=clash&udp=true&scv=true&expand=false&classic=true&{params}' 150 | base64_url = f'sub?target=mixed&{params}' 151 | 152 | res = _get_by_any(session, clash_url, retry_400=1) 153 | if not res.ok: 154 | _url = url.split('|')[0] 155 | _res = session.get(_url) 156 | if not _res.ok: 157 | raise Exception(f'({_url}): {_res}') 158 | if not (re_non_empty_base64.fullmatch(_res.content) or b'proxies:' in _res.content): 159 | return _get_info(_res), b'', b'', _url, _url 160 | res = _get_by_any(session, clash_url) 161 | 162 | clash = res.content 163 | clash_url = urljoin(session.base, clash_url) 164 | 165 | res = _get_by_any(session, base64_url) 166 | base64 = res.content 167 | base64_url = urljoin(session.base, base64_url) 168 | 169 | return _get_info(res), base64, clash, base64_url, clash_url 170 | 171 | 172 | def _parse_node_groups(y: YAML, clash, exclude: re.Pattern = None): 173 | cfg = y.load(clash) 174 | g_to_p = _group_to_provider_map() 175 | name_to_node_map = {p['name']: p for p in cfg['proxies'] if not (exclude and exclude.search(p['name']))} 176 | provider_map = {} 177 | for g in cfg['proxy-groups']: 178 | name, proxies = g['name'], g['proxies'] 179 | if ( 180 | name in g_to_p 181 | and g_to_p[name] not in provider_map 182 | and proxies[0] != 'DIRECT' 183 | ): 184 | proxies = [p for p in proxies if not (exclude and exclude.search(p))] 185 | if proxies: 186 | provider_map[g_to_p[name]] = proxies 187 | return name_to_node_map, provider_map 188 | 189 | 190 | def _read_and_merge_providers(y: YAML, providers_dirs, exclude: re.Pattern = None): 191 | name_to_node_map = {} 192 | provider_map = defaultdict(list) 193 | for providers_dir in providers_dirs: 194 | for path in list_file_paths(providers_dir): 195 | name = os.path.splitext(os.path.basename(path))[0] 196 | if not name.startswith('p_'): 197 | proxies = read(path, reader=y.load)['proxies'] 198 | kvs = [(p['name'], p) for p in proxies if not (exclude and exclude.search(p['name']))] 199 | if kvs: 200 | name_to_node_map |= kvs 201 | provider_map[name] += (k for k, _ in kvs) 202 | return name_to_node_map, provider_map 203 | 204 | 205 | def _split_providers(provider_map: dict[str, list[str]]): 206 | to_order = defaultdict(lambda: 99, ((k, i) for i, k in enumerate(_base_yaml()['proxy-providers']))) 207 | 208 | node_to_providers = defaultdict(list) 209 | for k, v in sorted(provider_map.items(), key=lambda kv: to_order[kv[0]]): 210 | for node in v: 211 | node_to_providers[node].append(k) 212 | 213 | providers_to_nodes = defaultdict(list) 214 | for k, v in node_to_providers.items(): 215 | providers_to_nodes[tuple(v)].append(k) 216 | 217 | provider_to_providers = defaultdict(list) 218 | for k in providers_to_nodes: 219 | for provider in k: 220 | provider_to_providers[provider].append(k) 221 | 222 | to_real_providers_kvs = [] 223 | providers_to_name = {} 224 | providers_set = set() 225 | for k, v in provider_to_providers.items(): 226 | v_t = tuple(v) 227 | if v_t not in providers_set: 228 | providers_set.add(v_t) 229 | if len(v) == 1: 230 | providers_to_name[v[0]] = k 231 | to_real_providers_kvs.append((k, v)) 232 | 233 | real_provider_kvs = [] 234 | for k, v in providers_to_nodes.items(): 235 | if k not in providers_to_name: 236 | providers_to_name[k] = f"p_{'_'.join(k)}" 237 | real_provider_kvs.append((providers_to_name[k], v)) 238 | 239 | for k, v in to_real_providers_kvs: 240 | for i, providers in enumerate(v): 241 | v[i] = providers_to_name[providers] 242 | v.sort(key=lambda k: to_order[k]) 243 | 244 | to_real_providers_kvs.sort(key=lambda kv: to_order[kv[0]]) 245 | to_real_providers = dict(to_real_providers_kvs) 246 | real_provider_kvs.sort(key=lambda kv: to_order[kv[0]]) 247 | real_provider_map = dict(real_provider_kvs) 248 | 249 | return to_real_providers, real_provider_map 250 | 251 | 252 | def _exclude_p_Other(to_real_providers, real_provider_map, name_to_node_map): 253 | if 'Other' in to_real_providers: 254 | excluded = [] 255 | if 'p_Other' in to_real_providers['Other']: 256 | to_real_providers['Other'].remove('p_Other') 257 | excluded = real_provider_map['p_Other'] 258 | del real_provider_map['p_Other'] 259 | elif 'Other' in to_real_providers['Other'] and all('Other' not in v and k != 'Other' for k, v in to_real_providers.items()): 260 | del to_real_providers['Other'] 261 | excluded = real_provider_map['Other'] 262 | del real_provider_map['Other'] 263 | for p in excluded: 264 | del name_to_node_map[p] 265 | 266 | 267 | def _split_and_write_providers(y: YAML, providers_dir, clash=None, providers_dirs=None, exclude=None): 268 | if clash: 269 | name_to_node_map, provider_map = _parse_node_groups(y, clash, exclude) 270 | else: 271 | name_to_node_map, provider_map = _read_and_merge_providers(y, providers_dirs, exclude) 272 | to_real_providers, real_provider_map = _split_providers(provider_map) 273 | clear_files(providers_dir) 274 | for k, v in (provider_map | real_provider_map).items(): 275 | write( 276 | f'{providers_dir}/{k}.yaml', 277 | lambda f: y.dump({'proxies': [name_to_node_map[name] for name in v]}, f) 278 | ) 279 | _exclude_p_Other(to_real_providers, real_provider_map, name_to_node_map) 280 | provider_map = {k: [p for name in v for p in real_provider_map[name]] for k, v in to_real_providers.items()} 281 | real_providers = [*real_provider_map] 282 | return provider_map, to_real_providers, real_providers, name_to_node_map 283 | 284 | 285 | def _add_proxy_providers(cfg, real_providers, providers_dir, use_short_url): 286 | providers = {} 287 | base_provider = _base_yaml()['proxy-providers']['All'] 288 | for k in real_providers: 289 | provider = deepcopy(base_provider) 290 | if use_short_url: 291 | provider['url'] = get_short_url(f'{providers_dir}/{k}.yaml') 292 | else: 293 | provider['url'] = f'{github_raw_url_prefix}/{providers_dir}/{k}.yaml' 294 | provider['path'] = f'{providers_dir}/{k}.yaml' 295 | providers[k] = provider 296 | cfg['proxy-providers'] = providers 297 | 298 | 299 | def _remove_redundant_groups(cfg, provider_map): 300 | groups = cfg['proxy-groups'] 301 | removed_groups = set() 302 | i = 0 303 | for g in groups: 304 | if 'use' in g and g['use'][0] not in provider_map: 305 | removed_groups.add(g['name']) 306 | else: 307 | groups[i] = g 308 | i += 1 309 | del groups[i:] 310 | for g in groups: 311 | proxies = g.get('proxies') 312 | if proxies: 313 | i = 0 314 | for name in proxies: 315 | if name not in removed_groups: 316 | proxies[i] = name 317 | i += 1 318 | del proxies[i:] 319 | 320 | 321 | def _to_real_providers(cfg, to_real_providers): 322 | for g in cfg['proxy-groups']: 323 | if 'use' in g: 324 | g.pop('url', None) 325 | g.pop('interval', None) 326 | g['use'] = to_real_providers[g['use'][0]] 327 | 328 | 329 | def _to_proxies(cfg, provider_map): 330 | for g in cfg['proxy-groups']: 331 | if 'use' in g: 332 | g['proxies'] = provider_map[g['use'][0]] 333 | del g['use'] 334 | 335 | 336 | def gen_base64_and_clash_config(base64_path, clash_path, providers_dir, base64=None, base64_paths=None, clash=None, providers_dirs=None, exclude=None): 337 | y = _yaml() 338 | split_result = _split_and_write_providers( 339 | y, providers_dir, clash, providers_dirs, re.compile(exclude, re.I) if exclude else None) 340 | provider_map, to_real_providers, real_providers, name_to_node_map = split_result 341 | base64_node_n = _gen_base64_config(base64_path, name_to_node_map, base64, base64_paths) 342 | _gen_clash_config(y, clash_path, providers_dir, name_to_node_map, provider_map, to_real_providers, real_providers) 343 | if base64_node_n != len(name_to_node_map): 344 | print(f'base64 ({base64_node_n}) 与 clash {len(name_to_node_map)} 节点数量不一致') 345 | return base64_node_n 346 | 347 | 348 | def _gen_clash_config(y, clash_path, providers_dir, name_to_node_map, provider_map, to_real_providers, real_providers): 349 | cfg = deepcopy(_base_yaml()) 350 | del cfg['proxy-providers'] 351 | _remove_redundant_groups(cfg, provider_map) 352 | hardcode_cfg = deepcopy(cfg) 353 | 354 | _to_real_providers(cfg, to_real_providers) 355 | _add_proxy_providers(cfg, real_providers, providers_dir, clash_path == 'trial.yaml') 356 | cfg['rules'] = _rules() 357 | 358 | _to_proxies(hardcode_cfg, provider_map) 359 | hardcode_cfg['proxies'] = [*name_to_node_map.values()] 360 | hardcode_cfg['rules'] = _rules() 361 | 362 | write(clash_path, lambda f: y.dump(hardcode_cfg, f)) 363 | prefix, ext = os.path.splitext(clash_path) 364 | write(f'{prefix}_pp{ext}', lambda f: y.dump(cfg, f)) 365 | 366 | 367 | def _gen_base64_config(base64_path, name_to_node_map, base64=None, base64_paths=None): 368 | if base64_paths: 369 | base64s = (read(path, True) for path in base64_paths) 370 | else: 371 | base64s = [base64] 372 | lines = [] 373 | for base64 in base64s: 374 | if not re_non_empty_base64.fullmatch(base64): 375 | raise Exception('_gen_base64_config: ' + (f'no base64: {base64}' if base64 else 'no content')) 376 | for line in b64decode(base64).splitlines(): 377 | if get_name(line) in name_to_node_map: 378 | lines.append(line) 379 | write(base64_path, b64encode(b'\n'.join(lines) + b'\n')) 380 | return len(lines) 381 | -------------------------------------------------------------------------------- /subconverters.cfg: -------------------------------------------------------------------------------- 1 | # 默认 emoji=false 2 | # api.v1.mk # v0.8.0 Beta 3 | # sub.d1.mk # v0.8.0 Beta 4 | api.suda-cdn.com # v0.7.2-a24cb7c 5 | api.tsutsu.one # v0.7.2 6 | pub-api-1.bianyuan.xyz # v0.7.2 7 | 8 | # 默认 emoji=true 9 | # v.id9.cc # v0.7.3-e775df3 Meta 10 | www.nameless13.com # v0.7.2-d47b886 11 | api.wcc.best # v0.7.2-35d2965 12 | # api-suc.0z.gs # v0.7.2-35d2965 默认不排除任何节点 13 | api.suda.cat # v0.7.2-a24cb7c 14 | api.dler.io # v0.7.2 15 | sub.xeton.dev # v0.7.2 16 | api.subcloud.xyz # v0.7.2 17 | api.nexconvert.com # v0.7.2 18 | api.subcsub.com # v0.7.2 19 | limbopro.cyou # v0.7.2 20 | -------------------------------------------------------------------------------- /trial.cache: -------------------------------------------------------------------------------- 1 | [yiyuanvpn.top] 2 | api_host huaticloud.top 3 | buy pass 4 | email hhoqjwgoo455@gmail.com 5 | name 滑梯云 6 | node_n 12 7 | sub_info 762M 1G 2024-08-08 22:47:29+08:00 (剩余 262M -1 day, 23:56:57.569247) 8 | sub_url https://huaticloud.top/api/v1/client/subscribe?token=885472dd6903ee528b92e5b1d168d9fc 9 | time 2024-08-08 21:47:30.792394+08:00 10 | type v2board 11 | 保存base64/clash订阅失败 _gen_base64_config: no base64: b"The following link doesn't contain any valid node info: https://htcmi-20240805.mozhiti.top/api/v1/client/subscribe?token=885472dd6903ee528b92e5b1d168d9fc#1723128435.0387223" 12 | 更新旧订阅失败 HTTPSConnectionPool(host='huaticloud.top', port=443): Max retries exceeded with url: /api/v1/client/subscribe?token=885472dd6903ee528b92e5b1d168d9fc (Caused by ProtocolError('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))) 13 | 14 | [vipxgyun.com#西瓜皮] 15 | auto_invite F 16 | buy pass 17 | email uupbgulz892@gmail.com 18 | last_checkin 2024-11-08 00:50:04.976894+08:00 19 | name 西瓜皮是真的皮 20 | node_n 15 21 | sub_info 1010M 10.1G 2024-08-12 11:15:37+08:00 (剩余 9.112G -1 day, 14:14:22.048152) 22 | sub_url https://vipxgyun.com/link/Ez7HFt1oUIqAJm6g?sub=3 23 | time 2024-08-12 19:47:22.970613+08:00 24 | type sspanel 25 | 保存base64/clash订阅失败 'proxies' 26 | 保存订阅信息失败 no sub info 27 | 尝试签到失败 HTTPSConnectionPool(host='vipxgyun.com', port=443): Max retries exceeded with url: /auth/login (Caused by NameResolutionError(": Failed to resolve 'vipxgyun.com' ([Errno -2] Name or service not known)")) 28 | 更新旧订阅失败 HTTPSConnectionPool(host='vipxgyun.com', port=443): Max retries exceeded with url: /link/Ez7HFt1oUIqAJm6g?sub=3 (Caused by NameResolutionError(": Failed to resolve 'vipxgyun.com' ([Errno -2] Name or service not known)")) 29 | 30 | [https://xn--mes358a.art] 31 | 32 | [portal.passgfw.top] 33 | email owszgewd475@gmail.com 34 | name WindyCloud 35 | sub_info 0B 100G 2024-10-10 22:53:38+08:00 (剩余 100G 12 days, 9:59:57.483992) 36 | sub_url https://portal.passgfw.top/api/v1/client/subscribe?token=8f699baf3a3016cd1cd1ef5832af28ae 37 | time 2024-09-10 22:53:38.526191+08:00 38 | type v2board 39 | 保存base64/clash订阅失败 'proxies' 40 | 更新旧订阅失败 (https://portal.passgfw.top/api/v1/client/subscribe?token=8f699baf3a3016cd1cd1ef5832af28ae): 403 Forbidden '{"status":"fail","message":"token is error","data":null,"error":null}' 41 | 42 | [csyun.xyz] 43 | api_host ww38.csyun.xyz 44 | email qayhoca806@gmail.com 45 | name 橙速云 46 | type v2board 47 | 更新订阅链接/续费续签失败 注册失败(bpbdggzaz161@gmail.com): 解析 json 失败: Expecting value: line 1 column 1 (char 0) (403 Forbidden '\r\n403 Forbidden\r\n\r\n

403 Forbidden

\r\n
nginx
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n') 48 | 49 | [www.qlgq.top] 50 | auto_invite F 51 | banned_domains smartnator.com femailtor.com tmpnator.live WJ32.HAIHANTNC.XYZ haihantnc.xyz buguauto.cn psnator.com 111.wldpb.shop lista.cc snapmail.cc xxxhi.cc 52 | buy pass 53 | email wixhspx507@tmpeml.com 54 | last_checkin 2024-12-15 02:49:16.382500+08:00 55 | name 墙了个墙 56 | node_n 30 57 | sub_info 7.529G 888G 2024-12-16 02:49:16+08:00 (剩余 880.5G 3:01:48.476649) 58 | sub_url https://www.qlgq.top/link/b953a23647069d34?clash=1#墙了个墙 59 | time 2024-12-15 02:49:17.270078+08:00 60 | type sspanel 61 | 尝试签到失败 HTTPSConnectionPool(host='www.qlgq.top', port=443): Max retries exceeded with url: /auth/login (Caused by NameResolutionError(": Failed to resolve 'www.qlgq.top' ([Errno -2] Name or service not known)")) 62 | 更新旧订阅失败 HTTPSConnectionPool(host='www.qlgq.top', port=443): Max retries exceeded with url: /link/b953a23647069d34?clash=1 (Caused by NameResolutionError(": Failed to resolve 'www.qlgq.top' ([Errno -2] Name or service not known)")) 63 | 64 | [2.flybar20.cc] 65 | banned_domains tmpmail.net moakt.ws bareed.ws tmpmail.org tmails.net h11gggujjj.bond disbox.net tmail.ws mydefipet.live psnator.com disbox.org moakt.co tmpnator.live femailtor.com smartnator.com xxxhi.cc buguauto.cn nespressopixie.com muatoc.com miteon.com maxamba.com lista.cc 111.wldpb.shop snapmail.cc mynanaimohomes.com 222.wfmvz.shop 222.vzakf.shop 222.wkhxn.shop 333.wkhxn.shop wfes.site lplso.tmmad.com bccto.cc 965.tmmad.com x866.cc 51788.top jkb.tmmad.com mxl001.win zz.wgfkq.shop 442587.xyz mail.shouyou789.com lpl1so.tmmad.com ipiso.tmmad.com guerrillamail.de guerrillamail.com yzm.de linshiyou.com lyx13.xyz 66 | email acsoaho882@lushenticbag.com 67 | invite_code IKbv 10000 68 | last_checkin 2025-06-02 06:48:11.551633+08:00 69 | name 飞翔吧 70 | node_n 46 71 | sub_info 0B 10.19G 2025-06-03 06:48:10+08:00 (剩余 10.19G 23:00:52.898823) 72 | sub_url http://175.178.9.20/link/EeYFagG5p24gjU8I?sub=3 73 | time 2025-06-02 06:48:13.852475+08:00 74 | type sspanel 75 | 76 | [mgnet.vip] 77 | auto_invite F 78 | buy pass 79 | email srkythvb964@gmail.com 80 | last_checkin 2025-06-02 06:48:06.771553+08:00 81 | name MG Network 82 | node_n 10 83 | sub_info 0B 5.361G 2025-06-04 07:48:06+08:00 (剩余 5.361G 2 days, 0:00:57.925690) 84 | sub_url https://www.mgnet.sbs/link/q4WmAyIEiQR0CvuA?sub=3 85 | time 2025-06-02 06:48:07.149548+08:00 86 | type sspanel 87 | 88 | [zhenshihui.shop] 89 | email mffkaxr824@gmail.com 90 | name 真实惠 91 | sub_info 0B 0B 永不过期 (剩余 0B) 92 | sub_url https://zhenshihui.shop/api/v1/client/subscribe?token=838f0e0d9be453f2e077a543863eb741 93 | time 2025-02-12 00:50:37.542466+08:00 94 | type v2board 95 | 保存base64/clash订阅失败 'NoneType' object is not iterable 96 | 更新旧订阅失败 解析 json 失败: Expecting value: line 1 column 1 (char 0) (522 '') 97 | 98 | [cloudcat.top] 99 | email hdkcrjota449@gmail.com 100 | name 云猫机场-免费公益 101 | node_n 4 102 | sub_info 0B 0B 永不过期 (剩余 0B) 103 | sub_url https://cloudcat.top/api/v1/client/subscribe?token=ca7e8e42520e774cb799f21a684ec3f2 104 | time 2024-09-14 05:47:24.024104+08:00 105 | type v2board 106 | 保存base64/clash订阅失败 'NoneType' object is not iterable 107 | 更新旧订阅失败 HTTPSConnectionPool(host='cloudcat.top', port=443): Max retries exceeded with url: /api/v1/passport/auth/login (Caused by NameResolutionError(": Failed to resolve 'cloudcat.top' ([Errno -3] Temporary failure in name resolution)")) 108 | -------------------------------------------------------------------------------- /trial.cfg: -------------------------------------------------------------------------------- 1 | yiyuanvpn.top invite_code 6688 #一元云梯 2 | #v.spwvpn.com#麻雀加速器 3 | #koumakan.quickline.top#红魔 4 | vipxgyun.com#西瓜皮 5 | #www.1jichang.xyz#一机场 6 | zhenshihui.shop buy period=month_price&plan_id=1&coupon_code=%E4%BC%98%E6%83%A0 7 | cloudcat.top buy period=month_price&plan_id=1&coupon_code=cloudcat8 8 | #huamaoyun.live#花猫云 9 | #www.jjyhk.com#鸡鸡云 10 | #www.grey51.life#小巫云 11 | https://xn--mes358a.art buy period=month_price&plan_id=1&coupon_code=@bpjc520 12 | #jc.bbx9527.xyz 13 | #free.itdog.cloud buy period=month_price&plan_id=1&coupon_code=itdog 14 | #531131.xyz buy period=month_price&plan_id=1&coupon_code=%E5%B0%8F%E7%86%8A%E9%A5%BC%E5%B9%B2#饼干 15 | #yq1.jixunyou02.com buy period=month_price&plan_id=9#极讯游 16 | #cloud.doushimeng.com #都是梦 17 | #www.yongdong.xyz #永动机 18 | #cloud.colacloud.site #可乐云 19 | portal.passgfw.top buy period=month_price&plan_id=15 #WindyCloud 20 | #v2.quanstring.top#大湾区 21 | #freeflyingcloud.com buy period=month_price&plan_id=1&coupon_code=%E8%87%AA%E7%94%B1%E9%A3%9E%E4%BA%91 22 | #cloud.bigme.pro#bigme 23 | #pigvip.xyz 24 | #xn--36qvoh19mwpe.xyz 25 | #dd.xny.gay buy period=month_price&plan_id=1#xyz 26 | csyun.xyz buy period=month_price&plan_id=1&coupon_code=yvZ8PJ9V#橙速云 27 | #truenet.cloud buy period=month_price&plan_id=5#零元购 28 | #ftq.wiki buy period=month_price&plan_id=1#佛跳墙 29 | #22.lownet.xyz buy period=month_price&plan_id=8 30 | #mg.1yuancn.top buy period=onetime_price&plan_id=1#中国国际机场 31 | #shiyuanyinian.xyz buy period=onetime_price&plan_id=5&coupon_code=ZKeELbIs reg_limit 1#十元一年 32 | #www.sscurl.com buy period=onetime_price&plan_id=1 33 | #vpn.583180.xyz invite_code tzm2OUvi buy period=month_price&plan_id=4&coupon_code=PmzYGaoO#星河 34 | #www.kuaidog001.top buy period=month_price&plan_id=12&coupon_code=baipiao 35 | #cn.luonan.me buy period=quarter_price&plan_id=8&coupon_code=lonan100%250ff 36 | #www.jinyuxiaowoonline.top buy period=month_price&plan_id=4&coupon_code=5G0KFQjX 37 | #y1k.live buy period=month_price&plan_id=1&coupon_code=GPFKBpKz#一颗机场 38 | #cloud.fanqiecloud.top buy period=month_price&plan_id=2&coupon_code=%E5%90%83%E7%95%AA%E8%8C%84#番茄云 39 | #www.tannel.xyz 名字 clash 1 reg_limit 1#tannel 40 | #www.17kana.com clash 1 41 | www.qlgq.top clash 1#墙了个墙 42 | #bee.sulepay.com clash 1 43 | #aa.dabai.in buy coupon=&shop=31#大白 44 | 2.flybar20.cc name flybar invite_code rG1J auto_invite T buy coupon=&shop=9&autorenew=0&disableothers=1#飞翔吧 45 | #sspanel.npv4.com buy coupon=&shop=1&autorenew=0&disableothers=1#sspanel 46 | #haituncloud.xyz name haitun buy coupon=haitunfenxiang&shop=1&autorenew=0&disableothers=1#海豚云 47 | #www.freeapp.buzz buy period=month_price&plan_id=1#freeapp 48 | mgnet.vip 49 | #api.kyjc.xyz clash 1#快云 50 | #cooc.cloud#小白云 51 | #lx-cloud.xyz#Lx-Cloud 52 | #养老机场.com 53 | 54 | #zhoushuren.cloud 55 | #ikuntool.com 56 | #www.chaojijichang.com 57 | #www.ckcloud.xyz 58 | #fastestcloud.xyz 59 | #biubiufast.com 60 | #giaoyun.xyz 61 | #盛丰.com auto_invite T buy coupon=&shop=1&autorenew=0&disableothers=1 62 | #便宜机场.com buy period=quarter_price&plan_id=1 63 | #www.xingsu.club buy period=month_price&plan_id=15&coupon_code=xingsu888 64 | #suannai123.xyz 65 | #sockboom.link aff 0 exclude VIP 66 | #cyanmori.com clash 1 67 | #www.flybar4.cc clash 1 68 | #sanzangyun.cc buy period=year_price&plan_id=1 reg_limit 1 69 | #cooc.cloud 70 | #xn--fjq20tc0nlq0a.com 71 | #yingwuyun.top 72 | #iqiaqia.xyz 73 | #cryxr.xyz 74 | #www.crew.icu 75 | #vpiv.app sub 1 76 | #ssr.biyaoshidian.top 77 | #ziyun.cyou clash 1 78 | 79 | #lm.laomaoyun.me clash 1 buy period=month_price&plan_id=5&coupon_code=laomaoyun 80 | #qhcy.cc clash 1 buy period=month_price&plan_id=2 81 | #sacyun.sbs 82 | #klxq.djgskc.top 83 | #my.bfhk.xyz 84 | #store.kakocloud.pro 85 | #v2link.org 86 | #cfcloud.cyou 87 | #maossr.top 88 | #ayucloud.services clash 1 89 | #bbs.cloudnetwork.pro clash 1 90 | #doumao.top clash 1 invite_code DSRm9DaO 91 | #www.ytdy666.buzz sub 1 92 | #kan.gar.ooo 93 | #proxyvip.xyz 94 | #console.ly520.me 95 | #api.kyjs.xyz clash 1 96 | -------------------------------------------------------------------------------- /trials/2.flybar20.cc: -------------------------------------------------------------------------------- 1 | dHJvamFuOi8vYjE3NTc4YjctZjI5NS0zOTM2LWIwNjYtNzllMjFiYzFkZjA2QGd5bC41OG4ubmV0OjIwMzA5P2FsbG93SW5zZWN1cmU9MCZzbmk9ejMwOS5ob25na29uZ25vZGUudG9wIyVGMCU5RiU4NyVBRCVGMCU5RiU4NyVCMCUyMCVFNSVCOSVCRiVFNiVCOCVBRiVFMiU4MCVBMiVFOSVBNiU5OSVFNiVCOCVBRjMwOSVFMiU4MCVBMiVFNCVCOCU5MyVFNyVCQSVCRiUyMC0lMjAlRTklQTMlOUUlRTclQkYlOTQlRTUlOTAlQTcKdHJvamFuOi8vYjE3NTc4YjctZjI5NS0zOTM2LWIwNjYtNzllMjFiYzFkZjA2QGd5LjU4bi5uZXQ6NDMzMzc/YWxsb3dJbnNlY3VyZT0wJnNuaT16MTAyLmhvbmdrb25nbm9kZS50b3AjJUYwJTlGJTg3JUFEJUYwJTlGJTg3JUIwJTIwJUU0JUI4JUFEJUU4JUJEJUFDJUUyJTgwJUEyJUU5JUE2JTk5JUU2JUI4JUFGMTAyJUUyJTgwJUEyJUU5JUFCJTk4JUU5JTgwJTlGJTIwLSUyMCVFOSVBMyU5RSVFNyVCRiU5NCVFNSU5MCVBNwp0cm9qYW46Ly9iMTc1NzhiNy1mMjk1LTM5MzYtYjA2Ni03OWUyMWJjMWRmMDZAZ3kuNThuLm5ldDoyMDMwNz9hbGxvd0luc2VjdXJlPTAmc25pPXozMDcuaG9uZ2tvbmdub2RlLnRvcCMlRjAlOUYlODclQUQlRjAlOUYlODclQjAlMjAlRTQlQjglQUQlRTglQkQlQUMlRTIlODAlQTIlRTklQTYlOTklRTYlQjglQUYzMDclRTIlODAlQTIlRTklQUIlOTglRTklODAlOUYlMjAtJTIwJUU5JUEzJTlFJUU3JUJGJTk0JUU1JTkwJUE3CnRyb2phbjovL2IxNzU3OGI3LWYyOTUtMzkzNi1iMDY2LTc5ZTIxYmMxZGYwNkBneS41OG4ubmV0OjI4Njc4P2FsbG93SW5zZWN1cmU9MCZzbmk9ejE0My5ob25na29uZ25vZGUudG9wIyVGMCU5RiU4NyVBRCVGMCU5RiU4NyVCMCUyMCVFNSVCOSVCRiVFNiVCOCVBRiVFMiU4MCVBMiVFOSVBNiU5OSVFNiVCOCVBRjE0MyVFMiU4MCVBMiVFOSVBQiU5OCVFOSU4MCU5RiUyMC0lMjAlRTklQTMlOUUlRTclQkYlOTQlRTUlOTAlQTcKdHJvamFuOi8vYjE3NTc4YjctZjI5NS0zOTM2LWIwNjYtNzllMjFiYzFkZjA2QGd5LjU4bi5uZXQ6MjQ2MDM/YWxsb3dJbnNlY3VyZT0wJnNuaT16MjU5Lmhvbmdrb25nbm9kZS50b3AjJUYwJTlGJTg3JUFEJUYwJTlGJTg3JUIwJTIwJUU1JUI5JUJGJUU2JUI4JUFGJUUyJTgwJUEyJUU5JUE2JTk5JUU2JUI4JUFGMjU5JUUyJTgwJUEyJUU5JUFCJTk4JUU5JTgwJTlGJTIwLSUyMCVFOSVBMyU5RSVFNyVCRiU5NCVFNSU5MCVBNwp0cm9qYW46Ly9iMTc1NzhiNy1mMjk1LTM5MzYtYjA2Ni03OWUyMWJjMWRmMDZAZ3kuNThuLm5ldDoyMjc0MT9hbGxvd0luc2VjdXJlPTAmc25pPWR1ZnUuaG9uZ2tvbmdub2RlLnRvcCMlRjAlOUYlODclQUQlRjAlOUYlODclQjAlMjAlRTUlQjklQkYlRTYlQjglQUYlRTIlODAlQTIlRTklQTYlOTklRTYlQjglQUYyNjklRTIlODAlQTIlRTklQUIlOTglRTklODAlOUYlMjAtJTIwJUU5JUEzJTlFJUU3JUJGJTk0JUU1JTkwJUE3CnRyb2phbjovL2IxNzU3OGI3LWYyOTUtMzkzNi1iMDY2LTc5ZTIxYmMxZGYwNkBneS41OG4ubmV0OjIwMjc4P2FsbG93SW5zZWN1cmU9MCZzbmk9ejI3OC5ob25na29uZ25vZGUudG9wIyVGMCU5RiU4NyVBRCVGMCU5RiU4NyVCMCUyMCVFNSVCOSVCRiVFNiVCOCVBRiVFMiU4MCVBMiVFOSVBNiU5OSVFNiVCOCVBRjI3OCVFMiU4MCVBMiVFOSVBQiU5OCVFOSU4MCU5RiUyMC0lMjAlRTklQTMlOUUlRTclQkYlOTQlRTUlOTAlQTcKdHJvamFuOi8vYjE3NTc4YjctZjI5NS0zOTM2LWIwNjYtNzllMjFiYzFkZjA2QGd5LjU4bi5uZXQ6MjAyNzk/YWxsb3dJbnNlY3VyZT0wJnNuaT16Mjc5Lmhvbmdrb25nbm9kZS50b3AjJUYwJTlGJTg3JUFEJUYwJTlGJTg3JUIwJTIwJUU1JUI5JUJGJUU2JUI4JUFGJUUyJTgwJUEyJUU5JUE2JTk5JUU2JUI4JUFGMjc5JUUyJTgwJUEyJUU5JUFCJTk4JUU5JTgwJTlGJTIwLSUyMCVFOSVBMyU5RSVFNyVCRiU5NCVFNSU5MCVBNwp0cm9qYW46Ly9iMTc1NzhiNy1mMjk1LTM5MzYtYjA2Ni03OWUyMWJjMWRmMDZAZ3kuNThuLm5ldDoyMDI5ND9hbGxvd0luc2VjdXJlPTAmc25pPXoyOTQuaG9uZ2tvbmdub2RlLnRvcCMlRjAlOUYlODclQUQlRjAlOUYlODclQjAlMjAlRTUlQjklQkYlRTYlQjglQUYlRTIlODAlQTIlRTklQTYlOTklRTYlQjglQUYyOTQlRTIlODAlQTIlRTklQUIlOTglRTklODAlOUYlMjAtJTIwJUU5JUEzJTlFJUU3JUJGJTk0JUU1JTkwJUE3CnRyb2phbjovL2IxNzU3OGI3LWYyOTUtMzkzNi1iMDY2LTc5ZTIxYmMxZGYwNkBneS41OG4ubmV0OjU5MDIxP2FsbG93SW5zZWN1cmU9MCZzbmk9eDEwMC5mbHliYXIud29yayMlRjAlOUYlODclQjklRjAlOUYlODclQkMlMjAlRTQlQjglQUQlRTglQkQlQUMlRTIlODAlQTIlRTUlOEYlQjAlRTYlQjklQkUxMDAlRTIlODAlQTIlRTklQUIlOTglRTklODAlOUYlMjAtJTIwJUU5JUEzJTlFJUU3JUJGJTk0JUU1JTkwJUE3CnRyb2phbjovL2IxNzU3OGI3LWYyOTUtMzkzNi1iMDY2LTc5ZTIxYmMxZGYwNkBneS41OG4ubmV0OjIxMjQ3P2FsbG93SW5zZWN1cmU9MCZzbmk9eDkxLmZseWJhci53b3JrIyVGMCU5RiU4NyVCOSVGMCU5RiU4NyVCQyUyMCVFNCVCOCVBRCVFOCVCRCVBQyVFMiU4MCVBMiVFNSU4RiVCMCVFNiVCOSVCRTkxJUUyJTgwJUEyJUU1JThFJTlGJUU3JTk0JTlGJTIwLSUyMCVFOSVBMyU5RSVFNyVCRiU5NCVFNSU5MCVBNwp0cm9qYW46Ly9iMTc1NzhiNy1mMjk1LTM5MzYtYjA2Ni03OWUyMWJjMWRmMDZAZ3kuNThuLm5ldDozMzMyMz9hbGxvd0luc2VjdXJlPTAmc25pPXoyNjEuaG9uZ2tvbmdub2RlLnRvcCMlRjAlOUYlODclQjklRjAlOUYlODclQkMlMjAlRTUlQjklQkYlRTYlQjglQUYlRTIlODAlQTIlRTUlOEYlQjAlRTYlQjklQkUyNjElRTIlODAlQTIlRTklQUIlOTglRTklODAlOUYlMjAtJTIwJUU5JUEzJTlFJUU3JUJGJTk0JUU1JTkwJUE3CnRyb2phbjovL2IxNzU3OGI3LWYyOTUtMzkzNi1iMDY2LTc5ZTIxYmMxZGYwNkBneS41OG4ubmV0OjM2ODIxP2FsbG93SW5zZWN1cmU9MCZzbmk9ejI2Mi5ob25na29uZ25vZGUudG9wIyVGMCU5RiU4NyVCOSVGMCU5RiU4NyVCQyUyMCVFNSVCOSVCRiVFNiVCOCVBRiVFMiU4MCVBMiVFNSU4RiVCMCVFNiVCOSVCRTI2MiVFMiU4MCVBMiVFOSVBQiU5OCVFOSU4MCU5RiUyMC0lMjAlRTklQTMlOUUlRTclQkYlOTQlRTUlOTAlQTcKdHJvamFuOi8vYjE3NTc4YjctZjI5NS0zOTM2LWIwNjYtNzllMjFiYzFkZjA2QGd5LjU4bi5uZXQ6NDUxNjg/YWxsb3dJbnNlY3VyZT0wJnNuaT16MjYzLmhvbmdrb25nbm9kZS50b3AjJUYwJTlGJTg3JUIwJUYwJTlGJTg3JUI3JTIwJUU1JUI5JUJGJUU2JUI4JUFGJUUyJTgwJUEyJUU5JTlGJUE5JUU1JTlCJUJEMjYzJUUyJTgwJUEyJUU5JUFCJTk4JUU5JTgwJTlGJTIwLSUyMCVFOSVBMyU5RSVFNyVCRiU5NCVFNSU5MCVBNwp0cm9qYW46Ly9iMTc1NzhiNy1mMjk1LTM5MzYtYjA2Ni03OWUyMWJjMWRmMDZAZ3kuNThuLm5ldDo1MDM1NT9hbGxvd0luc2VjdXJlPTAmc25pPXoyNjQuaG9uZ2tvbmdub2RlLnRvcCMlRjAlOUYlODclQjAlRjAlOUYlODclQjclMjAlRTUlQjklQkYlRTYlQjglQUYlRTIlODAlQTIlRTklOUYlQTklRTUlOUIlQkQyNjQlRTIlODAlQTIlRTklQUIlOTglRTklODAlOUYlMjAtJTIwJUU5JUEzJTlFJUU3JUJGJTk0JUU1JTkwJUE3CnRyb2phbjovL2IxNzU3OGI3LWYyOTUtMzkzNi1iMDY2LTc5ZTIxYmMxZGYwNkBneS41OG4ubmV0OjIwMjk1P2FsbG93SW5zZWN1cmU9MCZzbmk9ejI5NS5ob25na29uZ25vZGUudG9wIyVGMCU5RiU4NyVCQSVGMCU5RiU4NyVCOCUyMCVFNCVCOCVBRCVFOCVCRCVBQyVFMiU4MCVBMiVFNyVCRSU4RSVFNSU5QiVCRDI5NSVFMiU4MCVBMiVFOSVBQiU5OCVFOSU4MCU5RiUyMC0lMjAlRTklQTMlOUUlRTclQkYlOTQlRTUlOTAlQTcKdHJvamFuOi8vYjE3NTc4YjctZjI5NS0zOTM2LWIwNjYtNzllMjFiYzFkZjA2QGd5LjU4bi5uZXQ6MjAyOTY/YWxsb3dJbnNlY3VyZT0wJnNuaT16Mjk2Lmhvbmdrb25nbm9kZS50b3AjJUYwJTlGJTg3JUJBJUYwJTlGJTg3JUI4JTIwJUU0JUI4JUFEJUU4JUJEJUFDJUUyJTgwJUEyJUU3JUJFJThFJUU1JTlCJUJEMjk2JUUyJTgwJUEyJUU5JUFCJTk4JUU5JTgwJTlGJTIwLSUyMCVFOSVBMyU5RSVFNyVCRiU5NCVFNSU5MCVBNwp0cm9qYW46Ly9iMTc1NzhiNy1mMjk1LTM5MzYtYjA2Ni03OWUyMWJjMWRmMDZAZ3kuNThuLm5ldDoyMDMwOD9hbGxvd0luc2VjdXJlPTAmc25pPXozMDguaG9uZ2tvbmdub2RlLnRvcCMlRjAlOUYlODclQkElRjAlOUYlODclQjglMjAlRTQlQjglQUQlRTglQkQlQUMlRTIlODAlQTIlRTclQkUlOEUlRTUlOUIlQkQzMDglRTIlODAlQTIlRTklQUIlOTglRTklODAlOUYlMjAtJTIwJUU5JUEzJTlFJUU3JUJGJTk0JUU1JTkwJUE3CnRyb2phbjovL2IxNzU3OGI3LWYyOTUtMzkzNi1iMDY2LTc5ZTIxYmMxZGYwNkBneS41OG4ubmV0OjE2ODk1P2FsbG93SW5zZWN1cmU9MCZzbmk9eDQwLmZseWJhci53b3JrIyVGMCU5RiU4NyVCQSVGMCU5RiU4NyVCOCUyMCVFNCVCOCVBRCVFOCVCRCVBQyVFMiU4MCVBMiVFNyVCRSU4RSVFNSU5QiVCRDQwJUUyJTgwJUEyJUU5JUFCJTk4JUU5JTgwJTlGJTIwLSUyMCVFOSVBMyU5RSVFNyVCRiU5NCVFNSU5MCVBNwp0cm9qYW46Ly9iMTc1NzhiNy1mMjk1LTM5MzYtYjA2Ni03OWUyMWJjMWRmMDZAZ3kuNThuLm5ldDoyMTk3MD9hbGxvd0luc2VjdXJlPTAmc25pPXg0MS5mbHliYXIud29yayMlRjAlOUYlODclQkElRjAlOUYlODclQjglMjAlRTQlQjglQUQlRTglQkQlQUMlRTIlODAlQTIlRTclQkUlOEUlRTUlOUIlQkQ0MSVFMiU4MCVBMiVFNSU4RSU5RiVFNyU5NCU5RiUyMC0lMjAlRTklQTMlOUUlRTclQkYlOTQlRTUlOTAlQTcKdHJvamFuOi8vYjE3NTc4YjctZjI5NS0zOTM2LWIwNjYtNzllMjFiYzFkZjA2QGd5LjU4bi5uZXQ6MzA3Njc/YWxsb3dJbnNlY3VyZT0wJnNuaT16NjEuaG9uZ2tvbmdub2RlLnRvcCMlRjAlOUYlODclQkElRjAlOUYlODclQjglMjAlRTQlQjglQUQlRTglQkQlQUMlRTIlODAlQTIlRTclQkUlOEUlRTUlOUIlQkQ2MSVFMiU4MCVBMiVFOSVBQiU5OCVFOSU4MCU5RiUyMC0lMjAlRTklQTMlOUUlRTclQkYlOTQlRTUlOTAlQTcKdHJvamFuOi8vYjE3NTc4YjctZjI5NS0zOTM2LWIwNjYtNzllMjFiYzFkZjA2QGd5LjU4bi5uZXQ6NTY3ODM/YWxsb3dJbnNlY3VyZT0wJnNuaT16MjY2Lmhvbmdrb25nbm9kZS50b3AjJUYwJTlGJTg3JUJBJUYwJTlGJTg3JUI4JTIwJUU1JUI5JUJGJUU2JUI4JUFGJUUyJTgwJUEyJUU3JUJFJThFJUU1JTlCJUJEMjY2JUUyJTgwJUEyJUU5JUFCJTk4JUU5JTgwJTlGJTIwLSUyMCVFOSVBMyU5RSVFNyVCRiU5NCVFNSU5MCVBNwp0cm9qYW46Ly9iMTc1NzhiNy1mMjk1LTM5MzYtYjA2Ni03OWUyMWJjMWRmMDZAZ3kuNThuLm5ldDoyMDI4OD9hbGxvd0luc2VjdXJlPTAmc25pPXoyODguaG9uZ2tvbmdub2RlLnRvcCMlRjAlOUYlODclQkElRjAlOUYlODclQjglMjAlRTUlQjklQkYlRTYlQjglQUYlRTIlODAlQTIlRTclQkUlOEUlRTUlOUIlQkQyODglRTIlODAlQTIlRTklQUIlOTglRTklODAlOUYlMjAtJTIwJUU5JUEzJTlFJUU3JUJGJTk0JUU1JTkwJUE3CnRyb2phbjovL2IxNzU3OGI3LWYyOTUtMzkzNi1iMDY2LTc5ZTIxYmMxZGYwNkBneS41OG4ubmV0OjIwMjk4P2FsbG93SW5zZWN1cmU9MCZzbmk9ejI5OC5ob25na29uZ25vZGUudG9wIyVGMCU5RiU4NyVBRiVGMCU5RiU4NyVCNSUyMCVFNCVCOCVBRCVFOCVCRCVBQyVFMiU4MCVBMiVFNiU5NyVBNSVFNiU5QyVBQzI5OCVFMiU4MCVBMiVFOSVBQiU5OCVFOSU4MCU5RiUyMC0lMjAlRTklQTMlOUUlRTclQkYlOTQlRTUlOTAlQTcKdHJvamFuOi8vYjE3NTc4YjctZjI5NS0zOTM2LWIwNjYtNzllMjFiYzFkZjA2QGd5LjU4bi5uZXQ6MjAzMDA/YWxsb3dJbnNlY3VyZT0wJnNuaT16MzAwLmhvbmdrb25nbm9kZS50b3AjJUYwJTlGJTg3JUFGJUYwJTlGJTg3JUI1JTIwJUU0JUI4JUFEJUU4JUJEJUFDJUUyJTgwJUEyJUU2JTk3JUE1JUU2JTlDJUFDMzAwJUUyJTgwJUEyJUU1JThFJTlGJUU3JTk0JTlGJTIwLSUyMCVFOSVBMyU5RSVFNyVCRiU5NCVFNSU5MCVBNwp0cm9qYW46Ly9iMTc1NzhiNy1mMjk1LTM5MzYtYjA2Ni03OWUyMWJjMWRmMDZAZ3kuNThuLm5ldDo0MTc2Nz9hbGxvd0luc2VjdXJlPTAmc25pPXgxMTQuZmx5YmFyLndvcmsjJUYwJTlGJTg3JUFGJUYwJTlGJTg3JUI1JTIwJUU2JTk3JUE1JUU2JTlDJUFDJUUyJTgwJUEyJUU5JUFCJTk4JUU5JTgwJTlGMTE0JUUyJTgwJUEyJUU5JUFCJTk4JUU5JTgwJTlGJTIwLSUyMCVFOSVBMyU5RSVFNyVCRiU5NCVFNSU5MCVBNwp0cm9qYW46Ly9iMTc1NzhiNy1mMjk1LTM5MzYtYjA2Ni03OWUyMWJjMWRmMDZAZ3kuNThuLm5ldDo1NDE3OD9hbGxvd0luc2VjdXJlPTAmc25pPXgxMTUuZmx5YmFyLndvcmsjJUYwJTlGJTg3JUFGJUYwJTlGJTg3JUI1JTIwJUU2JTk3JUE1JUU2JTlDJUFDJUUyJTgwJUEyJUU5JUFCJTk4JUU5JTgwJTlGMTE1JUUyJTgwJUEyJUU5JUFCJTk4JUU5JTgwJTlGJTIwLSUyMCVFOSVBMyU5RSVFNyVCRiU5NCVFNSU5MCVBNwp0cm9qYW46Ly9iMTc1NzhiNy1mMjk1LTM5MzYtYjA2Ni03OWUyMWJjMWRmMDZAZ3kuNThuLm5ldDoyMDEzOT9hbGxvd0luc2VjdXJlPTAmc25pPXoxMzkuaG9uZ2tvbmdub2RlLnRvcCMlRjAlOUYlODclQUYlRjAlOUYlODclQjUlMjAlRTYlOTclQTUlRTYlOUMlQUMlRTIlODAlQTIlRTklQUIlOTglRTklODAlOUYxMzklRTIlODAlQTIlRTklOTMlODIlRTklODclOTElMjAtJTIwJUU5JUEzJTlFJUU3JUJGJTk0JUU1JTkwJUE3CnRyb2phbjovL2IxNzU3OGI3LWYyOTUtMzkzNi1iMDY2LTc5ZTIxYmMxZGYwNkBneS41OG4ubmV0OjIwMTQwP2FsbG93SW5zZWN1cmU9MCZzbmk9ejE0MC5ob25na29uZ25vZGUudG9wIyVGMCU5RiU4NyVBRiVGMCU5RiU4NyVCNSUyMCVFNiU5NyVBNSVFNiU5QyVBQyVFMiU4MCVBMiVFOSVBQiU5OCVFOSU4MCU5RjE0MCVFMiU4MCVBMiVFOSU5MyU4MiVFOSU4NyU5MSUyMC0lMjAlRTklQTMlOUUlRTclQkYlOTQlRTUlOTAlQTcKdHJvamFuOi8vYjE3NTc4YjctZjI5NS0zOTM2LWIwNjYtNzllMjFiYzFkZjA2QGd5LjU4bi5uZXQ6MjAxNDE/YWxsb3dJbnNlY3VyZT0wJnNuaT16MTQxLmhvbmdrb25nbm9kZS50b3AjJUYwJTlGJTg3JUFGJUYwJTlGJTg3JUI1JTIwJUU2JTk3JUE1JUU2JTlDJUFDJUUyJTgwJUEyJUU5JUFCJTk4JUU5JTgwJTlGMTQxJUUyJTgwJUEyJUU5JTkzJTgyJUU5JTg3JTkxJTIwLSUyMCVFOSVBMyU5RSVFNyVCRiU5NCVFNSU5MCVBNwp0cm9qYW46Ly9iMTc1NzhiNy1mMjk1LTM5MzYtYjA2Ni03OWUyMWJjMWRmMDZAZ3kuNThuLm5ldDoyMDE0Mj9hbGxvd0luc2VjdXJlPTAmc25pPXoxNDIuaG9uZ2tvbmdub2RlLnRvcCMlRjAlOUYlODclQUYlRjAlOUYlODclQjUlMjAlRTYlOTclQTUlRTYlOUMlQUMlRTIlODAlQTIlRTklQUIlOTglRTklODAlOUYxNDIlRTIlODAlQTIlRTUlOEUlOUYlRTclOTQlOUYlMjAtJTIwJUU5JUEzJTlFJUU3JUJGJTk0JUU1JTkwJUE3CnRyb2phbjovL2IxNzU3OGI3LWYyOTUtMzkzNi1iMDY2LTc5ZTIxYmMxZGYwNkBneS41OG4ubmV0OjIwMDU5P2FsbG93SW5zZWN1cmU9MCZzbmk9eDU5LmZseWJhci53b3JrIyVGMCU5RiU4NyVBRiVGMCU5RiU4NyVCNSUyMCVFNiU5NyVBNSVFNiU5QyVBQyVFMiU4MCVBMiVFOSVBQiU5OCVFOSU4MCU5RjU5JUUyJTgwJUEyJUU5JTlEJTkyJUU5JTkzJTlDJTIwLSUyMCVFOSVBMyU5RSVFNyVCRiU5NCVFNSU5MCVBNwp0cm9qYW46Ly9iMTc1NzhiNy1mMjk1LTM5MzYtYjA2Ni03OWUyMWJjMWRmMDZAZ3kuNThuLm5ldDoyMDA3MT9hbGxvd0luc2VjdXJlPTAmc25pPXg3MS5mbHliYXIud29yayMlRjAlOUYlODclQUYlRjAlOUYlODclQjUlMjAlRTYlOTclQTUlRTYlOUMlQUMlRTIlODAlQTIlRTklQUIlOTglRTklODAlOUY3MSVFMiU4MCVBMiVFOSVBQiU5OCVFOSU4MCU5RiUyMC0lMjAlRTklQTMlOUUlRTclQkYlOTQlRTUlOTAlQTcKdHJvamFuOi8vYjE3NTc4YjctZjI5NS0zOTM2LWIwNjYtNzllMjFiYzFkZjA2QGd5LjU4bi5uZXQ6MjAwNzY/YWxsb3dJbnNlY3VyZT0wJnNuaT14NzYuZmx5YmFyLndvcmsjJUYwJTlGJTg3JUFGJUYwJTlGJTg3JUI1JTIwJUU2JTk3JUE1JUU2JTlDJUFDJUUyJTgwJUEyJUU5JUFCJTk4JUU5JTgwJTlGNzYlRTIlODAlQTIlRTklQUIlOTglRTklODAlOUYlMjAtJTIwJUU5JUEzJTlFJUU3JUJGJTk0JUU1JTkwJUE3CnRyb2phbjovL2IxNzU3OGI3LWYyOTUtMzkzNi1iMDY2LTc5ZTIxYmMxZGYwNkBneS41OG4ubmV0OjIwMjk5P2FsbG93SW5zZWN1cmU9MCZzbmk9eDI5OS5mbHliYXIud29yayMlRjAlOUYlODclQjglRjAlOUYlODclQUMlMjAlRTQlQjglQUQlRTglQkQlQUMlRTIlODAlQTIlRTYlOTYlQjAlRTUlOEElQTAlRTUlOUQlQTEyOTklRTIlODAlQTIlRTklQUIlOTglRTklODAlOUYlMjAtJTIwJUU5JUEzJTlFJUU3JUJGJTk0JUU1JTkwJUE3CnRyb2phbjovL2IxNzU3OGI3LWYyOTUtMzkzNi1iMDY2LTc5ZTIxYmMxZGYwNkBneS41OG4ubmV0OjE3ODA2P2FsbG93SW5zZWN1cmU9MCZzbmk9eDY1LmZseWJhci53b3JrIyVGMCU5RiU4NyVCOCVGMCU5RiU4NyVBQyUyMCVFNCVCOCVBRCVFOCVCRCVBQyVFMiU4MCVBMiVFNiU5NiVCMCVFNSU4QSVBMCVFNSU5RCVBMTY1JUUyJTgwJUEyJUU5JTlEJTkyJUU5JTkzJTlDJTIwLSUyMCVFOSVBMyU5RSVFNyVCRiU5NCVFNSU5MCVBNwp0cm9qYW46Ly9iMTc1NzhiNy1mMjk1LTM5MzYtYjA2Ni03OWUyMWJjMWRmMDZAZ3kuNThuLm5ldDozMDcxMj9hbGxvd0luc2VjdXJlPTAmc25pPXg4My5mbHliYXIud29yayMlRjAlOUYlODclQjglRjAlOUYlODclQUMlMjAlRTQlQjglQUQlRTglQkQlQUMlRTIlODAlQTIlRTYlOTYlQjAlRTUlOEElQTAlRTUlOUQlQTE4MyVFMiU4MCVBMiVFOSVBQiU5OCVFOSU4MCU5RiUyMC0lMjAlRTklQTMlOUUlRTclQkYlOTQlRTUlOTAlQTcKdHJvamFuOi8vYjE3NTc4YjctZjI5NS0zOTM2LWIwNjYtNzllMjFiYzFkZjA2QGd5LjU4bi5uZXQ6MjAxMjk/YWxsb3dJbnNlY3VyZT0wJnNuaT14MTI5LmZseWJhci53b3JrIyVGMCU5RiU4NyVCOCVGMCU5RiU4NyVBQyUyMCVFNiU5NiVCMCVFNSU4QSVBMCVFNSU5RCVBMSVFMiU4MCVBMiVFOSVBQiU5OCVFOSU4MCU5RjEyOSVFMiU4MCVBMiVFOSVBQiU5OCVFOSU4MCU5RiUyMC0lMjAlRTklQTMlOUUlRTclQkYlOTQlRTUlOTAlQTcKdHJvamFuOi8vYjE3NTc4YjctZjI5NS0zOTM2LWIwNjYtNzllMjFiYzFkZjA2QGd5LjU4bi5uZXQ6MjAxMzA/YWxsb3dJbnNlY3VyZT0wJnNuaT14MTMwLmZseWJhci53b3JrIyVGMCU5RiU4NyVCOCVGMCU5RiU4NyVBQyUyMCVFNiU5NiVCMCVFNSU4QSVBMCVFNSU5RCVBMSVFMiU4MCVBMiVFOSVBQiU5OCVFOSU4MCU5RjEzMCVFMiU4MCVBMiVFOSU5MyU4MiVFOSU4NyU5MSUyMC0lMjAlRTklQTMlOUUlRTclQkYlOTQlRTUlOTAlQTcKdHJvamFuOi8vYjE3NTc4YjctZjI5NS0zOTM2LWIwNjYtNzllMjFiYzFkZjA2QGd5LjU4bi5uZXQ6MjUyMzg/YWxsb3dJbnNlY3VyZT0wJnNuaT16MjY3Lmhvbmdrb25nbm9kZS50b3AjJUYwJTlGJTg3JUFDJUYwJTlGJTg3JUE3JTIwJUU0JUI4JUFEJUU4JUJEJUFDJUUyJTgwJUEyJUU4JThCJUIxJUU1JTlCJUJEMjY3JUUyJTgwJUEyJUU5JUFCJTk4JUU5JTgwJTlGJTIwLSUyMCVFOSVBMyU5RSVFNyVCRiU5NCVFNSU5MCVBNwp0cm9qYW46Ly9iMTc1NzhiNy1mMjk1LTM5MzYtYjA2Ni03OWUyMWJjMWRmMDZAZ3kuNThuLm5ldDoxMTIxNT9hbGxvd0luc2VjdXJlPTAmc25pPXoyNjguaG9uZ2tvbmdub2RlLnRvcCMlRjAlOUYlODclQUMlRjAlOUYlODclQTclMjAlRTQlQjglQUQlRTglQkQlQUMlRTIlODAlQTIlRTglOEIlQjElRTUlOUIlQkQyNjglRTIlODAlQTIlRTklQUIlOTglRTklODAlOUYlMjAtJTIwJUU5JUEzJTlFJUU3JUJGJTk0JUU1JTkwJUE3CnRyb2phbjovL2IxNzU3OGI3LWYyOTUtMzkzNi1iMDY2LTc5ZTIxYmMxZGYwNkBneS41OG4ubmV0OjIwMzAyP2FsbG93SW5zZWN1cmU9MCZzbmk9ejMwMi5ob25na29uZ25vZGUudG9wIyVGMCU5RiU4NyVBOSVGMCU5RiU4NyVBQSUyMCVFNCVCOCVBRCVFOCVCRCVBQyVFMiU4MCVBMiVFNSVCRSVCNyVFNSU5QiVCRDMwMiVFMiU4MCVBMkdQVCUyMC0lMjAlRTklQTMlOUUlRTclQkYlOTQlRTUlOTAlQTcKdHJvamFuOi8vYjE3NTc4YjctZjI5NS0zOTM2LWIwNjYtNzllMjFiYzFkZjA2QGd5LjU4bi5uZXQ6MjAzMDM/YWxsb3dJbnNlY3VyZT0wJnNuaT16MzAzLmhvbmdrb25nbm9kZS50b3AjJUYwJTlGJTg3JUE5JUYwJTlGJTg3JUFBJTIwJUU0JUI4JUFEJUU4JUJEJUFDJUUyJTgwJUEyJUU1JUJFJUI3JUU1JTlCJUJEMzAzJUUyJTgwJUEyR1BUJTIwLSUyMCVFOSVBMyU5RSVFNyVCRiU5NCVFNSU5MCVBNwp0cm9qYW46Ly9iMTc1NzhiNy1mMjk1LTM5MzYtYjA2Ni03OWUyMWJjMWRmMDZAZ3kuNThuLm5ldDoyMDMwND9hbGxvd0luc2VjdXJlPTAmc25pPXozMDQuaG9uZ2tvbmdub2RlLnRvcCMlRjAlOUYlODclQTklRjAlOUYlODclQUElMjAlRTQlQjglQUQlRTglQkQlQUMlRTIlODAlQTIlRTUlQkUlQjclRTUlOUIlQkQzMDQlRTIlODAlQTJHUFQlMjAtJTIwJUU5JUEzJTlFJUU3JUJGJTk0JUU1JTkwJUE3CnRyb2phbjovL2IxNzU3OGI3LWYyOTUtMzkzNi1iMDY2LTc5ZTIxYmMxZGYwNkBneS41OG4ubmV0OjIwMzA1P2FsbG93SW5zZWN1cmU9MCZzbmk9ejMwNS5ob25na29uZ25vZGUudG9wIyVGMCU5RiU4NyVBOSVGMCU5RiU4NyVBQSUyMCVFNCVCOCVBRCVFOCVCRCVBQyVFMiU4MCVBMiVFNSVCRSVCNyVFNSU5QiVCRDMwNSVFMiU4MCVBMkdQVCUyMC0lMjAlRTklQTMlOUUlRTclQkYlOTQlRTUlOTAlQTcKdHJvamFuOi8vYjE3NTc4YjctZjI5NS0zOTM2LWIwNjYtNzllMjFiYzFkZjA2QGd5LjU4bi5uZXQ6MjAzMDY/YWxsb3dJbnNlY3VyZT0wJnNuaT16MzA2Lmhvbmdrb25nbm9kZS50b3AjJUYwJTlGJTg3JUE5JUYwJTlGJTg3JUFBJTIwJUU0JUI4JUFEJUU4JUJEJUFDJUUyJTgwJUEyJUU1JUJFJUI3JUU1JTlCJUJEMzA2JUUyJTgwJUEyR1BUJTIwLSUyMCVFOSVBMyU5RSVFNyVCRiU5NCVFNSU5MCVBNwo= -------------------------------------------------------------------------------- /trials/cloudcat.top: -------------------------------------------------------------------------------- 1 | dm1lc3M6Ly9leUoySWpvaU1pSXNJbkJ6SWpvaVczWnRaWE56WGVTN3BlUzRpK1M0dXVXRmplaTB1ZWlLZ3VlQ3VTQXRJT1M2a2VlTXErYWN1dVdjdWkzbGhZM290TG5saGF6bm00b2lMQ0poWkdRaU9pSXhMakV1TVM0eElpd2ljRzl5ZENJNklqUTBNeUlzSW5SNWNHVWlPaUp1YjI1bElpd2lhV1FpT2lJek5tWTNNV0l3TWkwd05HSm1MVFJoWWpZdE9HWXhOeTA0TlRCaE1EQXlZalEwT0dRaUxDSmhhV1FpT2lJd0lpd2libVYwSWpvaWQzTWlMQ0p3WVhSb0lqb2lMMk5qZEhZeE15OW9aQzV0TTNVNElpd2lhRzl6ZENJNkluVnpZbXN1WTJacGNDNTBiM0FpTENKMGJITWlPaUowYkhNaWZRPT0Kdm1lc3M6Ly9leUoySWpvaU1pSXNJbkJ6SWpvaThKK0h1dkNmaDdnZ1czWnRaWE56WFZ2cG1MTGxwTEhvZ1pSZFZWTXRUbVYzWDFsdmNtc3Q1N3E5NTdxbUlDMGc1THFSNTR5cjVweTY1Wnk2TGVXRmplaTB1ZVdGck9lYmlpSXNJbUZrWkNJNkluVnpZbXN1WTJacGNDNTBiM0FpTENKd2IzSjBJam9pT0RRME15SXNJblI1Y0dVaU9pSnViMjVsSWl3aWFXUWlPaUl6Tm1ZM01XSXdNaTB3TkdKbUxUUmhZall0T0dZeE55MDROVEJoTURBeVlqUTBPR1FpTENKaGFXUWlPaUl3SWl3aWJtVjBJam9pZDNNaUxDSndZWFJvSWpvaUwyTmpkSFl4TXk5b1pDNXRNM1U0SWl3aWFHOXpkQ0k2SW5Welltc3VZMlpwY0M1MGIzQWlMQ0owYkhNaU9pSjBiSE1pZlE9PQp2bWVzczovL2V5SjJJam9pTWlJc0luQnpJam9pOEorSHV2Q2ZoN2dnVzNadFpYTnpYVnZwbUxMbHBMSG9nWlJkVlZNdFRHOXpYMEZ1WjJWc1pYTXQ1clNiNXAySjU1KzJMVUVnTFNEa3VwSG5qS3ZtbkxybG5Mb3Q1WVdONkxTNTVZV3M1NXVLSWl3aVlXUmtJam9pVlZNdFRHOXpYMEZ1WjJWc1pYTXRRUzVqWm1sd0xuUnZjQ0lzSW5CdmNuUWlPaUk0TkRReklpd2lkSGx3WlNJNkltNXZibVVpTENKcFpDSTZJak0yWmpjeFlqQXlMVEEwWW1ZdE5HRmlOaTA0WmpFM0xUZzFNR0V3TURKaU5EUTRaQ0lzSW1GcFpDSTZJakFpTENKdVpYUWlPaUozY3lJc0luQmhkR2dpT2lJdlkyTjBkakV6TDJoa0xtMHpkVGdpTENKb2IzTjBJam9pZFhNdGJHOXpYMkZ1WjJWc1pYTXRZUzVqWm1sd0xuUnZjQ0lzSW5Sc2N5STZJblJzY3lKOQp2bWVzczovL2V5SjJJam9pTWlJc0luQnpJam9pOEorSHV2Q2ZoN2dnVzNadFpYTnpYVnZwbUxMbHBMSG9nWlJkVlZNdFRHOXpYMEZ1WjJWc1pYTXQ1clNiNXAySjU1KzJMVUlnTFNEa3VwSG5qS3ZtbkxybG5Mb3Q1WVdONkxTNTVZV3M1NXVLSWl3aVlXUmtJam9pVlZNdFRHOXpYMEZ1WjJWc1pYTXRRaTVqWm1sd0xuUnZjQ0lzSW5CdmNuUWlPaUk0TkRReklpd2lkSGx3WlNJNkltNXZibVVpTENKcFpDSTZJak0yWmpjeFlqQXlMVEEwWW1ZdE5HRmlOaTA0WmpFM0xUZzFNR0V3TURKaU5EUTRaQ0lzSW1GcFpDSTZJakFpTENKdVpYUWlPaUozY3lJc0luQmhkR2dpT2lJdlkyTjBkakV6TDJoa0xtMHpkVGdpTENKb2IzTjBJam9pZFhNdGJHOXpYMkZ1WjJWc1pYTXRZaTVqWm1sd0xuUnZjQ0lzSW5Sc2N5STZJblJzY3lKOQo= -------------------------------------------------------------------------------- /trials/mgnet.vip: -------------------------------------------------------------------------------- 1 | dm1lc3M6Ly9leUoySWpvaU1pSXNJbkJ6SWpvaThKK0hyZkNmaDdBZ1czWnBjT0tSb0YzaWthRHBwcG5tdUs4Z0xTQk5SeUJPWlhSM2IzSnJJaXdpWVdSa0lqb2lNVEl1YldGdFlXMWhhbVF1YzJsMFpTSXNJbkJ2Y25RaU9pSXlNell4TWlJc0luUjVjR1VpT2lKdWIyNWxJaXdpYVdRaU9pSXdZbUZpT0RabU9DMWtNMkZtTFROa1kyVXRPV0UyWVMwNFpHSXlZVFkxWlRFeE16VWlMQ0poYVdRaU9pSXlJaXdpYm1WMElqb2lkM01pTENKd1lYUm9Jam9pTHlJc0ltaHZjM1FpT2lJeE1pNXRZVzFoYldGcVpDNXphWFJsSWl3aWRHeHpJam9pSW4wPQp2bWVzczovL2V5SjJJam9pTWlJc0luQnpJam9pOEorSHVQQ2ZoNndnVzNacGNPS1JvRjNpa2FIbWxyRGxpcURsbmFFZ0xTQk5SeUJPWlhSM2IzSnJJaXdpWVdSa0lqb2lNVGN1YldGdFlXMWhhbVF1YzJsMFpTSXNJbkJ2Y25RaU9pSXlNell4TnlJc0luUjVjR1VpT2lKdWIyNWxJaXdpYVdRaU9pSXdZbUZpT0RabU9DMWtNMkZtTFROa1kyVXRPV0UyWVMwNFpHSXlZVFkxWlRFeE16VWlMQ0poYVdRaU9pSXlJaXdpYm1WMElqb2lkM01pTENKd1lYUm9Jam9pTHlJc0ltaHZjM1FpT2lJeE55NXRZVzFoYldGcVpDNXphWFJsSWl3aWRHeHpJam9pSW4wPQp2bWVzczovL2V5SjJJam9pTWlJc0luQnpJam9pOEorSHJ2Q2ZoN01nVzNacGNPS1JvRjNsamJEbHVxWXhJQzBnVFVjZ1RtVjBkMjl5YXlJc0ltRmtaQ0k2SWpFeExtMWhiV0Z0WVdwa0xuTnBkR1VpTENKd2IzSjBJam9pTWpNMk1URWlMQ0owZVhCbElqb2libTl1WlNJc0ltbGtJam9pTUdKaFlqZzJaamd0WkROaFppMHpaR05sTFRsaE5tRXRPR1JpTW1FMk5XVXhNVE0xSWl3aVlXbGtJam9pTWlJc0ltNWxkQ0k2SW5keklpd2ljR0YwYUNJNklpOGlMQ0pvYjNOMElqb2lNVEV1YldGdFlXMWhhbVF1YzJsMFpTSXNJblJzY3lJNklpSjkKdm1lc3M6Ly9leUoySWpvaU1pSXNJbkJ6SWpvaThKK0h1ZkNmaDd3Z1czWnBjT0tSb0YzbGo3RG11YjR4Zk9pbm8rbVVnVTVHZkRJdU5lV0FqZWVPaHlBdElFMUhJRTVsZEhkdmNtc2lMQ0poWkdRaU9pSXhPUzV0WVcxaGJXRnFaQzV6YVhSbElpd2ljRzl5ZENJNklqSXpOakU1SWl3aWRIbHdaU0k2SW01dmJtVWlMQ0pwWkNJNklqQmlZV0k0Tm1ZNExXUXpZV1l0TTJSalpTMDVZVFpoTFRoa1lqSmhOalZsTVRFek5TSXNJbUZwWkNJNklqSWlMQ0p1WlhRaU9pSjNjeUlzSW5CaGRHZ2lPaUl2SWl3aWFHOXpkQ0k2SWpFNUxtMWhiV0Z0WVdwa0xuTnBkR1VpTENKMGJITWlPaUlpZlE9PQp2bWVzczovL2V5SjJJam9pTWlJc0luQnpJam9pOEorSHFmQ2ZoNm9nVzNacGNPS1JvRjNsdnJmbG03MHhJQzBnVFVjZ1RtVjBkMjl5YXlJc0ltRmtaQ0k2SWpFMkxtMWhiV0Z0WVdwa0xuTnBkR1VpTENKd2IzSjBJam9pTWpNMk1UWWlMQ0owZVhCbElqb2libTl1WlNJc0ltbGtJam9pTUdKaFlqZzJaamd0WkROaFppMHpaR05sTFRsaE5tRXRPR1JpTW1FMk5XVXhNVE0xSWl3aVlXbGtJam9pTWlJc0ltNWxkQ0k2SW5keklpd2ljR0YwYUNJNklpOGlMQ0pvYjNOMElqb2lNVFl1YldGdFlXMWhhbVF1YzJsMFpTSXNJblJzY3lJNklpSjkKdm1lc3M6Ly9leUoySWpvaU1pSXNJbkJ6SWpvaThKK0hxZkNmaDZvZ1czWnBjT0tSb0YzbHZyZmxtNzB5SUMwZ1RVY2dUbVYwZDI5eWF5SXNJbUZrWkNJNklqRTRMbTFoYldGdFlXcGtMbk5wZEdVaUxDSndiM0owSWpvaU1qTTJNVGdpTENKMGVYQmxJam9pYm05dVpTSXNJbWxrSWpvaU1HSmhZamcyWmpndFpETmhaaTB6WkdObExUbGhObUV0T0dSaU1tRTJOV1V4TVRNMUlpd2lZV2xrSWpvaU1pSXNJbTVsZENJNkluZHpJaXdpY0dGMGFDSTZJaThpTENKb2IzTjBJam9pTVRndWJXRnRZVzFoYW1RdWMybDBaU0lzSW5Sc2N5STZJaUo5CnZtZXNzOi8vZXlKMklqb2lNaUlzSW5Ceklqb2k4SitIdXZDZmg3Z2dXM1pwY09LUm9GM252bzdsbTcweElDMGdUVWNnVG1WMGQyOXlheUlzSW1Ga1pDSTZJakUxTG0xaGJXRnRZV3BrTG5OcGRHVWlMQ0p3YjNKMElqb2lNak0yTVRVaUxDSjBlWEJsSWpvaWJtOXVaU0lzSW1sa0lqb2lNR0poWWpnMlpqZ3RaRE5oWmkwelpHTmxMVGxoTm1FdE9HUmlNbUUyTldVeE1UTTFJaXdpWVdsa0lqb2lNaUlzSW01bGRDSTZJbmR6SWl3aWNHRjBhQ0k2SWk4aUxDSm9iM04wSWpvaU1UVXViV0Z0WVcxaGFtUXVjMmwwWlNJc0luUnNjeUk2SWlKOQp2bWVzczovL2V5SjJJam9pTWlJc0luQnpJam9pOEorSHJQQ2ZoNmNnVzNacGNPS1JvRjNvaTdIbG03MHhJQzBnVFVjZ1RtVjBkMjl5YXlJc0ltRmtaQ0k2SWpVdWJXRnRZVzFoYW1RdWMybDBaU0lzSW5CdmNuUWlPaUl5TXpZd05TSXNJblI1Y0dVaU9pSnViMjVsSWl3aWFXUWlPaUl3WW1GaU9EWm1PQzFrTTJGbUxUTmtZMlV0T1dFMllTMDRaR0l5WVRZMVpURXhNelVpTENKaGFXUWlPaUl5SWl3aWJtVjBJam9pZDNNaUxDSndZWFJvSWpvaUx5SXNJbWh2YzNRaU9pSTFMbTFoYldGdFlXcGtMbk5wZEdVaUxDSjBiSE1pT2lJaWZRPT0Kdm1lc3M6Ly9leUoySWpvaU1pSXNJbkJ6SWpvaThKK0hyUENmaDZjZ1czWnBjT0tSb0Yzb2k3SGxtNzB5SUMwZ1RVY2dUbVYwZDI5eWF5SXNJbUZrWkNJNklqRXpMbTFoYldGdFlXcGtMbk5wZEdVaUxDSndiM0owSWpvaU1qTTJNVE1pTENKMGVYQmxJam9pYm05dVpTSXNJbWxrSWpvaU1HSmhZamcyWmpndFpETmhaaTB6WkdObExUbGhObUV0T0dSaU1tRTJOV1V4TVRNMUlpd2lZV2xrSWpvaU1pSXNJbTVsZENJNkluZHpJaXdpY0dGMGFDSTZJaThpTENKb2IzTjBJam9pTVRNdWJXRnRZVzFoYW1RdWMybDBaU0lzSW5Sc2N5STZJaUo5CnZtZXNzOi8vZXlKMklqb2lNaUlzSW5Ceklqb2k4SitIc1BDZmg3Y2dXM1pwY09LUm9GM3BuNm5sbTcweElDMGdUVWNnVG1WMGQyOXlheUlzSW1Ga1pDSTZJakUwTG0xaGJXRnRZV3BrTG5OcGRHVWlMQ0p3YjNKMElqb2lNak0yTVRRaUxDSjBlWEJsSWpvaWJtOXVaU0lzSW1sa0lqb2lNR0poWWpnMlpqZ3RaRE5oWmkwelpHTmxMVGxoTm1FdE9HUmlNbUUyTldVeE1UTTFJaXdpWVdsa0lqb2lNaUlzSW01bGRDSTZJbmR6SWl3aWNHRjBhQ0k2SWk4aUxDSm9iM04wSWpvaU1UUXViV0Z0WVcxaGFtUXVjMmwwWlNJc0luUnNjeUk2SWlKOQo= -------------------------------------------------------------------------------- /trials/vipxgyun.com#西瓜皮: -------------------------------------------------------------------------------- 1 | dm1lc3M6Ly9leUoySWpvaU1pSXNJbkJ6SWpvaThKK0hyZkNmaDdBZzZhYVo1cml2SURFZ0xTRG9wYi9uazV6bm1xN21tSy9ubkovbm1vVG5tcTRpTENKaFpHUWlPaUo0WjJOdFlTNWtlREF3TWk1MGIzQWlMQ0p3YjNKMElqb2lNVGs0TVRFaUxDSjBlWEJsSWpvaWJtOXVaU0lzSW1sa0lqb2lNRGMxWXpFMlpUWXROamRqWWkwek5UazVMV0ZoTldFdE1ESTFZalEzT0dSaU1UVTJJaXdpWVdsa0lqb2lNQ0lzSW01bGRDSTZJblJqY0NJc0luQmhkR2dpT2lJdloyOGlMQ0pvYjNOMElqb2llR2RqYldFdVpIZ3dNREl1ZEc5d0lpd2lkR3h6SWpvaUluMD0Kdm1lc3M6Ly9leUoySWpvaU1pSXNJbkJ6SWpvaThKK0hyZkNmaDdBZzZhYVo1cml2SURJZ0xTRG9wYi9uazV6bm1xN21tSy9ubkovbm1vVG5tcTRpTENKaFpHUWlPaUo0WjJOMFlTNWtlREF3TWk1MGIzQWlMQ0p3YjNKMElqb2lNVGs0TVRJaUxDSjBlWEJsSWpvaWJtOXVaU0lzSW1sa0lqb2lNRGMxWXpFMlpUWXROamRqWWkwek5UazVMV0ZoTldFdE1ESTFZalEzT0dSaU1UVTJJaXdpWVdsa0lqb2lNQ0lzSW01bGRDSTZJblJqY0NJc0luQmhkR2dpT2lJdloyOGlMQ0pvYjNOMElqb2llR2RqZEdFdVpIZ3dNREl1ZEc5d0lpd2lkR3h6SWpvaUluMD0Kdm1lc3M6Ly9leUoySWpvaU1pSXNJbkJ6SWpvaThKK0h1ZkNmaDd3ZzVZK3c1cm0rSURFZzVZcW81NVM3NTVhdklDMGc2S1cvNTVPYzU1cXU1cGl2NTV5ZjU1cUU1NXF1SWl3aVlXUmtJam9pZUdkamJXRXVaSGd3TURJdWRHOXdJaXdpY0c5eWRDSTZJakU1T0RJeElpd2lkSGx3WlNJNkltNXZibVVpTENKcFpDSTZJakEzTldNeE5tVTJMVFkzWTJJdE16VTVPUzFoWVRWaExUQXlOV0kwTnpoa1lqRTFOaUlzSW1GcFpDSTZJakFpTENKdVpYUWlPaUowWTNBaUxDSndZWFJvSWpvaUwyZHZJaXdpYUc5emRDSTZJbmhuWTIxaExtUjRNREF5TG5SdmNDSXNJblJzY3lJNklpSjkKdm1lc3M6Ly9leUoySWpvaU1pSXNJbkJ6SWpvaThKK0h1ZkNmaDd3ZzVZK3c1cm0rSURJZzVZcW81NVM3NTVhdklDMGc2S1cvNTVPYzU1cXU1cGl2NTV5ZjU1cUU1NXF1SWl3aVlXUmtJam9pZUdkamRHRXVaSGd3TURJdWRHOXdJaXdpY0c5eWRDSTZJakU1T0RJeUlpd2lkSGx3WlNJNkltNXZibVVpTENKcFpDSTZJakEzTldNeE5tVTJMVFkzWTJJdE16VTVPUzFoWVRWaExUQXlOV0kwTnpoa1lqRTFOaUlzSW1GcFpDSTZJakFpTENKdVpYUWlPaUowWTNBaUxDSndZWFJvSWpvaUwyZHZJaXdpYUc5emRDSTZJbmhuWTNSaExtUjRNREF5TG5SdmNDSXNJblJzY3lJNklpSjkKdm1lc3M6Ly9leUoySWpvaU1pSXNJbkJ6SWpvaThKK0hyL0NmaDdVZzVwZWw1cHlzSURFZ1RtbGpieUJCWW1WdFlTQXRJT2lsditlVG5PZWFydWFZcitlY24rZWFoT2VhcmlJc0ltRmtaQ0k2SW5oblkyMWhMbVI0TURBeUxuUnZjQ0lzSW5CdmNuUWlPaUl4T1Rnek1TSXNJblI1Y0dVaU9pSnViMjVsSWl3aWFXUWlPaUl3TnpWak1UWmxOaTAyTjJOaUxUTTFPVGt0WVdFMVlTMHdNalZpTkRjNFpHSXhOVFlpTENKaGFXUWlPaUl3SWl3aWJtVjBJam9pZEdOd0lpd2ljR0YwYUNJNklpOW5ieUlzSW1odmMzUWlPaUo0WjJOdFlTNWtlREF3TWk1MGIzQWlMQ0owYkhNaU9pSWlmUT09CnZtZXNzOi8vZXlKMklqb2lNaUlzSW5Ceklqb2k4SitIci9DZmg3VWc1cGVsNXB5c0lESWdUbWxqYnlCQlltVnRZU0F0SU9pbHYrZVRuT2VhcnVhWXIrZWNuK2VhaE9lYXJpSXNJbUZrWkNJNkluaG5ZM1JoTG1SNE1EQXlMblJ2Y0NJc0luQnZjblFpT2lJeE9UZ3pNaUlzSW5SNWNHVWlPaUp1YjI1bElpd2lhV1FpT2lJd056VmpNVFpsTmkwMk4yTmlMVE0xT1RrdFlXRTFZUzB3TWpWaU5EYzRaR0l4TlRZaUxDSmhhV1FpT2lJd0lpd2libVYwSWpvaWRHTndJaXdpY0dGMGFDSTZJaTluYnlJc0ltaHZjM1FpT2lKNFoyTjBZUzVrZURBd01pNTBiM0FpTENKMGJITWlPaUlpZlE9PQp2bWVzczovL2V5SjJJam9pTWlJc0luQnpJam9pOEorSHVQQ2ZoNndnNXBhdzVZcWc1WjJoSURFZ1IxQlVMMDVsZEdac2FYZ2dJQzBnNktXLzU1T2M1NXF1NXBpdjU1eWY1NXFFNTVxdUlpd2lZV1JrSWpvaWVHZGpiV0V1Wkhnd01ESXVkRzl3SWl3aWNHOXlkQ0k2SWpFNU9EUXhJaXdpZEhsd1pTSTZJbTV2Ym1VaUxDSnBaQ0k2SWpBM05XTXhObVUyTFRZM1kySXRNelU1T1MxaFlUVmhMVEF5TldJME56aGtZakUxTmlJc0ltRnBaQ0k2SWpBaUxDSnVaWFFpT2lKMFkzQWlMQ0p3WVhSb0lqb2lMMmR2SWl3aWFHOXpkQ0k2SW5oblkyMWhMbVI0TURBeUxuUnZjQ0lzSW5Sc2N5STZJaUo5CnZtZXNzOi8vZXlKMklqb2lNaUlzSW5Ceklqb2k4SitIdVBDZmg2d2c1cGF3NVlxZzVaMmhJRElnUjFCVUwwNWxkR1pzYVhnZ0xTRG9wYi9uazV6bm1xN21tSy9ubkovbm1vVG5tcTRpTENKaFpHUWlPaUo0WjJOMFlTNWtlREF3TWk1MGIzQWlMQ0p3YjNKMElqb2lNVGs0TkRJaUxDSjBlWEJsSWpvaWJtOXVaU0lzSW1sa0lqb2lNRGMxWXpFMlpUWXROamRqWWkwek5UazVMV0ZoTldFdE1ESTFZalEzT0dSaU1UVTJJaXdpWVdsa0lqb2lNQ0lzSW01bGRDSTZJblJqY0NJc0luQmhkR2dpT2lJdloyOGlMQ0pvYjNOMElqb2llR2RqZEdFdVpIZ3dNREl1ZEc5d0lpd2lkR3h6SWpvaUluMD0Kdm1lc3M6Ly9leUoySWpvaU1pSXNJbkJ6SWpvaThKK0h1dkNmaDdnZzU3Nk81WnU5SURFZ0xTRG9wYi9uazV6bm1xN21tSy9ubkovbm1vVG5tcTRpTENKaFpHUWlPaUo0WjJOdFlTNWtlREF3TWk1MGIzQWlMQ0p3YjNKMElqb2lNams0TVRFaUxDSjBlWEJsSWpvaWJtOXVaU0lzSW1sa0lqb2lNRGMxWXpFMlpUWXROamRqWWkwek5UazVMV0ZoTldFdE1ESTFZalEzT0dSaU1UVTJJaXdpWVdsa0lqb2lNQ0lzSW01bGRDSTZJblJqY0NJc0luQmhkR2dpT2lJdloyOGlMQ0pvYjNOMElqb2llR2RqYldFdVpIZ3dNREl1ZEc5d0lpd2lkR3h6SWpvaUluMD0Kdm1lc3M6Ly9leUoySWpvaU1pSXNJbkJ6SWpvaThKK0h1dkNmaDdnZzU3Nk81WnU5SURJZ0xTRG9wYi9uazV6bm1xN21tSy9ubkovbm1vVG5tcTRpTENKaFpHUWlPaUo0WjJOMFlTNWtlREF3TWk1MGIzQWlMQ0p3YjNKMElqb2lNVGs0TmpJaUxDSjBlWEJsSWpvaWJtOXVaU0lzSW1sa0lqb2lNRGMxWXpFMlpUWXROamRqWWkwek5UazVMV0ZoTldFdE1ESTFZalEzT0dSaU1UVTJJaXdpWVdsa0lqb2lNQ0lzSW01bGRDSTZJblJqY0NJc0luQmhkR2dpT2lJdloyOGlMQ0pvYjNOMElqb2llR2RqZEdFdVpIZ3dNREl1ZEc5d0lpd2lkR3h6SWpvaUluMD0Kdm1lc3M6Ly9leUoySWpvaU1pSXNJbkJ6SWpvaThKK0hydkNmaDdNZzVZMnc1YnFtNWJDODZLVy81THFhSURFZ0xTRG9wYi9uazV6bm1xN21tSy9ubkovbm1vVG5tcTRpTENKaFpHUWlPaUo0WjJOdFlTNWtlREF3TWk1MGIzQWlMQ0p3YjNKMElqb2lNVGs0T1RFaUxDSjBlWEJsSWpvaWJtOXVaU0lzSW1sa0lqb2lNRGMxWXpFMlpUWXROamRqWWkwek5UazVMV0ZoTldFdE1ESTFZalEzT0dSaU1UVTJJaXdpWVdsa0lqb2lNQ0lzSW01bGRDSTZJblJqY0NJc0luQmhkR2dpT2lJdloyOGlMQ0pvYjNOMElqb2llR2RqYldFdVpIZ3dNREl1ZEc5d0lpd2lkR3h6SWpvaUluMD0Kdm1lc3M6Ly9leUoySWpvaU1pSXNJbkJ6SWpvaThKK0hydkNmaDdNZzVZMnc1YnFtNWJDODZLVy81THFhSURJZ0xTRG9wYi9uazV6bm1xN21tSy9ubkovbm1vVG5tcTRpTENKaFpHUWlPaUo0WjJOMFlTNWtlREF3TWk1MGIzQWlMQ0p3YjNKMElqb2lNVGs0T1RJaUxDSjBlWEJsSWpvaWJtOXVaU0lzSW1sa0lqb2lNRGMxWXpFMlpUWXROamRqWWkwek5UazVMV0ZoTldFdE1ESTFZalEzT0dSaU1UVTJJaXdpWVdsa0lqb2lNQ0lzSW01bGRDSTZJblJqY0NJc0luQmhkR2dpT2lJdloyOGlMQ0pvYjNOMElqb2llR2RqZEdFdVpIZ3dNREl1ZEc5d0lpd2lkR3h6SWpvaUluMD0Kdm1lc3M6Ly9leUoySWpvaU1pSXNJbkJ6SWpvaThKK0h1L0NmaDdNZzZMYUs1WTJYSURFZ0xTRG9wYi9uazV6bm1xN21tSy9ubkovbm1vVG5tcTRpTENKaFpHUWlPaUo0WjJOdFlTNWtlREF3TWk1MGIzQWlMQ0p3YjNKMElqb2lNVGs0T1RNaUxDSjBlWEJsSWpvaWJtOXVaU0lzSW1sa0lqb2lNRGMxWXpFMlpUWXROamRqWWkwek5UazVMV0ZoTldFdE1ESTFZalEzT0dSaU1UVTJJaXdpWVdsa0lqb2lNQ0lzSW01bGRDSTZJblJqY0NJc0luQmhkR2dpT2lJdloyOGlMQ0pvYjNOMElqb2llR2RqYldFdVpIZ3dNREl1ZEc5d0lpd2lkR3h6SWpvaUluMD0Kdm1lc3M6Ly9leUoySWpvaU1pSXNJbkJ6SWpvaThKK0h1L0NmaDdNZzZMYUs1WTJYSURJZ0xTRG9wYi9uazV6bm1xN21tSy9ubkovbm1vVG5tcTRpTENKaFpHUWlPaUo0WjJOMFlTNWtlREF3TWk1MGIzQWlMQ0p3YjNKMElqb2lNVGs0T1RRaUxDSjBlWEJsSWpvaWJtOXVaU0lzSW1sa0lqb2lNRGMxWXpFMlpUWXROamRqWWkwek5UazVMV0ZoTldFdE1ESTFZalEzT0dSaU1UVTJJaXdpWVdsa0lqb2lNQ0lzSW01bGRDSTZJblJqY0NJc0luQmhkR2dpT2lJdloyOGlMQ0pvYjNOMElqb2llR2RqZEdFdVpIZ3dNREl1ZEc5d0lpd2lkR3h6SWpvaUluMD0Kdm1lc3M6Ly9leUoySWpvaU1pSXNJbkJ6SWpvaThKK0hydkNmaDdNZzVZMnc1YnFtSURFZ0xTRG9wYi9uazV6bm1xN21tSy9ubkovbm1vVG5tcTRpTENKaFpHUWlPaUo0WnkxamJURXVaSGd3TURFdWRHOXdJaXdpY0c5eWRDSTZJakU1T0RneUlpd2lkSGx3WlNJNkltNXZibVVpTENKcFpDSTZJakEzTldNeE5tVTJMVFkzWTJJdE16VTVPUzFoWVRWaExUQXlOV0kwTnpoa1lqRTFOaUlzSW1GcFpDSTZJakFpTENKdVpYUWlPaUowWTNBaUxDSndZWFJvSWpvaUwyZHZJaXdpYUc5emRDSTZJbmhuTFdOdE1TNWtlREF3TVM1MGIzQWlMQ0owYkhNaU9pSWlmUT09Cg== -------------------------------------------------------------------------------- /trials/www.qlgq.top: -------------------------------------------------------------------------------- 1 | dHJvamFuOi8vM2M2Njg0NTYtY2M5Yy0zMzkyLTkwMTQtMGY3M2U1YTA5YmIzQGZrdmlwMTAyLnFsZ3EuZnVuOjExNzg5P2FsbG93SW5zZWN1cmU9MCZzbmk9Zmt2aXAxMDIucWxncS5mdW4jJUYwJTlGJTg3JUE5JUYwJTlGJTg3JUFBJTIwJUU1JUJFJUI3JUU1JTlCJUJEJTIwJUU2JUIzJTk1JUU1JTg1JUIwJUU1JTg1JThCJUU3JUE2JThGMTAxJTIwLSUyMCVFNSVBMiU5OSVFNCVCQSU4NiVFNCVCOCVBQSVFNSVBMiU5OQp0cm9qYW46Ly8zYzY2ODQ1Ni1jYzljLTMzOTItOTAxNC0wZjczZTVhMDliYjNAZmt2aXAxMDIucWxncS5mdW46MjE3ODk/YWxsb3dJbnNlY3VyZT0wJnNuaT1ma3ZpcDEwMi5xbGdxLmZ1biMlRjAlOUYlODclQTklRjAlOUYlODclQUElMjAlRTUlQkUlQjclRTUlOUIlQkQlMjAlRTYlQjMlOTUlRTUlODUlQjAlRTUlODUlOEIlRTclQTYlOEYxMDIlMjAtJTIwJUU1JUEyJTk5JUU0JUJBJTg2JUU0JUI4JUFBJUU1JUEyJTk5CnRyb2phbjovLzNjNjY4NDU2LWNjOWMtMzM5Mi05MDE0LTBmNzNlNWEwOWJiM0Bma3ZpcDEwMi5xbGdxLmZ1bjozMTc4OT9hbGxvd0luc2VjdXJlPTAmc25pPWZrdmlwMTAyLnFsZ3EuZnVuIyVGMCU5RiU4NyVBOSVGMCU5RiU4NyVBQSUyMCVFNSVCRSVCNyVFNSU5QiVCRCUyMCVFNiVCMyU5NSVFNSU4NSVCMCVFNSU4NSU4QiVFNyVBNiU4RjEwMyUyMC0lMjAlRTUlQTIlOTklRTQlQkElODYlRTQlQjglQUElRTUlQTIlOTkKdHJvamFuOi8vM2M2Njg0NTYtY2M5Yy0zMzkyLTkwMTQtMGY3M2U1YTA5YmIzQHNndmlwMTAxLnFsZ3EuZnVuOjExMjIzP2FsbG93SW5zZWN1cmU9MCZzbmk9c2d2aXAxMDEucWxncS5mdW4jJUYwJTlGJTg3JUI4JUYwJTlGJTg3JUFDJTIwJUU2JTk2JUIwJUU1JThBJUEwJUU1JTlEJUExJTIwMTAxJTIwLSUyMCVFNSVBMiU5OSVFNCVCQSU4NiVFNCVCOCVBQSVFNSVBMiU5OQp0cm9qYW46Ly8zYzY2ODQ1Ni1jYzljLTMzOTItOTAxNC0wZjczZTVhMDliYjNAc2d2aXAxMDEucWxncS5mdW46MjEyMjM/YWxsb3dJbnNlY3VyZT0wJnNuaT1zZ3ZpcDEwMS5xbGdxLmZ1biMlRjAlOUYlODclQjglRjAlOUYlODclQUMlMjAlRTYlOTYlQjAlRTUlOEElQTAlRTUlOUQlQTElMjAxMDIlMjAtJTIwJUU1JUEyJTk5JUU0JUJBJTg2JUU0JUI4JUFBJUU1JUEyJTk5CnRyb2phbjovLzNjNjY4NDU2LWNjOWMtMzM5Mi05MDE0LTBmNzNlNWEwOWJiM0BzZ3ZpcDEwMS5xbGdxLmZ1bjozMTIyMz9hbGxvd0luc2VjdXJlPTAmc25pPXNndmlwMTAxLnFsZ3EuZnVuIyVGMCU5RiU4NyVCOCVGMCU5RiU4NyVBQyUyMCVFNiU5NiVCMCVFNSU4QSVBMCVFNSU5RCVBMSUyMDEwMyUyMC0lMjAlRTUlQTIlOTklRTQlQkElODYlRTQlQjglQUElRTUlQTIlOTkKdHJvamFuOi8vM2M2Njg0NTYtY2M5Yy0zMzkyLTkwMTQtMGY3M2U1YTA5YmIzQHNndmlwMTAxLnFsZ3EuZnVuOjQxMjIzP2FsbG93SW5zZWN1cmU9MCZzbmk9c2d2aXAxMDEucWxncS5mdW4jJUYwJTlGJTg3JUI4JUYwJTlGJTg3JUFDJTIwJUU2JTk2JUIwJUU1JThBJUEwJUU1JTlEJUExJTIwMTA0JTIwLSUyMCVFNSVBMiU5OSVFNCVCQSU4NiVFNCVCOCVBQSVFNSVBMiU5OQp0cm9qYW46Ly8zYzY2ODQ1Ni1jYzljLTMzOTItOTAxNC0wZjczZTVhMDliYjNAc2d2aXAxMDEucWxncS5mdW46NTEyMjM/YWxsb3dJbnNlY3VyZT0wJnNuaT1zZ3ZpcDEwMS5xbGdxLmZ1biMlRjAlOUYlODclQjglRjAlOUYlODclQUMlMjAlRTYlOTYlQjAlRTUlOEElQTAlRTUlOUQlQTElMjAxMDUlMjAtJTIwJUU1JUEyJTk5JUU0JUJBJTg2JUU0JUI4JUFBJUU1JUEyJTk5CnRyb2phbjovLzNjNjY4NDU2LWNjOWMtMzM5Mi05MDE0LTBmNzNlNWEwOWJiM0BsYXZpcDEwMS5xbGdxLmZ1bjoxMTE1Nj9hbGxvd0luc2VjdXJlPTAmc25pPWxhdmlwMTAxLnFsZ3EuZnVuIyVGMCU5RiU4NyVCQSVGMCU5RiU4NyVCOCUyMCVFNyVCRSU4RSVFNSU5QiVCRCUyMCVFNiVCNCU5QiVFNiU5RCU4OSVFNyU5RiVCNjEwMSUyMC0lMjAlRTUlQTIlOTklRTQlQkElODYlRTQlQjglQUElRTUlQTIlOTkKdHJvamFuOi8vM2M2Njg0NTYtY2M5Yy0zMzkyLTkwMTQtMGY3M2U1YTA5YmIzQGxhdmlwMTAxLnFsZ3EuZnVuOjIxMTU2P2FsbG93SW5zZWN1cmU9MCZzbmk9bGF2aXAxMDEucWxncS5mdW4jJUYwJTlGJTg3JUJBJUYwJTlGJTg3JUI4JTIwJUU3JUJFJThFJUU1JTlCJUJEJTIwJUU2JUI0JTlCJUU2JTlEJTg5JUU3JTlGJUI2MTAyJTIwLSUyMCVFNSVBMiU5OSVFNCVCQSU4NiVFNCVCOCVBQSVFNSVBMiU5OQp0cm9qYW46Ly8zYzY2ODQ1Ni1jYzljLTMzOTItOTAxNC0wZjczZTVhMDliYjNAbGF2aXAxMDEucWxncS5mdW46MzExNTY/YWxsb3dJbnNlY3VyZT0wJnNuaT1sYXZpcDEwMS5xbGdxLmZ1biMlRjAlOUYlODclQkElRjAlOUYlODclQjglMjAlRTclQkUlOEUlRTUlOUIlQkQlMjAlRTYlQjQlOUIlRTYlOUQlODklRTclOUYlQjYxMDMlMjAtJTIwJUU1JUEyJTk5JUU0JUJBJTg2JUU0JUI4JUFBJUU1JUEyJTk5CnRyb2phbjovLzNjNjY4NDU2LWNjOWMtMzM5Mi05MDE0LTBmNzNlNWEwOWJiM0BsYXZpcDEwMi5xbGdxLmZ1bjo0OTY0Mz9hbGxvd0luc2VjdXJlPTAmc25pPWxhdmlwMTAyLnFsZ3EuZnVuIyVGMCU5RiU4NyVCQSVGMCU5RiU4NyVCOCUyMCVFNyVCRSU4RSVFNSU5QiVCRCUyMCVFNiVCNCU5QiVFNiU5RCU4OSVFNyU5RiVCNjEwNCUyMC0lMjAlRTUlQTIlOTklRTQlQkElODYlRTQlQjglQUElRTUlQTIlOTkKdHJvamFuOi8vM2M2Njg0NTYtY2M5Yy0zMzkyLTkwMTQtMGY3M2U1YTA5YmIzQGxhdmlwMTAyLnFsZ3EuZnVuOjIwNDQzP2FsbG93SW5zZWN1cmU9MCZzbmk9bGF2aXAxMDIucWxncS5mdW4jJUYwJTlGJTg3JUJBJUYwJTlGJTg3JUI4JTIwJUU3JUJFJThFJUU1JTlCJUJEJTIwJUU2JUI0JTlCJUU2JTlEJTg5JUU3JTlGJUI2MTA1JTIwLSUyMCVFNSVBMiU5OSVFNCVCQSU4NiVFNCVCOCVBQSVFNSVBMiU5OQp0cm9qYW46Ly8zYzY2ODQ1Ni1jYzljLTMzOTItOTAxNC0wZjczZTVhMDliYjNAbGF2aXAxMDIucWxncS5mdW46MzA0NDM/YWxsb3dJbnNlY3VyZT0wJnNuaT1sYXZpcDEwMi5xbGdxLmZ1biMlRjAlOUYlODclQkElRjAlOUYlODclQjglMjAlRTclQkUlOEUlRTUlOUIlQkQlMjAlRTYlQjQlOUIlRTYlOUQlODklRTclOUYlQjYxMDYlMjAtJTIwJUU1JUEyJTk5JUU0JUJBJTg2JUU0JUI4JUFBJUU1JUEyJTk5CnRyb2phbjovLzNjNjY4NDU2LWNjOWMtMzM5Mi05MDE0LTBmNzNlNWEwOWJiM0B1a3ZpcDEwMS5xbGdxLmZ1bjoxNDU2OD9hbGxvd0luc2VjdXJlPTAmc25pPXVrdmlwMTAxLnFsZ3EuZnVuIyVGMCU5RiU4NyVBQyVGMCU5RiU4NyVBNyUyMCVFOCU4QiVCMSVFNSU5QiVCRCUyMDEwMSUyMC0lMjAlRTUlQTIlOTklRTQlQkElODYlRTQlQjglQUElRTUlQTIlOTkKdHJvamFuOi8vM2M2Njg0NTYtY2M5Yy0zMzkyLTkwMTQtMGY3M2U1YTA5YmIzQHVrdmlwMTAxLnFsZ3EuZnVuOjE0NTg2P2FsbG93SW5zZWN1cmU9MCZzbmk9dWt2aXAxMDEucWxncS5mdW4jJUYwJTlGJTg3JUFDJUYwJTlGJTg3JUE3JTIwJUU4JThCJUIxJUU1JTlCJUJEJTIwMTAyJTIwLSUyMCVFNSVBMiU5OSVFNCVCQSU4NiVFNCVCOCVBQSVFNSVBMiU5OQp0cm9qYW46Ly8zYzY2ODQ1Ni1jYzljLTMzOTItOTAxNC0wZjczZTVhMDliYjNAdWt2aXAxMDEucWxncS5mdW46MTg4ODU/YWxsb3dJbnNlY3VyZT0wJnNuaT11a3ZpcDEwMS5xbGdxLmZ1biMlRjAlOUYlODclQUMlRjAlOUYlODclQTclMjAlRTglOEIlQjElRTUlOUIlQkQlMjAxMDMlMjAtJTIwJUU1JUEyJTk5JUU0JUJBJTg2JUU0JUI4JUFBJUU1JUEyJTk5CnRyb2phbjovLzNjNjY4NDU2LWNjOWMtMzM5Mi05MDE0LTBmNzNlNWEwOWJiM0Boa3ZpcDEwMS5xbGdxLmZ1bjoxMjI0OT9hbGxvd0luc2VjdXJlPTAmc25pPWhrdmlwMTAxLnFsZ3EuZnVuIyVGMCU5RiU4NyVBRCVGMCU5RiU4NyVCMCUyMCVFOSVBNiU5OSVFNiVCOCVBRiUyMDEwMSUyMC0lMjAlRTUlQTIlOTklRTQlQkElODYlRTQlQjglQUElRTUlQTIlOTkKdHJvamFuOi8vM2M2Njg0NTYtY2M5Yy0zMzkyLTkwMTQtMGY3M2U1YTA5YmIzQGhrdmlwMTAxLnFsZ3EuZnVuOjIyMjQ5P2FsbG93SW5zZWN1cmU9MCZzbmk9aGt2aXAxMDEucWxncS5mdW4jJUYwJTlGJTg3JUFEJUYwJTlGJTg3JUIwJTIwJUU5JUE2JTk5JUU2JUI4JUFGJTIwMTAyJTIwLSUyMCVFNSVBMiU5OSVFNCVCQSU4NiVFNCVCOCVBQSVFNSVBMiU5OQp0cm9qYW46Ly8zYzY2ODQ1Ni1jYzljLTMzOTItOTAxNC0wZjczZTVhMDliYjNAaGt2aXAxMDIucWxncS5mdW46MzIyNDk/YWxsb3dJbnNlY3VyZT0wJnNuaT1oa3ZpcDEwMi5xbGdxLmZ1biMlRjAlOUYlODclQUQlRjAlOUYlODclQjAlMjAlRTklQTYlOTklRTYlQjglQUYlMjAxMDMlMjAtJTIwJUU1JUEyJTk5JUU0JUJBJTg2JUU0JUI4JUFBJUU1JUEyJTk5CnRyb2phbjovLzNjNjY4NDU2LWNjOWMtMzM5Mi05MDE0LTBmNzNlNWEwOWJiM0Boa3ZpcDEwMi5xbGdxLmZ1bjo0MjI0OT9hbGxvd0luc2VjdXJlPTAmc25pPWhrdmlwMTAyLnFsZ3EuZnVuIyVGMCU5RiU4NyVBRCVGMCU5RiU4NyVCMCUyMCVFOSVBNiU5OSVFNiVCOCVBRiUyMDEwNCUyMC0lMjAlRTUlQTIlOTklRTQlQkElODYlRTQlQjglQUElRTUlQTIlOTkKdHJvamFuOi8vM2M2Njg0NTYtY2M5Yy0zMzkyLTkwMTQtMGY3M2U1YTA5YmIzQGhrdmlwMTAzLnFsZ3EuZnVuOjUyMjQ5P2FsbG93SW5zZWN1cmU9MCZzbmk9aGt2aXAxMDMucWxncS5mdW4jJUYwJTlGJTg3JUFEJUYwJTlGJTg3JUIwJTIwJUU5JUE2JTk5JUU2JUI4JUFGJTIwMTA1JTIwLSUyMCVFNSVBMiU5OSVFNCVCQSU4NiVFNCVCOCVBQSVFNSVBMiU5OQp0cm9qYW46Ly8zYzY2ODQ1Ni1jYzljLTMzOTItOTAxNC0wZjczZTVhMDliYjNAaGt2aXAxMDMucWxncS5mdW46MTExMTY/YWxsb3dJbnNlY3VyZT0wJnNuaT1oa3ZpcDEwMy5xbGdxLmZ1biMlRjAlOUYlODclQUQlRjAlOUYlODclQjAlMjAlRTklQTYlOTklRTYlQjglQUYlMjAxMDYlMjAtJTIwJUU1JUEyJTk5JUU0JUJBJTg2JUU0JUI4JUFBJUU1JUEyJTk5CnRyb2phbjovLzNjNjY4NDU2LWNjOWMtMzM5Mi05MDE0LTBmNzNlNWEwOWJiM0Boa3ZpcDEwNC5xbGdxLmZ1bjo0NTEzNj9hbGxvd0luc2VjdXJlPTAmc25pPWhrdmlwMTA0LnFsZ3EuZnVuIyVGMCU5RiU4NyVBRCVGMCU5RiU4NyVCMCUyMCVFOSVBNiU5OSVFNiVCOCVBRiUyMDEwNyUyMC0lMjAlRTUlQTIlOTklRTQlQkElODYlRTQlQjglQUElRTUlQTIlOTkKdHJvamFuOi8vM2M2Njg0NTYtY2M5Yy0zMzkyLTkwMTQtMGY3M2U1YTA5YmIzQGhrdmlwMTA0LnFsZ3EuZnVuOjQ2MjE2P2FsbG93SW5zZWN1cmU9MCZzbmk9aGt2aXAxMDQucWxncS5mdW4jJUYwJTlGJTg3JUFEJUYwJTlGJTg3JUIwJTIwJUU5JUE2JTk5JUU2JUI4JUFGJTIwMTA4JTIwLSUyMCVFNSVBMiU5OSVFNCVCQSU4NiVFNCVCOCVBQSVFNSVBMiU5OQp0cm9qYW46Ly8zYzY2ODQ1Ni1jYzljLTMzOTItOTAxNC0wZjczZTVhMDliYjNAaGt2aXAxMDUucWxncS5mdW46NDExMTY/YWxsb3dJbnNlY3VyZT0wJnNuaT1oa3ZpcDEwNS5xbGdxLmZ1biMlRjAlOUYlODclQUQlRjAlOUYlODclQjAlMjAlRTklQTYlOTklRTYlQjglQUYlMjAxMDklMjAtJTIwJUU1JUEyJTk5JUU0JUJBJTg2JUU0JUI4JUFBJUU1JUEyJTk5CnRyb2phbjovLzNjNjY4NDU2LWNjOWMtMzM5Mi05MDE0LTBmNzNlNWEwOWJiM0Boa3ZpcDEwNS5xbGdxLmZ1bjo1MTExNj9hbGxvd0luc2VjdXJlPTAmc25pPWhrdmlwMTA1LnFsZ3EuZnVuIyVGMCU5RiU4NyVBRCVGMCU5RiU4NyVCMCUyMCVFOSVBNiU5OSVFNiVCOCVBRiUyMDExMCUyMC0lMjAlRTUlQTIlOTklRTQlQkElODYlRTQlQjglQUElRTUlQTIlOTkKdHJvamFuOi8vM2M2Njg0NTYtY2M5Yy0zMzkyLTkwMTQtMGY3M2U1YTA5YmIzQGtsdmlwMTAxLnFsZ3EuZnVuOjEwNDQzP2FsbG93SW5zZWN1cmU9MCZzbmk9a2x2aXAxMDEucWxncS5mdW4jJUYwJTlGJTg3JUIyJUYwJTlGJTg3JUJFJTIwJUU5JUE5JUFDJUU2JTlEJUE1JUU4JUE1JUJGJUU0JUJBJTlBJTIwMDAxJTIwLSUyMCVFNSVBMiU5OSVFNCVCQSU4NiVFNCVCOCVBQSVFNSVBMiU5OQp0cm9qYW46Ly8zYzY2ODQ1Ni1jYzljLTMzOTItOTAxNC0wZjczZTVhMDliYjNAa2x2aXAxMDEucWxncS5mdW46MjA0NDM/YWxsb3dJbnNlY3VyZT0wJnNuaT1rbHZpcDEwMS5xbGdxLmZ1biMlRjAlOUYlODclQjIlRjAlOUYlODclQkUlMjAlRTklQTklQUMlRTYlOUQlQTUlRTglQTUlQkYlRTQlQkElOUElMjAwMDIlMjAtJTIwJUU1JUEyJTk5JUU0JUJBJTg2JUU0JUI4JUFBJUU1JUEyJTk5CnRyb2phbjovLzNjNjY4NDU2LWNjOWMtMzM5Mi05MDE0LTBmNzNlNWEwOWJiM0BrbHZpcDEwMS5xbGdxLmZ1bjozMDQ0Mz9hbGxvd0luc2VjdXJlPTAmc25pPWtsdmlwMTAxLnFsZ3EuZnVuIyVGMCU5RiU4NyVCMiVGMCU5RiU4NyVCRSUyMCVFOSVBOSVBQyVFNiU5RCVBNSVFOCVBNSVCRiVFNCVCQSU5QSUyMDAwMyUyMC0lMjAlRTUlQTIlOTklRTQlQkElODYlRTQlQjglQUElRTUlQTIlOTkK -------------------------------------------------------------------------------- /trials/yiyuanvpn.top: -------------------------------------------------------------------------------- 1 | dm1lc3M6Ly9leUoySWpvaU1pSXNJbkJ6SWpvaTRvUzU3N2lQSU9lOWtlV2RnTys4bW1oMVlYUnBZMnh2ZFdRdWRHOXdJQzBnNXJ1UjVxS3Y1THFSSWl3aVlXUmtJam9pYUhSemRXSXRNakF5TkM0NE9UazJPVFk1T1RndWVIbDZJaXdpY0c5eWRDSTZJakl3TURFeElpd2lkSGx3WlNJNkltNXZibVVpTENKcFpDSTZJbVZpT1dJMlpEQTNMVGcyTkRRdE5ETTNaaTFoTVdNMUxXUmlaV1F6Tnpoa016aGxaQ0lzSW1GcFpDSTZJakFpTENKdVpYUWlPaUozY3lJc0luQmhkR2dpT2lJdk1qQXlOQ0lzSW1odmMzUWlPaUo1ZVhsMExXaHJMVEl3TWpRdWJXOW1ZWGgzTG5SdmNDSXNJblJzY3lJNklpSjkKdm1lc3M6Ly9leUoySWpvaU1pSXNJbkJ6SWpvaTQ0Q1E2YXVZNTdxbjQ0Q1I4SitIc1BDZmg3ZnBuNm5sbTcweElDMGc1cnVSNXFLdjVMcVJJaXdpWVdSa0lqb2lhSFJ6ZFdJdE1qQXlOQzQ0T1RrMk9UWTVPVGd1ZUhsNklpd2ljRzl5ZENJNklqSXdNREV4SWl3aWRIbHdaU0k2SW01dmJtVWlMQ0pwWkNJNkltVmlPV0kyWkRBM0xUZzJORFF0TkRNM1ppMWhNV00xTFdSaVpXUXpOemhrTXpobFpDSXNJbUZwWkNJNklqQWlMQ0p1WlhRaU9pSjNjeUlzSW5CaGRHZ2lPaUl2TWpBeU5DSXNJbWh2YzNRaU9pSjVlWGwwTFd0eU1TMHlNREkwTG0xdlptRjRkeTUwYjNBaUxDSjBiSE1pT2lJaWZRPT0Kdm1lc3M6Ly9leUoySWpvaU1pSXNJbkJ6SWpvaTQ0Q1E2YXVZNTdxbjQ0Q1I4SitIc1BDZmg3ZnBuNm5sbTcweUlDMGc1cnVSNXFLdjVMcVJJaXdpWVdSa0lqb2lhSFJ6ZFdJdE1qQXlOQzQ0T1RrMk9UWTVPVGd1ZUhsNklpd2ljRzl5ZENJNklqSXdNREV4SWl3aWRIbHdaU0k2SW01dmJtVWlMQ0pwWkNJNkltVmlPV0kyWkRBM0xUZzJORFF0TkRNM1ppMWhNV00xTFdSaVpXUXpOemhrTXpobFpDSXNJbUZwWkNJNklqQWlMQ0p1WlhRaU9pSjNjeUlzSW5CaGRHZ2lPaUl2TWpBeU5DSXNJbWh2YzNRaU9pSjVlWGwwTFd0eU1pMHlNREkwTG0xdlptRjRkeTUwYjNBaUxDSjBiSE1pT2lJaWZRPT0Kdm1lc3M6Ly9leUoySWpvaU1pSXNJbkJ6SWpvaTQ0Q1E2YXVZNTdxbjQ0Q1I4SitIdXZDZmg3am52bzdsbTcweElDMGc1cnVSNXFLdjVMcVJJaXdpWVdSa0lqb2lhSFJ6ZFdJdE1qQXlOQzQ0T1RrMk9UWTVPVGd1ZUhsNklpd2ljRzl5ZENJNklqSXdNREV4SWl3aWRIbHdaU0k2SW01dmJtVWlMQ0pwWkNJNkltVmlPV0kyWkRBM0xUZzJORFF0TkRNM1ppMWhNV00xTFdSaVpXUXpOemhrTXpobFpDSXNJbUZwWkNJNklqQWlMQ0p1WlhRaU9pSjNjeUlzSW5CaGRHZ2lPaUl2TWpBeU5DSXNJbWh2YzNRaU9pSjVlWGwwTFhWek1TMHlNREkwTG0xdlptRjRkeTUwYjNBaUxDSjBiSE1pT2lJaWZRPT0Kdm1lc3M6Ly9leUoySWpvaU1pSXNJbkJ6SWpvaTQ0Q1E2YXVZNTdxbjQ0Q1I4SitIdXZDZmg3am52bzdsbTcweUlDMGc1cnVSNXFLdjVMcVJJaXdpWVdSa0lqb2lhSFJ6ZFdJdE1qQXlOQzQ0T1RrMk9UWTVPVGd1ZUhsNklpd2ljRzl5ZENJNklqSXdNREV4SWl3aWRIbHdaU0k2SW01dmJtVWlMQ0pwWkNJNkltVmlPV0kyWkRBM0xUZzJORFF0TkRNM1ppMWhNV00xTFdSaVpXUXpOemhrTXpobFpDSXNJbUZwWkNJNklqQWlMQ0p1WlhRaU9pSjNjeUlzSW5CaGRHZ2lPaUl2TWpBeU5DSXNJbWh2YzNRaU9pSjVlWGwwTFhWek1pMHlNREkwTG0xdlptRjRkeTUwYjNBaUxDSjBiSE1pT2lJaWZRPT0Kdm1lc3M6Ly9leUoySWpvaU1pSXNJbkJ6SWpvaTQ0Q1E2YXVZNTdxbjQ0Q1I4SitIclBDZmg2Zm9pN0hsbTcweElDMGc1cnVSNXFLdjVMcVJJaXdpWVdSa0lqb2lhSFJ6ZFdJdE1qQXlOQzQ0T1RrMk9UWTVPVGd1ZUhsNklpd2ljRzl5ZENJNklqSXdNREV4SWl3aWRIbHdaU0k2SW01dmJtVWlMQ0pwWkNJNkltVmlPV0kyWkRBM0xUZzJORFF0TkRNM1ppMWhNV00xTFdSaVpXUXpOemhrTXpobFpDSXNJbUZwWkNJNklqQWlMQ0p1WlhRaU9pSjNjeUlzSW5CaGRHZ2lPaUl2TWpBeU5DSXNJbWh2YzNRaU9pSjVlWGwwTFhWck1TMHlNREkwTG0xdlptRjRkeTUwYjNBaUxDSjBiSE1pT2lJaWZRPT0Kdm1lc3M6Ly9leUoySWpvaU1pSXNJbkJ6SWpvaTQ0Q1E2YXVZNTdxbjQ0Q1I4SitIclBDZmg2Zm9pN0hsbTcweUlDMGc1cnVSNXFLdjVMcVJJaXdpWVdSa0lqb2lhSFJ6ZFdJdE1qQXlOQzQ0T1RrMk9UWTVPVGd1ZUhsNklpd2ljRzl5ZENJNklqSXdNREV4SWl3aWRIbHdaU0k2SW01dmJtVWlMQ0pwWkNJNkltVmlPV0kyWkRBM0xUZzJORFF0TkRNM1ppMWhNV00xTFdSaVpXUXpOemhrTXpobFpDSXNJbUZwWkNJNklqQWlMQ0p1WlhRaU9pSjNjeUlzSW5CaGRHZ2lPaUl2TWpBeU5DSXNJbWh2YzNRaU9pSjVlWGwwTFhWck1pMHlNREkwTG0xdlptRjRkeTUwYjNBaUxDSjBiSE1pT2lJaWZRPT0Kdm1lc3M6Ly9leUoySWpvaU1pSXNJbkJ6SWpvaTQ0Q1E2YXVZNTdxbjQ0Q1I4SitIcWZDZmg2cmx2cmZsbTcwZ0xTRG11NUhtb3Eva3VwRWlMQ0poWkdRaU9pSm9kSE4xWWkweU1ESTBMamc1T1RZNU5qazVPQzU0ZVhvaUxDSndiM0owSWpvaU1qQXdNVEVpTENKMGVYQmxJam9pYm05dVpTSXNJbWxrSWpvaVpXSTVZalprTURjdE9EWTBOQzAwTXpkbUxXRXhZelV0WkdKbFpETTNPR1F6T0dWa0lpd2lZV2xrSWpvaU1DSXNJbTVsZENJNkluZHpJaXdpY0dGMGFDSTZJaTh5TURJMElpd2lhRzl6ZENJNklubDVlWFF0WkdVdE1qQXlOQzV0YjJaaGVIY3VkRzl3SWl3aWRHeHpJam9pSW4wPQp2bWVzczovL2V5SjJJam9pTWlJc0luQnpJam9pNDRDUTZhdVk1N3FuNDRDUjhKK0hydkNmaDdQbGpiRGx1cVlnTFNEbXU1SG1vcS9rdXBFaUxDSmhaR1FpT2lKb2RITjFZaTB5TURJMExqZzVPVFk1TmprNU9DNTRlWG9pTENKd2IzSjBJam9pTWpBd01URWlMQ0owZVhCbElqb2libTl1WlNJc0ltbGtJam9pWldJNVlqWmtNRGN0T0RZME5DMDBNemRtTFdFeFl6VXRaR0psWkRNM09HUXpPR1ZrSWl3aVlXbGtJam9pTUNJc0ltNWxkQ0k2SW5keklpd2ljR0YwYUNJNklpOHlNREkwSWl3aWFHOXpkQ0k2SW5sNWVYUXRhVzR0TWpBeU5DNXRiMlpoZUhjdWRHOXdJaXdpZEd4eklqb2lJbjA9CnZtZXNzOi8vZXlKMklqb2lNaUlzSW5Ceklqb2k0NENRNmF1WTU3cW40NENSOEorSHB2Q2ZoN3JtdnJQbXRMSWdMU0RtdTVIbW9xL2t1cEVpTENKaFpHUWlPaUpvZEhOMVlpMHlNREkwTGpnNU9UWTVOams1T0M1NGVYb2lMQ0p3YjNKMElqb2lNakF3TVRFaUxDSjBlWEJsSWpvaWJtOXVaU0lzSW1sa0lqb2laV0k1WWpaa01EY3RPRFkwTkMwME16ZG1MV0V4WXpVdFpHSmxaRE0zT0dRek9HVmtJaXdpWVdsa0lqb2lNQ0lzSW01bGRDSTZJbmR6SWl3aWNHRjBhQ0k2SWk4eU1ESTBJaXdpYUc5emRDSTZJbmw1ZVhRdFlYVXRNakF5TkM1dGIyWmhlSGN1ZEc5d0lpd2lkR3h6SWpvaUluMD0Kdm1lc3M6Ly9leUoySWpvaU1pSXNJbkJ6SWpvaTQ0Q1E2YXVZNTdxbjQ0Q1I4SitIdVBDZmg2em1sckRsaXFEbG5hRWdMU0RtdTVIbW9xL2t1cEVpTENKaFpHUWlPaUpvZEhOMVlpMHlNREkwTGpnNU9UWTVOams1T0M1NGVYb2lMQ0p3YjNKMElqb2lNakF3TVRFaUxDSjBlWEJsSWpvaWJtOXVaU0lzSW1sa0lqb2laV0k1WWpaa01EY3RPRFkwTkMwME16ZG1MV0V4WXpVdFpHSmxaRE0zT0dRek9HVmtJaXdpWVdsa0lqb2lNQ0lzSW01bGRDSTZJbmR6SWl3aWNHRjBhQ0k2SWk4eU1ESTBJaXdpYUc5emRDSTZJbmw1ZVhRdGMyY3RNakF5TkM1dGIyWmhlSGN1ZEc5d0lpd2lkR3h6SWpvaUluMD0Kdm1lc3M6Ly9leUoySWpvaU1pSXNJbkJ6SWpvaTQ0Q1E2YXVZNTdxbjQ0Q1I4SitIcmZDZmg3RHBwcG5tdUs4Z0xTRG11NUhtb3Eva3VwRWlMQ0poWkdRaU9pSm9kSE4xWWkweU1ESTBMamc1T1RZNU5qazVPQzU0ZVhvaUxDSndiM0owSWpvaU1qQXdNVEVpTENKMGVYQmxJam9pYm05dVpTSXNJbWxrSWpvaVpXSTVZalprTURjdE9EWTBOQzAwTXpkbUxXRXhZelV0WkdKbFpETTNPR1F6T0dWa0lpd2lZV2xrSWpvaU1DSXNJbTVsZENJNkluZHpJaXdpY0dGMGFDSTZJaTh5TURJMElpd2lhRzl6ZENJNklubDVlWFF0YUdzdE1qQXlOQzV0YjJaaGVIY3VkRzl3SWl3aWRHeHpJam9pSW4wPQo= -------------------------------------------------------------------------------- /trials_providers/2.flybar20.cc/All.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: 🇭🇰 广港•香港309•专线 - 飞翔吧, server: gyl.58n.net, port: 20309, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z309.hongkongnode.top, skip-cert-verify: true, udp: true} 5 | - {name: 🇭🇰 中转•香港102•高速 - 飞翔吧, server: gy.58n.net, port: 43337, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z102.hongkongnode.top, skip-cert-verify: true, udp: true} 6 | - {name: 🇭🇰 中转•香港307•高速 - 飞翔吧, server: gy.58n.net, port: 20307, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z307.hongkongnode.top, skip-cert-verify: true, udp: true} 7 | - {name: 🇭🇰 广港•香港143•高速 - 飞翔吧, server: gy.58n.net, port: 28678, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z143.hongkongnode.top, skip-cert-verify: true, udp: true} 8 | - {name: 🇭🇰 广港•香港259•高速 - 飞翔吧, server: gy.58n.net, port: 24603, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z259.hongkongnode.top, skip-cert-verify: true, udp: true} 9 | - {name: 🇭🇰 广港•香港269•高速 - 飞翔吧, server: gy.58n.net, port: 22741, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: dufu.hongkongnode.top, skip-cert-verify: true, udp: true} 10 | - {name: 🇭🇰 广港•香港278•高速 - 飞翔吧, server: gy.58n.net, port: 20278, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z278.hongkongnode.top, skip-cert-verify: true, udp: true} 11 | - {name: 🇭🇰 广港•香港279•高速 - 飞翔吧, server: gy.58n.net, port: 20279, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z279.hongkongnode.top, skip-cert-verify: true, udp: true} 12 | - {name: 🇭🇰 广港•香港294•高速 - 飞翔吧, server: gy.58n.net, port: 20294, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z294.hongkongnode.top, skip-cert-verify: true, udp: true} 13 | - {name: 🇹🇼 中转•台湾100•高速 - 飞翔吧, server: gy.58n.net, port: 59021, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x100.flybar.work, skip-cert-verify: true, udp: true} 14 | - {name: 🇹🇼 中转•台湾91•原生 - 飞翔吧, server: gy.58n.net, port: 21247, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x91.flybar.work, skip-cert-verify: true, udp: true} 15 | - {name: 🇹🇼 广港•台湾261•高速 - 飞翔吧, server: gy.58n.net, port: 33323, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z261.hongkongnode.top, skip-cert-verify: true, udp: true} 16 | - {name: 🇹🇼 广港•台湾262•高速 - 飞翔吧, server: gy.58n.net, port: 36821, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z262.hongkongnode.top, skip-cert-verify: true, udp: true} 17 | - {name: 🇰🇷 广港•韩国263•高速 - 飞翔吧, server: gy.58n.net, port: 45168, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z263.hongkongnode.top, skip-cert-verify: true, udp: true} 18 | - {name: 🇰🇷 广港•韩国264•高速 - 飞翔吧, server: gy.58n.net, port: 50355, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z264.hongkongnode.top, skip-cert-verify: true, udp: true} 19 | - {name: 🇺🇸 中转•美国295•高速 - 飞翔吧, server: gy.58n.net, port: 20295, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z295.hongkongnode.top, skip-cert-verify: true, udp: true} 20 | - {name: 🇺🇸 中转•美国296•高速 - 飞翔吧, server: gy.58n.net, port: 20296, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z296.hongkongnode.top, skip-cert-verify: true, udp: true} 21 | - {name: 🇺🇸 中转•美国308•高速 - 飞翔吧, server: gy.58n.net, port: 20308, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z308.hongkongnode.top, skip-cert-verify: true, udp: true} 22 | - {name: 🇺🇸 中转•美国40•高速 - 飞翔吧, server: gy.58n.net, port: 16895, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x40.flybar.work, skip-cert-verify: true, udp: true} 23 | - {name: 🇺🇸 中转•美国41•原生 - 飞翔吧, server: gy.58n.net, port: 21970, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x41.flybar.work, skip-cert-verify: true, udp: true} 24 | - {name: 🇺🇸 中转•美国61•高速 - 飞翔吧, server: gy.58n.net, port: 30767, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z61.hongkongnode.top, skip-cert-verify: true, udp: true} 25 | - {name: 🇺🇸 广港•美国266•高速 - 飞翔吧, server: gy.58n.net, port: 56783, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z266.hongkongnode.top, skip-cert-verify: true, udp: true} 26 | - {name: 🇺🇸 广港•美国288•高速 - 飞翔吧, server: gy.58n.net, port: 20288, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z288.hongkongnode.top, skip-cert-verify: true, udp: true} 27 | - {name: 🇯🇵 中转•日本298•高速 - 飞翔吧, server: gy.58n.net, port: 20298, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z298.hongkongnode.top, skip-cert-verify: true, udp: true} 28 | - {name: 🇯🇵 中转•日本300•原生 - 飞翔吧, server: gy.58n.net, port: 20300, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z300.hongkongnode.top, skip-cert-verify: true, udp: true} 29 | - {name: 🇯🇵 日本•高速114•高速 - 飞翔吧, server: gy.58n.net, port: 41767, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x114.flybar.work, skip-cert-verify: true, udp: true} 30 | - {name: 🇯🇵 日本•高速115•高速 - 飞翔吧, server: gy.58n.net, port: 54178, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x115.flybar.work, skip-cert-verify: true, udp: true} 31 | - {name: 🇯🇵 日本•高速139•铂金 - 飞翔吧, server: gy.58n.net, port: 20139, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z139.hongkongnode.top, skip-cert-verify: true, udp: true} 32 | - {name: 🇯🇵 日本•高速140•铂金 - 飞翔吧, server: gy.58n.net, port: 20140, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z140.hongkongnode.top, skip-cert-verify: true, udp: true} 33 | - {name: 🇯🇵 日本•高速141•铂金 - 飞翔吧, server: gy.58n.net, port: 20141, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z141.hongkongnode.top, skip-cert-verify: true, udp: true} 34 | - {name: 🇯🇵 日本•高速142•原生 - 飞翔吧, server: gy.58n.net, port: 20142, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z142.hongkongnode.top, skip-cert-verify: true, udp: true} 35 | - {name: 🇯🇵 日本•高速59•青铜 - 飞翔吧, server: gy.58n.net, port: 20059, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x59.flybar.work, skip-cert-verify: true, udp: true} 36 | - {name: 🇯🇵 日本•高速71•高速 - 飞翔吧, server: gy.58n.net, port: 20071, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x71.flybar.work, skip-cert-verify: true, udp: true} 37 | - {name: 🇯🇵 日本•高速76•高速 - 飞翔吧, server: gy.58n.net, port: 20076, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x76.flybar.work, skip-cert-verify: true, udp: true} 38 | - {name: 🇸🇬 中转•新加坡299•高速 - 飞翔吧, server: gy.58n.net, port: 20299, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x299.flybar.work, skip-cert-verify: true, udp: true} 39 | - {name: 🇸🇬 中转•新加坡65•青铜 - 飞翔吧, server: gy.58n.net, port: 17806, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x65.flybar.work, skip-cert-verify: true, udp: true} 40 | - {name: 🇸🇬 中转•新加坡83•高速 - 飞翔吧, server: gy.58n.net, port: 30712, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x83.flybar.work, skip-cert-verify: true, udp: true} 41 | - {name: 🇸🇬 新加坡•高速129•高速 - 飞翔吧, server: gy.58n.net, port: 20129, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x129.flybar.work, skip-cert-verify: true, udp: true} 42 | - {name: 🇸🇬 新加坡•高速130•铂金 - 飞翔吧, server: gy.58n.net, port: 20130, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x130.flybar.work, skip-cert-verify: true, udp: true} 43 | - {name: 🇬🇧 中转•英国267•高速 - 飞翔吧, server: gy.58n.net, port: 25238, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z267.hongkongnode.top, skip-cert-verify: true, udp: true} 44 | - {name: 🇬🇧 中转•英国268•高速 - 飞翔吧, server: gy.58n.net, port: 11215, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z268.hongkongnode.top, skip-cert-verify: true, udp: true} 45 | - {name: 🇩🇪 中转•德国302•GPT - 飞翔吧, server: gy.58n.net, port: 20302, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z302.hongkongnode.top, skip-cert-verify: true, udp: true} 46 | - {name: 🇩🇪 中转•德国303•GPT - 飞翔吧, server: gy.58n.net, port: 20303, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z303.hongkongnode.top, skip-cert-verify: true, udp: true} 47 | - {name: 🇩🇪 中转•德国304•GPT - 飞翔吧, server: gy.58n.net, port: 20304, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z304.hongkongnode.top, skip-cert-verify: true, udp: true} 48 | - {name: 🇩🇪 中转•德国305•GPT - 飞翔吧, server: gy.58n.net, port: 20305, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z305.hongkongnode.top, skip-cert-verify: true, udp: true} 49 | - {name: 🇩🇪 中转•德国306•GPT - 飞翔吧, server: gy.58n.net, port: 20306, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z306.hongkongnode.top, skip-cert-verify: true, udp: true} 50 | -------------------------------------------------------------------------------- /trials_providers/2.flybar20.cc/CN.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: 🇭🇰 广港•香港309•专线 - 飞翔吧, server: gyl.58n.net, port: 20309, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z309.hongkongnode.top, skip-cert-verify: true, udp: true} 5 | - {name: 🇭🇰 中转•香港102•高速 - 飞翔吧, server: gy.58n.net, port: 43337, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z102.hongkongnode.top, skip-cert-verify: true, udp: true} 6 | - {name: 🇭🇰 中转•香港307•高速 - 飞翔吧, server: gy.58n.net, port: 20307, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z307.hongkongnode.top, skip-cert-verify: true, udp: true} 7 | - {name: 🇭🇰 广港•香港143•高速 - 飞翔吧, server: gy.58n.net, port: 28678, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z143.hongkongnode.top, skip-cert-verify: true, udp: true} 8 | - {name: 🇭🇰 广港•香港259•高速 - 飞翔吧, server: gy.58n.net, port: 24603, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z259.hongkongnode.top, skip-cert-verify: true, udp: true} 9 | - {name: 🇭🇰 广港•香港269•高速 - 飞翔吧, server: gy.58n.net, port: 22741, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: dufu.hongkongnode.top, skip-cert-verify: true, udp: true} 10 | - {name: 🇭🇰 广港•香港278•高速 - 飞翔吧, server: gy.58n.net, port: 20278, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z278.hongkongnode.top, skip-cert-verify: true, udp: true} 11 | - {name: 🇭🇰 广港•香港279•高速 - 飞翔吧, server: gy.58n.net, port: 20279, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z279.hongkongnode.top, skip-cert-verify: true, udp: true} 12 | - {name: 🇭🇰 广港•香港294•高速 - 飞翔吧, server: gy.58n.net, port: 20294, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z294.hongkongnode.top, skip-cert-verify: true, udp: true} 13 | - {name: 🇹🇼 中转•台湾100•高速 - 飞翔吧, server: gy.58n.net, port: 59021, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x100.flybar.work, skip-cert-verify: true, udp: true} 14 | - {name: 🇹🇼 中转•台湾91•原生 - 飞翔吧, server: gy.58n.net, port: 21247, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x91.flybar.work, skip-cert-verify: true, udp: true} 15 | - {name: 🇹🇼 广港•台湾261•高速 - 飞翔吧, server: gy.58n.net, port: 33323, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z261.hongkongnode.top, skip-cert-verify: true, udp: true} 16 | - {name: 🇹🇼 广港•台湾262•高速 - 飞翔吧, server: gy.58n.net, port: 36821, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z262.hongkongnode.top, skip-cert-verify: true, udp: true} 17 | -------------------------------------------------------------------------------- /trials_providers/2.flybar20.cc/HK.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: 🇭🇰 广港•香港309•专线 - 飞翔吧, server: gyl.58n.net, port: 20309, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z309.hongkongnode.top, skip-cert-verify: true, udp: true} 5 | - {name: 🇭🇰 中转•香港102•高速 - 飞翔吧, server: gy.58n.net, port: 43337, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z102.hongkongnode.top, skip-cert-verify: true, udp: true} 6 | - {name: 🇭🇰 中转•香港307•高速 - 飞翔吧, server: gy.58n.net, port: 20307, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z307.hongkongnode.top, skip-cert-verify: true, udp: true} 7 | - {name: 🇭🇰 广港•香港143•高速 - 飞翔吧, server: gy.58n.net, port: 28678, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z143.hongkongnode.top, skip-cert-verify: true, udp: true} 8 | - {name: 🇭🇰 广港•香港259•高速 - 飞翔吧, server: gy.58n.net, port: 24603, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z259.hongkongnode.top, skip-cert-verify: true, udp: true} 9 | - {name: 🇭🇰 广港•香港269•高速 - 飞翔吧, server: gy.58n.net, port: 22741, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: dufu.hongkongnode.top, skip-cert-verify: true, udp: true} 10 | - {name: 🇭🇰 广港•香港278•高速 - 飞翔吧, server: gy.58n.net, port: 20278, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z278.hongkongnode.top, skip-cert-verify: true, udp: true} 11 | - {name: 🇭🇰 广港•香港279•高速 - 飞翔吧, server: gy.58n.net, port: 20279, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z279.hongkongnode.top, skip-cert-verify: true, udp: true} 12 | - {name: 🇭🇰 广港•香港294•高速 - 飞翔吧, server: gy.58n.net, port: 20294, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z294.hongkongnode.top, skip-cert-verify: true, udp: true} 13 | -------------------------------------------------------------------------------- /trials_providers/2.flybar20.cc/JP.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: 🇯🇵 中转•日本298•高速 - 飞翔吧, server: gy.58n.net, port: 20298, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z298.hongkongnode.top, skip-cert-verify: true, udp: true} 5 | - {name: 🇯🇵 中转•日本300•原生 - 飞翔吧, server: gy.58n.net, port: 20300, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z300.hongkongnode.top, skip-cert-verify: true, udp: true} 6 | - {name: 🇯🇵 日本•高速114•高速 - 飞翔吧, server: gy.58n.net, port: 41767, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x114.flybar.work, skip-cert-verify: true, udp: true} 7 | - {name: 🇯🇵 日本•高速115•高速 - 飞翔吧, server: gy.58n.net, port: 54178, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x115.flybar.work, skip-cert-verify: true, udp: true} 8 | - {name: 🇯🇵 日本•高速139•铂金 - 飞翔吧, server: gy.58n.net, port: 20139, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z139.hongkongnode.top, skip-cert-verify: true, udp: true} 9 | - {name: 🇯🇵 日本•高速140•铂金 - 飞翔吧, server: gy.58n.net, port: 20140, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z140.hongkongnode.top, skip-cert-verify: true, udp: true} 10 | - {name: 🇯🇵 日本•高速141•铂金 - 飞翔吧, server: gy.58n.net, port: 20141, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z141.hongkongnode.top, skip-cert-verify: true, udp: true} 11 | - {name: 🇯🇵 日本•高速142•原生 - 飞翔吧, server: gy.58n.net, port: 20142, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z142.hongkongnode.top, skip-cert-verify: true, udp: true} 12 | - {name: 🇯🇵 日本•高速59•青铜 - 飞翔吧, server: gy.58n.net, port: 20059, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x59.flybar.work, skip-cert-verify: true, udp: true} 13 | - {name: 🇯🇵 日本•高速71•高速 - 飞翔吧, server: gy.58n.net, port: 20071, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x71.flybar.work, skip-cert-verify: true, udp: true} 14 | - {name: 🇯🇵 日本•高速76•高速 - 飞翔吧, server: gy.58n.net, port: 20076, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x76.flybar.work, skip-cert-verify: true, udp: true} 15 | -------------------------------------------------------------------------------- /trials_providers/2.flybar20.cc/Other.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: 🇰🇷 广港•韩国263•高速 - 飞翔吧, server: gy.58n.net, port: 45168, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z263.hongkongnode.top, skip-cert-verify: true, udp: true} 5 | - {name: 🇰🇷 广港•韩国264•高速 - 飞翔吧, server: gy.58n.net, port: 50355, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z264.hongkongnode.top, skip-cert-verify: true, udp: true} 6 | - {name: 🇬🇧 中转•英国267•高速 - 飞翔吧, server: gy.58n.net, port: 25238, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z267.hongkongnode.top, skip-cert-verify: true, udp: true} 7 | - {name: 🇬🇧 中转•英国268•高速 - 飞翔吧, server: gy.58n.net, port: 11215, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z268.hongkongnode.top, skip-cert-verify: true, udp: true} 8 | - {name: 🇩🇪 中转•德国302•GPT - 飞翔吧, server: gy.58n.net, port: 20302, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z302.hongkongnode.top, skip-cert-verify: true, udp: true} 9 | - {name: 🇩🇪 中转•德国303•GPT - 飞翔吧, server: gy.58n.net, port: 20303, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z303.hongkongnode.top, skip-cert-verify: true, udp: true} 10 | - {name: 🇩🇪 中转•德国304•GPT - 飞翔吧, server: gy.58n.net, port: 20304, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z304.hongkongnode.top, skip-cert-verify: true, udp: true} 11 | - {name: 🇩🇪 中转•德国305•GPT - 飞翔吧, server: gy.58n.net, port: 20305, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z305.hongkongnode.top, skip-cert-verify: true, udp: true} 12 | - {name: 🇩🇪 中转•德国306•GPT - 飞翔吧, server: gy.58n.net, port: 20306, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z306.hongkongnode.top, skip-cert-verify: true, udp: true} 13 | -------------------------------------------------------------------------------- /trials_providers/2.flybar20.cc/SG.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: 🇸🇬 中转•新加坡299•高速 - 飞翔吧, server: gy.58n.net, port: 20299, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x299.flybar.work, skip-cert-verify: true, udp: true} 5 | - {name: 🇸🇬 中转•新加坡65•青铜 - 飞翔吧, server: gy.58n.net, port: 17806, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x65.flybar.work, skip-cert-verify: true, udp: true} 6 | - {name: 🇸🇬 中转•新加坡83•高速 - 飞翔吧, server: gy.58n.net, port: 30712, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x83.flybar.work, skip-cert-verify: true, udp: true} 7 | - {name: 🇸🇬 新加坡•高速129•高速 - 飞翔吧, server: gy.58n.net, port: 20129, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x129.flybar.work, skip-cert-verify: true, udp: true} 8 | - {name: 🇸🇬 新加坡•高速130•铂金 - 飞翔吧, server: gy.58n.net, port: 20130, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x130.flybar.work, skip-cert-verify: true, udp: true} 9 | -------------------------------------------------------------------------------- /trials_providers/2.flybar20.cc/TW.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: 🇹🇼 中转•台湾100•高速 - 飞翔吧, server: gy.58n.net, port: 59021, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x100.flybar.work, skip-cert-verify: true, udp: true} 5 | - {name: 🇹🇼 中转•台湾91•原生 - 飞翔吧, server: gy.58n.net, port: 21247, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x91.flybar.work, skip-cert-verify: true, udp: true} 6 | - {name: 🇹🇼 广港•台湾261•高速 - 飞翔吧, server: gy.58n.net, port: 33323, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z261.hongkongnode.top, skip-cert-verify: true, udp: true} 7 | - {name: 🇹🇼 广港•台湾262•高速 - 飞翔吧, server: gy.58n.net, port: 36821, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z262.hongkongnode.top, skip-cert-verify: true, udp: true} 8 | -------------------------------------------------------------------------------- /trials_providers/2.flybar20.cc/US.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: 🇺🇸 中转•美国295•高速 - 飞翔吧, server: gy.58n.net, port: 20295, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z295.hongkongnode.top, skip-cert-verify: true, udp: true} 5 | - {name: 🇺🇸 中转•美国296•高速 - 飞翔吧, server: gy.58n.net, port: 20296, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z296.hongkongnode.top, skip-cert-verify: true, udp: true} 6 | - {name: 🇺🇸 中转•美国308•高速 - 飞翔吧, server: gy.58n.net, port: 20308, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z308.hongkongnode.top, skip-cert-verify: true, udp: true} 7 | - {name: 🇺🇸 中转•美国40•高速 - 飞翔吧, server: gy.58n.net, port: 16895, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x40.flybar.work, skip-cert-verify: true, udp: true} 8 | - {name: 🇺🇸 中转•美国41•原生 - 飞翔吧, server: gy.58n.net, port: 21970, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x41.flybar.work, skip-cert-verify: true, udp: true} 9 | - {name: 🇺🇸 中转•美国61•高速 - 飞翔吧, server: gy.58n.net, port: 30767, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z61.hongkongnode.top, skip-cert-verify: true, udp: true} 10 | - {name: 🇺🇸 广港•美国266•高速 - 飞翔吧, server: gy.58n.net, port: 56783, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z266.hongkongnode.top, skip-cert-verify: true, udp: true} 11 | - {name: 🇺🇸 广港•美国288•高速 - 飞翔吧, server: gy.58n.net, port: 20288, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z288.hongkongnode.top, skip-cert-verify: true, udp: true} 12 | -------------------------------------------------------------------------------- /trials_providers/CN.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: '🇭🇰 [vip①]①香港 - MG Network', server: 12.mamamajd.site, port: 23612, type: vmess, uuid: 0bab86f8-d3af-3dce-9a6a-8db2a65e1135, alterId: 2, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /, headers: {Host: 12.mamamajd.site}}, udp: true} 5 | - {name: '🇹🇼 [vip①]台湾1|解锁NF|2.5倍率 - MG Network', server: 19.mamamajd.site, port: 23619, type: vmess, uuid: 0bab86f8-d3af-3dce-9a6a-8db2a65e1135, alterId: 2, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /, headers: {Host: 19.mamamajd.site}}, udp: true} 6 | - {name: 🇭🇰 香港 1 - 西瓜皮是真的皮, server: xgcma.dx002.top, port: 19811, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 7 | - {name: 🇭🇰 香港 2 - 西瓜皮是真的皮, server: xgcta.dx002.top, port: 19812, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 8 | - {name: 🇹🇼 台湾 1 动画疯 - 西瓜皮是真的皮, server: xgcma.dx002.top, port: 19821, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 9 | - {name: 🇹🇼 台湾 2 动画疯 - 西瓜皮是真的皮, server: xgcta.dx002.top, port: 19822, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 10 | - {name: 🇭🇰 广港•香港309•专线 - 飞翔吧, server: gyl.58n.net, port: 20309, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z309.hongkongnode.top, skip-cert-verify: true, udp: true} 11 | - {name: 🇭🇰 中转•香港102•高速 - 飞翔吧, server: gy.58n.net, port: 43337, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z102.hongkongnode.top, skip-cert-verify: true, udp: true} 12 | - {name: 🇭🇰 中转•香港307•高速 - 飞翔吧, server: gy.58n.net, port: 20307, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z307.hongkongnode.top, skip-cert-verify: true, udp: true} 13 | - {name: 🇭🇰 广港•香港143•高速 - 飞翔吧, server: gy.58n.net, port: 28678, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z143.hongkongnode.top, skip-cert-verify: true, udp: true} 14 | - {name: 🇭🇰 广港•香港259•高速 - 飞翔吧, server: gy.58n.net, port: 24603, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z259.hongkongnode.top, skip-cert-verify: true, udp: true} 15 | - {name: 🇭🇰 广港•香港269•高速 - 飞翔吧, server: gy.58n.net, port: 22741, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: dufu.hongkongnode.top, skip-cert-verify: true, udp: true} 16 | - {name: 🇭🇰 广港•香港278•高速 - 飞翔吧, server: gy.58n.net, port: 20278, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z278.hongkongnode.top, skip-cert-verify: true, udp: true} 17 | - {name: 🇭🇰 广港•香港279•高速 - 飞翔吧, server: gy.58n.net, port: 20279, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z279.hongkongnode.top, skip-cert-verify: true, udp: true} 18 | - {name: 🇭🇰 广港•香港294•高速 - 飞翔吧, server: gy.58n.net, port: 20294, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z294.hongkongnode.top, skip-cert-verify: true, udp: true} 19 | - {name: 🇹🇼 中转•台湾100•高速 - 飞翔吧, server: gy.58n.net, port: 59021, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x100.flybar.work, skip-cert-verify: true, udp: true} 20 | - {name: 🇹🇼 中转•台湾91•原生 - 飞翔吧, server: gy.58n.net, port: 21247, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x91.flybar.work, skip-cert-verify: true, udp: true} 21 | - {name: 🇹🇼 广港•台湾261•高速 - 飞翔吧, server: gy.58n.net, port: 33323, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z261.hongkongnode.top, skip-cert-verify: true, udp: true} 22 | - {name: 🇹🇼 广港•台湾262•高速 - 飞翔吧, server: gy.58n.net, port: 36821, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z262.hongkongnode.top, skip-cert-verify: true, udp: true} 23 | - {name: 【高级】🇭🇰香港 - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-hk-2024.mofaxw.top}}, udp: true} 24 | - {name: 🇭🇰 香港 101 - 墙了个墙, server: hkvip101.qlgq.fun, port: 12249, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip101}, udp: true} 25 | - {name: 🇭🇰 香港 102 - 墙了个墙, server: hkvip101.qlgq.fun, port: 22249, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip101}, udp: true} 26 | - {name: 🇭🇰 香港 103 - 墙了个墙, server: hkvip102.qlgq.fun, port: 32249, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip102.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip102}, udp: true} 27 | - {name: 🇭🇰 香港 104 - 墙了个墙, server: hkvip102.qlgq.fun, port: 42249, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip102.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip102}, udp: true} 28 | - {name: 🇭🇰 香港 105 - 墙了个墙, server: hkvip103.qlgq.fun, port: 52249, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip103.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip103}, udp: true} 29 | - {name: 🇭🇰 香港 106 - 墙了个墙, server: hkvip103.qlgq.fun, port: 11116, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip103.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip103}, udp: true} 30 | - {name: 🇭🇰 香港 107 - 墙了个墙, server: hkvip104.qlgq.fun, port: 45136, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip104.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip104}, udp: true} 31 | - {name: 🇭🇰 香港 108 - 墙了个墙, server: hkvip104.qlgq.fun, port: 46216, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip104.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip104}, udp: true} 32 | - {name: 🇭🇰 香港 109 - 墙了个墙, server: hkvip105.qlgq.fun, port: 41116, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip105.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip105}, udp: true} 33 | - {name: 🇭🇰 香港 110 - 墙了个墙, server: hkvip105.qlgq.fun, port: 51116, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip105.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip105}, udp: true} 34 | -------------------------------------------------------------------------------- /trials_providers/HK.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: '🇭🇰 [vip①]①香港 - MG Network', server: 12.mamamajd.site, port: 23612, type: vmess, uuid: 0bab86f8-d3af-3dce-9a6a-8db2a65e1135, alterId: 2, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /, headers: {Host: 12.mamamajd.site}}, udp: true} 5 | - {name: 🇭🇰 香港 1 - 西瓜皮是真的皮, server: xgcma.dx002.top, port: 19811, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 6 | - {name: 🇭🇰 香港 2 - 西瓜皮是真的皮, server: xgcta.dx002.top, port: 19812, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 7 | - {name: 🇭🇰 广港•香港309•专线 - 飞翔吧, server: gyl.58n.net, port: 20309, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z309.hongkongnode.top, skip-cert-verify: true, udp: true} 8 | - {name: 🇭🇰 中转•香港102•高速 - 飞翔吧, server: gy.58n.net, port: 43337, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z102.hongkongnode.top, skip-cert-verify: true, udp: true} 9 | - {name: 🇭🇰 中转•香港307•高速 - 飞翔吧, server: gy.58n.net, port: 20307, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z307.hongkongnode.top, skip-cert-verify: true, udp: true} 10 | - {name: 🇭🇰 广港•香港143•高速 - 飞翔吧, server: gy.58n.net, port: 28678, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z143.hongkongnode.top, skip-cert-verify: true, udp: true} 11 | - {name: 🇭🇰 广港•香港259•高速 - 飞翔吧, server: gy.58n.net, port: 24603, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z259.hongkongnode.top, skip-cert-verify: true, udp: true} 12 | - {name: 🇭🇰 广港•香港269•高速 - 飞翔吧, server: gy.58n.net, port: 22741, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: dufu.hongkongnode.top, skip-cert-verify: true, udp: true} 13 | - {name: 🇭🇰 广港•香港278•高速 - 飞翔吧, server: gy.58n.net, port: 20278, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z278.hongkongnode.top, skip-cert-verify: true, udp: true} 14 | - {name: 🇭🇰 广港•香港279•高速 - 飞翔吧, server: gy.58n.net, port: 20279, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z279.hongkongnode.top, skip-cert-verify: true, udp: true} 15 | - {name: 🇭🇰 广港•香港294•高速 - 飞翔吧, server: gy.58n.net, port: 20294, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z294.hongkongnode.top, skip-cert-verify: true, udp: true} 16 | - {name: 【高级】🇭🇰香港 - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-hk-2024.mofaxw.top}}, udp: true} 17 | - {name: 🇭🇰 香港 101 - 墙了个墙, server: hkvip101.qlgq.fun, port: 12249, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip101}, udp: true} 18 | - {name: 🇭🇰 香港 102 - 墙了个墙, server: hkvip101.qlgq.fun, port: 22249, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip101}, udp: true} 19 | - {name: 🇭🇰 香港 103 - 墙了个墙, server: hkvip102.qlgq.fun, port: 32249, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip102.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip102}, udp: true} 20 | - {name: 🇭🇰 香港 104 - 墙了个墙, server: hkvip102.qlgq.fun, port: 42249, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip102.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip102}, udp: true} 21 | - {name: 🇭🇰 香港 105 - 墙了个墙, server: hkvip103.qlgq.fun, port: 52249, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip103.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip103}, udp: true} 22 | - {name: 🇭🇰 香港 106 - 墙了个墙, server: hkvip103.qlgq.fun, port: 11116, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip103.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip103}, udp: true} 23 | - {name: 🇭🇰 香港 107 - 墙了个墙, server: hkvip104.qlgq.fun, port: 45136, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip104.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip104}, udp: true} 24 | - {name: 🇭🇰 香港 108 - 墙了个墙, server: hkvip104.qlgq.fun, port: 46216, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip104.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip104}, udp: true} 25 | - {name: 🇭🇰 香港 109 - 墙了个墙, server: hkvip105.qlgq.fun, port: 41116, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip105.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip105}, udp: true} 26 | - {name: 🇭🇰 香港 110 - 墙了个墙, server: hkvip105.qlgq.fun, port: 51116, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip105.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip105}, udp: true} 27 | -------------------------------------------------------------------------------- /trials_providers/JP.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: 🇯🇵 日本 1 Nico Abema - 西瓜皮是真的皮, server: xgcma.dx002.top, port: 19831, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 5 | - {name: 🇯🇵 日本 2 Nico Abema - 西瓜皮是真的皮, server: xgcta.dx002.top, port: 19832, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 6 | - {name: 🇯🇵 中转•日本298•高速 - 飞翔吧, server: gy.58n.net, port: 20298, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z298.hongkongnode.top, skip-cert-verify: true, udp: true} 7 | - {name: 🇯🇵 中转•日本300•原生 - 飞翔吧, server: gy.58n.net, port: 20300, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z300.hongkongnode.top, skip-cert-verify: true, udp: true} 8 | - {name: 🇯🇵 日本•高速114•高速 - 飞翔吧, server: gy.58n.net, port: 41767, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x114.flybar.work, skip-cert-verify: true, udp: true} 9 | - {name: 🇯🇵 日本•高速115•高速 - 飞翔吧, server: gy.58n.net, port: 54178, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x115.flybar.work, skip-cert-verify: true, udp: true} 10 | - {name: 🇯🇵 日本•高速139•铂金 - 飞翔吧, server: gy.58n.net, port: 20139, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z139.hongkongnode.top, skip-cert-verify: true, udp: true} 11 | - {name: 🇯🇵 日本•高速140•铂金 - 飞翔吧, server: gy.58n.net, port: 20140, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z140.hongkongnode.top, skip-cert-verify: true, udp: true} 12 | - {name: 🇯🇵 日本•高速141•铂金 - 飞翔吧, server: gy.58n.net, port: 20141, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z141.hongkongnode.top, skip-cert-verify: true, udp: true} 13 | - {name: 🇯🇵 日本•高速142•原生 - 飞翔吧, server: gy.58n.net, port: 20142, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z142.hongkongnode.top, skip-cert-verify: true, udp: true} 14 | - {name: 🇯🇵 日本•高速59•青铜 - 飞翔吧, server: gy.58n.net, port: 20059, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x59.flybar.work, skip-cert-verify: true, udp: true} 15 | - {name: 🇯🇵 日本•高速71•高速 - 飞翔吧, server: gy.58n.net, port: 20071, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x71.flybar.work, skip-cert-verify: true, udp: true} 16 | - {name: 🇯🇵 日本•高速76•高速 - 飞翔吧, server: gy.58n.net, port: 20076, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x76.flybar.work, skip-cert-verify: true, udp: true} 17 | -------------------------------------------------------------------------------- /trials_providers/Other.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: '🇮🇳 [vip①]印度1 - MG Network', server: 11.mamamajd.site, port: 23611, type: vmess, uuid: 0bab86f8-d3af-3dce-9a6a-8db2a65e1135, alterId: 2, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /, headers: {Host: 11.mamamajd.site}}, udp: true} 5 | - {name: '🇩🇪 [vip①]德国1 - MG Network', server: 16.mamamajd.site, port: 23616, type: vmess, uuid: 0bab86f8-d3af-3dce-9a6a-8db2a65e1135, alterId: 2, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /, headers: {Host: 16.mamamajd.site}}, udp: true} 6 | - {name: '🇩🇪 [vip①]德国2 - MG Network', server: 18.mamamajd.site, port: 23618, type: vmess, uuid: 0bab86f8-d3af-3dce-9a6a-8db2a65e1135, alterId: 2, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /, headers: {Host: 18.mamamajd.site}}, udp: true} 7 | - {name: '🇬🇧 [vip①]英国1 - MG Network', server: 5.mamamajd.site, port: 23605, type: vmess, uuid: 0bab86f8-d3af-3dce-9a6a-8db2a65e1135, alterId: 2, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /, headers: {Host: 5.mamamajd.site}}, udp: true} 8 | - {name: '🇬🇧 [vip①]英国2 - MG Network', server: 13.mamamajd.site, port: 23613, type: vmess, uuid: 0bab86f8-d3af-3dce-9a6a-8db2a65e1135, alterId: 2, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /, headers: {Host: 13.mamamajd.site}}, udp: true} 9 | - {name: '🇰🇷 [vip①]韩国1 - MG Network', server: 14.mamamajd.site, port: 23614, type: vmess, uuid: 0bab86f8-d3af-3dce-9a6a-8db2a65e1135, alterId: 2, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /, headers: {Host: 14.mamamajd.site}}, udp: true} 10 | - {name: 🇮🇳 印度尼西亚 1 - 西瓜皮是真的皮, server: xgcma.dx002.top, port: 19891, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 11 | - {name: 🇮🇳 印度尼西亚 2 - 西瓜皮是真的皮, server: xgcta.dx002.top, port: 19892, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 12 | - {name: 🇻🇳 越南 1 - 西瓜皮是真的皮, server: xgcma.dx002.top, port: 19893, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 13 | - {name: 🇻🇳 越南 2 - 西瓜皮是真的皮, server: xgcta.dx002.top, port: 19894, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 14 | - {name: 🇮🇳 印度 1 - 西瓜皮是真的皮, server: xg-cm1.dx001.top, port: 19882, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 15 | - {name: '[vmess]以下为免费节点 - 云猫机场-免费公益', server: 1.1.1.1, port: 443, type: vmess, uuid: 36f71b02-04bf-4ab6-8f17-850a002b448d, alterId: 0, cipher: auto, tls: true, skip-cert-verify: true, servername: usbk.cfip.top, network: ws, ws-opts: {path: /cctv13/hd.m3u8, headers: {Host: usbk.cfip.top}}, udp: true} 16 | - {name: 🇰🇷 广港•韩国263•高速 - 飞翔吧, server: gy.58n.net, port: 45168, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z263.hongkongnode.top, skip-cert-verify: true, udp: true} 17 | - {name: 🇰🇷 广港•韩国264•高速 - 飞翔吧, server: gy.58n.net, port: 50355, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z264.hongkongnode.top, skip-cert-verify: true, udp: true} 18 | - {name: 🇬🇧 中转•英国267•高速 - 飞翔吧, server: gy.58n.net, port: 25238, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z267.hongkongnode.top, skip-cert-verify: true, udp: true} 19 | - {name: 🇬🇧 中转•英国268•高速 - 飞翔吧, server: gy.58n.net, port: 11215, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z268.hongkongnode.top, skip-cert-verify: true, udp: true} 20 | - {name: 🇩🇪 中转•德国302•GPT - 飞翔吧, server: gy.58n.net, port: 20302, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z302.hongkongnode.top, skip-cert-verify: true, udp: true} 21 | - {name: 🇩🇪 中转•德国303•GPT - 飞翔吧, server: gy.58n.net, port: 20303, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z303.hongkongnode.top, skip-cert-verify: true, udp: true} 22 | - {name: 🇩🇪 中转•德国304•GPT - 飞翔吧, server: gy.58n.net, port: 20304, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z304.hongkongnode.top, skip-cert-verify: true, udp: true} 23 | - {name: 🇩🇪 中转•德国305•GPT - 飞翔吧, server: gy.58n.net, port: 20305, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z305.hongkongnode.top, skip-cert-verify: true, udp: true} 24 | - {name: 🇩🇪 中转•德国306•GPT - 飞翔吧, server: gy.58n.net, port: 20306, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z306.hongkongnode.top, skip-cert-verify: true, udp: true} 25 | - {name: ℹ️ 网址:huaticloud.top - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-hk-2024.mofaxw.top}}, udp: true} 26 | - {name: 【高级】🇰🇷韩国1 - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-kr1-2024.mofaxw.top}}, udp: true} 27 | - {name: 【高级】🇰🇷韩国2 - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-kr2-2024.mofaxw.top}}, udp: true} 28 | - {name: 【高级】🇬🇧英国1 - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-uk1-2024.mofaxw.top}}, udp: true} 29 | - {name: 【高级】🇬🇧英国2 - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-uk2-2024.mofaxw.top}}, udp: true} 30 | - {name: 【高级】🇩🇪德国 - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-de-2024.mofaxw.top}}, udp: true} 31 | - {name: 【高级】🇮🇳印度 - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-in-2024.mofaxw.top}}, udp: true} 32 | - {name: 【高级】🇦🇺澳洲 - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-au-2024.mofaxw.top}}, udp: true} 33 | - {name: 🇩🇪 德国 法兰克福101 - 墙了个墙, server: fkvip102.qlgq.fun, port: 11789, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: fkvip102.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: fkvip102}, udp: true} 34 | - {name: 🇩🇪 德国 法兰克福102 - 墙了个墙, server: fkvip102.qlgq.fun, port: 21789, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: fkvip102.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: fkvip102}, udp: true} 35 | - {name: 🇩🇪 德国 法兰克福103 - 墙了个墙, server: fkvip102.qlgq.fun, port: 31789, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: fkvip102.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: fkvip102}, udp: true} 36 | - {name: 🇬🇧 英国 101 - 墙了个墙, server: ukvip101.qlgq.fun, port: 14568, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: ukvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: ukvip101}, udp: true} 37 | - {name: 🇬🇧 英国 102 - 墙了个墙, server: ukvip101.qlgq.fun, port: 14586, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: ukvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: ukvip101}, udp: true} 38 | - {name: 🇬🇧 英国 103 - 墙了个墙, server: ukvip101.qlgq.fun, port: 18885, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: ukvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: ukvip101}, udp: true} 39 | - {name: 🇲🇾 马来西亚 001 - 墙了个墙, server: klvip101.qlgq.fun, port: 10443, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: klvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: klvip101}, udp: true} 40 | - {name: 🇲🇾 马来西亚 002 - 墙了个墙, server: klvip101.qlgq.fun, port: 20443, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: klvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: klvip101}, udp: true} 41 | - {name: 🇲🇾 马来西亚 003 - 墙了个墙, server: klvip101.qlgq.fun, port: 30443, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: klvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: klvip101}, udp: true} 42 | -------------------------------------------------------------------------------- /trials_providers/SG.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: '🇸🇬 [vip①]②新加坡 - MG Network', server: 17.mamamajd.site, port: 23617, type: vmess, uuid: 0bab86f8-d3af-3dce-9a6a-8db2a65e1135, alterId: 2, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /, headers: {Host: 17.mamamajd.site}}, udp: true} 5 | - {name: 🇸🇬 新加坡 1 GPT/Netflix - 西瓜皮是真的皮, server: xgcma.dx002.top, port: 19841, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 6 | - {name: 🇸🇬 新加坡 2 GPT/Netflix - 西瓜皮是真的皮, server: xgcta.dx002.top, port: 19842, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 7 | - {name: 🇸🇬 中转•新加坡299•高速 - 飞翔吧, server: gy.58n.net, port: 20299, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x299.flybar.work, skip-cert-verify: true, udp: true} 8 | - {name: 🇸🇬 中转•新加坡65•青铜 - 飞翔吧, server: gy.58n.net, port: 17806, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x65.flybar.work, skip-cert-verify: true, udp: true} 9 | - {name: 🇸🇬 中转•新加坡83•高速 - 飞翔吧, server: gy.58n.net, port: 30712, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x83.flybar.work, skip-cert-verify: true, udp: true} 10 | - {name: 🇸🇬 新加坡•高速129•高速 - 飞翔吧, server: gy.58n.net, port: 20129, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x129.flybar.work, skip-cert-verify: true, udp: true} 11 | - {name: 🇸🇬 新加坡•高速130•铂金 - 飞翔吧, server: gy.58n.net, port: 20130, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x130.flybar.work, skip-cert-verify: true, udp: true} 12 | - {name: 【高级】🇸🇬新加坡 - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-sg-2024.mofaxw.top}}, udp: true} 13 | - {name: 🇸🇬 新加坡 101 - 墙了个墙, server: sgvip101.qlgq.fun, port: 11223, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: sgvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: sgvip101}, udp: true} 14 | - {name: 🇸🇬 新加坡 102 - 墙了个墙, server: sgvip101.qlgq.fun, port: 21223, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: sgvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: sgvip101}, udp: true} 15 | - {name: 🇸🇬 新加坡 103 - 墙了个墙, server: sgvip101.qlgq.fun, port: 31223, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: sgvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: sgvip101}, udp: true} 16 | - {name: 🇸🇬 新加坡 104 - 墙了个墙, server: sgvip101.qlgq.fun, port: 41223, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: sgvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: sgvip101}, udp: true} 17 | - {name: 🇸🇬 新加坡 105 - 墙了个墙, server: sgvip101.qlgq.fun, port: 51223, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: sgvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: sgvip101}, udp: true} 18 | -------------------------------------------------------------------------------- /trials_providers/TW.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: '🇹🇼 [vip①]台湾1|解锁NF|2.5倍率 - MG Network', server: 19.mamamajd.site, port: 23619, type: vmess, uuid: 0bab86f8-d3af-3dce-9a6a-8db2a65e1135, alterId: 2, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /, headers: {Host: 19.mamamajd.site}}, udp: true} 5 | - {name: 🇹🇼 台湾 1 动画疯 - 西瓜皮是真的皮, server: xgcma.dx002.top, port: 19821, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 6 | - {name: 🇹🇼 台湾 2 动画疯 - 西瓜皮是真的皮, server: xgcta.dx002.top, port: 19822, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 7 | - {name: 🇹🇼 中转•台湾100•高速 - 飞翔吧, server: gy.58n.net, port: 59021, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x100.flybar.work, skip-cert-verify: true, udp: true} 8 | - {name: 🇹🇼 中转•台湾91•原生 - 飞翔吧, server: gy.58n.net, port: 21247, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x91.flybar.work, skip-cert-verify: true, udp: true} 9 | - {name: 🇹🇼 广港•台湾261•高速 - 飞翔吧, server: gy.58n.net, port: 33323, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z261.hongkongnode.top, skip-cert-verify: true, udp: true} 10 | - {name: 🇹🇼 广港•台湾262•高速 - 飞翔吧, server: gy.58n.net, port: 36821, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z262.hongkongnode.top, skip-cert-verify: true, udp: true} 11 | -------------------------------------------------------------------------------- /trials_providers/US.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: '🇺🇸 [vip①]美国1 - MG Network', server: 15.mamamajd.site, port: 23615, type: vmess, uuid: 0bab86f8-d3af-3dce-9a6a-8db2a65e1135, alterId: 2, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /, headers: {Host: 15.mamamajd.site}}, udp: true} 5 | - {name: 🇺🇸 美国 1 - 西瓜皮是真的皮, server: xgcma.dx002.top, port: 29811, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 6 | - {name: 🇺🇸 美国 2 - 西瓜皮是真的皮, server: xgcta.dx002.top, port: 19862, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 7 | - {name: '🇺🇸 [vmess][防失联]US-New_York-纽约 - 云猫机场-免费公益', server: usbk.cfip.top, port: 8443, type: vmess, uuid: 36f71b02-04bf-4ab6-8f17-850a002b448d, alterId: 0, cipher: auto, tls: true, skip-cert-verify: true, servername: usbk.cfip.top, network: ws, ws-opts: {path: /cctv13/hd.m3u8, headers: {Host: usbk.cfip.top}}, udp: true} 8 | - {name: '🇺🇸 [vmess][防失联]US-Los_Angeles-洛杉矶-A - 云猫机场-免费公益', server: US-Los_Angeles-A.cfip.top, port: 8443, type: vmess, uuid: 36f71b02-04bf-4ab6-8f17-850a002b448d, alterId: 0, cipher: auto, tls: true, skip-cert-verify: true, servername: us-los_angeles-a.cfip.top, network: ws, ws-opts: {path: /cctv13/hd.m3u8, headers: {Host: us-los_angeles-a.cfip.top}}, udp: true} 9 | - {name: '🇺🇸 [vmess][防失联]US-Los_Angeles-洛杉矶-B - 云猫机场-免费公益', server: US-Los_Angeles-B.cfip.top, port: 8443, type: vmess, uuid: 36f71b02-04bf-4ab6-8f17-850a002b448d, alterId: 0, cipher: auto, tls: true, skip-cert-verify: true, servername: us-los_angeles-b.cfip.top, network: ws, ws-opts: {path: /cctv13/hd.m3u8, headers: {Host: us-los_angeles-b.cfip.top}}, udp: true} 10 | - {name: 🇺🇸 中转•美国295•高速 - 飞翔吧, server: gy.58n.net, port: 20295, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z295.hongkongnode.top, skip-cert-verify: true, udp: true} 11 | - {name: 🇺🇸 中转•美国296•高速 - 飞翔吧, server: gy.58n.net, port: 20296, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z296.hongkongnode.top, skip-cert-verify: true, udp: true} 12 | - {name: 🇺🇸 中转•美国308•高速 - 飞翔吧, server: gy.58n.net, port: 20308, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z308.hongkongnode.top, skip-cert-verify: true, udp: true} 13 | - {name: 🇺🇸 中转•美国40•高速 - 飞翔吧, server: gy.58n.net, port: 16895, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x40.flybar.work, skip-cert-verify: true, udp: true} 14 | - {name: 🇺🇸 中转•美国41•原生 - 飞翔吧, server: gy.58n.net, port: 21970, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: x41.flybar.work, skip-cert-verify: true, udp: true} 15 | - {name: 🇺🇸 中转•美国61•高速 - 飞翔吧, server: gy.58n.net, port: 30767, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z61.hongkongnode.top, skip-cert-verify: true, udp: true} 16 | - {name: 🇺🇸 广港•美国266•高速 - 飞翔吧, server: gy.58n.net, port: 56783, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z266.hongkongnode.top, skip-cert-verify: true, udp: true} 17 | - {name: 🇺🇸 广港•美国288•高速 - 飞翔吧, server: gy.58n.net, port: 20288, type: trojan, password: b17578b7-f295-3936-b066-79e21bc1df06, sni: z288.hongkongnode.top, skip-cert-verify: true, udp: true} 18 | - {name: 【高级】🇺🇸美国1 - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-us1-2024.mofaxw.top}}, udp: true} 19 | - {name: 【高级】🇺🇸美国2 - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-us2-2024.mofaxw.top}}, udp: true} 20 | - {name: 🇺🇸 美国 洛杉矶101 - 墙了个墙, server: lavip101.qlgq.fun, port: 11156, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: lavip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: lavip101}, udp: true} 21 | - {name: 🇺🇸 美国 洛杉矶102 - 墙了个墙, server: lavip101.qlgq.fun, port: 21156, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: lavip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: lavip101}, udp: true} 22 | - {name: 🇺🇸 美国 洛杉矶103 - 墙了个墙, server: lavip101.qlgq.fun, port: 31156, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: lavip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: lavip101}, udp: true} 23 | - {name: 🇺🇸 美国 洛杉矶104 - 墙了个墙, server: lavip102.qlgq.fun, port: 49643, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: lavip102.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: lavip102}, udp: true} 24 | - {name: 🇺🇸 美国 洛杉矶105 - 墙了个墙, server: lavip102.qlgq.fun, port: 20443, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: lavip102.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: lavip102}, udp: true} 25 | - {name: 🇺🇸 美国 洛杉矶106 - 墙了个墙, server: lavip102.qlgq.fun, port: 30443, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: lavip102.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: lavip102}, udp: true} 26 | -------------------------------------------------------------------------------- /trials_providers/cloudcat.top/All.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: '[vmess]以下为免费节点 - 云猫机场-免费公益', server: 1.1.1.1, port: 443, type: vmess, uuid: 36f71b02-04bf-4ab6-8f17-850a002b448d, alterId: 0, cipher: auto, tls: true, skip-cert-verify: true, servername: usbk.cfip.top, network: ws, ws-opts: {path: /cctv13/hd.m3u8, headers: {Host: usbk.cfip.top}}, udp: true} 5 | - {name: '🇺🇸 [vmess][防失联]US-New_York-纽约 - 云猫机场-免费公益', server: usbk.cfip.top, port: 8443, type: vmess, uuid: 36f71b02-04bf-4ab6-8f17-850a002b448d, alterId: 0, cipher: auto, tls: true, skip-cert-verify: true, servername: usbk.cfip.top, network: ws, ws-opts: {path: /cctv13/hd.m3u8, headers: {Host: usbk.cfip.top}}, udp: true} 6 | - {name: '🇺🇸 [vmess][防失联]US-Los_Angeles-洛杉矶-A - 云猫机场-免费公益', server: US-Los_Angeles-A.cfip.top, port: 8443, type: vmess, uuid: 36f71b02-04bf-4ab6-8f17-850a002b448d, alterId: 0, cipher: auto, tls: true, skip-cert-verify: true, servername: us-los_angeles-a.cfip.top, network: ws, ws-opts: {path: /cctv13/hd.m3u8, headers: {Host: us-los_angeles-a.cfip.top}}, udp: true} 7 | - {name: '🇺🇸 [vmess][防失联]US-Los_Angeles-洛杉矶-B - 云猫机场-免费公益', server: US-Los_Angeles-B.cfip.top, port: 8443, type: vmess, uuid: 36f71b02-04bf-4ab6-8f17-850a002b448d, alterId: 0, cipher: auto, tls: true, skip-cert-verify: true, servername: us-los_angeles-b.cfip.top, network: ws, ws-opts: {path: /cctv13/hd.m3u8, headers: {Host: us-los_angeles-b.cfip.top}}, udp: true} 8 | -------------------------------------------------------------------------------- /trials_providers/cloudcat.top/Other.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: '[vmess]以下为免费节点 - 云猫机场-免费公益', server: 1.1.1.1, port: 443, type: vmess, uuid: 36f71b02-04bf-4ab6-8f17-850a002b448d, alterId: 0, cipher: auto, tls: true, skip-cert-verify: true, servername: usbk.cfip.top, network: ws, ws-opts: {path: /cctv13/hd.m3u8, headers: {Host: usbk.cfip.top}}, udp: true} 5 | -------------------------------------------------------------------------------- /trials_providers/cloudcat.top/US.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: '🇺🇸 [vmess][防失联]US-New_York-纽约 - 云猫机场-免费公益', server: usbk.cfip.top, port: 8443, type: vmess, uuid: 36f71b02-04bf-4ab6-8f17-850a002b448d, alterId: 0, cipher: auto, tls: true, skip-cert-verify: true, servername: usbk.cfip.top, network: ws, ws-opts: {path: /cctv13/hd.m3u8, headers: {Host: usbk.cfip.top}}, udp: true} 5 | - {name: '🇺🇸 [vmess][防失联]US-Los_Angeles-洛杉矶-A - 云猫机场-免费公益', server: US-Los_Angeles-A.cfip.top, port: 8443, type: vmess, uuid: 36f71b02-04bf-4ab6-8f17-850a002b448d, alterId: 0, cipher: auto, tls: true, skip-cert-verify: true, servername: us-los_angeles-a.cfip.top, network: ws, ws-opts: {path: /cctv13/hd.m3u8, headers: {Host: us-los_angeles-a.cfip.top}}, udp: true} 6 | - {name: '🇺🇸 [vmess][防失联]US-Los_Angeles-洛杉矶-B - 云猫机场-免费公益', server: US-Los_Angeles-B.cfip.top, port: 8443, type: vmess, uuid: 36f71b02-04bf-4ab6-8f17-850a002b448d, alterId: 0, cipher: auto, tls: true, skip-cert-verify: true, servername: us-los_angeles-b.cfip.top, network: ws, ws-opts: {path: /cctv13/hd.m3u8, headers: {Host: us-los_angeles-b.cfip.top}}, udp: true} 7 | -------------------------------------------------------------------------------- /trials_providers/mgnet.vip/All.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: '🇭🇰 [vip①]①香港 - MG Network', server: 12.mamamajd.site, port: 23612, type: vmess, uuid: 0bab86f8-d3af-3dce-9a6a-8db2a65e1135, alterId: 2, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /, headers: {Host: 12.mamamajd.site}}, udp: true} 5 | - {name: '🇸🇬 [vip①]②新加坡 - MG Network', server: 17.mamamajd.site, port: 23617, type: vmess, uuid: 0bab86f8-d3af-3dce-9a6a-8db2a65e1135, alterId: 2, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /, headers: {Host: 17.mamamajd.site}}, udp: true} 6 | - {name: '🇮🇳 [vip①]印度1 - MG Network', server: 11.mamamajd.site, port: 23611, type: vmess, uuid: 0bab86f8-d3af-3dce-9a6a-8db2a65e1135, alterId: 2, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /, headers: {Host: 11.mamamajd.site}}, udp: true} 7 | - {name: '🇹🇼 [vip①]台湾1|解锁NF|2.5倍率 - MG Network', server: 19.mamamajd.site, port: 23619, type: vmess, uuid: 0bab86f8-d3af-3dce-9a6a-8db2a65e1135, alterId: 2, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /, headers: {Host: 19.mamamajd.site}}, udp: true} 8 | - {name: '🇩🇪 [vip①]德国1 - MG Network', server: 16.mamamajd.site, port: 23616, type: vmess, uuid: 0bab86f8-d3af-3dce-9a6a-8db2a65e1135, alterId: 2, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /, headers: {Host: 16.mamamajd.site}}, udp: true} 9 | - {name: '🇩🇪 [vip①]德国2 - MG Network', server: 18.mamamajd.site, port: 23618, type: vmess, uuid: 0bab86f8-d3af-3dce-9a6a-8db2a65e1135, alterId: 2, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /, headers: {Host: 18.mamamajd.site}}, udp: true} 10 | - {name: '🇺🇸 [vip①]美国1 - MG Network', server: 15.mamamajd.site, port: 23615, type: vmess, uuid: 0bab86f8-d3af-3dce-9a6a-8db2a65e1135, alterId: 2, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /, headers: {Host: 15.mamamajd.site}}, udp: true} 11 | - {name: '🇬🇧 [vip①]英国1 - MG Network', server: 5.mamamajd.site, port: 23605, type: vmess, uuid: 0bab86f8-d3af-3dce-9a6a-8db2a65e1135, alterId: 2, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /, headers: {Host: 5.mamamajd.site}}, udp: true} 12 | - {name: '🇬🇧 [vip①]英国2 - MG Network', server: 13.mamamajd.site, port: 23613, type: vmess, uuid: 0bab86f8-d3af-3dce-9a6a-8db2a65e1135, alterId: 2, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /, headers: {Host: 13.mamamajd.site}}, udp: true} 13 | - {name: '🇰🇷 [vip①]韩国1 - MG Network', server: 14.mamamajd.site, port: 23614, type: vmess, uuid: 0bab86f8-d3af-3dce-9a6a-8db2a65e1135, alterId: 2, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /, headers: {Host: 14.mamamajd.site}}, udp: true} 14 | -------------------------------------------------------------------------------- /trials_providers/mgnet.vip/CN.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: '🇭🇰 [vip①]①香港 - MG Network', server: 12.mamamajd.site, port: 23612, type: vmess, uuid: 0bab86f8-d3af-3dce-9a6a-8db2a65e1135, alterId: 2, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /, headers: {Host: 12.mamamajd.site}}, udp: true} 5 | - {name: '🇹🇼 [vip①]台湾1|解锁NF|2.5倍率 - MG Network', server: 19.mamamajd.site, port: 23619, type: vmess, uuid: 0bab86f8-d3af-3dce-9a6a-8db2a65e1135, alterId: 2, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /, headers: {Host: 19.mamamajd.site}}, udp: true} 6 | -------------------------------------------------------------------------------- /trials_providers/mgnet.vip/HK.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: '🇭🇰 [vip①]①香港 - MG Network', server: 12.mamamajd.site, port: 23612, type: vmess, uuid: 0bab86f8-d3af-3dce-9a6a-8db2a65e1135, alterId: 2, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /, headers: {Host: 12.mamamajd.site}}, udp: true} 5 | -------------------------------------------------------------------------------- /trials_providers/mgnet.vip/Other.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: '🇮🇳 [vip①]印度1 - MG Network', server: 11.mamamajd.site, port: 23611, type: vmess, uuid: 0bab86f8-d3af-3dce-9a6a-8db2a65e1135, alterId: 2, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /, headers: {Host: 11.mamamajd.site}}, udp: true} 5 | - {name: '🇩🇪 [vip①]德国1 - MG Network', server: 16.mamamajd.site, port: 23616, type: vmess, uuid: 0bab86f8-d3af-3dce-9a6a-8db2a65e1135, alterId: 2, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /, headers: {Host: 16.mamamajd.site}}, udp: true} 6 | - {name: '🇩🇪 [vip①]德国2 - MG Network', server: 18.mamamajd.site, port: 23618, type: vmess, uuid: 0bab86f8-d3af-3dce-9a6a-8db2a65e1135, alterId: 2, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /, headers: {Host: 18.mamamajd.site}}, udp: true} 7 | - {name: '🇬🇧 [vip①]英国1 - MG Network', server: 5.mamamajd.site, port: 23605, type: vmess, uuid: 0bab86f8-d3af-3dce-9a6a-8db2a65e1135, alterId: 2, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /, headers: {Host: 5.mamamajd.site}}, udp: true} 8 | - {name: '🇬🇧 [vip①]英国2 - MG Network', server: 13.mamamajd.site, port: 23613, type: vmess, uuid: 0bab86f8-d3af-3dce-9a6a-8db2a65e1135, alterId: 2, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /, headers: {Host: 13.mamamajd.site}}, udp: true} 9 | - {name: '🇰🇷 [vip①]韩国1 - MG Network', server: 14.mamamajd.site, port: 23614, type: vmess, uuid: 0bab86f8-d3af-3dce-9a6a-8db2a65e1135, alterId: 2, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /, headers: {Host: 14.mamamajd.site}}, udp: true} 10 | -------------------------------------------------------------------------------- /trials_providers/mgnet.vip/SG.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: '🇸🇬 [vip①]②新加坡 - MG Network', server: 17.mamamajd.site, port: 23617, type: vmess, uuid: 0bab86f8-d3af-3dce-9a6a-8db2a65e1135, alterId: 2, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /, headers: {Host: 17.mamamajd.site}}, udp: true} 5 | -------------------------------------------------------------------------------- /trials_providers/mgnet.vip/TW.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: '🇹🇼 [vip①]台湾1|解锁NF|2.5倍率 - MG Network', server: 19.mamamajd.site, port: 23619, type: vmess, uuid: 0bab86f8-d3af-3dce-9a6a-8db2a65e1135, alterId: 2, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /, headers: {Host: 19.mamamajd.site}}, udp: true} 5 | -------------------------------------------------------------------------------- /trials_providers/mgnet.vip/US.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: '🇺🇸 [vip①]美国1 - MG Network', server: 15.mamamajd.site, port: 23615, type: vmess, uuid: 0bab86f8-d3af-3dce-9a6a-8db2a65e1135, alterId: 2, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /, headers: {Host: 15.mamamajd.site}}, udp: true} 5 | -------------------------------------------------------------------------------- /trials_providers/vipxgyun.com#西瓜皮/All.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: 🇭🇰 香港 1 - 西瓜皮是真的皮, server: xgcma.dx002.top, port: 19811, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 5 | - {name: 🇭🇰 香港 2 - 西瓜皮是真的皮, server: xgcta.dx002.top, port: 19812, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 6 | - {name: 🇹🇼 台湾 1 动画疯 - 西瓜皮是真的皮, server: xgcma.dx002.top, port: 19821, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 7 | - {name: 🇹🇼 台湾 2 动画疯 - 西瓜皮是真的皮, server: xgcta.dx002.top, port: 19822, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 8 | - {name: 🇯🇵 日本 1 Nico Abema - 西瓜皮是真的皮, server: xgcma.dx002.top, port: 19831, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 9 | - {name: 🇯🇵 日本 2 Nico Abema - 西瓜皮是真的皮, server: xgcta.dx002.top, port: 19832, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 10 | - {name: 🇸🇬 新加坡 1 GPT/Netflix - 西瓜皮是真的皮, server: xgcma.dx002.top, port: 19841, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 11 | - {name: 🇸🇬 新加坡 2 GPT/Netflix - 西瓜皮是真的皮, server: xgcta.dx002.top, port: 19842, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 12 | - {name: 🇺🇸 美国 1 - 西瓜皮是真的皮, server: xgcma.dx002.top, port: 29811, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 13 | - {name: 🇺🇸 美国 2 - 西瓜皮是真的皮, server: xgcta.dx002.top, port: 19862, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 14 | - {name: 🇮🇳 印度尼西亚 1 - 西瓜皮是真的皮, server: xgcma.dx002.top, port: 19891, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 15 | - {name: 🇮🇳 印度尼西亚 2 - 西瓜皮是真的皮, server: xgcta.dx002.top, port: 19892, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 16 | - {name: 🇻🇳 越南 1 - 西瓜皮是真的皮, server: xgcma.dx002.top, port: 19893, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 17 | - {name: 🇻🇳 越南 2 - 西瓜皮是真的皮, server: xgcta.dx002.top, port: 19894, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 18 | - {name: 🇮🇳 印度 1 - 西瓜皮是真的皮, server: xg-cm1.dx001.top, port: 19882, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 19 | -------------------------------------------------------------------------------- /trials_providers/vipxgyun.com#西瓜皮/CN.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: 🇭🇰 香港 1 - 西瓜皮是真的皮, server: xgcma.dx002.top, port: 19811, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 5 | - {name: 🇭🇰 香港 2 - 西瓜皮是真的皮, server: xgcta.dx002.top, port: 19812, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 6 | - {name: 🇹🇼 台湾 1 动画疯 - 西瓜皮是真的皮, server: xgcma.dx002.top, port: 19821, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 7 | - {name: 🇹🇼 台湾 2 动画疯 - 西瓜皮是真的皮, server: xgcta.dx002.top, port: 19822, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 8 | -------------------------------------------------------------------------------- /trials_providers/vipxgyun.com#西瓜皮/HK.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: 🇭🇰 香港 1 - 西瓜皮是真的皮, server: xgcma.dx002.top, port: 19811, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 5 | - {name: 🇭🇰 香港 2 - 西瓜皮是真的皮, server: xgcta.dx002.top, port: 19812, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 6 | -------------------------------------------------------------------------------- /trials_providers/vipxgyun.com#西瓜皮/JP.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: 🇯🇵 日本 1 Nico Abema - 西瓜皮是真的皮, server: xgcma.dx002.top, port: 19831, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 5 | - {name: 🇯🇵 日本 2 Nico Abema - 西瓜皮是真的皮, server: xgcta.dx002.top, port: 19832, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 6 | -------------------------------------------------------------------------------- /trials_providers/vipxgyun.com#西瓜皮/Other.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: 🇮🇳 印度尼西亚 1 - 西瓜皮是真的皮, server: xgcma.dx002.top, port: 19891, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 5 | - {name: 🇮🇳 印度尼西亚 2 - 西瓜皮是真的皮, server: xgcta.dx002.top, port: 19892, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 6 | - {name: 🇻🇳 越南 1 - 西瓜皮是真的皮, server: xgcma.dx002.top, port: 19893, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 7 | - {name: 🇻🇳 越南 2 - 西瓜皮是真的皮, server: xgcta.dx002.top, port: 19894, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 8 | - {name: 🇮🇳 印度 1 - 西瓜皮是真的皮, server: xg-cm1.dx001.top, port: 19882, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 9 | -------------------------------------------------------------------------------- /trials_providers/vipxgyun.com#西瓜皮/SG.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: 🇸🇬 新加坡 1 GPT/Netflix - 西瓜皮是真的皮, server: xgcma.dx002.top, port: 19841, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 5 | - {name: 🇸🇬 新加坡 2 GPT/Netflix - 西瓜皮是真的皮, server: xgcta.dx002.top, port: 19842, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 6 | -------------------------------------------------------------------------------- /trials_providers/vipxgyun.com#西瓜皮/TW.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: 🇹🇼 台湾 1 动画疯 - 西瓜皮是真的皮, server: xgcma.dx002.top, port: 19821, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 5 | - {name: 🇹🇼 台湾 2 动画疯 - 西瓜皮是真的皮, server: xgcta.dx002.top, port: 19822, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 6 | -------------------------------------------------------------------------------- /trials_providers/vipxgyun.com#西瓜皮/US.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: 🇺🇸 美国 1 - 西瓜皮是真的皮, server: xgcma.dx002.top, port: 29811, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 5 | - {name: 🇺🇸 美国 2 - 西瓜皮是真的皮, server: xgcta.dx002.top, port: 19862, type: vmess, uuid: 075c16e6-67cb-3599-aa5a-025b478db156, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, udp: true} 6 | -------------------------------------------------------------------------------- /trials_providers/www.qlgq.top/All.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: 🇩🇪 德国 法兰克福101 - 墙了个墙, server: fkvip102.qlgq.fun, port: 11789, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: fkvip102.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: fkvip102}, udp: true} 5 | - {name: 🇩🇪 德国 法兰克福102 - 墙了个墙, server: fkvip102.qlgq.fun, port: 21789, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: fkvip102.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: fkvip102}, udp: true} 6 | - {name: 🇩🇪 德国 法兰克福103 - 墙了个墙, server: fkvip102.qlgq.fun, port: 31789, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: fkvip102.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: fkvip102}, udp: true} 7 | - {name: 🇸🇬 新加坡 101 - 墙了个墙, server: sgvip101.qlgq.fun, port: 11223, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: sgvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: sgvip101}, udp: true} 8 | - {name: 🇸🇬 新加坡 102 - 墙了个墙, server: sgvip101.qlgq.fun, port: 21223, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: sgvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: sgvip101}, udp: true} 9 | - {name: 🇸🇬 新加坡 103 - 墙了个墙, server: sgvip101.qlgq.fun, port: 31223, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: sgvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: sgvip101}, udp: true} 10 | - {name: 🇸🇬 新加坡 104 - 墙了个墙, server: sgvip101.qlgq.fun, port: 41223, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: sgvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: sgvip101}, udp: true} 11 | - {name: 🇸🇬 新加坡 105 - 墙了个墙, server: sgvip101.qlgq.fun, port: 51223, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: sgvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: sgvip101}, udp: true} 12 | - {name: 🇺🇸 美国 洛杉矶101 - 墙了个墙, server: lavip101.qlgq.fun, port: 11156, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: lavip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: lavip101}, udp: true} 13 | - {name: 🇺🇸 美国 洛杉矶102 - 墙了个墙, server: lavip101.qlgq.fun, port: 21156, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: lavip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: lavip101}, udp: true} 14 | - {name: 🇺🇸 美国 洛杉矶103 - 墙了个墙, server: lavip101.qlgq.fun, port: 31156, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: lavip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: lavip101}, udp: true} 15 | - {name: 🇺🇸 美国 洛杉矶104 - 墙了个墙, server: lavip102.qlgq.fun, port: 49643, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: lavip102.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: lavip102}, udp: true} 16 | - {name: 🇺🇸 美国 洛杉矶105 - 墙了个墙, server: lavip102.qlgq.fun, port: 20443, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: lavip102.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: lavip102}, udp: true} 17 | - {name: 🇺🇸 美国 洛杉矶106 - 墙了个墙, server: lavip102.qlgq.fun, port: 30443, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: lavip102.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: lavip102}, udp: true} 18 | - {name: 🇬🇧 英国 101 - 墙了个墙, server: ukvip101.qlgq.fun, port: 14568, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: ukvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: ukvip101}, udp: true} 19 | - {name: 🇬🇧 英国 102 - 墙了个墙, server: ukvip101.qlgq.fun, port: 14586, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: ukvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: ukvip101}, udp: true} 20 | - {name: 🇬🇧 英国 103 - 墙了个墙, server: ukvip101.qlgq.fun, port: 18885, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: ukvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: ukvip101}, udp: true} 21 | - {name: 🇭🇰 香港 101 - 墙了个墙, server: hkvip101.qlgq.fun, port: 12249, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip101}, udp: true} 22 | - {name: 🇭🇰 香港 102 - 墙了个墙, server: hkvip101.qlgq.fun, port: 22249, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip101}, udp: true} 23 | - {name: 🇭🇰 香港 103 - 墙了个墙, server: hkvip102.qlgq.fun, port: 32249, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip102.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip102}, udp: true} 24 | - {name: 🇭🇰 香港 104 - 墙了个墙, server: hkvip102.qlgq.fun, port: 42249, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip102.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip102}, udp: true} 25 | - {name: 🇭🇰 香港 105 - 墙了个墙, server: hkvip103.qlgq.fun, port: 52249, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip103.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip103}, udp: true} 26 | - {name: 🇭🇰 香港 106 - 墙了个墙, server: hkvip103.qlgq.fun, port: 11116, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip103.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip103}, udp: true} 27 | - {name: 🇭🇰 香港 107 - 墙了个墙, server: hkvip104.qlgq.fun, port: 45136, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip104.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip104}, udp: true} 28 | - {name: 🇭🇰 香港 108 - 墙了个墙, server: hkvip104.qlgq.fun, port: 46216, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip104.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip104}, udp: true} 29 | - {name: 🇭🇰 香港 109 - 墙了个墙, server: hkvip105.qlgq.fun, port: 41116, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip105.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip105}, udp: true} 30 | - {name: 🇭🇰 香港 110 - 墙了个墙, server: hkvip105.qlgq.fun, port: 51116, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip105.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip105}, udp: true} 31 | - {name: 🇲🇾 马来西亚 001 - 墙了个墙, server: klvip101.qlgq.fun, port: 10443, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: klvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: klvip101}, udp: true} 32 | - {name: 🇲🇾 马来西亚 002 - 墙了个墙, server: klvip101.qlgq.fun, port: 20443, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: klvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: klvip101}, udp: true} 33 | - {name: 🇲🇾 马来西亚 003 - 墙了个墙, server: klvip101.qlgq.fun, port: 30443, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: klvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: klvip101}, udp: true} 34 | -------------------------------------------------------------------------------- /trials_providers/www.qlgq.top/CN.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: 🇭🇰 香港 101 - 墙了个墙, server: hkvip101.qlgq.fun, port: 12249, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip101}, udp: true} 5 | - {name: 🇭🇰 香港 102 - 墙了个墙, server: hkvip101.qlgq.fun, port: 22249, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip101}, udp: true} 6 | - {name: 🇭🇰 香港 103 - 墙了个墙, server: hkvip102.qlgq.fun, port: 32249, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip102.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip102}, udp: true} 7 | - {name: 🇭🇰 香港 104 - 墙了个墙, server: hkvip102.qlgq.fun, port: 42249, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip102.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip102}, udp: true} 8 | - {name: 🇭🇰 香港 105 - 墙了个墙, server: hkvip103.qlgq.fun, port: 52249, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip103.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip103}, udp: true} 9 | - {name: 🇭🇰 香港 106 - 墙了个墙, server: hkvip103.qlgq.fun, port: 11116, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip103.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip103}, udp: true} 10 | - {name: 🇭🇰 香港 107 - 墙了个墙, server: hkvip104.qlgq.fun, port: 45136, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip104.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip104}, udp: true} 11 | - {name: 🇭🇰 香港 108 - 墙了个墙, server: hkvip104.qlgq.fun, port: 46216, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip104.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip104}, udp: true} 12 | - {name: 🇭🇰 香港 109 - 墙了个墙, server: hkvip105.qlgq.fun, port: 41116, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip105.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip105}, udp: true} 13 | - {name: 🇭🇰 香港 110 - 墙了个墙, server: hkvip105.qlgq.fun, port: 51116, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip105.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip105}, udp: true} 14 | -------------------------------------------------------------------------------- /trials_providers/www.qlgq.top/HK.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: 🇭🇰 香港 101 - 墙了个墙, server: hkvip101.qlgq.fun, port: 12249, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip101}, udp: true} 5 | - {name: 🇭🇰 香港 102 - 墙了个墙, server: hkvip101.qlgq.fun, port: 22249, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip101}, udp: true} 6 | - {name: 🇭🇰 香港 103 - 墙了个墙, server: hkvip102.qlgq.fun, port: 32249, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip102.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip102}, udp: true} 7 | - {name: 🇭🇰 香港 104 - 墙了个墙, server: hkvip102.qlgq.fun, port: 42249, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip102.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip102}, udp: true} 8 | - {name: 🇭🇰 香港 105 - 墙了个墙, server: hkvip103.qlgq.fun, port: 52249, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip103.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip103}, udp: true} 9 | - {name: 🇭🇰 香港 106 - 墙了个墙, server: hkvip103.qlgq.fun, port: 11116, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip103.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip103}, udp: true} 10 | - {name: 🇭🇰 香港 107 - 墙了个墙, server: hkvip104.qlgq.fun, port: 45136, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip104.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip104}, udp: true} 11 | - {name: 🇭🇰 香港 108 - 墙了个墙, server: hkvip104.qlgq.fun, port: 46216, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip104.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip104}, udp: true} 12 | - {name: 🇭🇰 香港 109 - 墙了个墙, server: hkvip105.qlgq.fun, port: 41116, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip105.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip105}, udp: true} 13 | - {name: 🇭🇰 香港 110 - 墙了个墙, server: hkvip105.qlgq.fun, port: 51116, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: hkvip105.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: hkvip105}, udp: true} 14 | -------------------------------------------------------------------------------- /trials_providers/www.qlgq.top/Other.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: 🇩🇪 德国 法兰克福101 - 墙了个墙, server: fkvip102.qlgq.fun, port: 11789, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: fkvip102.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: fkvip102}, udp: true} 5 | - {name: 🇩🇪 德国 法兰克福102 - 墙了个墙, server: fkvip102.qlgq.fun, port: 21789, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: fkvip102.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: fkvip102}, udp: true} 6 | - {name: 🇩🇪 德国 法兰克福103 - 墙了个墙, server: fkvip102.qlgq.fun, port: 31789, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: fkvip102.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: fkvip102}, udp: true} 7 | - {name: 🇬🇧 英国 101 - 墙了个墙, server: ukvip101.qlgq.fun, port: 14568, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: ukvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: ukvip101}, udp: true} 8 | - {name: 🇬🇧 英国 102 - 墙了个墙, server: ukvip101.qlgq.fun, port: 14586, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: ukvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: ukvip101}, udp: true} 9 | - {name: 🇬🇧 英国 103 - 墙了个墙, server: ukvip101.qlgq.fun, port: 18885, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: ukvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: ukvip101}, udp: true} 10 | - {name: 🇲🇾 马来西亚 001 - 墙了个墙, server: klvip101.qlgq.fun, port: 10443, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: klvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: klvip101}, udp: true} 11 | - {name: 🇲🇾 马来西亚 002 - 墙了个墙, server: klvip101.qlgq.fun, port: 20443, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: klvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: klvip101}, udp: true} 12 | - {name: 🇲🇾 马来西亚 003 - 墙了个墙, server: klvip101.qlgq.fun, port: 30443, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: klvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: klvip101}, udp: true} 13 | -------------------------------------------------------------------------------- /trials_providers/www.qlgq.top/SG.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: 🇸🇬 新加坡 101 - 墙了个墙, server: sgvip101.qlgq.fun, port: 11223, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: sgvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: sgvip101}, udp: true} 5 | - {name: 🇸🇬 新加坡 102 - 墙了个墙, server: sgvip101.qlgq.fun, port: 21223, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: sgvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: sgvip101}, udp: true} 6 | - {name: 🇸🇬 新加坡 103 - 墙了个墙, server: sgvip101.qlgq.fun, port: 31223, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: sgvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: sgvip101}, udp: true} 7 | - {name: 🇸🇬 新加坡 104 - 墙了个墙, server: sgvip101.qlgq.fun, port: 41223, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: sgvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: sgvip101}, udp: true} 8 | - {name: 🇸🇬 新加坡 105 - 墙了个墙, server: sgvip101.qlgq.fun, port: 51223, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: sgvip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: sgvip101}, udp: true} 9 | -------------------------------------------------------------------------------- /trials_providers/www.qlgq.top/US.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: 🇺🇸 美国 洛杉矶101 - 墙了个墙, server: lavip101.qlgq.fun, port: 11156, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: lavip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: lavip101}, udp: true} 5 | - {name: 🇺🇸 美国 洛杉矶102 - 墙了个墙, server: lavip101.qlgq.fun, port: 21156, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: lavip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: lavip101}, udp: true} 6 | - {name: 🇺🇸 美国 洛杉矶103 - 墙了个墙, server: lavip101.qlgq.fun, port: 31156, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: lavip101.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: lavip101}, udp: true} 7 | - {name: 🇺🇸 美国 洛杉矶104 - 墙了个墙, server: lavip102.qlgq.fun, port: 49643, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: lavip102.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: lavip102}, udp: true} 8 | - {name: 🇺🇸 美国 洛杉矶105 - 墙了个墙, server: lavip102.qlgq.fun, port: 20443, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: lavip102.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: lavip102}, udp: true} 9 | - {name: 🇺🇸 美国 洛杉矶106 - 墙了个墙, server: lavip102.qlgq.fun, port: 30443, type: trojan, password: 3c668456-cc9c-3392-9014-0f73e5a09bb3, sni: lavip102.qlgq.fun, skip-cert-verify: true, network: grpc, grpc-opts: {grpc-service-name: lavip102}, udp: true} 10 | -------------------------------------------------------------------------------- /trials_providers/yiyuanvpn.top/All.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: ℹ️ 网址:huaticloud.top - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-hk-2024.mofaxw.top}}, udp: true} 5 | - {name: 【高级】🇰🇷韩国1 - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-kr1-2024.mofaxw.top}}, udp: true} 6 | - {name: 【高级】🇰🇷韩国2 - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-kr2-2024.mofaxw.top}}, udp: true} 7 | - {name: 【高级】🇺🇸美国1 - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-us1-2024.mofaxw.top}}, udp: true} 8 | - {name: 【高级】🇺🇸美国2 - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-us2-2024.mofaxw.top}}, udp: true} 9 | - {name: 【高级】🇬🇧英国1 - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-uk1-2024.mofaxw.top}}, udp: true} 10 | - {name: 【高级】🇬🇧英国2 - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-uk2-2024.mofaxw.top}}, udp: true} 11 | - {name: 【高级】🇩🇪德国 - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-de-2024.mofaxw.top}}, udp: true} 12 | - {name: 【高级】🇮🇳印度 - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-in-2024.mofaxw.top}}, udp: true} 13 | - {name: 【高级】🇦🇺澳洲 - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-au-2024.mofaxw.top}}, udp: true} 14 | - {name: 【高级】🇸🇬新加坡 - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-sg-2024.mofaxw.top}}, udp: true} 15 | - {name: 【高级】🇭🇰香港 - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-hk-2024.mofaxw.top}}, udp: true} 16 | -------------------------------------------------------------------------------- /trials_providers/yiyuanvpn.top/CN.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: 【高级】🇭🇰香港 - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-hk-2024.mofaxw.top}}, udp: true} 5 | -------------------------------------------------------------------------------- /trials_providers/yiyuanvpn.top/HK.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: 【高级】🇭🇰香港 - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-hk-2024.mofaxw.top}}, udp: true} 5 | -------------------------------------------------------------------------------- /trials_providers/yiyuanvpn.top/Other.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: ℹ️ 网址:huaticloud.top - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-hk-2024.mofaxw.top}}, udp: true} 5 | - {name: 【高级】🇰🇷韩国1 - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-kr1-2024.mofaxw.top}}, udp: true} 6 | - {name: 【高级】🇰🇷韩国2 - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-kr2-2024.mofaxw.top}}, udp: true} 7 | - {name: 【高级】🇬🇧英国1 - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-uk1-2024.mofaxw.top}}, udp: true} 8 | - {name: 【高级】🇬🇧英国2 - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-uk2-2024.mofaxw.top}}, udp: true} 9 | - {name: 【高级】🇩🇪德国 - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-de-2024.mofaxw.top}}, udp: true} 10 | - {name: 【高级】🇮🇳印度 - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-in-2024.mofaxw.top}}, udp: true} 11 | - {name: 【高级】🇦🇺澳洲 - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-au-2024.mofaxw.top}}, udp: true} 12 | -------------------------------------------------------------------------------- /trials_providers/yiyuanvpn.top/SG.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: 【高级】🇸🇬新加坡 - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-sg-2024.mofaxw.top}}, udp: true} 5 | -------------------------------------------------------------------------------- /trials_providers/yiyuanvpn.top/US.yaml: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | --- 3 | proxies: 4 | - {name: 【高级】🇺🇸美国1 - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-us1-2024.mofaxw.top}}, udp: true} 5 | - {name: 【高级】🇺🇸美国2 - 滑梯云, server: htsub-2024.899696998.xyz, port: 20011, type: vmess, uuid: eb9b6d07-8644-437f-a1c5-dbed378d38ed, alterId: 0, cipher: auto, tls: false, skip-cert-verify: true, network: ws, ws-opts: {path: /2024, headers: {Host: yyyt-us2-2024.mofaxw.top}}, udp: true} 6 | -------------------------------------------------------------------------------- /utils.py: -------------------------------------------------------------------------------- 1 | import json 2 | import os 3 | import re 4 | from base64 import b64decode, b64encode, urlsafe_b64decode, urlsafe_b64encode 5 | from collections import defaultdict, deque 6 | from concurrent.futures import ThreadPoolExecutor 7 | from datetime import datetime, timedelta, timezone 8 | from functools import reduce, wraps 9 | from inspect import Parameter, signature 10 | from ipaddress import ip_network 11 | from itertools import chain 12 | from math import log 13 | from operator import getitem 14 | from random import choices, randint 15 | from string import ascii_lowercase 16 | from threading import RLock 17 | from typing import AnyStr, Callable, Hashable, Iterable, Iterator, TypeVar 18 | from urllib.parse import (parse_qs, parse_qsl, quote, unquote_plus, urlencode, 19 | urlsplit, urlunsplit) 20 | 21 | T = TypeVar('T') 22 | 23 | re_non_empty_base64 = re.compile(rb'^(?=[\da-z+/]+={0,2}$)(?:.{4})+$', re.I) 24 | re_cfg_item_or_k = re.compile(r'^\s*((?:(?: {2,})?[^#;\s](?: ?\S)*)+)', re.M) 25 | re_cfg_item_v_sep = re.compile(r' {2,}') 26 | re_cfg_k = re.compile(r'\[(.+?)\]') 27 | re_cfg_illegal = re.compile(r'[\r\n ]+') 28 | re_sort_key = re.compile(r'(\D+)(\d+)') 29 | re_time = re.compile(r'(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(?:\.\d+)?)([-+]\d{2}:\d{2})?') 30 | re_traffic = re.compile(r'([-+]?\d+(?:\.\d+)?)\s*([BKMGTPE])?', re.I) 31 | 32 | 33 | # 文件读写删 34 | 35 | 36 | def read(path, b=False, reader=None): 37 | if os.path.isfile(path): 38 | with (open(path, 'rb') if b or reader else open(path, 'r', encoding='utf8')) as f: 39 | return reader(f) if reader else f.read() 40 | return None if reader else b'' if b else '' 41 | 42 | 43 | def write(path, first, *rest): 44 | os.makedirs(os.path.normpath(os.path.dirname(path)), exist_ok=True) 45 | if hasattr(first, '__call__'): 46 | with open(path, 'wb') as f: 47 | first(f) 48 | else: 49 | with (open(path, 'w', newline='', encoding='utf8') if isinstance(first, str) else open(path, 'wb')) as f: 50 | f.write(first) 51 | f.writelines(rest) 52 | 53 | 54 | def remove(path): 55 | if os.path.isfile(path): 56 | os.remove(path) 57 | elif os.path.isdir(path): 58 | os.rmdir(path) 59 | 60 | 61 | def clear_files(dir_path): 62 | for path in list_file_paths(dir_path): 63 | os.remove(path) 64 | 65 | 66 | def list_paths(dir_path): 67 | if os.path.exists(dir_path): 68 | return (os.path.join(dir_path, name) for name in os.listdir(dir_path)) 69 | else: 70 | return [] 71 | 72 | 73 | def list_file_paths(dir_path): 74 | return filter(os.path.isfile, list_paths(dir_path)) 75 | 76 | 77 | def list_folder_paths(dir_path): 78 | return filter(os.path.isdir, list_paths(dir_path)) 79 | 80 | 81 | # 自定义配置文件读写 82 | 83 | 84 | def read_cfg(path=None, text=None, dict_items=False): 85 | cfg = defaultdict((lambda: defaultdict(list)) if dict_items else list) 86 | g = cfg['default'] 87 | for m in re_cfg_item_or_k.finditer(text or read(path)): 88 | vs = re_cfg_item_v_sep.split(m[1]) 89 | m = re_cfg_k.fullmatch(vs[0]) 90 | if m: 91 | g = cfg[m[1]] 92 | elif dict_items: 93 | g[vs[0]] = vs[1:] 94 | else: 95 | g.append(vs) 96 | return cfg 97 | 98 | 99 | def write_cfg(path, cfg): 100 | def lines(items): 101 | if isinstance(items, list): 102 | for item in items: 103 | line = ' '.join(map(_remove_illegal, item)) if isinstance(item, list) else _remove_illegal(item) 104 | if line: 105 | yield line 106 | elif isinstance(items, dict): 107 | for k, v in _sort_items(items.items()): 108 | line = ' '.join(chain([_remove_illegal(k)], map(_remove_illegal, v) 109 | if isinstance(v, list) else [_remove_illegal(v)])) 110 | if line: 111 | yield line 112 | elif items is not None and item != '': 113 | yield _remove_illegal(items) 114 | 115 | gs = [] 116 | if isinstance(cfg, dict): 117 | default = cfg.get('default') 118 | if default: 119 | gs.append('\n'.join(lines(default))) 120 | for k, items in cfg.items(): 121 | if k == 'default': 122 | continue 123 | gs.append('\n'.join(chain([f'[{k}]'], lines(items)))) 124 | else: 125 | gs.append('\n'.join(lines(cfg))) 126 | write(path, '\n\n'.join(gs), '\n') 127 | 128 | 129 | def _remove_illegal(v): 130 | return re_cfg_illegal.sub(' ', str(v).strip()) 131 | 132 | 133 | def _sort_items(items): 134 | return sorted(items, key=lambda kv: [(s, int(n)) for s, n in re_sort_key.findall(f'a{kv[0]}0')]) 135 | 136 | 137 | ################ 138 | 139 | 140 | _NOT_FOUND = object() 141 | 142 | 143 | def cached(func): 144 | """双重检查锁装饰器, 支持参数个数为 0 或 1 个 (如 cls 或 self) 的函数""" 145 | params = signature(func).parameters 146 | if len(params) > 1: 147 | raise TypeError('参数个数超过 1 个') 148 | if params and next(iter(params.values())).kind in (Parameter.VAR_KEYWORD, Parameter.VAR_POSITIONAL): 149 | raise TypeError('不支持可变参数') 150 | 151 | locks = defaultdict(RLock) 152 | results = {} 153 | 154 | @wraps(func) 155 | def wrapper(*args, **kwargs): 156 | k = _make_key(*args, **kwargs) 157 | result = results.get(k, _NOT_FOUND) 158 | if result is _NOT_FOUND: 159 | try: 160 | with locks[k]: 161 | result = results.get(k, _NOT_FOUND) 162 | if result is _NOT_FOUND: 163 | result = results[k] = func(*args, **kwargs) 164 | finally: 165 | locks.pop(k, None) 166 | return result 167 | 168 | return wrapper 169 | 170 | 171 | def _make_key(*args, **kwargs): 172 | if args: 173 | k = args[0] 174 | elif kwargs: 175 | k = next(iter(kwargs.values())) 176 | else: 177 | return _NOT_FOUND 178 | return k if isinstance(k, Hashable) else id(k) 179 | 180 | 181 | def rand_id(): 182 | return f'{"".join(choices(ascii_lowercase, k=randint(7, 9)))}{randint(0, 999)}' 183 | 184 | 185 | def str2timestamp(s): 186 | if not isinstance(s, str): 187 | return float(s) 188 | if not s: 189 | return 0 190 | m = re_time.fullmatch(s) 191 | if not m: 192 | return float(s) 193 | try: 194 | return datetime.fromisoformat(m[1] + (m[2] or '+08:00')).timestamp() 195 | except ValueError: 196 | return float(s) 197 | 198 | 199 | def timestamp2str(t: float): 200 | return str(datetime.fromtimestamp(t, timezone(timedelta(hours=8)))) 201 | 202 | 203 | def to_zero(t: float): 204 | return (t - 16 * 3600) // (24 * 3600) * (24 * 3600) + 16 * 3600 205 | 206 | 207 | def get_name(url: AnyStr) -> str: 208 | if isinstance(url, bytes): 209 | url = url.decode() 210 | split = urlsplit(url) 211 | match split.scheme: 212 | case 'vmess': 213 | return json.loads(b64decode(url[8:]).decode())['ps'] 214 | case 'ssr': 215 | for k, v in parse_qsl(urlsplit('ssr://' + _decode_ssr(url[6:])).query): 216 | if k == 'remarks': 217 | return _decode_ssr(v) 218 | case _: 219 | return unquote_plus(split.fragment) 220 | return '' 221 | 222 | 223 | def rename(url: AnyStr, name: str) -> AnyStr: 224 | is_bytes = isinstance(url, bytes) 225 | if is_bytes: 226 | url = url.decode() 227 | split = urlsplit(url) 228 | match split.scheme: 229 | case 'vmess': 230 | j = json.loads(b64decode(url[8:]).decode()) 231 | j['ps'] = name 232 | url = url[:8] + b64encode(json.dumps(j, ensure_ascii=False, separators=(',', ':')).encode()).decode() 233 | case 'ssr': 234 | split = urlsplit(url[:6] + _decode_ssr(url[6:])) 235 | q = parse_qs(split.query) 236 | q['remarks'] = [_encode_ssr(name)] 237 | split = list(split) 238 | split[3] = urlencode(q, doseq=True, quote_via=quote) 239 | url = urlunsplit(split) 240 | url = url[:6] + _encode_ssr(url[6:]) 241 | case _: 242 | split = list(split) 243 | split[-1] = quote(name) 244 | url = urlunsplit(split) 245 | return url.encode() if is_bytes else url 246 | 247 | 248 | def _decode_ssr(en: str): 249 | return urlsafe_b64decode(en + '=' * (3 - (len(en) - 1) % 4)).decode() 250 | 251 | 252 | def _encode_ssr(de: str): 253 | return urlsafe_b64encode(de.encode()).decode().rstrip('=') 254 | 255 | 256 | def size2str(size): 257 | size = float(size) 258 | n = int(size and log(abs(size), 1024)) 259 | return f'{size / 1024 ** n:.4g}{"BKMGTPE"[n]}' 260 | 261 | 262 | def str2size(s): 263 | m = re_traffic.match(str(s)) 264 | if not m: 265 | return 0 266 | return float(m[1]) * 1024 ** next((i for i, u in enumerate('BKMGTPE') if u == m[2]), 0) 267 | 268 | 269 | def parallel_map(fn: Callable[..., T], *iterables: Iterable) -> Iterator[T]: 270 | lists = [[*it] for it in iterables] 271 | n = min(len(li) for li in lists) 272 | if n: 273 | with ThreadPoolExecutor(n) as executor: 274 | yield from executor.map(fn, *lists) 275 | 276 | 277 | def get(data, *keys, default=None): 278 | try: 279 | return reduce(getitem, keys, data) 280 | except (KeyError, IndexError, TypeError): 281 | return default 282 | 283 | 284 | def g0(cfg: dict, k, default=None): 285 | item = cfg.get(k) 286 | if item is None: 287 | return default 288 | if not isinstance(item, list): 289 | return item 290 | return get(item, 0, default=default) 291 | 292 | 293 | def keep(d: dict, *ks, getitem=getitem): 294 | return {k: getitem(d, k) for k in ks if k in d} 295 | 296 | 297 | ################ 298 | 299 | 300 | class IP_CIDR_SegmentTree: 301 | def __init__(self): 302 | self.__root = IP_CIDR_SegmentTree._Segment() 303 | self.__version = -1 304 | 305 | def add(self, address: str) -> bool: 306 | network = ip_network(address, False) 307 | if network.version != self.__version: 308 | if self.__version != -1: 309 | raise TypeError(f"{address} 的版本 (IPv{network.version}) 与内部的 (IPv{self.__version}) 不一致") 310 | self.__version = network.version 311 | prefix = int(network.network_address) >> (network.max_prefixlen - network.prefixlen) 312 | return self.__root.add(prefix, network.prefixlen) 313 | 314 | class _Segment: 315 | def __init__(self): 316 | self.cover = False 317 | self.children: list[IP_CIDR_SegmentTree._Segment | None] = [None, None] 318 | 319 | def __cover(self): 320 | self.cover = True 321 | del self.children 322 | 323 | def add(self, prefix: int, i: int) -> bool: 324 | if self.cover: 325 | return False 326 | if i == 0: 327 | self.__cover() 328 | return True 329 | i -= 1 330 | b = (prefix >> i) & 1 331 | child = self.children[b] 332 | if not child: 333 | child = self.children[b] = IP_CIDR_SegmentTree._Segment() 334 | if not child.add(prefix, i): 335 | return False 336 | if child.cover: 337 | child = self.children[b ^ 1] 338 | if child and child.cover: 339 | self.__cover() 340 | return True 341 | 342 | 343 | class DOMAIN_SUFFIX_Tree: 344 | FLAG_DOMAIN = 1 345 | FLAG_DOMAIN_SUFFIX = 2 346 | 347 | def __init__(self): 348 | self.__root = DOMAIN_SUFFIX_Tree._Node() 349 | 350 | def add(self, domain: str, suffix=True) -> bool: 351 | flag = self.FLAG_DOMAIN_SUFFIX if suffix else self.FLAG_DOMAIN 352 | node = self.__root 353 | for part in reversed(domain.split('.')): 354 | node = node.next[part] 355 | if node.flag == self.FLAG_DOMAIN_SUFFIX: 356 | return False 357 | if flag > node.flag: 358 | node.flag = flag 359 | if flag == self.FLAG_DOMAIN_SUFFIX: 360 | del node.next 361 | return True 362 | return False 363 | 364 | class _Node: 365 | def __init__(self): 366 | self.flag = 0 367 | self.next = defaultdict(DOMAIN_SUFFIX_Tree._Node) 368 | 369 | 370 | class AC: 371 | def __init__(self): 372 | self.__root = AC._Node() 373 | self.__size = 0 374 | 375 | def __len__(self): 376 | return self.__size 377 | 378 | def __next(self, node: 'AC._Node', c) -> 'AC._Node': 379 | edge = node.edges.get(c) 380 | return edge.v if edge else self.__root 381 | 382 | def build(self): 383 | q: deque[AC._Node] = deque() 384 | for edge in self.__root.edges.values(): 385 | edge.v.fail = self.__root 386 | q.append(edge.v) 387 | while q: 388 | node = q.popleft() 389 | for c, edge in node.edges.items(): 390 | if not edge.failed: 391 | edge.v.fail = self.__next(node.fail, c) 392 | q.append(edge.v) 393 | for c, f_edge in node.fail.edges.items(): 394 | edge = node.edges.get(c) 395 | if edge: 396 | if edge.failed: 397 | edge.v = f_edge.v 398 | else: 399 | node.edges[c] = AC._Edge(f_edge.v) 400 | 401 | def add(self, word: str): 402 | node = self.__root 403 | for c in word: 404 | edge = node.edges[c] 405 | if edge.failed: 406 | edge.failed = False 407 | edge.v = AC._Node() 408 | node = edge.v 409 | node.end = True 410 | node.edges.clear() 411 | self.__size += 1 412 | 413 | def match(self, s: str) -> bool: 414 | node = self.__root 415 | for c in s: 416 | if node.end: 417 | return True 418 | node = self.__next(node, c) 419 | return node.end 420 | 421 | def _eat(self, o: 'AC'): 422 | self.__root._eat(o.__root) 423 | self.__size += o.__size 424 | 425 | class _Node: 426 | def __init__(self): 427 | self.end = False 428 | self.fail: AC._Node | None = None 429 | self.edges = defaultdict(AC._Edge) 430 | 431 | def _eat(self, o: 'AC._Node'): 432 | for c, o_edge in o.edges.items(): 433 | if not o_edge.failed: 434 | edge = self.edges.get(c) 435 | if edge and not edge.failed: 436 | edge.v._eat(o_edge.v) 437 | else: 438 | self.edges[c] = o_edge 439 | 440 | class _Edge: 441 | def __init__(self, fail=None): 442 | if fail: 443 | self.failed = True 444 | self.v = fail 445 | else: 446 | self.failed = False 447 | self.v = AC._Node() 448 | 449 | 450 | class AC_Online: 451 | def __init__(self): 452 | self.__acs: list[AC] = [] 453 | 454 | def add(self, word: str): 455 | acs = self.__acs 456 | i = len(acs) 457 | if i == 0 or len(acs[-1]) > 1: 458 | ac = AC() 459 | ac.add(word) 460 | ac.build() 461 | acs.append(ac) 462 | else: 463 | i -= 2 464 | b = 2 465 | while i >= 0 and len(acs[i]) == b: 466 | i -= 1 467 | b <<= 1 468 | i += 1 469 | ac = acs[i] 470 | for j in range(i + 1, len(acs)): 471 | ac._eat(acs[j]) 472 | del acs[i + 1:] 473 | ac.add(word) 474 | ac.build() 475 | 476 | def match(self, s: str) -> bool: 477 | return any(ac.match(s) for ac in self.__acs) 478 | --------------------------------------------------------------------------------