mirror of https://github.com/hunshcn/gh-proxy
增加raw.githubusercontent.com支持,修复clone直接走服务器流量时出现的问题
parent
4a3fe663f4
commit
d3768b71d9
14
app/main.py
14
app/main.py
|
@ -16,9 +16,10 @@ app = Flask(__name__)
|
|||
app.debug = True
|
||||
CHUNK_SIZE = 1024 * 10
|
||||
index_html = requests.get(ASSET_URL, timeout=10).text
|
||||
exp1 = re.compile(r'^(?:https?:\/\/)?github\.com\/.+?\/.+?\/(?:releases|archive)\/.*$')
|
||||
exp2 = re.compile(r'^(?:https?:\/\/)?github\.com\/.+?\/.+?\/(?:blob)\/.*$')
|
||||
exp3 = re.compile(r'^(?:https?:\/\/)?github\.com\/.+?\/.+?\/(?:info|git-upload-pack).*$')
|
||||
exp1 = re.compile(r'^(?:https?://)?github\.com/.+?/.+?/(?:releases|archive)/.*$')
|
||||
exp2 = re.compile(r'^(?:https?://)?github\.com/.+?/.+?/(?:blob)/.*$')
|
||||
exp3 = re.compile(r'^(?:https?://)?github\.com/.+?/.+?/(?:info|git-upload-pack).*$')
|
||||
exp4 = re.compile(r'^(?:https?://)?raw\.githubusercontent\.com/.+?/.+?/.+?/.+$')
|
||||
|
||||
|
||||
@app.route('/')
|
||||
|
@ -38,7 +39,10 @@ def proxy(u):
|
|||
elif cnpmjs and exp3.match(u):
|
||||
u = u.replace('github.com', 'github.com.cnpmjs.org') + request.url.replace(request.base_url, '')
|
||||
return redirect(u)
|
||||
# elif exp1.match(u):
|
||||
elif jsdelivr and exp4.match(u):
|
||||
u = re.sub(r'\.com/.*?/.+?/(.+?/)', '@$1', u, 1)
|
||||
u = u.replace('raw.githubusercontent.com', 'cdn.jsdelivr.net/gh')
|
||||
return redirect(u)
|
||||
else:
|
||||
headers = {}
|
||||
r_headers = {}
|
||||
|
@ -46,7 +50,7 @@ def proxy(u):
|
|||
if i in request.headers:
|
||||
r_headers[i] = request.headers.get(i)
|
||||
try:
|
||||
r = requests.get(u, headers=r_headers, stream=True)
|
||||
r = requests.get(u + request.url.replace(request.base_url, ''), headers=r_headers, stream=True)
|
||||
for i in ['Content-Type']:
|
||||
if i in r.headers:
|
||||
headers[i] = r.headers.get(i)
|
||||
|
|
Loading…
Reference in New Issue