@@ -43,17 +43,18 @@ func Init(e *gin.Engine) {
4343 S3 (g .Group ("/s3" ))
4444
4545 downloadLimiter := middlewares .DownloadRateLimiter (stream .ClientDownloadLimit )
46+ proxyConcurrencyLimiter := middlewares .ProxyIPConcurrencyLimit ()
4647 signCheck := middlewares .Down (sign .Verify )
4748 g .GET ("/d/*path" , middlewares .PathParse , signCheck , downloadLimiter , handles .Down )
48- g .GET ("/p/*path" , middlewares .PathParse , signCheck , downloadLimiter , handles .Proxy )
49+ g .GET ("/p/*path" , middlewares .PathParse , signCheck , downloadLimiter , proxyConcurrencyLimiter , handles .Proxy )
4950 g .HEAD ("/d/*path" , middlewares .PathParse , signCheck , handles .Down )
50- g .HEAD ("/p/*path" , middlewares .PathParse , signCheck , handles .Proxy )
51+ g .HEAD ("/p/*path" , middlewares .PathParse , signCheck , proxyConcurrencyLimiter , handles .Proxy )
5152 archiveSignCheck := middlewares .Down (sign .VerifyArchive )
5253 g .GET ("/ad/*path" , middlewares .PathParse , archiveSignCheck , downloadLimiter , handles .ArchiveDown )
53- g .GET ("/ap/*path" , middlewares .PathParse , archiveSignCheck , downloadLimiter , handles .ArchiveProxy )
54+ g .GET ("/ap/*path" , middlewares .PathParse , archiveSignCheck , downloadLimiter , proxyConcurrencyLimiter , handles .ArchiveProxy )
5455 g .GET ("/ae/*path" , middlewares .PathParse , archiveSignCheck , downloadLimiter , handles .ArchiveInternalExtract )
5556 g .HEAD ("/ad/*path" , middlewares .PathParse , archiveSignCheck , handles .ArchiveDown )
56- g .HEAD ("/ap/*path" , middlewares .PathParse , archiveSignCheck , handles .ArchiveProxy )
57+ g .HEAD ("/ap/*path" , middlewares .PathParse , archiveSignCheck , proxyConcurrencyLimiter , handles .ArchiveProxy )
5758 g .HEAD ("/ae/*path" , middlewares .PathParse , archiveSignCheck , handles .ArchiveInternalExtract )
5859
5960 g .GET ("/sd/:sid" , middlewares .EmptyPathParse , middlewares .SharingIdParse , downloadLimiter , handles .SharingDown )
0 commit comments