Skip to content
This repository has been archived by the owner on Jul 23, 2024. It is now read-only.
/ larch Public archive

A self-hosted service and toolset for managing, archiving, viewing and sharing bookmarks

License

Notifications You must be signed in to change notification settings

AlexGustafsson/larch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Warning

This project was archived 2024-07-23 as its seen no major development nor has any planned development. Consider using ArchiveBox instead.

Logo

Go Version Latest Release
Quick Start | Contribute

Larch

A self-hosted service and toolset for managing, archiving, viewing and sharing bookmarks

Note: Larch is currently being actively developed. Until it reaches v1.0.0 breaking changes may occur in minor versions.

Larch is a new service and all-around tool for managing, archiving, viewing and sharing bookmarks. It builds on one novel idea - Larch will one day become obsolete, but its archives must not.

That is, Larch is designed from the ground up knowing that it may one day cease to work. Whether this is due to radically new CPU architectures, deprecation of the binary format or any other reason, Larch will ensure that you may keep your archives for a long time to come.

Until then, however, Larch comes with some great features centered around a series of tools and APIs.

As a tool, Larch enables you to easily create archives of websites (bookmarks) and convert them between several formats such as WARC (archive.org) and WebArchive (Safari) right from your CLI.

As a service and API, Larch enables you to create and manage archives, bookmarks and share them via a lightweight server. It is built with complete control and extensibility in mind, centered around its API and a pluggable architecture.

Quickstart

Upcoming.

Table of contents

Quickstart
Features
Installation
Usage
Contributing

Features

  • Plugin-driven, extensible architecture (upcoming)
  • Automatic backups (upcoming)
  • Link monitoring (upcoming)
  • Archiving of websites
  • Fully controllable via APIs (upcoming)
  • Supports WARC archives (ISO 28500:2017)
  • Supports WebArchive
  • Supports TOR (upcoming)
  • Supports IPFS (upcoming)
  • Supports Encrypted Archives (upcoming)
  • Supports Netscape Bookmark Files (Safari, Chrome, Firefox)

Installation

Using Homebrew

Upcoming.

brew install alexgustafsson/tap/larch

Downloading a pre-built release

Download the latest release from here.

Build from source

Clone the repository.

git clone https://github.com/AlexGustafsson/larch.git && cd larch

Optionally check out a specific version.

git checkout v0.1.0

Build the application.

make build

Usage

Note: This project is still actively being developed. The documentation is an ongoing progress.

Usage: larch [global options] command [command options] [arguments]

A service for managing, archiving, viewing and sharing bookmarks

Version: v0.1.0, build . Built Fri Jan 22 21:08:46 CET 2021 using go version go1.15.6 darwin/amd64

Options:
  --verbose   Enable verbose logging (default: false)
  --help, -h  show help (default: false)

Commands:
  version  Show the application's version
  help     Shows a list of commands or help for one command

Documentation

WARC

WARC 1.0 is implemented according to the ISO 28500:2017 draft available here: http://bibnum.bnf.fr/WARC/WARC_ISO_28500_version1_latestdraft.pdf.

Resources:

Contributing

Any help with the project is more than welcome. The project is still in its infancy and not recommended for production.

Development

# Clone the repository
https://github.com/AlexGustafsson/larch.git && cd larch

# Show available commands
make help

# Build the project for the native target
make build

Note: due to a bug (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93082, https://bugs.llvm.org/show_bug.cgi?id=44406, https://openradar.appspot.com/radar?id=4952611266494464), clang is required when building for macOS. GCC cannot be used. Build the server like so: CC=clang make server.

License

The Larch logo was created by Amanda Svensson and is licensed under Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported (CC BY-NC-ND 3.0).

About

A self-hosted service and toolset for managing, archiving, viewing and sharing bookmarks

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published