larch

module
v0.0.0-...-099dad8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 14, 2021 License: MIT

README

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).

Directories

Path Synopsis
cmd
formats

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL