LunaTranslator/docs/zh/ankisync.md
HIllya51 cc7f4e3ddc .
2025-05-14 15:25:15 +08:00

4 KiB
Raw Permalink Blame History

Anki本地同步服务器

使用LunaTranslator内置的制卡模板在添加过多卡片时有超出anki.web同步体积的可能。这时可以选择使用anki内置的本地同步服务器功能。

  1. 开启本地同步服务器

    在cmd中运行以下代码

    set SYNC_PORT=8080
    set SYNC_USER1=user:pass
    set MAX_SYNC_PAYLOAD_MEGS=10000000
    %LOCALAPPDATA%\Programs\Anki\anki.exe --syncserver
    pause
    

    ::: tip 其中,8080是同步服务器占用的默认端口号。如果运行失败,可能是端口号被占用,修改成其他端口号,修改后后续也应做出对应的修改

    user:pass分别是自定义的用户名和密码,并随时可以更改,后续登录时都需要填写这个内容

    %LOCALAPPDATA%\Programs\Anki\anki.exe是anki的路径这里是默认的安装路径如果你的电脑上的anki路径不是这个那么自行修改即可。 :::

    为了更方便的运行,可以将这段代码保存为XXX.bat,即可双击运行。

    ::: details 启动成功&失败 启动成功 img

    启动失败,可能是端口号被占用 img :::

    ::: details 隐藏控制台窗口在后台运行

    如果想要隐藏控制台窗口在后台运行同步服务器,可以再创建一个YYY.vbs,其中写入以下内容:

    Set objShell = WScript.CreateObject("WScript.Shell")
    objShell.Run "XXX.bat", 0, False
    

    其中,YYY.vbs中的XXX.bat必须和保存的bat文件名相同。

    双击YYY.vbs即可后台运行但会看不到错误信息建议先用bat版本调式好后再用vbs运行。 :::

  2. 将电脑上的数据上传到本地同步服务器

    首次启动本地同步服务器后,其中内容是空白的,需要首先将电脑上的数据上传到本地同步服务器之后,手机上才能从本地服务器下载数据。

    1. 首先,在设置->同步中修改自托管同步服务器,修改为http://127.0.0.1:8080。如果前面修改了端口号(SYNC_PORT)则这里8080也要修改为同样的值。

      img

    2. 关闭anki然后重新打开使上述修改生效

    3. 使用前面设置的用户名和密码(user:pass)进行登录然后按照anki的提示同步数据到本地同步服务器即可。 ::: details 图例 img :::

  3. 在手机上从本地同步服务器下载数据

    1. 确保手机和电脑处于同一个局域网内,例如链接到同一个路由器等。

      如果同时连接到校园网等,可能仍无法通信,可以在电脑上开启移动热点,然后让手机连接电脑的热点。

    2. 获取电脑的ip地址。在cmd中输入以下内容可以获取可能的ip地址。若有多个候选的ip地址在后续中对其一一进行测试即可。

      for /f "tokens=2 delims=:" %A in ('ipconfig ^| findstr /i "IPv4"') do @for /f "tokens=*" %B in ("%A") do @echo %B
      
    3. 设置->同步中修改自定义同步服务器。同步地址为http://电脑的ip地址:8080其中电脑的ip地址为上一步获取的ip地址8080为前面设置端口号(SYNC_PORT)。 ::: details 图例 img

      img :::

    4. 设置好后,使用前面设置的用户名和密码(user:pass)进行登录然后按照anki的提示同步数据即可。

      如果同步失败可能是前面设置的ip地址错误修改ip地址后再次测试登录即可。 ::: details 图例 img :::