Giter Club home page Giter Club logo

sanctuary's People

Contributors

amaank404 avatar dependabot[bot] avatar gridhead avatar rmaster121 avatar sohansp24 avatar vaibhavsaini19 avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sanctuary's Issues

Rename chatroom input field placeholders

Rename input field placeholders from Joining link to Chatroom joining ID, as the generated link is more of an unique ID rather than a hyperlink, it makes more sense.

Add Option for IP Address

I have seen that this project does not allow to choose IP Address for hosting the Web Application, so i thought I can fix it.
Hence I will be getting a new pull request Up for the same.

Provide continuous tracking for chatroom properties

Provide options for continually checking of parameters like

  • Chatroom validity - Allow people to communicate if true, redirect back to home if false.
  • User activity - On joining of each user, display the username and mark them as active.

Add purge chatroom option available to everyone

Add an entry for chatroom purge in the database by listing the following things

  • A boolean value to state if the chatroom is purged or not.
  • A timestamp value as to when the chatroom was purged.
  • A text value as to state which user caused the chatroom purge.

Dont rely on the builting Flask Development server.

you should never serve a page thats supposed to be used with the Falsk Development server.

The development server is provided by Werkzeug for convenience, but is not designed to be particularly efficient, stable, or secure.

an alternative to Flask could be Sanic, which is similar to Flask but based on asyncio, and has a builtin server that works for deployment.

typo in instructions

From the instructions:

http://< YOUR-LOCAL-IP-ADDRESS >/6969/
should rather say
http://< YOUR-LOCAL-IP-ADDRESS >:6969/

Clients can read messages from all rooms, even if not joined to rooms

Hi there!

I happened across your project recently (love the idea!), and while reading through the code I think I uncovered a security hole.

Let's say you have a client A in a private channel A'. When A sends a message to the server, it sends the room (A') that the message is associated with to the server as a field on the payload:
https://github.com/astrosonic/sanctuary/blob/master/templates/actiroom.html#L84-L94

The server checks to see if the room is active, and then broadcasts that message out to all connected clients:
https://github.com/astrosonic/sanctuary/blob/master/main.py#L168-L171

So if we have a client B in a separate private channel B', they will receive the message. Currently this isn't noticeable if B is a casual observer, because only messages from the joined room get displayed:
https://github.com/astrosonic/sanctuary/blob/master/templates/actiroom.html#L108

However, all B has to do to read A's messages is to remove that filtering out; this is trivial to do in a browser's Javascript console. This means that any malicious client with network access to the chat server can listen in on all the messages being sent on the server in any room.

To fix this, I think you'd want to do two things:

  • Server-side, use SocketIO's built-in room support to send messages only to clients within that room
  • Server-side, only allow clients to connect (to read or publish messages) if they've supplied the correct password for the room

Does that make sense? Happy to clarify!

only chatroom identify DEADCAFE works

On Raspberry Pi 3 Model B Rev 1.2, following instructions verbatim, I am not able to connect local network clients to any chatroom identity EXCEPT for "DEADCAFE" (no idea where this identify was generated from but it showed up when I hit the reload icon at the top of the client)

Add logout option for chatroom users

Add logout option for chatroom users such that they can destroy their side of all the chats and leave the chatroom safely while invalidating their current session.

Active logging

  • About users who have joined or left
  • About users who are active and inactive

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.