Me parece interesante el proyecto. Como recomendación de estilo / diseño sugeriría según mi experiencia en programación, cambiar cosas de este estilo
private Boolean check_link(string link)
{
Match regex = Regex.Match(link, "adf.ly", RegexOptions.IgnoreCase);
if (regex.Success)
{
return true;
}
else
{
return false;
}
}
por uno de estos modos
Compacto: private Boolean check_link(string link)
{
Match regex = Regex.Match(link, "adf.ly", RegexOptions.IgnoreCase);
return regex.Success;
}
Retorno único 1:
private Boolean check_link(string link)
{
bool ret = false;
Match regex = Regex.Match(link, "adf.ly", RegexOptions.IgnoreCase);
if (regex.Success)
{
ret = true;
}
return ret;
}
Retorno único 2:
private Boolean check_link(string link)
{
bool ret;
Match regex = Regex.Match(link, "adf.ly", RegexOptions.IgnoreCase);
ret = regex.Success;
return ret;
}