短链生成

This commit is contained in:
钟孟捷
2023-02-12 22:51:06 +08:00
parent b479409db5
commit 14c5e2d6b7
3 changed files with 32 additions and 11 deletions

View File

@@ -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={原订阅链接}
;---

View File

@@ -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={原订阅链接}`
---

View File

@@ -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)