ข้ามไปยังเนื้อหา

นำเข้าคีย์จากไฟล์

ตั้งค่า

กรอกไฟล์เดียวด้วยแหล่งค้นหา ตัวดาวน์โหลด มีเดียเซิร์ฟเวอร์ เว็บคำบรรยาย และอีเมลของคุณ แล้วนำเข้า ไม่ต้องพิมพ์ทีละคีย์ใน Settings

  • HolyArrs รันใน Docker โดยมีโฟลเดอร์คอนฟิกที่ /config
  • คุณสร้าง API key ของเจ้าของได้ใน Settings > API > API keys (การตั้งค่า > API > API keys)
  1. คัดลอก holyarrs-secrets.template.yaml เป็น holyarrs-secrets.yaml

  2. กรอกสิ่งที่คุณใช้ ที่เหลือปล่อยว่าง ว่างหมายถึงข้าม

  3. ตั้งให้มีแต่คุณที่อ่านได้:

    Terminal window
    chmod 600 holyarrs-secrets.yaml
  4. เมานต์เข้า container แบบอ่านอย่างเดียว:

    volumes:
    - /srv/holyarrs/config:/config
    - /srv/holyarrs/holyarrs-secrets.yaml:/run/secrets/holyarrs.yaml:ro
  5. สร้าง API key ของเจ้าของที่มีสโคป admin ใน Settings > API > API keys ใส่ไว้ในบล็อก holyarrs ของไฟล์ พร้อมที่อยู่ http://127.0.0.1:6262

  6. ลองรันทดสอบก่อน ไม่เปลี่ยนอะไรเลย:

    Terminal window
    docker exec holyarrs /holyarrs import-secrets -file /run/secrets/holyarrs.yaml -dry-run

    จะเห็นบรรทัด would set หนึ่งบรรทัดต่อหนึ่งรายการ

  7. รันจริง (คำสั่งเดิมโดยไม่มี -dry-run) จะเห็นบรรทัด set และ exit code 0

  8. ตรวจสอบแหล่งค้นหาและตัวดาวน์โหลดใหม่ แล้วทำต่อ ทดสอบมีเดียเซิร์ฟเวอร์ใหม่และการแจ้งเตือน แล้วเปิด

  9. ลบไฟล์บนโฮสต์ (ดู ลบไฟล์) ลบ API key ด้วยถ้าไม่ใช้อีก

แต่ละบล็อกกลายเป็นอะไร

ลิงก์ไปยัง แต่ละบล็อกกลายเป็นอะไร
ในไฟล์ กลายเป็น
trakt.client_id คีย์แอป Trakt (Settings > Outside lists การตั้งค่า > ลิสต์ภายนอก)
tmdb, tvdb รับจากไฟล์รุ่นเก่า เมตาดาตาไม่ต้องใช้คีย์
opensubtitles, subdl เว็บคำบรรยายพร้อมบัญชีของคุณ
addic7ed เว็บคำบรรยาย Addic7ed เฉพาะซีรีส์
indexers แหล่งค้นหาหนึ่งแหล่งต่อหนึ่งรายการ ในสถานะ paused (หยุดชั่วคราว)
jackett, prowlarr คีย์ของแอปเหล่านี้เติมให้ทุกรายการ indexers ที่ใช้ที่อยู่เดียวกันและยังไม่มีคีย์
qbittorrent, sabnzbd ตัวดาวน์โหลด ในสถานะ paused
nzbget, transmission, deluge ข้าม การนำเข้ายังตั้งค่าตัวเหล่านี้ไม่ได้ ให้เพิ่มเองใน Settings > Downloaders
jellyfin, emby, plex มีเดียเซิร์ฟเวอร์ ในสถานะ off (ปิด) จนกว่าคุณจะทดสอบ
smtp, discord, webhook การแจ้งเตือน “Email”, “Discord” และ “Webhook” ในสถานะ off จนกว่าคุณจะทดสอบ
radarr, sonarr, lidarr, prowlarr, bazarr, seerr คีย์ที่บันทึกไว้สำหรับ Import from other apps (นำเข้าจากแอปอื่น)
holyarrs ใช้เพื่อเชื่อมต่อ HolyArrs ที่กำลังรันอยู่เท่านั้น ไม่เคยถูกบันทึก

ทุกคีย์เข้าไปอยู่ในห้องนิรภัยที่เข้ารหัส เหมือนกับที่พิมพ์ใน Settings

