@@ -24,6 +24,7 @@ interface
2424 ntl_URL_All_HTTPS,// < Download from internet
2525 ntl_URL_All_IP,// < Download from internet
2626 ntl_URL_All_UDP,// < Download from internet
27+ ntl_URL_All_WS,// < Download from internet
2728 ntl_URL_Best,// < Download from internet
2829 ntl_URL_Best_IP// < Download from internet
2930 );
@@ -33,29 +34,29 @@ interface
3334 TngosangTrackerList = class
3435 private
3536 FTRackerList: array [Tngosang_List] of TStringList;
36-
37- procedure DownloadTracker (ngosang_List: Tngosang_List);
38-
37+ function DownloadTracker (ngosang_List: Tngosang_List): TStringList;
3938 public
4039
41- property TrackerList_Blacklist: TStringList read FTRackerList[ntl_URL_Blacklist];
40+ property TrackerList_Blacklist: TStringList index ntl_URL_Blacklist
41+ read DownloadTracker;
4242
43- property TrackerList_All: TStringList read FTrackerList[ ntl_URL_All] ;
43+ property TrackerList_All: TStringList index ntl_URL_All read DownloadTracker ;
4444
45- property TrackerList_All_HTTP: TStringList read FTrackerList[ntl_URL_All_HTTP];
45+ property TrackerList_All_HTTP: TStringList index ntl_URL_All_HTTP
46+ read DownloadTracker;
4647
47- property TrackerList_All_HTTPS: TStringList read FTrackerList[ntl_URL_All_HTTPS];
48+ property TrackerList_All_HTTPS: TStringList index ntl_URL_All_HTTPS
49+ read DownloadTracker;
4850
49- property TrackerList_All_IP: TStringList read FTrackerList[ ntl_URL_All_IP] ;
51+ property TrackerList_All_IP: TStringList index ntl_URL_All_IP read DownloadTracker ;
5052
51- property TrackerList_All_UDP: TStringList read FTrackerList[ ntl_URL_All_UDP] ;
53+ property TrackerList_All_UDP: TStringList index ntl_URL_All_UDP read DownloadTracker ;
5254
53- property TrackerList_Best : TStringList read FTrackerList[ntl_URL_Best] ;
55+ property TrackerList_All_WS : TStringList index ntl_URL_All_WS read DownloadTracker ;
5456
55- property TrackerList_Best_IP : TStringList read FTrackerList[ntl_URL_Best_IP] ;
57+ property TrackerList_Best : TStringList index ntl_URL_Best read DownloadTracker ;
5658
57- // Download all the trackers via API
58- function DownloadTrackers : boolean;
59+ property TrackerList_Best_IP: TStringList index ntl_URL_Best_IP read DownloadTracker;
5960
6061 // create/destroy class object
6162 constructor Create;
@@ -75,38 +76,27 @@ implementation
7576 ' https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_all_https.txt' ,
7677 ' https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_all_ip.txt' ,
7778 ' https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_all_udp.txt' ,
79+ ' https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_all_ws.txt' ,
7880 ' https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_best.txt' ,
7981 ' https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_best_ip.txt'
8082 );
8183
8284{ TngosangTrackerList }
83- procedure TngosangTrackerList.DownloadTracker (ngosang_List: Tngosang_List);
84- begin
85- // download via URL and put the data in the TrackerList
86- FTRackerList[ngosang_List].DelimitedText :=
87- TFPCustomHTTPClient.SimpleGet(URL[ngosang_List]);
88-
89- // Clean up the tracker list
90- SanatizeTrackerList(FTRackerList[ngosang_List]);
91- end ;
92-
93-
94- function TngosangTrackerList.DownloadTrackers : boolean;
95- var
96- i: Tngosang_List;
85+ function TngosangTrackerList.DownloadTracker (ngosang_List: Tngosang_List): TStringList;
9786begin
9887 try
99- // download all the list one by one
100- for i in Tngosang_List do
101- begin
102- DownloadTracker(i);
103- end ;
88+ // download via URL and put the data in the TrackerList
89+ FTRackerList[ngosang_List].DelimitedText :=
90+ TFPCustomHTTPClient.SimpleGet(URL[ngosang_List]);
91+
92+ // Clean up the tracker list
93+ SanatizeTrackerList(FTRackerList[ngosang_List]);
10494
105- Result := True;
10695 except
10796 // No OpenSSL or web server is down
108- Result := False;
10997 end ;
98+
99+ Result := FTrackerList[ngosang_List];
110100end ;
111101
112102constructor TngosangTrackerList.Create;
@@ -135,4 +125,3 @@ destructor TngosangTrackerList.Destroy;
135125end ;
136126
137127end .
138-
0 commit comments