From 14c5e2d6b701d8cdaff74da44a793121bf4416e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=92=9F=E5=AD=9F=E6=8D=B7?= <718335940@qq.com> Date: Sun, 12 Feb 2023 22:51:06 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9F=AD=E9=93=BE=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ACL4SSR_Online_Full_Mannix.ini | 3 ++- README.md | 4 +++- update_url.py | 36 +++++++++++++++++++++++++--------- 3 files changed, 32 insertions(+), 11 deletions(-) diff --git a/ACL4SSR_Online_Full_Mannix.ini b/ACL4SSR_Online_Full_Mannix.ini index 41bffdc..6f0a3e2 100644 --- a/ACL4SSR_Online_Full_Mannix.ini +++ b/ACL4SSR_Online_Full_Mannix.ini @@ -4,7 +4,8 @@ ;V2 ;自带旗帜 emoji 添加逻辑,原名不包含旗帜 emoji 才添加,原名已包含旗帜 emoji 则不添加 ;需去除订阅转换链接中的参数 emoji=true/false 才能生效,参考例子: -;https://api.v1.mk/sub?target=clash&udp=true&scv=true&config=https://goo.gs/config&url={原订阅链接} +;https://api.dler.io/sub?target=clash&udp=true&scv=true&config=https://goo.gs/config&url={原订阅链接} +;短链:https://goo.gs/dler&url={原订阅链接} ;--- diff --git a/README.md b/README.md index c407f60..f8739da 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,9 @@ **需去除订阅转换链接中的参数 `emoji=true/false` 才能生效**,参考例子: -`https://api.v1.mk/sub?target=clash&udp=true&scv=true&config=https://goo.gs/config&url={原订阅链接}` +`https://api.dler.io/sub?target=clash&udp=true&scv=true&config=https://goo.gs/config&url={原订阅链接}` + +短链:`https://goo.gs/dler&url={原订阅链接}` --- diff --git a/update_url.py b/update_url.py index 701cca9..54982a6 100644 --- a/update_url.py +++ b/update_url.py @@ -2,16 +2,34 @@ import os import requests -alias = 'config' -url = f"https://cdn.jsdelivr.net/gh/zsokami/ACL4SSR@{os.getenv('GITHUB_SHA')}/ACL4SSR_Online_Full_Mannix.ini" +API_KEY = os.getenv('API_KEY') +GITHUB_REPOSITORY = os.getenv('GITHUB_REPOSITORY') + +if GITHUB_REPOSITORY == 'zsokami/ACL4SSR': + alias = 'config' + alias_sc = 'dler' +else: + repo = GITHUB_REPOSITORY.replace('/', '__') + alias = f"gh__{repo}" + alias_sc = f"gh__{repo}__sc" + +ini_file_name = next(f for f in os.listdir() if f.endswith('.ini')) +url = f"https://cdn.jsdelivr.net/gh/{GITHUB_REPOSITORY}@{os.getenv('GITHUB_SHA')}/{ini_file_name}" +url_sc = f"https://api.dler.io/sub?target=clash&udp=true&scv=true&config={url}" session = requests.Session() -session.headers['Authorization'] = 'Bearer wMZJfKSns5lLIZ7if32owHe9w06EVAV6ZjbnCoeFs65PNN95lrwDxnKSGAMV' +session.headers['Authorization'] = f"Bearer {API_KEY}" api = 'https://goo.gs/api/v1/links' -items = session.get(api, params={'search': alias, 'by': 'alias'}).json()['data'] -for item in items: - if item['alias'] == alias: + + +def upsert(alias, url): + items = session.get(api, params={'search': alias, 'by': 'alias'}).json()['data'] + item = next((item for item in items if item['alias'] == alias), None) + if item: print(session.put(f"{api}/{item['id']}", data={'url': url}).ok) - break -else: - print(session.post(api, data={'url': url, 'alias': alias}).ok) + else: + print(session.post(api, data={'url': url, 'alias': alias}).ok) + + +upsert(alias, url) +upsert(alias_sc, url_sc)