แต่ละบล็อกที่มีที่อยู่ใส่ allow_local_network: true ได้ ซึ่งให้รายการนั้นเข้าถึงเครื่องนี้หรือเครือข่ายในบ้านของคุณได้ (192.168.x.x, 10.x.x.x, ชื่อ container) ถ้าไม่มี รายการนั้นจะเข้าถึงได้แค่อินเทอร์เน็ต ตัวดาวน์โหลดที่อยู่ในบ้านจึงไม่ตอบสนอง HolyArrs ไม่เดาเรื่องนี้จากที่อยู่ เป็นสวิตช์เดียวกับ May reach the local network (อนุญาตให้เข้าถึงเครือข่ายภายใน) ใน Settings

รัน container ชั่วคราวบนคอนฟิกเดียวกัน บันทึกลงโฟลเดอร์คอนฟิกโดยตรงและไม่ต้องมีบล็อก holyarrs:

Terminal window
docker stop holyarrs
docker run --rm -e PUID=1000 -e PGID=1000 \
-v /srv/holyarrs/config:/config \
-v /srv/holyarrs/holyarrs-secrets.yaml:/run/secrets/holyarrs.yaml:ro \
holyarrs/holyarrs:latest import-secrets -file /run/secrets/holyarrs.yaml
docker start holyarrs

ใช้ PUID และ PGID เดียวกับแอป ไม่เช่นนั้นโฟลเดอร์คอนฟิกจะถูกยกให้ 1000:1000 ผู้ใช้ PUID ต้องอ่านไฟล์ได้ ถ้าใช้ HOLYARRS_MASTER_KEY_FILE ให้ container ชั่วคราวมีตัวแปรและการเมานต์เดียวกัน

รันซ้ำได้อย่างปลอดภัย รายการที่ตรงกันจะขึ้นว่า unchanged และบันทึกเฉพาะรายการที่เปลี่ยน

รายการ จับคู่ด้วย
แหล่งค้นหา ชื่อ
ตัวดาวน์โหลด มีเดียเซิร์ฟเวอร์ ชนิดและที่อยู่
การแจ้งเตือน ชื่อและชนิด
เว็บคำบรรยาย แอปรุ่นเดิม ชนิด

แหล่งค้นหาหรือตัวดาวน์โหลดที่ที่อยู่หรือคีย์เปลี่ยนจะถูกหยุดชั่วคราวอีกครั้ง เมื่อคุณทำต่อด้วยตัวเองแล้ว การรันซ้ำจะปล่อยให้ทำงานต่อไป api_key ที่ว่างในรายการ indexers จะคงคีย์ที่เก็บไว้ ใส่ clear_key: true เพื่อเอาออก

ด้วย -delete คำสั่งจะเขียนทับไฟล์ด้วยศูนย์แล้วลบ เฉพาะหลังการรันที่ไม่มีอะไรล้มเหลว การเมานต์แบบอ่านอย่างเดียวลบจากภายใน container ไม่ได้ ให้ลบบนโฮสต์:

ระบบ คำสั่ง
Linux shred -u holyarrs-secrets.yaml
macOS rm -P holyarrs-secrets.yaml
Windows Remove-Item holyarrs-secrets.yaml แล้วล้างถังขยะ

บน SSD และระบบไฟล์แบบ copy-on-write บล็อกเก่าอาจยังค้างอยู่บนดิสก์ ส่วนตัวคีย์เองตอนนี้อยู่ในห้องนิรภัยที่เข้ารหัสแล้ว

อาการ สาเหตุ วิธีแก้
ผู้ใช้อื่นอ่านไฟล์ได้ สิทธิ์เปิดกว้างเกินไป รัน chmod 600 บน Windows ให้เก็บไว้ในโฟลเดอร์ที่มีแต่คุณเปิดได้
คีย์ที่ไม่รู้จักทำให้การนำเข้าหยุด พิมพ์ผิด หรือมีแท็บในบรรทัดที่ระบุ แก้บรรทัดนั้น ไม่มีอะไรถูกบันทึก
ปฏิเสธ http ธรรมดา ที่อยู่ holyarrs ไม่ได้อยู่บนเครื่องนี้ รันภายใน container ด้วย http://127.0.0.1:6262 หรือใช้ https
ตัวดาวน์โหลดในบ้านไม่ตอบสนอง ไม่มีสิทธิ์เข้าถึงเครือข่ายภายใน ตั้ง allow_local_network: true บนบล็อกนั้น
container ชั่วคราวเปลี่ยนเจ้าของโฟลเดอร์ PUID/PGID ต่างกัน ใช้ PUID และ PGID ของแอป
-delete ไม่ทำอะไร มีบางอย่างล้มเหลว หรือการเมานต์เป็นแบบอ่านอย่างเดียว ลบบนโฮสต์
แฟลกและ exit code
แฟลก ทำอะไร ค่าเริ่มต้น
-file <path> ไฟล์ความลับ ไม่มี
-dry-run บอกเฉพาะว่าจะตั้งอะไร ปิด
-config <folder> โฟลเดอร์คอนฟิก /config
-delete หลังการรันที่ไม่มีอะไรล้มเหลว เขียนทับไฟล์ด้วยศูนย์แล้วลบ ปิด
-forget-move-credentials ลบทุกคีย์ของแอปรุ่นเดิมที่บันทึกไว้ แล้วหยุด ปิด
-allow-http-lan อนุญาต http:// ธรรมดาไปยังที่อยู่ในเครือข่ายบ้าน แสดงคำเตือน ปิด
-allow-readable-file รับไฟล์ที่ผู้ใช้อื่นอ่านได้ Docker Desktop บน Windows แสดงทุกไฟล์ว่าอ่านได้ ปิด

