A desperate attempt to mirror Accord's Library before it's taken down.
This repository has been archived on 2025-08-31. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
  • Go 99.1%
  • Nix 0.9%
Find a file
Zane van Iperen 9347258fcc
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a1071d00556d8b7615c30bd2435be6a36ccb8eda?narHash=sha256-NvQXAysCmMqWOPqlO5muL7BX7EwNpsCZCuiEg61oVz4%3D' (2024-10-24)
  → 'github:NixOS/nixpkgs/e700346e3723331fc9eff7add88530a9c623e1bc?narHash=sha256-2%2BhKb0Xp8OJ1s3zxWOyYqMgxxiNltLHFE4G7/gaZu/s%3D' (2025-08-15)
2025-08-15 23:13:00 +10:00
.github/workflows gh-actions: configure 2024-10-24 21:19:41 +09:00
cmd/accords-mirrorrer treewide: s/github.com\/vs49688/git.vs49688.net\/zane/g 2025-08-15 23:11:57 +10:00
library library/graphql: cosmetics 2024-10-26 13:37:48 +09:00
vendor cmd/accords-mirrorrer/archive: update for new goutils 2024-10-24 21:19:41 +09:00
.gitignore gitignore: add /dist 2024-10-24 21:19:41 +09:00
.goreleaser.yaml treewide: s/github.com\/vs49688/git.vs49688.net\/zane/g 2025-08-15 23:11:57 +10:00
default.nix treewide: s/github.com\/vs49688/git.vs49688.net\/zane/g 2025-08-15 23:11:57 +10:00
flake.lock flake.lock: Update 2025-08-15 23:13:00 +10:00
flake.nix Revert "flake: set version to 1.0.1" 2024-10-25 09:54:53 +09:00
go.mod treewide: s/github.com\/vs49688/git.vs49688.net\/zane/g 2025-08-15 23:11:57 +10:00
go.sum cmd/accords-mirrorrer/archive: update for new goutils 2024-10-24 21:19:41 +09:00
LICENSE truncate history before public release 2024-10-24 18:56:50 +09:00
main.go main: fix repo url 2024-10-24 22:32:42 +09:00
README.md README: add hopefully simple instructions 2024-10-30 02:10:13 +09:00
state.go treewide: s/github.com\/vs49688/git.vs49688.net\/zane/g 2025-08-15 23:11:57 +10:00

Accord's Mirrorrer

A desperate attempt to mirror https://accords-library.com before it's taken down.

How it works:

  1. Builds an "index" of all the entities (posts, videos, books, etc.), saved to state.json.
  2. Scrapes the directory listing of the assets server in case anything was missed.
  3. Download all the files.

Instructions

I just want run it

  1. Go to https://github.com/accords-mirrorrer/accords-mirrorrer/releases
  2. Find the latest download for your platform (this is probably accords-mirrorrer_Windows_x86_64.zip).
  3. Create a new folder and extract accords-mirrorrer.exe to it. Ensure you have plenty of space.
  4. Open a Command Prompt or PowerShell window
  5. Run .\accords-mirrorrer.exe archive
  6. Wait
  7. If anything fails you can restart it, and it will pick up from where it left off.

Building

go build ./cmd/accords-mirrorrer

Or download a release.

Usage

Create a new directory, and run the accords-mirrorrer from there:

/path/to/accords-mirrorrer archive --parallelism 4 

Notes

  • Please be a good netizen and set --parallelism to a reasonable value to avoid overloading the server.
  • The process may be interrupted and resumed once the index refresh is completed.
  • If you already have the index, consider specifying --dont-refresh to avoid re-downloading it.
  • On UNIX-like systems, sending SIGUSR1 will cause it to checkpoint the current state.
  • I've only tested this on Linux. Windows binaries are provided for convenience only.

CLI Usage

NAME:
   accords-mirrorrer archive - archive the library

USAGE:
   accords-mirrorrer archive [command options]

OPTIONS:
   --state-file value   state file (default: "state.json")
   --parallelism value  parallelism, <1 for GOMAXPROCS (default: 0)
   --dont-refresh       don't refresh the index, only download what we've got (default: false)
   --dont-download      don't download files, only refresh the index (default: false)
   --help, -h           show help

License

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2, and only version 2 as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA