Find Jobs
Hire Freelancers

Dead Man's Switch (Java Desktop App)

$500-1500 USD

Cerrado
Publicado hace casi 14 años

$500-1500 USD

Pagado a la entrega
Create v1.0 of a new open-source, platform-independent Deadman's Switch in Java. A Dead Man’s Switch is a system that allows users to set up a broadcast message consisting of text and files (a “payload??) that will be sent out automatically (unattended) in the event the user does not re-set the trigger before a certain condition is reached (such as 90 days passing without user intervention, or their web server remaining offline for a certain period of time). Example of usage: a user wants to have a self-authored last message consisting of text and personal documents emailed to friends and family after their death. Please see the technical specification included at the end of this listing for more details on the requirement. ## Deliverables **1. GENERAL DESCRIPTION -** LastStand is a Dead Man's Switch, a system that allows users to set up a broadcast message consisting of text and files (the "payload") that will be sent out unattended and automatically in the event the user does not re-set the trigger before a certain condition is reached (such as 90 days passing without user intervention, or their web server remaining offline for a certain period of time). As this project is open-source, key considerations for the developer are platform-independence, modularity (ease of update / modification and re-use of code for functions such as encryption), documentation of code (heavy comments), and support for foreign-language translations. **1.1 Purpose -** The purpose for developing this open-source software is to preserve the free, uncensored flow of information by providing a tool that guarantees survivable, last-chance communication in the event a user is denied access to standard public communications networks by force, detainment, or death. The target user is anyone who is at risk of being unjustly silenced -- human rights activists living under hostile regimes, journalists, and whistleblowers, for instance. **1.2 Scope -** The scope of LastStand is both local, small network, and global. It can function independently on a single machine, being activated, reset, or deactivated from anywhere through internet through the use of passwords for low-risk users. This local configuration can then be cloned to other user-owned machines for small-scale, private redundancy. **Future scope:** For users operating in a high-risk environment, the functionality for a user to replicate their payload (segmented and strongly encrypted) across the shared cloud of LastStand users will be developed, providing increased security. **1.3 Abbreviation -** LS - LastStand DMS - Dead Man's Switch **1.4 Overview -** LastStand is managed through a simple GUI interface, with its functions accessed through corresponding buttons, menus, and pop-up panels. The developer should make a user interface as user friendly as possible. In general, pop-up panels displaying simple, wizard-style walk-throughs explain how the process works to the user unless they are cancelled or disabled. More information is provided for complicated fields or options by tooltips that appear on mouse-over. After a user has set up their payload and trigger conditions, they are prompted to create a cryptographically strong (AES-256, Twofish, or Serpent with a 512-bit or greater salt) password, which locks access to that installation of the program and payload. This payload and trigger configuration are encrypted and exported to a file that can then be imported on another machine, which provides a simple redundancy and backup capability. Backup at the main server should be made. **2. OVERALL DESCRIPTION** **2.1 Product Perspective -** LastStand should be compatible with all the operating systems. **2.2 Product Functions -** The following are the product functions of LastStand: - Create of "payloads," messages and content consisting of text, files, or a combination of both (for example, encryption keys, important private documents, a personal confession, instructions, or even all of the above). - User-configured payload dissemination methods (user-supplied email addresses, distribution lists made of comma-space delimited file of email addresses). **Future: IRC, Forum Post, uploads to popular Web Site types.** - Dissemination of a payload when trigger conditions are exceeded (for example, 90 days have passed without a trigger reset). - Dissemination "stages" - when dissemination occurs, user can choose to have different actions taken at certain times (for example, Payload #1 is immediately sent first to a trusted associate, asking them to verify the user's safety, then seven days later, Payload #2 is sent out to a wide distribution list if the switch has not been reset; alternately, a single payload could be sent to different people at different times). - Importation/Exportation of payload, dissemination, and program settings as strongly-encrypted files. - A "Doomsday button," allowing a user under duress to immediately release one/all payload[s]. This can be performed from anywhere (with password confirmation) via the internet. **Future: via cell phone SMS.** - Remote reset/deactivation. A user can reset/deactivate their LastStand timer remotely via the internet. Different passwords are used for reset, deactivation, and Doomsday functions, allowing a user under duress to maintain positive control of their information by divulging to the third party whichever password serves their purpose. - LastStand can run invisibly, making it more difficult to determine whether or not a user has an active Dead Man's Switch. - Web distribution lists, allowing LastStand to additionally disseminate a payload to an updated distribution list pulled from a website when a trigger condition occurs. - **Future:** LastStand Web agent, allowing LastStand to be hosted on private web servers. - **Future:** Webcam activation payload. - **Future:** Voluntary Rootkit mode, allowing more effective concealment of LastStand. **2.3 User Characteristics -** Users are intended to be unique per installation. **2.4 General Constraints -** The general constraints for LastStand are reliability of the application and its communications (to include passage through NAT / firewall), uptime, concealability, and (future) cloud storage space. **2.5 Assumptions and Dependencies -** LastStand must work even when network traffic is high. All network inputs must be validated for application security. LS should be compatible with all operating systems so long as Java is installed. **3. SPECIFIC REQUIREMENTS** **3.1 External Interface Required** **3.1.1 User Interfaces -** Local machine GUI and remote access password prompt / confirmation. **3.1.2 Hardware Interfaces** **3.1.3 Software Interfaces -** The Operating Systems can be any version of Windows, Linux, Unix or Mac which supports Java and TCP/IP. **3.1.4 Communication Interfaces -** The communication interface is a local area network with connectivity to the internet. **3.2 Performance Requirements -** Outside of encryption operations, LastStand should perform quickly and reliably on any reasonably modern machine (2006 or newer). **3.3 Design Constraints -** Unanticipated advances in cryptanalysis, cloud storage, and rootkit development may necessitate design updates, so developers must keep this in mind and design the product in a way that it is easily updatable. **3.4 Attributes -** **3.5 Other Requirements -** To prepare for future developers joining the team, all code should be heavily commented. * * *This broadcast message was sent to all bidders on Saturday Jun 5, 2010 7:43:05 AM: All, As many of you noticed from the techspec, this is a very important project that will positively impact freedom of information in areas where it is threatened around the world, and you have reason to be proud for offering your assistance in seeing a free, open-source Dead Man's Switch become available to all. I want to extend my greatest thanks to you for taking the time to submit your bid proposals. While I would be extremely glad to work with any of you, ultimately budget constraints require that I select a single lead for this version 1.0 development project. I have selected kenotron as the lead for this stage of the project. If any of you would like to contribute again to this project in the future, please let me know and I will make sure you get a link to the project hosting site once we get it online. I look forward to having the chance to collaborate again with you in the future. Thank you very, very much for your contribution to the realization of this project. Best regards, -ProjectKillSwitch
ID del proyecto: 3460245

