{"id":13409534,"url":"https://github.com/wabarc/wayback","last_synced_at":"2025-04-11T03:29:03.774Z","repository":{"id":37751858,"uuid":"271984275","full_name":"wabarc/wayback","owner":"wabarc","description":"An archiving tool with an IM-style interface that prioritizes privacy and accessibility, integrated with various archival services including Internet Archive, archive.today, Ghostarchive, IPFS, Telegraph, and file systems.","archived":false,"fork":false,"pushed_at":"2024-10-28T14:43:06.000Z","size":2562,"stargazers_count":1789,"open_issues_count":62,"forks_count":64,"subscribers_count":10,"default_branch":"main","last_synced_at":"2024-10-29T14:19:06.643Z","etag":null,"topics":["archive","har","heroku","internet-archive","ipfs","irc","mastodon","matrix","memento","nostr","notion","save-the-internet","screenshot","self-hosted","snapshot","snapshot-webpage","telegram","telegraph","twitter","wayback-machine"],"latest_commit_sha":null,"homepage":"https://docs.wabarc.eu.org","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wabarc.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-06-13T10:08:05.000Z","updated_at":"2024-10-29T05:11:34.000Z","dependencies_parsed_at":"2022-07-16T15:47:24.158Z","dependency_job_id":"c1207b8e-ce99-4888-963c-999187a55b90","html_url":"https://github.com/wabarc/wayback","commit_stats":{"total_commits":498,"total_committers":13,"mean_commits":38.30769230769231,"dds":0.5622489959839357,"last_synced_commit":"e09f1da7e559444e62ca1abcbc5b25e4e54ee145"},"previous_names":[],"tags_count":57,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wabarc%2Fwayback","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wabarc%2Fwayback/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wabarc%2Fwayback/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wabarc%2Fwayback/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wabarc","download_url":"https://codeload.github.com/wabarc/wayback/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248335176,"owners_count":21086532,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["archive","har","heroku","internet-archive","ipfs","irc","mastodon","matrix","memento","nostr","notion","save-the-internet","screenshot","self-hosted","snapshot","snapshot-webpage","telegram","telegraph","twitter","wayback-machine"],"created_at":"2024-07-30T20:01:01.722Z","updated_at":"2025-04-11T03:29:03.755Z","avatar_url":"https://github.com/wabarc.png","language":"Go","readme":"# Wayback\n\n[![LICENSE](https://img.shields.io/github/license/wabarc/wayback.svg?color=green)](https://github.com/wabarc/wayback/blob/main/LICENSE)\n[![Go Report Card](https://goreportcard.com/badge/github.com/wabarc/wayback)](https://goreportcard.com/report/github.com/wabarc/wayback)\n[![Test Coverage](https://codecov.io/gh/wabarc/wayback/branch/main/graph/badge.svg)](https://codecov.io/gh/wabarc/wayback)\n[![Go Reference](https://img.shields.io/badge/godoc-reference-blue.svg)](https://pkg.go.dev/github.com/wabarc/wayback)\n[![Releases](https://img.shields.io/github/v/release/wabarc/wayback.svg?include_prereleases\u0026color=blue)](https://github.com/wabarc/wayback/releases)\n\n[![Telegram Bot](https://img.shields.io/badge/Telegram-bot-3dbeff.svg)](https://t.me/wabarc_bot)\n[![Discord Bot](https://img.shields.io/badge/Discord-bot-3dbeff.svg)](https://discord.com/api/oauth2/authorize?client_id=863324809206169640\u0026permissions=2147796992\u0026scope=bot%20applications.commands)\n[![Matrix Bot](https://img.shields.io/badge/Matrix-bot-0a976f.svg)](https://matrix.to/#/@wabarc_bot:matrix.org)\n[![Matrix Room](https://img.shields.io/badge/Matrix-room-0a976f.svg)](https://matrix.to/#/#wabarc:matrix.org)\n[![Tor Hidden Service](https://img.shields.io/badge/Tor%20Hidden%20Service-472756.svg)](http://wabarcoww2bxmdbixj7sjwggv3fonh2rpflfiildegcydk5udkdckdyd.onion/)\n[![World Wide Web](https://img.shields.io/badge/Web-15aabf.svg)](https://wabarc.eu.org/)\n[![Nostr](https://img.shields.io/badge/Nostr-8e44ad.svg)](https://iris.to/#/profile/npub1gm4xeu8wlt6aa56zenutkwa0ppjng5axsscv424d0xvv5jalxxzs4hjukz)\n\nWayback is a web archiving and playback tool that allows users to capture and preserve web content. It provides an IM-style interface for receiving and presenting archived web content, and a search and playback service for retrieving previously archived pages. Wayback is designed to be used by web archivists, researchers, and anyone who wants to preserve web content and access it in the future.\n\n## Features\n\n- Free and open-source\n- Expose prometheus metrics\n- Cross-platform compatibility\n- Batch wayback URLs for faster archiving\n- Built-in CLI (`wayback`) for convenient use\n- Serve as a Tor Hidden Service or local web entry for added privacy and accessibility\n- Easier wayback to Internet Archive, archive.today, IPFS and Telegraph integration\n- Interactive with IRC, Matrix, Telegram bot, Discord bot, Mastodon, Twitter, and XMPP as a daemon service for convenient use\n- Supports publishing wayback results to Telegram channel, Mastodon, and GitHub Issues for sharing\n- Supports storing archived files to disk for offline use\n- Download streaming media (requires [FFmpeg](https://ffmpeg.org/)) for convenient media archiving.\n\n## Getting Started\n\nFor a comprehensive guide, please refer to the complete [documentation](https://docs.wabarc.eu.org/).\n\n### Installation\n\nThe simplest, cross-platform way is to download from [GitHub Releases](https://github.com/wabarc/wayback/releases) and place the executable file in your PATH.\n\nFrom source:\n\n```sh\ngo install github.com/wabarc/wayback/cmd/wayback@latest\n```\n\nFrom GitHub Releases:\n\n```sh\ncurl -fsSL https://get.wabarc.eu.org | sh\n```\n\nor via [Bina](https://bina.egoist.dev/):\n\n```sh\ncurl -fsSL https://bina.egoist.dev/wabarc/wayback | sh\n```\n\nUsing [Snapcraft](https://snapcraft.io/wayback) (on GNU/Linux)\n\n```sh\nsudo snap install wayback\n```\n\nVia [APT](https://repo.wabarc.eu.org/deb:wayback):\n\n```bash\ncurl -fsSL https://repo.wabarc.eu.org/apt/gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/packages.wabarc.gpg\necho \"deb [arch=amd64,arm64,armhf signed-by=/usr/share/keyrings/packages.wabarc.gpg] https://repo.wabarc.eu.org/apt/ /\" | sudo tee /etc/apt/sources.list.d/wayback.list\nsudo apt update\nsudo apt install wayback\n```\n\nVia [RPM](https://repo.wabarc.eu.org/rpm:wayback):\n\n```bash\nsudo rpm --import https://repo.wabarc.eu.org/yum/gpg.key\nsudo tee /etc/yum.repos.d/wayback.repo \u003e /dev/null \u003c\u003cEOT\n[wayback]\nname=Wayback Archiver\nbaseurl=https://repo.wabarc.eu.org/yum/\nenabled=1\ngpgcheck=1\ngpgkey=https://repo.wabarc.eu.org/yum/gpg.key\nEOT\n\nsudo dnf install -y wayback\n```\n\nVia [Homebrew](https://github.com/wabarc/homebrew-wayback):\n\n```shell\nbrew tap wabarc/wayback\nbrew install wayback\n```\n\n### Usage\n\n#### Command line\n\n```sh\n$ wayback -h\n\nA command-line tool and daemon service for archiving webpages.\n\nUsage:\n  wayback [flags]\n\nExamples:\n  wayback https://www.wikipedia.org\n  wayback https://www.fsf.org https://www.eff.org\n  wayback --ia https://www.fsf.org\n  wayback --ia --is -d telegram -t your-telegram-bot-token\n  WAYBACK_SLOT=pinata WAYBACK_APIKEY=YOUR-PINATA-APIKEY \\\n    WAYBACK_SECRET=YOUR-PINATA-SECRET wayback --ip https://www.fsf.org\n\nFlags:\n      --chatid string      Telegram channel id\n  -c, --config string      Configuration file path, defaults: ./wayback.conf, ~/wayback.conf, /etc/wayback.conf\n  -d, --daemon strings     Run as daemon service, supported services are telegram, web, mastodon, twitter, discord, slack, irc, xmpp\n      --debug              Enable debug mode (default mode is false)\n  -h, --help               help for wayback\n      --ia                 Wayback webpages to Internet Archive\n      --info               Show application information\n      --ip                 Wayback webpages to IPFS\n      --ipfs-host string   IPFS daemon host, do not require, unless enable ipfs (default \"127.0.0.1\")\n  -m, --ipfs-mode string   IPFS mode (default \"pinner\")\n  -p, --ipfs-port uint     IPFS daemon port (default 5001)\n      --is                 Wayback webpages to Archive Today\n      --ph                 Wayback webpages to Telegraph\n      --print              Show application configurations\n  -t, --token string       Telegram Bot API Token\n      --tor                Snapshot webpage via Tor anonymity network\n      --tor-key string     The private key for Tor Hidden Service\n  -v, --version            version for wayback\n```\n\n#### Examples\n\nWayback one or more url to *Internet Archive* **and** *archive.today*:\n\n```sh\nwayback https://www.wikipedia.org\n\nwayback https://www.fsf.org https://www.eff.org\n```\n\nWayback url to *Internet Archive* **or** *archive.today* **or** *IPFS*:\n\n```sh\n// Internet Archive\n$ wayback --ia https://www.fsf.org\n\n// archive.today\n$ wayback --is https://www.fsf.org\n\n// IPFS\n$ wayback --ip https://www.fsf.org\n```\n\nFor using IPFS, also can specify a pinning service:\n\n```sh\n$ export WAYBACK_SLOT=pinata\n$ export WAYBACK_APIKEY=YOUR-PINATA-APIKEY\n$ export WAYBACK_SECRET=YOUR-PINATA-SECRET\n$ wayback --ip https://www.fsf.org\n\n// or\n\n$ WAYBACK_SLOT=pinata WAYBACK_APIKEY=YOUR-PINATA-APIKEY \\\n$ WAYBACK_SECRET=YOUR-PINATA-SECRET wayback --ip https://www.fsf.org\n```\n\nMore details about [pinning service](https://github.com/wabarc/ipfs-pinner).\n\nWith telegram bot:\n\n```sh\nwayback --ia --is --ip -d telegram -t your-telegram-bot-token\n```\n\nPublish message to your Telegram channel at the same time:\n\n```sh\nwayback --ia --is --ip -d telegram -t your-telegram-bot-token --chatid your-telegram-channel-name\n```\n\nAlso can run with debug mode:\n\n```sh\nwayback -d telegram -t YOUR-BOT-TOKEN --debug\n```\n\nBoth serve on Telegram and Tor hidden service:\n\n```sh\nwayback -d telegram -t YOUT-BOT-TOKEN -d web\n```\n\nURLs from file:\n\n```sh\nwayback url.txt\n```\n\n```sh\ncat url.txt | wayback\n```\n\n#### Configuration Parameters\n\nLook at the [full list of configuration options](docs/environment.md).\n\n## Deployment\n\n- [wabarc/on-heroku](https://github.com/wabarc/on-heroku)\n- [wabarc/on-github](https://github.com/wabarc/on-github)\n- [wabarc/on-render](https://github.com/wabarc/on-render)\n\n### Docker/Podman\n\n```sh\ndocker pull wabarc/wayback\ndocker run -d wabarc/wayback wayback -d telegram -t YOUR-BOT-TOKEN # without telegram channel\ndocker run -d wabarc/wayback wayback -d telegram -t YOUR-BOT-TOKEN -c YOUR-CHANNEL-USERNAME # with telegram channel\n```\n\n### 1-Click Deploy\n\n**Note:** These are free hosting options. If you need a quick and simple setup, this method may be ideal.\n\n[![Deploy](https://www.herokucdn.com/deploy/button.png)](https://heroku.com/deploy?template=https://github.com/wabarc/wayback)\n\u003ca href=\"https://render.com/deploy?repo=https://github.com/wabarc/on-render\"\u003e\n    \u003cimg\n    src=\"https://render.com/images/deploy-to-render-button.svg\"\n    alt=\"Deploy to Render\"\n    width=\"155px\"\n    /\u003e\n\u003c/a\u003e\n\n## Screenshots\n\n\u003cdetails\u003e\u003csummary\u003eClick to see screenshots of the services.\u003c/summary\u003e\n\n### Discord\n![Discord](./docs/assets/discord-server.png)\n\n### Web Service\n![Web](./docs/assets/web.png)\n\n### Mastodon\n![Mastodon](./docs/assets/mastodon.png)\n\n### Matrix\n![Matrix Room](./docs/assets/matrix-room.png)\n\n### IRC\n![IRC](./docs/assets/irc.png)\n\n### Slack\n![Slack Channel](./docs/assets/slack-channel.png)\n\n### Telegram\n![Telegram Bot](./docs/assets/telegram.png)\n![Telegram Channel](./docs/assets/telegram-channel.png)\n\n### XMPP\n![XMPP](./docs/assets/xmpp.png)\n\n\u003c/details\u003e\n\n## Contributing\n\nWe encourage all contributions to this repository! Open an issue! Or open a Pull Request!\n\nIf you're interested in contributing to `wayback` itself, read our [contributing guide](./CONTRIBUTING.md) to get started.\n\nNote: All interaction here should conform to the [Code of Conduct](./CODE_OF_CONDUCT.md).\n\n## License\n\nThis software is released under the terms of the GNU General Public License v3.0. See the [LICENSE](https://github.com/wabarc/wayback/blob/main/LICENSE) file for details.\n\n[![FOSSA Status](https://app.fossa.com/api/projects/custom%2B30014%2Fgithub.com%2Fwabarc%2Fwayback.svg?type=large)](https://app.fossa.com/projects/custom%2B30014%2Fgithub.com%2Fwabarc%2Fwayback?ref=badge_large)\n\n## Credits\n\nThanks to DigitalOcean for supporting open-source software.\n\n\u003cp\u003e\n  \u003ca href=\"https://m.do.co/c/cb27a8691d73\"\u003e\n    \u003cimg src=\"https://opensource.nyc3.cdn.digitaloceanspaces.com/attribution/assets/SVG/DO_Logo_horizontal_blue.svg\" width=\"201px\" alt=\"DigitalOcean\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n","funding_links":[],"categories":["Tools \u0026 Software","成品项目","Bot Building","Install from Source","Go","Finished Items","工具","Software","HarmonyOS","Bot建设","twitter","mastodon","Web Archiving"],"sub_categories":["Acquisition","组织","Archiving","To Organize","信息备份","Archiving and Digital Preservation (DP)","Windows Manager","Free e-books","Capture Operators \u0026 Services"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwabarc%2Fwayback","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwabarc%2Fwayback","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwabarc%2Fwayback/lists"}