upload功能
Change-Id: Iad725ce3e2edd913531bf11705bf51000dde010d
diff --git a/src/main/java/com/pt5/pthouduan/entity/TrackerInitializer.java b/src/main/java/com/pt5/pthouduan/entity/TrackerInitializer.java
new file mode 100644
index 0000000..b9632ea
--- /dev/null
+++ b/src/main/java/com/pt5/pthouduan/entity/TrackerInitializer.java
@@ -0,0 +1,40 @@
+package com.pt5.pthouduan.entity;
+
+import com.pt5.pthouduan.service.PasskeyValidator;
+import com.pt5.pthouduan.service.UserService;
+import com.turn.ttorrent.tracker.Tracker;
+import com.turn.ttorrent.tracker.TorrentsRepository;
+import com.turn.ttorrent.tracker.TrackerRequestProcessor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.io.IOException;
+
+@Service
+public class TrackerInitializer {
+
+ @Autowired
+ private PasskeyValidator passkeyValidator;
+
+ public Tracker createTracker() throws IOException {
+ TorrentsRepository repository = new TorrentsRepository(1000);
+
+ // 1. 创建自定义的Processor
+ TrackerRequestProcessor processor = new PasskeyTrackerProcessor(
+ repository,
+ passkeyValidator
+ );
+
+ // 2. 使用四参数构造器
+ Tracker tracker = new Tracker(
+ 6969, // 端口(与Nginx配置一致)
+ "http://127.0.0.1/announce", // 对外公告地址
+ processor, // 自定义的Processor
+ repository // Torrent仓库
+ );
+ tracker.setAnnounceInterval(100);
+
+ tracker.setAcceptForeignTorrents(false); // 禁止未注册的种子
+ return tracker;
+ }
+}