Giter Site home page Giter Site logo

litter's Introduction

Litter - Microblogging for the LAN
==================================

Litter is a microblogging service designed for the local area network. It uses IP multicasting to send updates to other nodes that is reacheable via multicast (typically a LAN, or a multicast-supporting VPN). It listens on one or more network interfaces defined by the user at startup. The service is accessed through a web interface at http://127.0.0.1:8080. It currently runs on Linux and Windows.


Instructions
------------


On Linux, provide the name of the network interface to listen on with the -i option.

    python litter.py -i eth0

Litter also supports multiple interfaces

    python litter.py -i eth0 -i wlan0

You can also specify a user id

    python litter.py -i eth0 -n myid

You can also change the TCP port for the web interface

    python litter.py -i eth0 -n myid -p 8080

On Windows, after you install the Python, go to the src folder and double-click on litter.py

Interface
---------
To access the web interface, open the browser to http://127.0.0.1:8080


License
-------

Public domain for now.


litter's People

Contributors

benglard avatar johnynek avatar pstjuste avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

litter's Issues

Use gravatar identicon to match avatar to uid

Send hash of public key (hence UID) to gravatar so that we can get Identicon image which maps to the unique key. Also later on provide the ability for someone to map friends to local images as their avatar

Port to windows

Hopefully, I can easily port everything to windows with minimal changes

Switch to multiprogramming module for threading

The python threading module is extremely slow because only one thread executes, sometimes HTTP requests takes a long time if other threads are active such as workerthread or response thread

There should be a maximum size enforced (I recommend 140 chars)

The UI should truncate messages after 140 characters, and litter servers should ignore messages longer than that (there could be bad clients out there that try to attack you by sending giant messages). Ideally there would be a character count in Javascript shown above the message.

No way to shutdown.

I suggest a "shutdown" button on the web site. This could send a special message to the HTTP thread, which would then tell all the other threads to shutdown. How does this sound?

litter is accessible to all hosts

short term fix: bind only to 127.0.0.1 for HTTP, long term fix; allow setting a username and password when you start your litter server.

bug in socket option.

ERROR:root:'module' object has no attribute 'SO_REUSEPORT'
Traceback (most recent call last):
File "./litter.py", line 82, in init_mcast
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1)
AttributeError: 'module' object has no attribute 'SO_REUSEPORT'

Detect urls

regular expression search on tweets, turn http into link

HTTP thread is fragile

do_POST and do_GET seem to be very fragile. If they have an error, I think only bad things happen. You should put a try block and in the Except return an error message to the browser. The browser should check to see if the result is an error or a good reponse. If it is an error, it can pop up an alert window or something.

Fix characters left section

Figure out the right keyboard/mouse events to use to properly update the number of characters left in a message

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.