Add EF Core migration for PhishDestroy filter lists

Co-authored-by: collinbarrett <6483057+collinbarrett@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot] 2025-12-30 01:03:42 +00:00 committed by Collin Barrett
parent 9ed117a01e
commit 251b578bc1
3 changed files with 92297 additions and 0 deletions

View file

@ -0,0 +1,360 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional
namespace FilterLists.Directory.Infrastructure.Migrations.Migrations
{
/// <inheritdoc />
public partial class AddPhishDestroyLists : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.InsertData(
table: "FilterList",
columns: new[] { "Id", "ChatUrl", "Description", "DonateUrl", "EmailAddress", "ForumUrl", "HomeUrl", "IssuesUrl", "LicenseId", "Name", "OnionUrl", "PolicyUrl", "SubmissionUrl" },
values: new object[,]
{
{ 2835, null, "Real-time updated blocklist of cryptocurrency phishing domains, scam sites, wallet drainers, fake exchanges and seed phrase phishing. DNS-verified active threats.", null, "github@phishdestroy.io", null, "https://github.com/phishdestroy/destroylist", "https://github.com/phishdestroy/destroylist/issues", 2, "PhishDestroy - Cryptocurrency Phishing Blocklist (Domains)", null, null, null },
{ 2836, null, "Real-time updated blocklist of cryptocurrency phishing domains, scam sites, wallet drainers, fake exchanges and seed phrase phishing. DNS-verified active threats.", null, "github@phishdestroy.io", null, "https://github.com/phishdestroy/destroylist", "https://github.com/phishdestroy/destroylist/issues", 2, "PhishDestroy - Cryptocurrency Phishing Blocklist (AdBlock)", null, null, null },
{ 2837, null, "Real-time updated blocklist of cryptocurrency phishing domains, scam sites, wallet drainers, fake exchanges and seed phrase phishing. DNS-verified active threats.", null, "github@phishdestroy.io", null, "https://github.com/phishdestroy/destroylist", "https://github.com/phishdestroy/destroylist/issues", 2, "PhishDestroy - Cryptocurrency Phishing Blocklist (Hosts)", null, null, null },
{ 2838, null, "Real-time updated blocklist of cryptocurrency phishing domains, scam sites, wallet drainers, fake exchanges and seed phrase phishing. DNS-verified active threats.", null, "github@phishdestroy.io", null, "https://github.com/phishdestroy/destroylist", "https://github.com/phishdestroy/destroylist/issues", 2, "PhishDestroy - Cryptocurrency Phishing Blocklist (Dnsmasq)", null, null, null },
{ 2839, null, "Community-aggregated cryptocurrency phishing blocklist from PhishDestroy. Real-time updated list of cryptocurrency phishing domains, scam sites, wallet drainers, fake exchanges and seed phrase phishing.", null, "github@phishdestroy.io", null, "https://github.com/phishdestroy/destroylist", "https://github.com/phishdestroy/destroylist/issues", 2, "PhishDestroy - Community Aggregated", null, null, null },
{ 2840, null, "DNS-verified active cryptocurrency phishing domains from PhishDestroy. Real-time updated list of verified active cryptocurrency phishing domains, scam sites, wallet drainers, and fake exchanges.", null, "github@phishdestroy.io", null, "https://github.com/phishdestroy/destroylist", "https://github.com/phishdestroy/destroylist/issues", 2, "PhishDestroy - DNS-Verified Active", null, null, null }
});
migrationBuilder.InsertData(
table: "Maintainer",
columns: new[] { "Id", "EmailAddress", "Name", "TwitterHandle", "Url" },
values: new object[] { 209, "github@phishdestroy.io", "PhishDestroy", null, "https://github.com/phishdestroy" });
migrationBuilder.InsertData(
table: "FilterListLanguage",
columns: new[] { "FilterListId", "LanguageId" },
values: new object[,]
{
{ 2835, (short)37 },
{ 2836, (short)37 },
{ 2837, (short)37 },
{ 2838, (short)37 },
{ 2839, (short)37 },
{ 2840, (short)37 }
});
migrationBuilder.InsertData(
table: "FilterListMaintainer",
columns: new[] { "FilterListId", "MaintainerId" },
values: new object[,]
{
{ 2835, 209 },
{ 2836, 209 },
{ 2837, 209 },
{ 2838, 209 },
{ 2839, 209 },
{ 2840, 209 }
});
migrationBuilder.InsertData(
table: "FilterListSyntax",
columns: new[] { "FilterListId", "SyntaxId" },
values: new object[,]
{
{ 2835, (short)2 },
{ 2836, (short)3 },
{ 2837, (short)1 },
{ 2838, (short)20 },
{ 2839, (short)2 },
{ 2840, (short)2 }
});
migrationBuilder.InsertData(
table: "FilterListTag",
columns: new[] { "FilterListId", "TagId" },
values: new object[,]
{
{ 2835, 1 },
{ 2835, 6 },
{ 2835, 7 },
{ 2836, 1 },
{ 2836, 6 },
{ 2836, 7 },
{ 2837, 1 },
{ 2837, 6 },
{ 2837, 7 },
{ 2838, 1 },
{ 2838, 6 },
{ 2838, 7 },
{ 2839, 1 },
{ 2839, 6 },
{ 2839, 7 },
{ 2840, 1 },
{ 2840, 6 },
{ 2840, 7 }
});
migrationBuilder.InsertData(
table: "FilterListViewUrl",
columns: new[] { "FilterListId", "Id", "Primariness", "Url" },
values: new object[,]
{
{ 2835, 3232, (short)1, "https://raw.githubusercontent.com/phishdestroy/destroylist/main/list.txt" },
{ 2836, 3233, (short)1, "https://raw.githubusercontent.com/phishdestroy/destroylist/main/rootlist/formats/primary/adblock.txt" },
{ 2837, 3234, (short)1, "https://raw.githubusercontent.com/phishdestroy/destroylist/main/rootlist/formats/primary/hosts.txt" },
{ 2838, 3235, (short)1, "https://raw.githubusercontent.com/phishdestroy/destroylist/main/rootlist/formats/primary/dnsmasq.conf" },
{ 2839, 3236, (short)1, "https://raw.githubusercontent.com/phishdestroy/destroylist/main/community/blocklist.json" },
{ 2840, 3237, (short)1, "https://raw.githubusercontent.com/phishdestroy/destroylist/main/dns/active_domains.json" }
});
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DeleteData(
table: "FilterListLanguage",
keyColumns: new[] { "FilterListId", "LanguageId" },
keyValues: new object[] { 2835, (short)37 });
migrationBuilder.DeleteData(
table: "FilterListLanguage",
keyColumns: new[] { "FilterListId", "LanguageId" },
keyValues: new object[] { 2836, (short)37 });
migrationBuilder.DeleteData(
table: "FilterListLanguage",
keyColumns: new[] { "FilterListId", "LanguageId" },
keyValues: new object[] { 2837, (short)37 });
migrationBuilder.DeleteData(
table: "FilterListLanguage",
keyColumns: new[] { "FilterListId", "LanguageId" },
keyValues: new object[] { 2838, (short)37 });
migrationBuilder.DeleteData(
table: "FilterListLanguage",
keyColumns: new[] { "FilterListId", "LanguageId" },
keyValues: new object[] { 2839, (short)37 });
migrationBuilder.DeleteData(
table: "FilterListLanguage",
keyColumns: new[] { "FilterListId", "LanguageId" },
keyValues: new object[] { 2840, (short)37 });
migrationBuilder.DeleteData(
table: "FilterListMaintainer",
keyColumns: new[] { "FilterListId", "MaintainerId" },
keyValues: new object[] { 2835, 209 });
migrationBuilder.DeleteData(
table: "FilterListMaintainer",
keyColumns: new[] { "FilterListId", "MaintainerId" },
keyValues: new object[] { 2836, 209 });
migrationBuilder.DeleteData(
table: "FilterListMaintainer",
keyColumns: new[] { "FilterListId", "MaintainerId" },
keyValues: new object[] { 2837, 209 });
migrationBuilder.DeleteData(
table: "FilterListMaintainer",
keyColumns: new[] { "FilterListId", "MaintainerId" },
keyValues: new object[] { 2838, 209 });
migrationBuilder.DeleteData(
table: "FilterListMaintainer",
keyColumns: new[] { "FilterListId", "MaintainerId" },
keyValues: new object[] { 2839, 209 });
migrationBuilder.DeleteData(
table: "FilterListMaintainer",
keyColumns: new[] { "FilterListId", "MaintainerId" },
keyValues: new object[] { 2840, 209 });
migrationBuilder.DeleteData(
table: "FilterListSyntax",
keyColumns: new[] { "FilterListId", "SyntaxId" },
keyValues: new object[] { 2835, (short)2 });
migrationBuilder.DeleteData(
table: "FilterListSyntax",
keyColumns: new[] { "FilterListId", "SyntaxId" },
keyValues: new object[] { 2836, (short)3 });
migrationBuilder.DeleteData(
table: "FilterListSyntax",
keyColumns: new[] { "FilterListId", "SyntaxId" },
keyValues: new object[] { 2837, (short)1 });
migrationBuilder.DeleteData(
table: "FilterListSyntax",
keyColumns: new[] { "FilterListId", "SyntaxId" },
keyValues: new object[] { 2838, (short)20 });
migrationBuilder.DeleteData(
table: "FilterListSyntax",
keyColumns: new[] { "FilterListId", "SyntaxId" },
keyValues: new object[] { 2839, (short)2 });
migrationBuilder.DeleteData(
table: "FilterListSyntax",
keyColumns: new[] { "FilterListId", "SyntaxId" },
keyValues: new object[] { 2840, (short)2 });
migrationBuilder.DeleteData(
table: "FilterListTag",
keyColumns: new[] { "FilterListId", "TagId" },
keyValues: new object[] { 2835, 1 });
migrationBuilder.DeleteData(
table: "FilterListTag",
keyColumns: new[] { "FilterListId", "TagId" },
keyValues: new object[] { 2835, 6 });
migrationBuilder.DeleteData(
table: "FilterListTag",
keyColumns: new[] { "FilterListId", "TagId" },
keyValues: new object[] { 2835, 7 });
migrationBuilder.DeleteData(
table: "FilterListTag",
keyColumns: new[] { "FilterListId", "TagId" },
keyValues: new object[] { 2836, 1 });
migrationBuilder.DeleteData(
table: "FilterListTag",
keyColumns: new[] { "FilterListId", "TagId" },
keyValues: new object[] { 2836, 6 });
migrationBuilder.DeleteData(
table: "FilterListTag",
keyColumns: new[] { "FilterListId", "TagId" },
keyValues: new object[] { 2836, 7 });
migrationBuilder.DeleteData(
table: "FilterListTag",
keyColumns: new[] { "FilterListId", "TagId" },
keyValues: new object[] { 2837, 1 });
migrationBuilder.DeleteData(
table: "FilterListTag",
keyColumns: new[] { "FilterListId", "TagId" },
keyValues: new object[] { 2837, 6 });
migrationBuilder.DeleteData(
table: "FilterListTag",
keyColumns: new[] { "FilterListId", "TagId" },
keyValues: new object[] { 2837, 7 });
migrationBuilder.DeleteData(
table: "FilterListTag",
keyColumns: new[] { "FilterListId", "TagId" },
keyValues: new object[] { 2838, 1 });
migrationBuilder.DeleteData(
table: "FilterListTag",
keyColumns: new[] { "FilterListId", "TagId" },
keyValues: new object[] { 2838, 6 });
migrationBuilder.DeleteData(
table: "FilterListTag",
keyColumns: new[] { "FilterListId", "TagId" },
keyValues: new object[] { 2838, 7 });
migrationBuilder.DeleteData(
table: "FilterListTag",
keyColumns: new[] { "FilterListId", "TagId" },
keyValues: new object[] { 2839, 1 });
migrationBuilder.DeleteData(
table: "FilterListTag",
keyColumns: new[] { "FilterListId", "TagId" },
keyValues: new object[] { 2839, 6 });
migrationBuilder.DeleteData(
table: "FilterListTag",
keyColumns: new[] { "FilterListId", "TagId" },
keyValues: new object[] { 2839, 7 });
migrationBuilder.DeleteData(
table: "FilterListTag",
keyColumns: new[] { "FilterListId", "TagId" },
keyValues: new object[] { 2840, 1 });
migrationBuilder.DeleteData(
table: "FilterListTag",
keyColumns: new[] { "FilterListId", "TagId" },
keyValues: new object[] { 2840, 6 });
migrationBuilder.DeleteData(
table: "FilterListTag",
keyColumns: new[] { "FilterListId", "TagId" },
keyValues: new object[] { 2840, 7 });
migrationBuilder.DeleteData(
table: "FilterListViewUrl",
keyColumns: new[] { "FilterListId", "Id" },
keyValues: new object[] { 2835, 3232 });
migrationBuilder.DeleteData(
table: "FilterListViewUrl",
keyColumns: new[] { "FilterListId", "Id" },
keyValues: new object[] { 2836, 3233 });
migrationBuilder.DeleteData(
table: "FilterListViewUrl",
keyColumns: new[] { "FilterListId", "Id" },
keyValues: new object[] { 2837, 3234 });
migrationBuilder.DeleteData(
table: "FilterListViewUrl",
keyColumns: new[] { "FilterListId", "Id" },
keyValues: new object[] { 2838, 3235 });
migrationBuilder.DeleteData(
table: "FilterListViewUrl",
keyColumns: new[] { "FilterListId", "Id" },
keyValues: new object[] { 2839, 3236 });
migrationBuilder.DeleteData(
table: "FilterListViewUrl",
keyColumns: new[] { "FilterListId", "Id" },
keyValues: new object[] { 2840, 3237 });
migrationBuilder.DeleteData(
table: "FilterList",
keyColumn: "Id",
keyValue: 2835);
migrationBuilder.DeleteData(
table: "FilterList",
keyColumn: "Id",
keyValue: 2836);
migrationBuilder.DeleteData(
table: "FilterList",
keyColumn: "Id",
keyValue: 2837);
migrationBuilder.DeleteData(
table: "FilterList",
keyColumn: "Id",
keyValue: 2838);
migrationBuilder.DeleteData(
table: "FilterList",
keyColumn: "Id",
keyValue: 2839);
migrationBuilder.DeleteData(
table: "FilterList",
keyColumn: "Id",
keyValue: 2840);
migrationBuilder.DeleteData(
table: "Maintainer",
keyColumn: "Id",
keyValue: 209);
}
}
}

