Documentation
¶
Index ¶
- func CheckAndFilterProxies(proxies []string, maxWorkers int, localAddr string, timeout time.Duration) types.CheckResults
- func CheckApiTelegramVpnOrgAvailability()
- func CheckFile(path string) error
- func CheckMtproXyzAvailability()
- func CheckMtprotoRuAvailability()
- func CheckProxy(rawURL string, localAddr string, timeout time.Duration) (types.Result, error)
- func CheckTelegramWebAvailability()
- func ExtractProxiesFromJS(content string, providerName string) []string
- func IsFile(path string) bool
- func IsTextLine(s string) bool
- func IsWebAvailable(url string) bool
- func LoadFromFile(filename string) ([]string, error)
- func NormalizeProxyURL(raw string) (string, error)
- func ResolveOptionalFlags(o *OptionalString, flagName string)
- func ResolvePath(path string) (string, error)
- func SaveResults(results types.CheckResults, alivePath, deadPath string, saveDead bool) error
- func Upload(cfg UploadConfig) error
- func WithStemSuffix(path, suffix string) string
- type GitHubUploader
- type OptionalString
- type RepoInfo
- type UploadConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CheckAndFilterProxies ¶
func CheckAndFilterProxies(proxies []string, maxWorkers int, localAddr string, timeout time.Duration) types.CheckResults
CheckAndFilterProxies многопоточно проверяет список прокси, отбрасывает мертвые и сортирует по пингу.
func CheckApiTelegramVpnOrgAvailability ¶
func CheckApiTelegramVpnOrgAvailability()
CheckApiTelegramVpnOrgAvailability проверяет доступность основного домена api.telegramvpn.org или его зеркала, устанавливает рабочий базовый URL в конфигурации и выводит уведомление в лог при обнаружении сетевых ограничений.
func CheckFile ¶
CheckFile анализирует файл по указанному пути на соответствие формату списка Telegram-прокси
func CheckMtproXyzAvailability ¶
func CheckMtproXyzAvailability()
CheckMtproXyzAvailability проверяет доступность основного домена mtpro.xyz или его зеркала, устанавливает рабочий базовый URL в конфигурации и выводит уведомление в лог при обнаружении сетевых ограничений.
func CheckMtprotoRuAvailability ¶
func CheckMtprotoRuAvailability()
CheckMtprotoRuAvailability проверяет доступность основного домена mtproto.ru или его зеркала, устанавливает рабочий базовый URL в конфигурации и выводит уведомление в лог при обнаружении сетевых ограничений.
func CheckProxy ¶
CheckProxy проверяет один MTProto-прокси через gotd, выполняя реальный MTProto-хендшейк и запрос HelpGetNearestDC для подтверждения работоспособности.
func CheckTelegramWebAvailability ¶
func CheckTelegramWebAvailability()
CheckTelegramWebAvailability проверяет доступность основного домена Telegram или его зеркала, устанавливает рабочий базовый URL в конфигурации и выводит уведомление в лог при обнаружении сетевых ограничений.
func ExtractProxiesFromJS ¶
ExtractProxiesFromJS находит Base64 в atob(), декодирует его, достает JSON и формирует ссылки
func IsTextLine ¶
IsTextLine проверяет, состоит ли строка из печатных символов и стандартных управляющих кодов: возвращает false, если в строке обнаружены непечатные управляющие символы.
func IsWebAvailable ¶
IsWebAvailable проверяет доступность веб-версии Telegram
func LoadFromFile ¶
LoadFromFile читает файл построчно и возвращает список прокси, если файла нет - возвращает пустой список без ошибки.
func NormalizeProxyURL ¶
NormalizeProxyURL нормализует ссылку tg://proxy?, убирая мусорные параметры и приводя к единому виду, возвращает ошибку если ссылка не содержит обязательных полей server/port/secret.
func ResolveOptionalFlags ¶
func ResolveOptionalFlags(o *OptionalString, flagName string)
ResolveOptionalFlags анализирует аргументы командной строки для определения фактического состояния флага, позволяет корректно обработать случаи, когда флаг указан без значения или предшествует другому флагу.
func ResolvePath ¶
ResolvePath преобразует путь в абсолютный вид с использованием разделителей в стиле POSIX, раскрывая домашнюю директорию пользователя и разрешая символические ссылки.
func SaveResults ¶
func SaveResults(results types.CheckResults, alivePath, deadPath string, saveDead bool) error
SaveResults выполняет итоговое сохранение проверенных прокси в соответствующие файлы, логирует статистику обработки и опционально записывает список неактивных адресов в зависимости от флага saveDead.
func Upload ¶
func Upload(cfg UploadConfig) error
Upload выполняет высокоуровневую процедуру выгрузки файла на основе переданного UploadConfig: оркестрирует процесс парсинга параметров, инициализации клиента и опционального сжатия истории
func WithStemSuffix ¶
WithStemSuffix добавляет указанный суффикс к базовому имени файла перед его расширением, сохраняя исходный путь к директории и расширение файла.
Types ¶
type GitHubUploader ¶
type GitHubUploader struct {
// contains filtered or unexported fields
}
GitHubUploader определяет настроенные загрузчик на Github
func NewGitHubUploader ¶
func NewGitHubUploader(token, owner, repo, branch string) (*GitHubUploader, error)
NewGitHubUploader инициализирует новый экземпляр загрузчика с проверкой обязательных параметров.
func (*GitHubUploader) GetEmail ¶
func (u *GitHubUploader) GetEmail(ctx context.Context) string
GetEmail извлекает адрес электронной почты пользователя для формирования метаданных коммита: пытается получить основной верифицированный email или генерирует технический адрес GitHub.
func (*GitHubUploader) SuperSquash ¶
func (u *GitHubUploader) SuperSquash(ctx context.Context, commitMsg string) error
SuperSquash необратимо сжимает всю историю ветки в один orphan-коммит: удаляет всю историю изменений, оставляя только текущее состояние дерева файлов.
func (*GitHubUploader) UploadFile ¶
func (u *GitHubUploader) UploadFile(ctx context.Context, localPath, remotePath, commitMsg string) error
UploadFile загружает или обновляет содержимое файла в целевом репозитории, автоматически вычисляет SHA существующего файла для выполнения операции обновления.
type OptionalString ¶
OptionalString инкапсулирует строковое значение флага и метаданные о его присутствии в аргументах командной строки.
func (*OptionalString) Set ¶
func (o *OptionalString) Set(s string) error
Set устанавливает значение флага и обновляет внутренние индикаторы присутствия данных
func (*OptionalString) String ¶
func (o *OptionalString) String() string
String возвращает строковое представление значения флага
type RepoInfo ¶
RepoInfo хранит владельца и название репо
func ParseRepoURL ¶
ParseRepoURL парсит ссылку на репозиторий и возвращает владельца и название репо из строк вида:
- https://github.com/owner/repo
- https://github.com/owner/repo.git
- git@github.com:owner/repo.git
- owner/repo
type UploadConfig ¶
type UploadConfig struct {
Token string // обязательно
RepoUrl string // обязательно, но любой формат
Branch string // не обязательно
FilePath string // обязательно
RemotePath string // не обязательно
CommitMsg string // не обязательно
Squash bool // не обязательно
}
UploadConfig определяет параметры для процесса загрузки файлов в удаленный репозиторий.