Added README, TODO, and some changes to Makefile and net.h for Solaris/OpenIndiana
parent
af41084368
commit
1623b039b9
16
Makefile
16
Makefile
|
@ -1,4 +1,3 @@
|
|||
OUT = bcast
|
||||
PREFIX=./
|
||||
OBJS = main.o net.o common.o
|
||||
CON_OBJS = con/console.o
|
||||
|
@ -6,12 +5,16 @@ CC = gcc
|
|||
DEBUG = -g
|
||||
CFLAGS = -Wall -c $(DEBUG)
|
||||
LFLAGS = -Wall $(DEBUG)
|
||||
ifeq ($(OS),Windows_NT)
|
||||
else
|
||||
UNAME_S := $(shell uname -s)
|
||||
ifeq ($(UNAME_S),SunOS)
|
||||
LFLAGS += -lsocket -lnsl
|
||||
endif
|
||||
endif
|
||||
X11_OBJS = x11/x11.o
|
||||
X11_LFLAGS = -L/usr/X11R6/lib -lX11
|
||||
|
||||
$(OUT): $(CON_OBJS) $(OBJS)
|
||||
$(CC) $(OBJS) $(CON_OBJS) $(LFLAGS) -o $(OUT)
|
||||
|
||||
ccast: $(OBJS) $(CON_OBJS)
|
||||
$(CC) $(OBJS) $(CON_OBJS) $(LFLAGS) -o ccast
|
||||
|
||||
|
@ -21,10 +24,7 @@ xcast: $(OBJS) $(X11_OBJS)
|
|||
all: bcast ccast xcast
|
||||
|
||||
clean:
|
||||
rm $(OBJS) $(CON_OBJS) $(X11_OBJS) ccast xcast $(OUT)
|
||||
|
||||
install:
|
||||
cp $(OUT) $(PREFIX)/$(OUT)
|
||||
rm $(OBJS) $(CON_OBJS) $(X11_OBJS) ccast xcast
|
||||
|
||||
net.o: net.c net.h macros.h
|
||||
$(CC) $(CFLAGS) -c net.c
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
---- info ----
|
||||
Bcast is a decentralized and LAN-based communication program that is focused on minimalism, efficiency, and, to some degree, modularity. It supports the following network communication methods:
|
||||
|
||||
UDP broadcasting, for chat-style and "broad" communication
|
||||
*INCOMPLETE* UDP multicast, for finer control and higher efficiency than broadcasting
|
||||
*INCOMPLETE* UDP peer-to-peer, for non-TCP based direct comms
|
||||
*INCOMPLETE* TCP sockets, for direct peer-to-peer communication
|
||||
|
||||
In comparison to most communication programs geared towards decentralization, bcast attempts to separate the user interface from the networking code as much as is possible. This enables multiple frontends to easily be developed for almost any platform.
|
||||
|
||||
Even further, bcast provides peer-to-peer or peer-to-group encryption via a trusted network/shared password scheme - in the case of a direct peer-to-peer comm, following the initial handshaking procedure encrypted with the trusted key, a new, temporary key is agreed upon and used for future communication between those peers.
|
||||
|
||||
---- compiling ----
|
||||
|
||||
At the moment bcast compiles into the following binaries:
|
||||
ccast: primary client
|
||||
Fully-supported terminal client, relies on nothing more than an
|
||||
ANSI-compliant terminal interface - colors optional
|
||||
xcast:
|
||||
state: in-complete stub, basic interface w/ buttons
|
||||
Fully-supported X11 client, relies on nothing more than Xlib
|
||||
|
||||
To compile either, simply type:
|
||||
make ccast
|
||||
or
|
||||
make xcast
|
|
@ -0,0 +1,13 @@
|
|||
* direct messaging, both TCP sockets and UDP
|
||||
* various conditional requests, such as PING, etc.
|
||||
* multicast message type
|
||||
* multi-packet messages
|
||||
* file transferrals
|
||||
* multiple message "modes," such as encrypted, unencrypted
|
||||
* custom tunneling interface, possibly
|
||||
|
||||
* Fully-working X11 interface
|
||||
* Windows interfaces
|
||||
* possibly make a non-select() and non-ANSI derivative of ccast
|
||||
* GDI (I think?)
|
||||
* OS X interface (lower priority, due to terminal + x11 support)
|
Loading…
Reference in New Issue