@@ -616,22 +616,24 @@ public async void BuildDomainBlacklist()
616616 {
617617 try
618618 {
619- //
620619 if ( IsWorking ) return ;
621620 IsWorking = true ;
622621 DomainBlacklistPathInfoString = LocalizationEx . GetUiString ( "blacklist_building_list" ,
623622 Thread . CurrentThread . CurrentCulture ) ;
624623 var domainBlacklist = await GenerateDomainBlacklist ( DomainBlacklist ) . ConfigureAwait ( false ) ;
625- File . WriteAllLines ( Path . Combine ( "data" , Global . DomainBlacklistFile ) , domainBlacklist ) ;
626- DomainBlacklistPath = Path . Combine ( Directory . GetCurrentDirectory ( ) , "data" , Global . DomainBlacklistFile ) ;
627- UpdateDomainBlacklistPathInfoString ( ) ;
628- if ( DomainBlacklistPlugin )
624+ if ( domainBlacklist != null )
629625 {
630- SavePlugin ( ) ;
626+ File . WriteAllLines ( Path . Combine ( "data" , Global . DomainBlacklistFile ) , domainBlacklist ) ;
627+ DomainBlacklistPath = Path . Combine ( Directory . GetCurrentDirectory ( ) , "data" , Global . DomainBlacklistFile ) ;
628+ UpdateDomainBlacklistPathInfoString ( ) ;
629+ if ( DomainBlacklistPlugin )
630+ {
631+ SavePlugin ( ) ;
632+ }
631633 }
632634 IsWorking = false ;
633635 }
634- catch ( Exception )
636+ catch ( Exception exception )
635637 {
636638 IsWorking = false ;
637639 }
@@ -663,11 +665,19 @@ public void BuildAddressBlacklist()
663665
664666 private static async Task < string > FetchRemoteList ( string requestUri )
665667 {
666- using ( var client = new HttpClient ( ) )
668+ try
669+ {
670+ using ( var client = new HttpClient ( ) )
671+ {
672+ var getDataTask = client . GetStringAsync ( requestUri ) ;
673+ return await getDataTask . ConfigureAwait ( false ) ;
674+ }
675+ }
676+ catch ( Exception )
667677 {
668- var getDataTask = client . GetStringAsync ( requestUri ) ;
669- return await getDataTask . ConfigureAwait ( false ) ;
678+
670679 }
680+ return null ;
671681 }
672682
673683
@@ -703,8 +713,11 @@ public static async Task<List<string>> GenerateDomainBlacklist(DomainBlacklist d
703713 foreach ( var remoteRule in domainBlacklist . RemoteRules )
704714 {
705715 var r = await FetchRemoteList ( remoteRule . Rule ) . ConfigureAwait ( false ) ;
706- var remote = ParseBlacklist ( r ) ;
707- allNames . AddUnique ( remote ) ;
716+ if ( r != null )
717+ {
718+ var remote = ParseBlacklist ( r ) ;
719+ allNames . AddUnique ( remote ) ;
720+ }
708721 }
709722
710723 return allNames ;
0 commit comments