AlistGo/alist · error

login err: %s

Error message

login err: %s

What it means

LanZou login completed at HTTP level (and any acw_sc__v2 challenge was passed) but the response JSON's 'zt' field is not 1, meaning the server rejected the login. The raw body is embedded so the server's reason is visible.

Source

Thrown at drivers/lanzou/util.go:189

		if acwScV2 != "" {
			req.SetCookie(&http.Cookie{Name: "acw_sc__v2", Value: acwScV2})
		}
		resp, err = req.Post(loginURL)
		if err != nil {
			return nil, err
		}
		if findAcwScV2Reg.Match(resp.Body()) {
			vs, e := CalcAcwScV2(resp.String())
			if e != nil {
				return nil, fmt.Errorf("login err: %w, data: %s", e, resp.Body())
			}
			acwScV2 = vs
			continue
		}
		break
	}
	if utils.Json.Get(resp.Body(), "zt").ToInt() != 1 {
		return nil, fmt.Errorf("login err: %s", resp.Body())
	}
	d.Cookie = CookieToString(resp.Cookies())
	return resp.Cookies(), nil
}

/*
通过cookie获取数据
*/

// 获取文件和文件夹,获取到的文件大小、更改时间不可信
func (d *LanZou) GetAllFiles(folderID string) ([]model.Obj, error) {
	folders, err := d.GetFolders(folderID)
	if err != nil {
		return nil, err
	}
	files, err := d.GetFiles(folderID)
	if err != nil {
		return nil, err

View on GitHub (pinned to 843d9dc814)

Solutions

  1. Read the embedded body — LanZou usually states 'wrong password' or 'verification required'
  2. Log into up.woozooo.com manually with the same credentials to confirm they work and clear any captcha
  3. Update credentials in the OpenList storage config and reload the storage
Defensive patterns

Strategy: validation

Validate before calling

if d.Username == "" || d.Password == "" {
    return fmt.Errorf("lanzou account mode requires username and password")
}

Try / catch

if _, err := d.Login(); err != nil {
    if strings.Contains(err.Error(), "login err:") {
        // body is embedded: inspect zt/reason text (wrong password, captcha, lock)
        return fmt.Errorf("lanzou login rejected: %w", err)
    }
    return err
}

Prevention

When it happens

Trigger: Wrong username/password for the LanZou account mode; account locked/disabled; CAPTCHA required after repeated failures; LanZou changed the mlogin.php response semantics.

Common situations: Credentials changed or mistyped in the storage config; too many automated login attempts (the single-flight flag limits concurrency but retries still count); account flagged for automation.

Related errors


AI-assisted analysis of AlistGo/alist@843d9dc814 (2026-08-15). Data as JSON: /api/errors/a0b26ca4a9027d9a. Report an issue: GitHub.