ที่อยู่ holyarrs ต้องเป็น https:// หรือ http:// ธรรมดาไปยังเครื่องนี้เท่านั้น (127.0.0.1, ::1, localhost) ผ่าน http ธรรมดา คีย์เจ้าของและทั้งไฟล์จะเดินทางโดยไม่เข้ารหัส

Exit code ความหมาย
0 ทุกรายการสำเร็จ
1 มีรายการล้มเหลว แก้ไฟล์แล้วรันอีกครั้ง
2 บรรทัดคำสั่งหรือไฟล์ไม่ถูกต้อง
ผลลัพธ์

หนึ่งบรรทัดต่อหนึ่งรายการ: set (หรือ would set ในการรันทดสอบ บางครั้งมีหมายเหตุ) unchanged skipped (empty) skipped (why) หรือ failed: why ไม่เคยพิมพ์คีย์ รหัสผ่าน token หรือที่อยู่ ประวัติจะได้ 1 เหตุการณ์ที่มีแค่จำนวน ข้อผิดพลาดที่จะแสดงค่าจากไฟล์ของคุณจะแสดง [hidden] แทน

รูปแบบไฟล์

YAML ส่วนเล็ก ๆ ที่เข้มงวด:

  • บล็อกด้วยการเยื้องด้วยช่องว่าง ไม่ใช้แท็บ ลิสต์ใช้ -
  • ค่าเขียนเปล่า ๆ ใน "double quotes" หรือ 'single quotes' (เขียน ' ในเครื่องหมายคำพูดเดี่ยวสองครั้ง)
  • # เริ่มคอมเมนต์ที่ต้นบรรทัดหรือหลังช่องว่างนอกเครื่องหมายคำพูด ดังนั้นให้ใส่เครื่องหมายคำพูดให้รหัสผ่านที่มี #
  • ใส่เครื่องหมายคำพูดให้ค่าที่ขึ้นต้นด้วย &, *, !, |, >, [, {, %, @ หรือ backquote หรือที่มี :

คีย์ที่ไม่รู้จักหรือไฟล์ที่เกิน 256 KB จะหยุดการนำเข้าทั้งหมดก่อนบันทึกอะไร ข้อความจะระบุคีย์และบรรทัด ลิงก์ไปยังไฟล์จะถูกปฏิเสธ

ฟิลด์พิเศษ
ฟิลด์ กฎ
SABnzbd ต้องใช้ api_key เต็ม nzb_key ชื่อผู้ใช้ หรือรหัสผ่านจะถูกข้ามและไม่เก็บ
tvdb.api_key, tvdb.unique_user_key, trakt.redirect_urls รับและข้าม
smtp.host ชื่อเซิร์ฟเวอร์เท่านั้น ไม่มี scheme หรือ port
smtp.port 1 ถึง 65535 ค่าเริ่มต้น 587
smtp.from ที่อยู่อีเมลธรรมดาหนึ่งที่อยู่
บล็อกของแอปรุ่นเดิม ใช้ใน Import from other apps ด้วย Use the saved key (ใช้คีย์ที่บันทึกไว้) ไม่แสดงเลย เฉพาะเจ้าของ ลบหลังอ่านสำเร็จหนึ่งครั้ง

HolyArrs ใช้ได้ฟรี ถ้าช่วยประหยัดเวลาคุณได้ กดดาวบน GitHub, สนับสนุนโปรเจกต์ หรือ เลี้ยงกาแฟผู้พัฒนา