Git Product home page Git Product logo

twitter-archiver's Introduction

Make your own simple, public, searchable Twitter archive

This is a Node app that takes in your Twitter archive zip file, in the format that it is provided circa December 2022, and generates a zip file with another website in it.

It is based on Darius Kazemi's browser-based Twitter website generator, as modified by Andi McClure, with the primary difference being it runs at the Node command line. (A primitive mixed-mode commandline/web version is also in this repo under tag cmdline.) This version also contains many minor look-and-feel improvements, and two new features:

  • Several elements of the generated site can be customized using a config file; see sample/sample.toml.
  • The Node version, like the browser version, cannot read or write zip files larger than 2 GB. However, this version can use a directory rather than a zip file for both input and output. The largest Twitter archive which the tool has successfully archived in this way was 20 GB. Note when writing large archives to disk, it is a good idea to use the --batch argument, for example --batch 100.

Both the Darius and Andi contributions are available under the MIT license.

Included in this repo is a distribution of Flexsearch, fetched from https://cdn.jsdelivr.net/gh/nextapps-de/[email protected]/dist/flexsearch.bundle.js on Dec. 20, 2023. You may choose between redistributing this file yourself or directly linking jsdelivr.net.

Be advised that this app calls eval() on the Twitter zip input, which in the Node context is kind of dangerous.

Usage

This app requires a relatively new Node. I am using 18.16.1.

After checkout, run:

npm install && npm run build

After building, the following commands work:

npm run exec -- path/to/input.zip path/to/output.zip -b http://site-youll-install-on.com/

Runs the site generator from the command line. The -- is significant. You may also specify a directory instead of a zip file.

npm run exec -- --help

Prints site generator command line flags.

twitter-archiver's People

Contributors

mcclure avatar dariusk avatar andypiper avatar edsu avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.