diff --git a/Docker/Dockerfile b/Docker/Dockerfile index 8d3fe31..0d74819 100644 --- a/Docker/Dockerfile +++ b/Docker/Dockerfile @@ -5,7 +5,7 @@ COPY . . ENV DEBIAN_FRONTEND noninteractive ENV TZ Asia/Shanghai -RUN pip install -r requirements.txt +RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple EXPOSE 35050 EXPOSE 36050 diff --git a/Src/Manager/ProxyManager.py b/Src/Manager/ProxyManager.py index 5a73c96..068ab11 100644 --- a/Src/Manager/ProxyManager.py +++ b/Src/Manager/ProxyManager.py @@ -107,6 +107,7 @@ def getQualityUsefulProxy(self, **kwargs): return result def deleteRawProxy(self, proxy): + log.info(proxy) self.raw_proxy.deleteRawProxy(proxy) def saveRawProxy(self, proxy): @@ -159,6 +160,9 @@ def updateUsefulProxy(self, item, info): if item.get("https") == PROXY_HTTPS["UNKNOWN"]: data["$set"]["https"] = info["https"] + if item.get("quality"): + data["$set"]["quality"] = -1 + if len(data["$set"]) > 0: self.useful_proxy.updateUsefulProxy(item["proxy"], data) diff --git a/Src/Web/api/api.py b/Src/Web/api/api.py index f5bec51..91b9e52 100644 --- a/Src/Web/api/api.py +++ b/Src/Web/api/api.py @@ -84,11 +84,33 @@ def get(self): item = proxy_manager.getSampleUsefulProxy(**options) if item: del item["_id"] - result["data"] = item return result +class deleteProxy(Resource): + def __init__(self, **kwargs): + super(deleteProxy, self).__init__(**kwargs) + + parser = reqparse.RequestParser() + parser.add_argument('proxy', type=str, location='args') + self.args = parser.parse_args() + def get(self): + result = { + "data": {} + } + + options = { + "proxy": self.args.get('proxy'), + "quality":-1 + } + log.info("receive params: {}".format(options)) + info={} + item = proxy_manager.updateUsefulProxy(options, info) + log.info("delete {}".format(item)) + result["data"] = item + + return result class Proxies(Resource): def __init__(self, **kwargs): @@ -140,4 +162,6 @@ def init_app(app): api = Api(app) api.add_resource(Proxies, '/api/v1/proxies/') api.add_resource(Proxy, '/api/v1/proxy/') + api.add_resource(deleteProxy, '/api/v1/proxy/delete') + api.add_resource(ApiList, '/api/v1/') diff --git a/requirements.txt b/requirements.txt index 8a04b6f..eedf907 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,3 +12,4 @@ pymongo==3.7.2 flask-mongoengine==0.8.2 Flask-Admin==1.5.3 Flask-Security==3.0.0 +email-validator==1.1.1 \ No newline at end of file