Información sobre el proyecto

13 propuestas
Proyecto remoto
Activo hace 14 años

¿Buscas ganar dinero?

Beneficios de presentar ofertas en Freelancer

Fija tu plazo y presupuesto
Cobra por tu trabajo
Describe tu propuesta
Es gratis registrarse y presentar ofertas en los trabajos
13 freelancers están ofertando un promedio de $994 USD por este trabajo
Avatar del usuario
See private message.
$1.104,15 USD en 19 días
4,9 (97 comentarios)
6,3
6,3
Avatar del usuario
See private message.
$850 USD en 19 días
5,0 (16 comentarios)
5,6
5,6
Avatar del usuario
See private message.
$1.190 USD en 19 días
4,6 (29 comentarios)
5,4
5,4
Avatar del usuario
See private message.
$1.020 USD en 19 días
4,8 (73 comentarios)
5,1
5,1
Avatar del usuario
See private message.
$1.275 USD en 19 días
5,0 (6 comentarios)
4,0
4,0
Avatar del usuario
See private message.
$1.275 USD en 19 días
1,1 (4 comentarios)
4,7
4,7
Avatar del usuario
See private message.
$637,50 USD en 19 días
5,0 (5 comentarios)
2,5
2,5
Avatar del usuario
See private message.
$680 USD en 19 días
5,0 (4 comentarios)
2,3
2,3
Avatar del usuario
See private message.
$425 USD en 19 días
4,8 (2 comentarios)
0,6
0,6
Avatar del usuario
See private message.
$1.275 USD en 19 días
0,0 (0 comentarios)
0,0
0,0
Avatar del usuario
See private message.
$1.275 USD en 19 días
0,0 (0 comentarios)
0,0
0,0
Avatar del usuario
See private message.
$850 USD en 19 días
0,0 (0 comentarios)
0,0
0,0
Avatar del usuario
See private message.
$1.062,50 USD en 19 días
0,0 (0 comentarios)
0,0
0,0

Sobre este cliente

Bandera de UNITED STATES
United States
0,0
0
Miembro desde may 27, 2010

Verificación del cliente

¡Gracias! Te hemos enviado un enlace para reclamar tu crédito gratuito.
Algo salió mal al enviar tu correo electrónico. Por favor, intenta de nuevo.
Usuarios registrados Total de empleos publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Cargando visualización previa
Permiso concedido para Geolocalización.
Tu sesión de acceso ha expirado y has sido desconectado. Por favor, inica sesión nuevamente.