Create custom portals using CustomPortalApi with datapacks.
Inside your datapack create a "portals" folder, this is where you'll put all your custom portals. There is no set limit of allowed portals, as long as there aren't any duplicate frame blocks.
Here is an example file: stoneendportal.json
{
"block": "minecraft:stone",
"dim": "minecraft:the_end",
"r": 66,
"g": 135,
"b": 245
}
There are also some optional arguments
That is all! Portals will function exactly like vanilla nether portals do