vastsa / FileCodeBox

文件快递柜-匿名口令分享文本,文件,像拿快递一样取文件(FileCodeBox - File Express Cabinet - Anonymous Passcode Sharing Text, Files, Like Taking Express Delivery for Files)
https://share.lanol.cn
GNU Lesser General Public License v3.0
4.02k stars 498 forks source link

上传文件有概率会失败 #204

Closed endgeofendlessworld closed 3 weeks ago

endgeofendlessworld commented 2 months ago

环境:docker最新beta版,内网使用nat打洞将地址暴露在公网,外网通过一个域名重定向到暴露的地址访问 错误日志:INFO: 172.17.0.1:16050 - "POST /share/file/ HTTP/1.1" 500 Internal Server Error ERROR: Exception in ASGI application Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/uvicorn/protocols/http/h11_impl.py", line 408, in run_asgi result = await app( # type: ignore[func-returns-value] File "/usr/local/lib/python3.9/site-packages/uvicorn/middleware/proxy_headers.py", line 84, in call return await self.app(scope, receive, send) File "/usr/local/lib/python3.9/site-packages/fastapi/applications.py", line 289, in call await super().call(scope, receive, send) File "/usr/local/lib/python3.9/site-packages/starlette/applications.py", line 122, in call await self.middleware_stack(scope, receive, send) File "/usr/local/lib/python3.9/site-packages/starlette/middleware/errors.py", line 184, in call raise exc File "/usr/local/lib/python3.9/site-packages/starlette/middleware/errors.py", line 162, in call await self.app(scope, receive, _send) File "/usr/local/lib/python3.9/site-packages/starlette/middleware/cors.py", line 91, in call await self.simple_response(scope, receive, send, request_headers=headers) File "/usr/local/lib/python3.9/site-packages/starlette/middleware/cors.py", line 146, in simple_response await self.app(scope, receive, send) File "/usr/local/lib/python3.9/site-packages/starlette/middleware/exceptions.py", line 79, in call raise exc File "/usr/local/lib/python3.9/site-packages/starlette/middleware/exceptions.py", line 68, in call await self.app(scope, receive, sender) File "/usr/local/lib/python3.9/site-packages/fastapi/middleware/asyncexitstack.py", line 20, in call raise e File "/usr/local/lib/python3.9/site-packages/fastapi/middleware/asyncexitstack.py", line 17, in call await self.app(scope, receive, send) File "/usr/local/lib/python3.9/site-packages/starlette/routing.py", line 718, in call await route.handle(scope, receive, send) File "/usr/local/lib/python3.9/site-packages/starlette/routing.py", line 276, in handle await self.app(scope, receive, send) File "/usr/local/lib/python3.9/site-packages/starlette/routing.py", line 66, in app response = await func(request) File "/usr/local/lib/python3.9/site-packages/fastapi/routing.py", line 263, in app solved_result = await solve_dependencies( File "/usr/local/lib/python3.9/site-packages/fastapi/dependencies/utils.py", line 586, in solve_dependencies solved = await run_in_threadpool(call, *sub_values) File "/usr/local/lib/python3.9/site-packages/starlette/concurrency.py", line 41, in run_in_threadpool return await anyio.to_thread.run_sync(func, args) File "/usr/local/lib/python3.9/site-packages/anyio/to_thread.py", line 33, in run_sync return await get_asynclib().run_sync_in_worker_thread( File "/usr/local/lib/python3.9/site-packages/anyio/_backends/_asyncio.py", line 877, in run_sync_in_worker_thread return await future File "/usr/local/lib/python3.9/site-packages/anyio/_backends/_asyncio.py", line 807, in run result = context.run(func, *args) File "/app/apps/base/depends.py", line 43, in call if not self.check_ip(ip): File "/app/apps/base/depends.py", line 22, in check_ip if self.ips[ip]['count'] >= self.count: TypeError: '>=' not supported between instances of 'int' and 'str'

endgeofendlessworld commented 2 months ago

重新测试了一下,发现不是概率问题,同一个ip只有第一次上传可以成功,之后就失败,错误位置位置也是负责ip黑名单的地方。

vastsa commented 2 months ago

好滴,应该是配置文件修改有问题,可以考虑删除opt目录下的filecodebox,然后等我修复后再修改ip限制