From 21b4eec6c1e096573bcd5f2079bc21e23a960621 Mon Sep 17 00:00:00 2001 From: Adam Mathes Date: Fri, 13 Feb 2026 18:43:03 -0800 Subject: refactor(backend): improve testability and add tests (NK-6q9nyg) --- readme.html | 346 ------------------------------------------------------------ 1 file changed, 346 deletions(-) delete mode 100644 readme.html (limited to 'readme.html') diff --git a/readme.html b/readme.html deleted file mode 100644 index 9269faf..0000000 --- a/readme.html +++ /dev/null @@ -1,346 +0,0 @@ - - - - - - -
-                     ██
-                     ██
-                     ██
- ██░████    ░████▒   ██  ▓██▒   ░████░
- ███████▓  ░██████▒  ██ ▓██▒   ░██████░
- ███  ▒██  ██▒  ▒██  ██▒██▒    ███  ███
- ██    ██  ████████  ████▓     ██░  ░██
- ██    ██  ████████  █████     ██    ██
- ██    ██  ██        ██░███    ██░  ░██
- ██    ██  ███░  ▒█  ██  ██▒   ███  ███
- ██    ██  ░███████  ██  ▒██   ░██████░
- ██    ██   ░█████▒  ██   ███   ░████░
-
-             v0.2 manual
-               7/4/2018
-
- - - - - - -

-Neko

- -

neko is a self-hosted, rss reader focused on simplicity and efficiency.

- -

Backend is written in Go and there is a simple javascript frontend and cat ears.

- -

note: the cat ears are in your mind

-

-Features

- - -

-Screenshots

- -

Screenshot 1

- -

Screenshot 2

-

-Installation

-

-Requirements

- -

If you are using a binary, no dependencies!

- -

NOTE: I haven't put up any binaries yet.

-

-Building

-

-Dependencies

- - - -

This will download neko, dependencies, and build them all in $GOPATH/src/. By default this should be something like $HOME/go/src/.

- -

A neko binary should now be in $GOPATH/bin/. By default this is usually $HOME/go/bin/

-

-Configuration

- -

Everything can handled with a few command line flags. You shouldn't need to change the defaults most of the time.

- -

You can also set options using a configuration file yaml, described at the end of this README (but you probably don't need to.)

-

-Storage

- -

By default neko will create the file neko.db in the current directory for storage.

- -

You can override the location of this database file with the --database command line option or -d short option.

- -
$ neko --database=/var/db/neko.db --add=http://trenchant.org/rss.xml
-
- -

which is equivalent to --

- -
$ neko -d /var/db/neko.db --add=http://trenchant.org/rss.xml
-
- -

For expert users -- this is a SQLite database and can be manipulated with standard sqlite commands --

- -
$ sqlite3 neko.db .schema
-
- -

-- will print out the database schema.

-

-Usage

-

-Web Interface

- -

You can do most of what you need to do with neko from the web interface, which is what neko does by default.

- -
$ neko
-
- -

neko web interface should now be available at 127.0.0.1:4994 -- opening a browser up to that should show you the interface.

- -

You can specify a different port using the --http option.

- -
$ neko --http=9001
-
- -

If you are hosting on a publicly available server instead of a personal computer, you can protect the interface with a password flag --

- -
$ neko --password=rssisveryimportant
-
-

-Add Feed

- -

You can add feeds directly from the command line for convenience --

- -
$ neko --add=http://trenchant.org/rss.xml
-
-

-Crawl Feeds

- -

Update feeds from the command line with --

- -
$ neko --update
-
- -

This will fetch, download, parse, and store in the database your feeds.

-

-Export

- -

Export de facto RSS feed standard OPML from the command line with --

- -
$ neko --export=opml
-
- -

Change opml to text for a simple list of feed URLs, or json for JSON formatted output.

- -

Export is also available in the web interface.

- -

Import of OPML and other things is a TODO item.

-

-All Command Line Options

- -

View all command line options with -h or --help

- -
$ neko -h
-
- -

Usage of neko: - -a, --add http://example.com/rss.xml

- -
    add the feed at URL http://example.com/rss.xml
-
- -

-c, --config string

- -
    read configuration from file
-
- -

-d, --database string

- -
    sqlite database file
-
- -

-x, --export string

- -
    export feed. format required: text, json or opml
-
- -

-h, --help

- -
    print usage information
-
- -

-s, --http int

- -
    HTTP port to serve on
-
- -

-i, --imageproxy

- -
    rewrite and proxy all image requests for privacy (experimental)
-
- -

-m, --minutes int

- -
    minutes between crawling feeds
-
- -

-p, --password string

- -
    password to access web interface
-
- -

-u, --update

- -
    fetch feeds and store new items
-
- -

-v, --verbose

- -
    verbose output
-
- -

These are POSIX style flags so --

- -
$ neko --minutes=120
-
- -

is equivalent to

- -
$ neko -m 120
-
-

-Configuration File

- -

For convenience, you can specify options in a configuration file.

- -
$ neko -c /etc/neko.conf
-
- -

A subset of the command line options are supported in the configuration file, with the same semantics --

- - - -

For example --

- -
database: /var/db/neko.db
-http: 9001
-imageproxy: true
-minutes: 90
-password: VeryLongRandomStringBecauseSecurityIsFun
-
-
-

-TODO

- - -

-History

-

-Early 2017

- -

I decided I didn't like the original version of this that was python and mongo so rewrote it. I wanted to learn some Go. So assume the code is not great since I don't know what I'm doing even more so than normal.

- -

The Javascript frontend is still the same, I keep saying I will rewrite that too since it's old backbone.js code but it still seems to mostly work. It's not very pretty though.

-

-July 2018 -- v0.2

- -

Significant changes to simplify setup, configuration, usage. The goal was typing neko should be all you need to do to get started and use the software.

- - -

-Feedback

- -

Pull requests and issues are welcomed at https://github.com/adammathes/neko

-
\ No newline at end of file -- cgit v1.2.3