View file

@ -21116,6 +21116,66 @@ protected override void BuildModel(ModelBuilder modelBuilder)
HomeUrl = "https://gist.github.com/thedoggybrad/dc52cbed1683bae916322f4659d8b387",
LicenseId = 2,
Name = "Google AI Overview Remover"
},
new
{
Id = 2835,
Description = "Real-time updated blocklist of cryptocurrency phishing domains, scam sites, wallet drainers, fake exchanges and seed phrase phishing. DNS-verified active threats.",
EmailAddress = "github@phishdestroy.io",
HomeUrl = "https://github.com/phishdestroy/destroylist",
IssuesUrl = "https://github.com/phishdestroy/destroylist/issues",
LicenseId = 2,
Name = "PhishDestroy - Cryptocurrency Phishing Blocklist (Domains)"
},
new
{
Id = 2836,
Description = "Real-time updated blocklist of cryptocurrency phishing domains, scam sites, wallet drainers, fake exchanges and seed phrase phishing. DNS-verified active threats.",
EmailAddress = "github@phishdestroy.io",
HomeUrl = "https://github.com/phishdestroy/destroylist",
IssuesUrl = "https://github.com/phishdestroy/destroylist/issues",
LicenseId = 2,
Name = "PhishDestroy - Cryptocurrency Phishing Blocklist (AdBlock)"
},
new
{
Id = 2837,
Description = "Real-time updated blocklist of cryptocurrency phishing domains, scam sites, wallet drainers, fake exchanges and seed phrase phishing. DNS-verified active threats.",
EmailAddress = "github@phishdestroy.io",
HomeUrl = "https://github.com/phishdestroy/destroylist",
IssuesUrl = "https://github.com/phishdestroy/destroylist/issues",
LicenseId = 2,
Name = "PhishDestroy - Cryptocurrency Phishing Blocklist (Hosts)"
},
new
{
Id = 2838,
Description = "Real-time updated blocklist of cryptocurrency phishing domains, scam sites, wallet drainers, fake exchanges and seed phrase phishing. DNS-verified active threats.",
EmailAddress = "github@phishdestroy.io",
HomeUrl = "https://github.com/phishdestroy/destroylist",
IssuesUrl = "https://github.com/phishdestroy/destroylist/issues",
LicenseId = 2,
Name = "PhishDestroy - Cryptocurrency Phishing Blocklist (Dnsmasq)"
},
new
{
Id = 2839,
Description = "Community-aggregated cryptocurrency phishing blocklist from PhishDestroy. Real-time updated list of cryptocurrency phishing domains, scam sites, wallet drainers, fake exchanges and seed phrase phishing.",
EmailAddress = "github@phishdestroy.io",
HomeUrl = "https://github.com/phishdestroy/destroylist",
IssuesUrl = "https://github.com/phishdestroy/destroylist/issues",
LicenseId = 2,
Name = "PhishDestroy - Community Aggregated"
},
new
{
Id = 2840,
Description = "DNS-verified active cryptocurrency phishing domains from PhishDestroy. Real-time updated list of verified active cryptocurrency phishing domains, scam sites, wallet drainers, and fake exchanges.",
EmailAddress = "github@phishdestroy.io",
HomeUrl = "https://github.com/phishdestroy/destroylist",
IssuesUrl = "https://github.com/phishdestroy/destroylist/issues",
LicenseId = 2,
Name = "PhishDestroy - DNS-Verified Active"
});
});
@ -25643,6 +25703,36 @@ protected override void BuildModel(ModelBuilder modelBuilder)
{
FilterListId = 2833,
LanguageId = (short)139
},
new
{
FilterListId = 2835,
LanguageId = (short)37
},
new
{
FilterListId = 2836,
LanguageId = (short)37
},
new
{
FilterListId = 2837,
LanguageId = (short)37
},
new
{
FilterListId = 2838,
LanguageId = (short)37
},
new
{
FilterListId = 2839,
LanguageId = (short)37
},
new
{
FilterListId = 2840,
LanguageId = (short)37
});
});
@ -33710,6 +33800,36 @@ protected override void BuildModel(ModelBuilder modelBuilder)
{
FilterListId = 2834,
MaintainerId = 208
},
new
{
FilterListId = 2835,
MaintainerId = 209
},
new
{
FilterListId = 2836,
MaintainerId = 209
},
new
{
FilterListId = 2837,
MaintainerId = 209
},
new
{
FilterListId = 2838,
MaintainerId = 209
},
new
{
FilterListId = 2839,
MaintainerId = 209
},
new
{
FilterListId = 2840,
MaintainerId = 209
});
});
@ -45427,6 +45547,36 @@ protected override void BuildModel(ModelBuilder modelBuilder)
{
FilterListId = 2834,
SyntaxId = (short)4
},
new
{
FilterListId = 2835,
SyntaxId = (short)2
},
new
{
FilterListId = 2836,
SyntaxId = (short)3
},
new
{
FilterListId = 2837,
SyntaxId = (short)1
},
new
{
FilterListId = 2838,
SyntaxId = (short)20
},
new
{
FilterListId = 2839,
SyntaxId = (short)2
},
new
{
FilterListId = 2840,
SyntaxId = (short)2
});
});
@ -62089,6 +62239,96 @@ protected override void BuildModel(ModelBuilder modelBuilder)
{
FilterListId = 2834,
TagId = 35
},
new
{
FilterListId = 2835,
TagId = 1
},
new
{
FilterListId = 2835,
TagId = 6
},
new
{
FilterListId = 2835,
TagId = 7
},
new
{
FilterListId = 2836,
TagId = 1
},
new
{
FilterListId = 2836,
TagId = 6
},
new
{
FilterListId = 2836,
TagId = 7
},
new
{
FilterListId = 2837,
TagId = 1
},
new
{
FilterListId = 2837,
TagId = 6
},
new
{
FilterListId = 2837,
TagId = 7
},
new
{
FilterListId = 2838,
TagId = 1
},
new
{
FilterListId = 2838,
TagId = 6
},
new
{
FilterListId = 2838,
TagId = 7
},
new
{
FilterListId = 2839,
TagId = 1
},
new
{
FilterListId = 2839,
TagId = 6
},
new
{
FilterListId = 2839,
TagId = 7
},
new
{
FilterListId = 2840,
TagId = 1
},
new
{
FilterListId = 2840,
TagId = 6
},
new
{
FilterListId = 2840,
TagId = 7
});
});
@ -65024,6 +65264,13 @@ protected override void BuildModel(ModelBuilder modelBuilder)
Id = 208,
Name = "thedoggybrad",
Url = "https://github.com/thedoggybrad"
},
new
{
Id = 209,
EmailAddress = "github@phishdestroy.io",
Name = "PhishDestroy",
Url = "https://github.com/phishdestroy"
});
});
@ -91143,6 +91390,54 @@ protected override void BuildModel(ModelBuilder modelBuilder)
Primariness = (short)1,
SegmentNumber = (short)1,
Url = "https://gist.githubusercontent.com/thedoggybrad/dc52cbed1683bae916322f4659d8b387/raw/51f80466484f31b05fa46dc543569b329855dfb0/nogoogleaioverview.txt"
},
new
{
FilterListId = 2835,
Id = 3232,
Primariness = (short)1,
SegmentNumber = (short)0,
Url = "https://raw.githubusercontent.com/phishdestroy/destroylist/main/list.txt"
},
new
{
FilterListId = 2836,
Id = 3233,
Primariness = (short)1,
SegmentNumber = (short)0,
Url = "https://raw.githubusercontent.com/phishdestroy/destroylist/main/rootlist/formats/primary/adblock.txt"
},
new
{
FilterListId = 2837,
Id = 3234,
Primariness = (short)1,
SegmentNumber = (short)0,
Url = "https://raw.githubusercontent.com/phishdestroy/destroylist/main/rootlist/formats/primary/hosts.txt"
},
new
{
FilterListId = 2838,
Id = 3235,
Primariness = (short)1,
SegmentNumber = (short)0,
Url = "https://raw.githubusercontent.com/phishdestroy/destroylist/main/rootlist/formats/primary/dnsmasq.conf"
},
new
{
FilterListId = 2839,
Id = 3236,
Primariness = (short)1,
SegmentNumber = (short)0,
Url = "https://raw.githubusercontent.com/phishdestroy/destroylist/main/community/blocklist.json"
},
new
{
FilterListId = 2840,
Id = 3237,
Primariness = (short)1,
SegmentNumber = (short)0,
Url = "https://raw.githubusercontent.com/phishdestroy/destroylist/main/dns/active_domains.json"
});
});