GithubHelp home page GithubHelp logo

lyrenhex / verum-cli Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 43 KB

Command-line client for Verum.

Home Page: https://verum-cli.damianheaton.com

License: GNU General Public License v3.0

JavaScript 99.04% Shell 0.96%
cli client encryption nodejs verum

verum-cli's Introduction

Hey ๐Ÿ‘‹

๐Ÿ˜„ Pronouns: he / they

I'm a software developer at Arm and an undergraduate Computer Science student at the University of York. You're welcome to read more about my professional work at mheaton.dev. Otherwise...

Personal projects

You might know me from some of the projects I maintain:

  • twedia, a music management solution for Twitch streamers (why?);
  • eos, a progressive web application (PWA) to help track mental health and provide resources;
  • the covid19-uk-rs library to interact with the 'Coronavirus in the UK' dataset using Rust bindings;
  • or others! I have plenty more archived projects that I worked on and learned from. โšก

Other than maintaining existing projects, most of my work at the moment is likely to be for university or open-source work in Arm.

(Your friendly reminder that any opinions are my own. Cheers!)

verum-cli's People

Contributors

lyrenhex avatar scratso avatar

Stargazers

 avatar

Watchers

 avatar

verum-cli's Issues

Blocking

For a system as "open" as Verum (despite there not being a central user directory), spam will likely become an issue later on. Verum Nodes should, by definition, not actively censor, and thus should not be responsible for the censorship of blocked messages. This leaves the task of block handling to the Verum clients.

Verum-CLI could handle this with a new block action, like so:

$ verum-cli block <verum id> which would block verum-id, and messages from this user would not be displayed.

There should therefore be two additional commands:

$ verum-cli blocked to list the blocked users, and
$ verum-cli unblock <verum id> to remove the verum id from the block list.

Groups

This is a fairly simple idea for grouping people.

In order to avoid constantly resending the same message to numerous people, Verum could support internal groups, which would operate like mailing lists. Users could create a group with verum-cli group <group> [action] [user] [user] [user].... If action is omitted, a new group with the name group would be created, with any users specified as members. action would support modification commands, such as add, remove, etc.

Then, when a user wishes to message a group, they may simply do verum-cli sendmsg <group> <message>, where group is the name of the group. Verum-CLI would identify that the recipient does not have a Node address (no '@' symbol), and assume the user is referencing a group. For each member of the group, it would then send a message thus:

<message> // as defined by the user

This is a group message, sent as you have been placed in <sender>'s <group> group.
You may ask to be removed, or block the user, if you do not wish to receive these messages.
The following people are members of this group: <list of fellow group members>

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.