Open TrueRou opened 2 days ago
近期各cdn停止维护,目前可用: https://fastly.jsdelivr.net/npm/@fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.css https://unpkg.com/@fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.css https://npm.elemecdn.com/@fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.css
目前可用性(速度) npm.elemecdn.com > unpkg.com > fastly.jsdelivr.net
其中npm.elemecdn.com可能不太全面,具体表现为:
同时访问三者的npm包:/jquery@3/dist/jquery.min.js
,只有npm.elemecdn.com返回的是jQuery v3.5.1
,其余均为jQuery v3.7.1
@zkz098 @D-Sketon 是否有必要替换cdn
很奇怪,npm.webcache.cn这个链接当我从本Issue点击后是能够访问的,怀疑对方做了referer检测(特征很像),非各大型网站直接ban(),至少github是能够访问的。
目前来看应该fancybox换photoswipe然后本地引入,现版本这个fancybox已经太老了,维护的价值不大。ShokaX 0.4.6 支持 esbuild 动态捆绑 CSS,所以photoswipe不需要走CDN
npm.webcache.cn不稳定,可能跟dns缓存有关(猜)
![]()
拿itdog扫了一下,国内的所有节点都是403但国外正常,可能暂时屏蔽国内访问了
基本确定npm.webcache.cn限制referer了,乐
import requests
def check_url_accessibility(url, referer=None):
headers = {}
if referer:
headers['Referer'] = referer
try:
response = requests.head(url, headers=headers)
if response.status_code == 200:
return True
else:
return False
except requests.RequestException as e:
print(f"Error accessing {url}: {e}")
return False
# Example usage
url = "https://npm.webcache.cn/@fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.css"
referer = "https://github.com/theme-shoka-x/hexo-theme-shokaX/issues/297"
# Check URL accessibility with Referer
is_accessible_with_referer = check_url_accessibility(url, referer)
print(f"URL {url} is accessible with Referer {referer}: {is_accessible_with_referer}")
# Check URL accessibility without Referer
is_accessible_without_referer = check_url_accessibility(url)
print(f"URL {url} is accessible without Referer: {is_accessible_without_referer}")
自行测试一下,我这是有区别的
基本确定npm.webcache.cn限制referer了,乐
import requests def check_url_accessibility(url, referer=None): headers = {} if referer: headers['Referer'] = referer try: response = requests.head(url, headers=headers) if response.status_code == 200: return True else: return False except requests.RequestException as e: print(f"Error accessing {url}: {e}") return False # Example usage url = "https://npm.webcache.cn/@fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.css" referer = "https://github.com/theme-shoka-x/hexo-theme-shokaX/issues/297" # Check URL accessibility with Referer is_accessible_with_referer = check_url_accessibility(url, referer) print(f"URL {url} is accessible with Referer {referer}: {is_accessible_with_referer}") # Check URL accessibility without Referer is_accessible_without_referer = check_url_accessibility(url) print(f"URL {url} is accessible without Referer: {is_accessible_without_referer}")
自行测试一下,我这是有区别的
是这样的
盲猜配置失误,因为当Referer直接为
https://github.com
时也无法访问,但https://github.com/
是正常的(
盲猜配置失误,因为当Referer直接为
https://github.com
时也无法访问,但https://github.com/
是正常的(
确实,我用插件测试了,奇怪
在开始之前......
assignees
问题发生位置
其他问题
问题描述
https://npm.webcache.cn/@fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.css 返回403 Forbidden, 可能导致fancybox无法加载, 文章中的图片点击后样式出现问题
复现步骤
No response
相关配置
No response
注意事项