site public flag

This commit is contained in:
jxxghp
2023-07-06 11:49:01 +08:00
parent 3609033ef9
commit 84acb70ec2
4 changed files with 15 additions and 9 deletions

View File

@ -75,7 +75,8 @@ class CookieCloudChain(ChainBase):
self.siteoper.add(name=indexer.get("name"), self.siteoper.add(name=indexer.get("name"),
url=indexer.get("domain"), url=indexer.get("domain"),
domain=domain, domain=domain,
cookie=cookie) cookie=cookie,
public=1 if indexer.get("public") else 0)
_add_count += 1 _add_count += 1
# 保存站点图标 # 保存站点图标
if indexer: if indexer:

View File

@ -40,6 +40,7 @@ class SiteChain(ChainBase):
site_cookie = site_info.cookie site_cookie = site_info.cookie
ua = site_info.ua ua = site_info.ua
render = site_info.render render = site_info.render
public = site_info.public
proxies = settings.PROXY if site_info.proxy else None proxies = settings.PROXY if site_info.proxy else None
proxy_server = settings.PROXY_SERVER if site_info.proxy else None proxy_server = settings.PROXY_SERVER if site_info.proxy else None
# 模拟登录 # 模拟登录
@ -50,7 +51,7 @@ class SiteChain(ChainBase):
cookies=site_cookie, cookies=site_cookie,
ua=ua, ua=ua,
proxies=proxy_server) proxies=proxy_server)
if not SiteUtils.is_logged_in(page_source): if not public and not SiteUtils.is_logged_in(page_source):
if under_challenge(page_source): if under_challenge(page_source):
return False, f"无法通过Cloudflare" return False, f"无法通过Cloudflare"
return False, f"仿真登录失败Cookie已失效" return False, f"仿真登录失败Cookie已失效"
@ -61,22 +62,22 @@ class SiteChain(ChainBase):
).get_res(url=site_url) ).get_res(url=site_url)
# 判断登录状态 # 判断登录状态
if res and res.status_code in [200, 500, 403]: if res and res.status_code in [200, 500, 403]:
if not SiteUtils.is_logged_in(res.text): if not public and not SiteUtils.is_logged_in(res.text):
if under_challenge(res.text): if under_challenge(res.text):
msg = "站点被Cloudflare防护请打开站点浏览器仿真" msg = "站点被Cloudflare防护请打开站点浏览器仿真"
elif res.status_code == 200: elif res.status_code == 200:
msg = "Cookie已失效" msg = "Cookie已失效"
else: else:
msg = f"状态码:{res.status_code}" msg = f"状态码:{res.status_code}"
return False, f"连接失败,{msg}" return False, f"{msg}"
else: elif public and res.status_code != 200:
return True, f"连接成功" return False, f"状态码:{res.status_code}"
elif res is not None: elif res is not None:
return False, f"连接失败,状态码:{res.status_code}" return False, f"状态码:{res.status_code}"
else: else:
return False, f"连接失败,无法打开网站!" return False, f"无法打开网站!"
except Exception as e: except Exception as e:
return False, f"连接失败:{str(e)}" return False, f"{str(e)}"
return True, "连接成功" return True, "连接成功"
def remote_list(self, userid: Union[str, int] = None): def remote_list(self, userid: Union[str, int] = None):

View File

@ -31,6 +31,8 @@ class Site(Base):
filter = Column(String) filter = Column(String)
# 是否渲染 # 是否渲染
render = Column(Integer) render = Column(Integer)
# 是否公开站点
public = Column(Integer)
# 附加信息 # 附加信息
note = Column(String) note = Column(String)
# 流控单位周期 # 流控单位周期

View File

@ -26,6 +26,8 @@ class Site(BaseModel):
filter: Optional[str] = None filter: Optional[str] = None
# 是否演染 # 是否演染
render: Optional[int] = 0 render: Optional[int] = 0
# 是否公开站点
public: Optional[int] = 0
# 备注 # 备注
note: Optional[str] = None note: Optional[str] = None
# 流控单位周期 # 流控单位周期