Code Monkey home page Code Monkey logo

ybfeed's Introduction

Introduction

ybFeed is a personal micro feed where you can post snippets of text or images.

The primary use case is to share information between computers when you don't have the possibility to copy/paste, like on a restricted VDI environment.

Open the feed on your local computer, and the remote one, then everything will be kept in sync when you add or remove items.

Concepts

On ybFeed home page, you are invited to create a feed with a unique name.

Once on a feed, you can paste data in it, text or images, they will be displayed in reverse order.

You can then decide to share the feed two different ways :

  • Copy a secret link to the feed, that you can paste on a different computer, you will be automatically authenticated
  • Set a temporary 4 digit PIN. You then go to another computer and open the feed. You will be prompted for the PIN to unlock it.

Screenshot

Screenshot

Caveats

This is just a side project I'm working on, so there is probably lots of issues.

Feel free to open GitHub issues to reuest features or bug fixes.

Here are some I already identified :

  • Paste might not work over non secured connections (https), this is a limitation as a security measure with some web browsers
  • ybFeed relies on a cookie to authenticate a session, if the cookie is lost there is no easy way to retrieve the feed (you can get it back from the config.json file in the feed directory)
  • Most modern browser won't honor long cookie lifetime, you might have to recover the secret from config.json if it happens.
  • Security could probably be improved, tokens and PINs are stored in clear on the filesystem
  • No rate control or capacity limits, quite exposed to flooding as it is

Environment variables

Variable name Description
YBF_DATA_DIR points to an alternative direcotry to store data, default is ./data/ in current directory.
YBF_HTTP_PORT TCP port to run the server, default is 8080.
YBF_LISTEN_ADDR IP address to bind, default is 0.0.0.0.

Installation

Using Docker registry

Use this method to treat youself with a quick demo of the most current version

mkdir data
docker run -p 8080:8080 -v $(pwd)/data:/data ghcr.io/ybizeul/ybfeed:latest

You can now point your browser to http://localhost:8080/

Using Docker from source

Use this method if you're interested by the code and hacking around

git clone https://github.com/ybizeul/ybFeed.git
cd ybFeed
docker compose up -d

You can now point your browser to http://localhost:8080/

Building

Using Makefile

make

Manually

Once you cloned the repository, issue the following commands :

cd web/ui/

# Install node dependencies
npm install

# Build UI
npm run build

# Build Go binary
cd ../../
go build -o ybFeed cmd/ybfeed/*.go

# Run ybFeed
./ybFeed

# Point your browser to port http://localhost:8080

Building container

docker build . -t ybfeed

ybfeed's People

Contributors

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