From 03802e68e8ad10dfc74e249455e08dcd05fdf51a Mon Sep 17 00:00:00 2001 From: Hardcore Sushi Date: Sat, 20 Mar 2021 19:59:56 +0100 Subject: [PATCH] Genesis --- .gitignore | 3 + Cargo.toml | 36 ++ LICENSE | 613 ++++++++++++++++++ README.md | 42 ++ screenshot.png | Bin 0 -> 55151 bytes src/cli.rs | 64 ++ src/constants.rs | 4 + src/crypto.rs | 234 +++++++ src/discovery.rs | 49 ++ src/frontend/commons/script.js | 13 + src/frontend/commons/style.css | 33 + src/frontend/imgs/icons/add_contact.svg | 1 + src/frontend/imgs/icons/attach.svg | 1 + src/frontend/imgs/icons/download.svg | 1 + src/frontend/imgs/icons/logout.svg | 1 + src/frontend/imgs/icons/remove_contact.svg | 1 + src/frontend/imgs/icons/verified.svg | 1 + src/frontend/imgs/icons/warning.svg | 1 + src/frontend/imgs/wallpaper.jpeg | Bin 0 -> 560379 bytes src/frontend/index.html | 710 +++++++++++++++++++++ src/frontend/libs/linkify-element.min.js | 1 + src/frontend/libs/linkify-html.min.js | 1 + src/frontend/libs/linkify.min.js | 1 + src/frontend/login.html | 212 ++++++ src/identity.rs | 376 +++++++++++ src/main.rs | 534 ++++++++++++++++ src/session_manager/mod.rs | 405 ++++++++++++ src/session_manager/protocol.rs | 24 + src/session_manager/session.rs | 237 +++++++ src/ui_interface.rs | 153 +++++ src/utils.rs | 26 + 31 files changed, 3778 insertions(+) create mode 100644 .gitignore create mode 100644 Cargo.toml create mode 100644 LICENSE create mode 100644 README.md create mode 100644 screenshot.png create mode 100644 src/cli.rs create mode 100644 src/constants.rs create mode 100644 src/crypto.rs create mode 100644 src/discovery.rs create mode 100644 src/frontend/commons/script.js create mode 100644 src/frontend/commons/style.css create mode 100644 src/frontend/imgs/icons/add_contact.svg create mode 100644 src/frontend/imgs/icons/attach.svg create mode 100644 src/frontend/imgs/icons/download.svg create mode 100644 src/frontend/imgs/icons/logout.svg create mode 100644 src/frontend/imgs/icons/remove_contact.svg create mode 100644 src/frontend/imgs/icons/verified.svg create mode 100644 src/frontend/imgs/icons/warning.svg create mode 100644 src/frontend/imgs/wallpaper.jpeg create mode 100644 src/frontend/index.html create mode 100644 src/frontend/libs/linkify-element.min.js create mode 100644 src/frontend/libs/linkify-html.min.js create mode 100644 src/frontend/libs/linkify.min.js create mode 100644 src/frontend/login.html create mode 100644 src/identity.rs create mode 100644 src/main.rs create mode 100644 src/session_manager/mod.rs create mode 100644 src/session_manager/protocol.rs create mode 100644 src/session_manager/session.rs create mode 100644 src/ui_interface.rs create mode 100644 src/utils.rs diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5221ba1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +Cargo.lock +target +local diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..f473426 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,36 @@ +[package] +name = "aira" +version = "0.0.1" +authors = ["Hardcore Sushi "] +edition = "2018" + +[dependencies] +rand-8 = {package = "rand", version = "0.8.3"} +rand-7 = {package = "rand", version = "0.7.3"} +socket2 = "0.3.19" +ed25519-dalek = "1" #for singing +x25519-dalek = "1.1" #for shared secret +sha2 = "0.9.3" +hkdf = "0.10.0" +aes-gcm = "0.8.0" +hmac = "0.10.1" +hex = "0.4.3" +strum_macros = "0.20.1" #display enums +actix-web = "3" +tungstenite = "0.13.0" #websocket +serde = "1.0.124" #serialization +html-escape = "0.2.7" +dirs = "3.0" +uuid = { version = "0.8", features = ["v4"] } +webbrowser = "0.5.5" +astro-dnssd = "0.2.0" #mDNS advertiser +multicast_dns = "0.5" #mDNS browser +base64 = "0.13.0" +time = "0.2.25" +aes-gcm-siv = "0.9.0" +scrypt = "0.6.3" +zeroize = "1.2.0" + +[dependencies.rusqlite] +version = "0.24.2" +features = ["bundled"] diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..e37e32e --- /dev/null +++ b/LICENSE @@ -0,0 +1,613 @@ +GNU AFFERO GENERAL PUBLIC LICENSE + +Version 3, 19 November 2007 + +Copyright (C) 2007 Free Software Foundation, Inc. + +Everyone is permitted to copy and distribute verbatim copies of this license +document, but changing it is not allowed. + +Preamble + +The GNU Affero General Public License is a free, copyleft license for software +and other kinds of works, specifically designed to ensure cooperation with +the community in the case of network server software. + +The licenses for most software and other practical works are designed to take +away your freedom to share and change the works. By contrast, our General +Public Licenses are intended to guarantee your freedom to share and change +all versions of a program--to make sure it remains free software for all its +users. + +When we speak of free software, we are referring to freedom, not price. Our +General Public Licenses are designed to make sure that you have the freedom +to distribute copies of free software (and charge for them if you wish), that +you receive source code or can get it if you want it, that you can change +the software or use pieces of it in new free programs, and that you know you +can do these things. + +Developers that use our General Public Licenses protect your rights with two +steps: (1) assert copyright on the software, and (2) offer you this License +which gives you legal permission to copy, distribute and/or modify the software. + +A secondary benefit of defending all users' freedom is that improvements made +in alternate versions of the program, if they receive widespread use, become +available for other developers to incorporate. Many developers of free software +are heartened and encouraged by the resulting cooperation. However, in the +case of software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and letting +the public access it on a server without ever releasing its source code to +the public. + +The GNU Affero General Public License is designed specifically to ensure that, +in such cases, the modified source code becomes available to the community. +It requires the operator of a network server to provide the source code of +the modified version running there to the users of that server. Therefore, +public use of a modified version, on a publicly accessible server, gives the +public access to the source code of the modified version. + +An older license, called the Affero General Public License and published by +Affero, was designed to accomplish similar goals. This is a different license, +not a version of the Affero GPL, but Affero has released a new version of +the Affero GPL which permits relicensing under this license. + +The precise terms and conditions for copying, distribution and modification +follow. + +TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + +"Copyright" also means copyright-like laws that apply to other kinds of works, +such as semiconductor masks. + +"The Program" refers to any copyrightable work licensed under this License. +Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals +or organizations. + +To "modify" a work means to copy from or adapt all or part of the work in +a fashion requiring copyright permission, other than the making of an exact +copy. The resulting work is called a "modified version" of the earlier work +or a work "based on" the earlier work. + +A "covered work" means either the unmodified Program or a work based on the +Program. + +To "propagate" a work means to do anything with it that, without permission, +would make you directly or secondarily liable for infringement under applicable +copyright law, except executing it on a computer or modifying a private copy. +Propagation includes copying, distribution (with or without modification), +making available to the public, and in some countries other activities as +well. + +To "convey" a work means any kind of propagation that enables other parties +to make or receive copies. Mere interaction with a user through a computer +network, with no transfer of a copy, is not conveying. + +An interactive user interface displays "Appropriate Legal Notices" to the +extent that it includes a convenient and prominently visible feature that +(1) displays an appropriate copyright notice, and (2) tells the user that +there is no warranty for the work (except to the extent that warranties are +provided), that licensees may convey the work under this License, and how +to view a copy of this License. If the interface presents a list of user commands +or options, such as a menu, a prominent item in the list meets this criterion. + + 1. Source Code. + +The "source code" for a work means the preferred form of the work for making +modifications to it. "Object code" means any non-source form of a work. + +A "Standard Interface" means an interface that either is an official standard +defined by a recognized standards body, or, in the case of interfaces specified +for a particular programming language, one that is widely used among developers +working in that language. + +The "System Libraries" of an executable work include anything, other than +the work as a whole, that (a) is included in the normal form of packaging +a Major Component, but which is not part of that Major Component, and (b) +serves only to enable use of the work with that Major Component, or to implement +a Standard Interface for which an implementation is available to the public +in source code form. A "Major Component", in this context, means a major essential +component (kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to produce +the work, or an object code interpreter used to run it. + +The "Corresponding Source" for a work in object code form means all the source +code needed to generate, install, and (for an executable work) run the object +code and to modify the work, including scripts to control those activities. +However, it does not include the work's System Libraries, or general-purpose +tools or generally available free programs which are used unmodified in performing +those activities but which are not part of the work. For example, Corresponding +Source includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically linked +subprograms that the work is specifically designed to require, such as by +intimate data communication or control flow between those + + subprograms and other parts of the work. + +The Corresponding Source need not include anything that users can regenerate +automatically from other parts of the Corresponding Source. + + The Corresponding Source for a work in source code form is that same work. + + 2. Basic Permissions. + +All rights granted under this License are granted for the term of copyright +on the Program, and are irrevocable provided the stated conditions are met. +This License explicitly affirms your unlimited permission to run the unmodified +Program. The output from running a covered work is covered by this License +only if the output, given its content, constitutes a covered work. This License +acknowledges your rights of fair use or other equivalent, as provided by copyright +law. + +You may make, run and propagate covered works that you do not convey, without +conditions so long as your license otherwise remains in force. You may convey +covered works to others for the sole purpose of having them make modifications +exclusively for you, or provide you with facilities for running those works, +provided that you comply with the terms of this License in conveying all material +for which you do not control copyright. Those thus making or running the covered +works for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of your copyrighted +material outside their relationship with you. + +Conveying under any other circumstances is permitted solely under the conditions +stated below. Sublicensing is not allowed; section 10 makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + +No covered work shall be deemed part of an effective technological measure +under any applicable law fulfilling obligations under article 11 of the WIPO +copyright treaty adopted on 20 December 1996, or similar laws prohibiting +or restricting circumvention of such measures. + +When you convey a covered work, you waive any legal power to forbid circumvention +of technological measures to the extent such circumvention is effected by +exercising rights under this License with respect to the covered work, and +you disclaim any intention to limit operation or modification of the work +as a means of enforcing, against the work's users, your or third parties' +legal rights to forbid circumvention of technological measures. + + 4. Conveying Verbatim Copies. + +You may convey verbatim copies of the Program's source code as you receive +it, in any medium, provided that you conspicuously and appropriately publish +on each copy an appropriate copyright notice; keep intact all notices stating +that this License and any non-permissive terms added in accord with section +7 apply to the code; keep intact all notices of the absence of any warranty; +and give all recipients a copy of this License along with the Program. + +You may charge any price or no price for each copy that you convey, and you +may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + +You may convey a work based on the Program, or the modifications to produce +it from the Program, in the form of source code under the terms of section +4, provided that you also meet all of these conditions: + +a) The work must carry prominent notices stating that you modified it, and +giving a relevant date. + +b) The work must carry prominent notices stating that it is released under +this License and any conditions added under section 7. This requirement modifies +the requirement in section 4 to "keep intact all notices". + +c) You must license the entire work, as a whole, under this License to anyone +who comes into possession of a copy. This License will therefore apply, along +with any applicable section 7 additional terms, to the whole of the work, +and all its parts, regardless of how they are packaged. This License gives +no permission to license the work in any other way, but it does not invalidate +such permission if you have separately received it. + +d) If the work has interactive user interfaces, each must display Appropriate +Legal Notices; however, if the Program has interactive interfaces that do +not display Appropriate Legal Notices, your work need not make them do so. + +A compilation of a covered work with other separate and independent works, +which are not by their nature extensions of the covered work, and which are +not combined with it such as to form a larger program, in or on a volume of +a storage or distribution medium, is called an "aggregate" if the compilation +and its resulting copyright are not used to limit the access or legal rights +of the compilation's users beyond what the individual works permit. Inclusion +of a covered work in an aggregate does not cause this License to apply to +the other parts of the aggregate. + + 6. Conveying Non-Source Forms. + +You may convey a covered work in object code form under the terms of sections +4 and 5, provided that you also convey the machine-readable Corresponding +Source under the terms of this License, in one of these ways: + +a) Convey the object code in, or embodied in, a physical product (including +a physical distribution medium), accompanied by the Corresponding Source fixed +on a durable physical medium customarily used for software interchange. + +b) Convey the object code in, or embodied in, a physical product (including +a physical distribution medium), accompanied by a written offer, valid for +at least three years and valid for as long as you offer spare parts or customer +support for that product model, to give anyone who possesses the object code +either (1) a copy of the Corresponding Source for all the software in the +product that is covered by this License, on a durable physical medium customarily +used for software interchange, for a price no more than your reasonable cost +of physically performing this conveying of source, or (2) access to copy the +Corresponding Source from a network server at no charge. + +c) Convey individual copies of the object code with a copy of the written +offer to provide the Corresponding Source. This alternative is allowed only +occasionally and noncommercially, and only if you received the object code +with such an offer, in accord with subsection 6b. + +d) Convey the object code by offering access from a designated place (gratis +or for a charge), and offer equivalent access to the Corresponding Source +in the same way through the same place at no further charge. You need not +require recipients to copy the Corresponding Source along with the object +code. If the place to copy the object code is a network server, the Corresponding +Source may be on a different server (operated by you or a third party) that +supports equivalent copying facilities, provided you maintain clear directions +next to the object code saying where to find the Corresponding Source. Regardless +of what server hosts the Corresponding Source, you remain obligated to ensure +that it is available for as long as needed to satisfy these requirements. + +e) Convey the object code using peer-to-peer transmission, provided you inform +other peers where the object code and Corresponding Source of the work are +being offered to the general public at no charge under subsection 6d. + +A separable portion of the object code, whose source code is excluded from +the Corresponding Source as a System Library, need not be included in conveying +the object code work. + +A "User Product" is either (1) a "consumer product", which means any tangible +personal property which is normally used for personal, family, or household +purposes, or (2) anything designed or sold for incorporation into a dwelling. +In determining whether a product is a consumer product, doubtful cases shall +be resolved in favor of coverage. For a particular product received by a particular +user, "normally used" refers to a typical or common use of that class of product, +regardless of the status of the particular user or of the way in which the +particular user actually uses, or expects or is expected to use, the product. +A product is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent the +only significant mode of use of the product. + +"Installation Information" for a User Product means any methods, procedures, +authorization keys, or other information required to install and execute modified +versions of a covered work in that User Product from a modified version of +its Corresponding Source. The information must suffice to ensure that the +continued functioning of the modified object code is in no case prevented +or interfered with solely because modification has been made. + +If you convey an object code work under this section in, or with, or specifically +for use in, a User Product, and the conveying occurs as part of a transaction +in which the right of possession and use of the User Product is transferred +to the recipient in perpetuity or for a fixed term (regardless of how the +transaction is characterized), the Corresponding Source conveyed under this +section must be accompanied by the Installation Information. But this requirement +does not apply if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has been installed +in ROM). + +The requirement to provide Installation Information does not include a requirement +to continue to provide support service, warranty, or updates for a work that +has been modified or installed by the recipient, or for the User Product in +which it has been modified or installed. Access to a network may be denied +when the modification itself materially and adversely affects the operation +of the network or violates the rules and protocols for communication across +the network. + +Corresponding Source conveyed, and Installation Information provided, in accord +with this section must be in a format that is publicly documented (and with +an implementation available to the public in source code form), and must require +no special password or key for unpacking, reading or copying. + + 7. Additional Terms. + +"Additional permissions" are terms that supplement the terms of this License +by making exceptions from one or more of its conditions. Additional permissions +that are applicable to the entire Program shall be treated as though they +were included in this License, to the extent that they are valid under applicable +law. If additional permissions apply only to part of the Program, that part +may be used separately under those permissions, but the entire Program remains +governed by this License without regard to the additional permissions. + +When you convey a copy of a covered work, you may at your option remove any +additional permissions from that copy, or from any part of it. (Additional +permissions may be written to require their own removal in certain cases when +you modify the work.) You may place additional permissions on material, added +by you to a covered work, for which you have or can give appropriate copyright +permission. + +Notwithstanding any other provision of this License, for material you add +to a covered work, you may (if authorized by the copyright holders of that +material) supplement the terms of this License with terms: + +a) Disclaiming warranty or limiting liability differently from the terms of +sections 15 and 16 of this License; or + +b) Requiring preservation of specified reasonable legal notices or author +attributions in that material or in the Appropriate Legal Notices displayed +by works containing it; or + +c) Prohibiting misrepresentation of the origin of that material, or requiring +that modified versions of such material be marked in reasonable ways as different +from the original version; or + +d) Limiting the use for publicity purposes of names of licensors or authors +of the material; or + +e) Declining to grant rights under trademark law for use of some trade names, +trademarks, or service marks; or + +f) Requiring indemnification of licensors and authors of that material by +anyone who conveys the material (or modified versions of it) with contractual +assumptions of liability to the recipient, for any liability that these contractual +assumptions directly impose on those licensors and authors. + +All other non-permissive additional terms are considered "further restrictions" +within the meaning of section 10. If the Program as you received it, or any +part of it, contains a notice stating that it is governed by this License +along with a term that is a further restriction, you may remove that term. +If a license document contains a further restriction but permits relicensing +or conveying under this License, you may add to a covered work material governed +by the terms of that license document, provided that the further restriction +does not survive such relicensing or conveying. + +If you add terms to a covered work in accord with this section, you must place, +in the relevant source files, a statement of the additional terms that apply +to those files, or a notice indicating where to find the applicable terms. + +Additional terms, permissive or non-permissive, may be stated in the form +of a separately written license, or stated as exceptions; the above requirements +apply either way. + + 8. Termination. + +You may not propagate or modify a covered work except as expressly provided +under this License. Any attempt otherwise to propagate or modify it is void, +and will automatically terminate your rights under this License (including +any patent licenses granted under the third paragraph of section 11). + +However, if you cease all violation of this License, then your license from +a particular copyright holder is reinstated (a) provisionally, unless and +until the copyright holder explicitly and finally terminates your license, +and (b) permanently, if the copyright holder fails to notify you of the violation +by some reasonable means prior to 60 days after the cessation. + +Moreover, your license from a particular copyright holder is reinstated permanently +if the copyright holder notifies you of the violation by some reasonable means, +this is the first time you have received notice of violation of this License +(for any work) from that copyright holder, and you cure the violation prior +to 30 days after your receipt of the notice. + +Termination of your rights under this section does not terminate the licenses +of parties who have received copies or rights from you under this License. +If your rights have been terminated and not permanently reinstated, you do +not qualify to receive new licenses for the same material under section 10. + + 9. Acceptance Not Required for Having Copies. + +You are not required to accept this License in order to receive or run a copy +of the Program. Ancillary propagation of a covered work occurring solely as +a consequence of using peer-to-peer transmission to receive a copy likewise +does not require acceptance. However, nothing other than this License grants +you permission to propagate or modify any covered work. These actions infringe +copyright if you do not accept this License. Therefore, by modifying or propagating +a covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + +Each time you convey a covered work, the recipient automatically receives +a license from the original licensors, to run, modify and propagate that work, +subject to this License. You are not responsible for enforcing compliance +by third parties with this License. + +An "entity transaction" is a transaction transferring control of an organization, +or substantially all assets of one, or subdividing an organization, or merging +organizations. If propagation of a covered work results from an entity transaction, +each party to that transaction who receives a copy of the work also receives +whatever licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the Corresponding +Source of the work from the predecessor in interest, if the predecessor has +it or can get it with reasonable efforts. + +You may not impose any further restrictions on the exercise of the rights +granted or affirmed under this License. For example, you may not impose a +license fee, royalty, or other charge for exercise of rights granted under +this License, and you may not initiate litigation (including a cross-claim +or counterclaim in a lawsuit) alleging that any patent claim is infringed +by making, using, selling, offering for sale, or importing the Program or +any portion of it. + + 11. Patents. + +A "contributor" is a copyright holder who authorizes use under this License +of the Program or a work on which the Program is based. The work thus licensed +is called the contributor's "contributor version". + +A contributor's "essential patent claims" are all patent claims owned or controlled +by the contributor, whether already acquired or hereafter acquired, that would +be infringed by some manner, permitted by this License, of making, using, +or selling its contributor version, but do not include claims that would be +infringed only as a consequence of further modification of the contributor +version. For purposes of this definition, "control" includes the right to +grant patent sublicenses in a manner consistent with the requirements of this +License. + +Each contributor grants you a non-exclusive, worldwide, royalty-free patent +license under the contributor's essential patent claims, to make, use, sell, +offer for sale, import and otherwise run, modify and propagate the contents +of its contributor version. + +In the following three paragraphs, a "patent license" is any express agreement +or commitment, however denominated, not to enforce a patent (such as an express +permission to practice a patent or covenant not to s ue for patent infringement). +To "grant" such a patent license to a party means to make such an agreement +or commitment not to enforce a patent against the party. + +If you convey a covered work, knowingly relying on a patent license, and the +Corresponding Source of the work is not available for anyone to copy, free +of charge and under the terms of this License, through a publicly available +network server or other readily accessible means, then you must either (1) +cause the Corresponding Source to be so available, or (2) arrange to deprive +yourself of the benefit of the patent license for this particular work, or +(3) arrange, in a manner consistent with the requirements of this License, +to extend the patent + +license to downstream recipients. "Knowingly relying" means you have actual +knowledge that, but for the patent license, your conveying the covered work +in a country, or your recipient's use of the covered work in a country, would +infringe one or more identifiable patents in that country that you have reason +to believe are valid. + +If, pursuant to or in connection with a single transaction or arrangement, +you convey, or propagate by procuring conveyance of, a covered work, and grant +a patent license to some of the parties receiving the covered work authorizing +them to use, propagate, modify or convey a specific copy of the covered work, +then the patent license you grant is automatically extended to all recipients +of the covered work and works based on it. + +A patent license is "discriminatory" if it does not include within the scope +of its coverage, prohibits the exercise of, or is conditioned on the non-exercise +of one or more of the rights that are specifically granted under this License. +You may not convey a covered work if you are a party to an arrangement with +a third party that is in the business of distributing software, under which +you make payment to the third party based on the extent of your activity of +conveying the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory patent +license (a) in connection with copies of the covered work conveyed by you +(or copies made from those copies), or (b) primarily for and in connection +with specific products or compilations that contain the covered work, unless +you entered into that arrangement, or that patent license was granted, prior +to 28 March 2007. + +Nothing in this License shall be construed as excluding or limiting any implied +license or other defenses to infringement that may otherwise be available +to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + +If conditions are imposed on you (whether by court order, agreement or otherwise) +that contradict the conditions of this License, they do not excuse you from +the conditions of this License. If you cannot convey a covered work so as +to satisfy simultaneously your obligations under this License and any other +pertinent obligations, then as a consequence you may + +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey the +Program, the only way you could satisfy both those terms and this License +would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + +Notwithstanding any other provision of this License, if you modify the Program, +your modified version must prominently offer all users interacting with it +remotely through a computer network (if your version supports such interaction) +an opportunity to receive the Corresponding Source of your version by providing +access to the Corresponding Source from a network server at no charge, through +some standard or customary means of facilitating copying of software. This +Corresponding Source shall include the Corresponding Source for any work covered +by version 3 of the GNU General Public License that is incorporated pursuant +to the following paragraph. + +Notwithstanding any other provision of this License, you have permission to +link or combine any covered work with a work licensed under version 3 of the +GNU General Public License into a single combined work, and to convey the +resulting work. The terms of this License will continue to apply to the part +which is the covered work, but the work with which it is combined will remain +governed by version 3 of the GNU General Public License. + + 14. Revised Versions of this License. + +The Free Software Foundation may publish revised and/or new versions of the +GNU Affero General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to address +new problems or concerns. + +Each version is given a distinguishing version number. If the Program specifies +that a certain numbered version of the GNU Affero General Public License "or +any later version" applies to it, you have the option of following the terms +and conditions either of that numbered version or of any later version published +by the Free Software Foundation. If the Program does not specify a version +number of the GNU Affero General Public License, you may choose any version +ever published by the Free Software Foundation. + +If the Program specifies that a proxy can decide which future versions of +the GNU Affero General Public License can be used, that proxy's public statement +of acceptance of a version permanently authorizes you to choose that version +for the Program. + +Later license versions may give you additional or different permissions. However, +no additional obligations are imposed on any author or copyright holder as +a result of your choosing to follow a later version. + + 15. Disclaimer of Warranty. + +THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE +LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER +EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM +PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR +CORRECTION. + + 16. Limitation of Liability. + +IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL +ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM +AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, +INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO +USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED +INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE +PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER +PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + +If the disclaimer of warranty and limitation of liability provided above cannot +be given local legal effect according to their terms, reviewing courts shall +apply local law that most closely approximates an absolute waiver of all civil +liability in connection with the Program, unless a warranty or assumption +of liability accompanies a copy of the Program in return for a fee. END OF +TERMS AND CONDITIONS + +How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest possible +use to the public, the best way to achieve this is to make it free software +which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to attach +them to the start of each source file to most effectively state the exclusion +of warranty; and each file should have at least the "copyright" line and a +pointer to where the full notice is found. + + + +Copyright (C) + +This program is free software: you can redistribute it and/or modify it under +the terms of the GNU Affero General Public License as published by the Free +Software Foundation, either version 3 of the License, or (at your option) +any later version. + +This program is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more +details. + +You should have received a copy of the GNU Affero General Public License along +with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + +If your software can interact with users remotely through a computer network, +you should also make sure that it provides a way for users to get its source. +For example, if your program is a web application, its interface could display +a "Source" link that leads users to an archive of the code. There are many +ways you could offer source, and different solutions will be better for different +programs; see section 13 for the specific requirements. + +You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. For +more information on this, and how to apply and follow the GNU AGPL, see . diff --git a/README.md b/README.md new file mode 100644 index 0000000..6b1e3c2 --- /dev/null +++ b/README.md @@ -0,0 +1,42 @@ +# AIRA +AIRA is peer-to-peer encrypted communication tool for local networks built on the [PSEC protocol](https://forge.chapril.org/hardcoresushi/PSEC). It allows to securely send text messages and files without any server or Internet access. + + + +# Motivations +When people want to send a file from one computer to another located only meters apart, they usually send it via mail. This mail usually goes through many servers around the world before reaching its final destination. + +Likewise, when people are lazy, they talk sometimes to their friends in the next room using centralized mobiles apps like Whatsapp. Their messages can be exported thousands of kilometers away to reach Facebook's servers where they are analysed with the aim of offering personalized ads and selling your data before being sent on the same way back to your friend's smartphone. + +All this practices generate useless traffic, overload servers, often breach privacy but above all pollute a lot. This is why I decided to build a more ecological and private way to communicate with near devices. There are many awesome P2P projects built on top of the Internet, but none of them provide local-network communications that work even totally disconnected from the rest of the world. AIRA is the first to provide this capability. + +# Disclaimer +AIRA is still under developement and is not ready for production usage yet. Not all features have been implemented and bugs are expected. Neither the code or the PSEC protocol received any security audit and therefore shouldn't be considered fully secure. AIRA is provided "as is", without any warranty of any kind. + +# Features +- IPv4/v6 compatibility +- Cross-platform +- Web frontend that directly runs in your browser +- mDNS discovery +- Manual peer connection +- Database encryption +- Multi-identities +- Contact verification +- Free/Libre and Open Source + +# Build +### Install Rust +``` +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh +``` +### Download AIRA +``` +git clone --depth=1 https://forge.chapril.org/hardcoresushi/AIRA.git && cd AIRA +``` +### Build AIRA +``` +cargo build +``` + +## What does AIRA stand for ? +The name AIRA was inspired by the name [GNU](https://www.gnu.org): "GNU's Not Unix". In the same way, AIRA stands for "AIRA Is a Recursive Acronym". diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..81dab1e7d7e20275536c56f8b6604db7c79f1732 GIT binary patch literal 55151 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ƅxcq|UAxq*IH)8((HUL2uHb^2 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 Bvl{>a literal 0 HcmV?d00001 diff --git a/src/cli.rs b/src/cli.rs new file mode 100644 index 0000000..f75861d --- /dev/null +++ b/src/cli.rs @@ -0,0 +1,64 @@ +use std::{io, io::Write, sync::Arc}; +use crate::identity::Identity; +use crate::session_manager::SessionManager; +use text_io::read; + +/*fn get_identity_or_create() -> identity::Identity { + match identity::get_identity() { + Ok(identity) => {identity} + Err(_) => { + identity::create_new_identidy("Bob").unwrap() + } + } +}*/ + +pub fn main(){ + let identity = match Identity::get_identity() { + Ok(identity) => {identity} + Err(_) => { + println!("Creating new identity"); + Identity::create_new_identidy("Bob").unwrap() + } + }; + let session_manager = Arc::new(SessionManager::new(identity)); + match SessionManager::start_listener(&session_manager) { + Ok(_) => {} + Err(e) => println!("{}", e.to_string()) + } + SessionManager::start_receiver_loop(&session_manager); + let mut input = String::new(); + while input != "exit" { + io::stdout().write(":~$ ".as_bytes()).unwrap(); + io::stdout().flush().unwrap(); + input = read!("{}\n"); + let args: Vec<&str> = input.split(" ").collect(); + if args[0] == "init" { + match session_manager.connect_to(args[1]) { + Ok(index) => { + println!("Connected !"); + while input != "exit" { + io::stdout().write("BOB:~$ ".as_bytes()).unwrap(); + io::stdout().flush().unwrap(); + input = read!("{}\n"); + match session_manager.send_to(&index, &input) { + Ok(_) => { + match session_manager.receive_from(index) { + Ok(msg) => println!("{}", std::str::from_utf8(&msg).unwrap()), + Err(e) => println!("{}", e.to_string()) + } + } + Err(e) => println!("{}", e.to_string()) + } + } + } + Err(e) => println!("{}", e.to_string()) + } + } else if args[0] == "list" { + for (i, n) in session_manager.get_sessions() { + println!("{}: {}", i, n); + } + } else if args[0] != "exit" { + println!("?"); + } + } +} \ No newline at end of file diff --git a/src/constants.rs b/src/constants.rs new file mode 100644 index 0000000..5194480 --- /dev/null +++ b/src/constants.rs @@ -0,0 +1,4 @@ +pub const PORT: &str = "7530"; +pub const APPLICATION_FOLDER: &str = "AIRA"; +pub const HTTP_COOKIE_NAME: &str = "aira_auth"; +pub const MUTEX_RELEASE_DELAY_MS: u64 = 100; \ No newline at end of file diff --git a/src/crypto.rs b/src/crypto.rs new file mode 100644 index 0000000..0b23446 --- /dev/null +++ b/src/crypto.rs @@ -0,0 +1,234 @@ +use std::convert::TryInto; +use hkdf::Hkdf; +use sha2::Sha384; +use hmac::{Hmac, Mac, NewMac}; +use scrypt::{scrypt, Params}; +use rand_8::{RngCore, rngs::OsRng}; +use aes_gcm::{aead::{Aead, generic_array::GenericArray}, NewAead}; +use aes_gcm_siv::{Aes256GcmSiv}; +use zeroize::Zeroize; +use strum_macros::Display; +use crate::utils::*; + +pub const HASH_OUTPUT_LEN: usize = 48; //SHA384 +const KEY_LEN: usize = 16; +pub const IV_LEN: usize = 12; +pub const AES_TAG_LEN: usize = 16; +const SALT_LEN: usize = 32; +const PASSWORD_HASH_LEN: usize = 32; +pub const MASTER_KEY_LEN: usize = 32; + +pub fn iv_to_nonce(iv: &[u8], counter: &mut usize) -> Vec { + let mut counter_bytes = vec![0; 4]; + counter_bytes.extend_from_slice(&counter.to_be_bytes()); + let r: Vec = iv.iter().zip(counter_bytes.iter()).map(|(a, b)| a^b).collect(); + *counter += 1; + r +} + +fn hkdf_expand_label(key: &[u8], label: &str, context: Option<&[u8]>, okm: &mut [u8]) { + let hkdf = Hkdf::::from_prk(key).unwrap(); + //can't set info conditionnally because of different array size + match context { + Some(context) => { + let info = [&label.len().to_be_bytes(), label.as_bytes(), &context.len().to_be_bytes(), context]; + hkdf.expand_multi_info(&info, okm).unwrap(); + } + None => { + let info = [&label.len().to_be_bytes(), label.as_bytes()]; + hkdf.expand_multi_info(&info, okm).unwrap(); + } + }; +} + +pub struct HandshakeKeys { + pub local_key: [u8; KEY_LEN], + pub local_iv: [u8; IV_LEN], + pub local_handshake_traffic_secret: [u8; HASH_OUTPUT_LEN], + pub peer_key: [u8; KEY_LEN], + pub peer_iv: [u8; IV_LEN], + pub peer_handshake_traffic_secret: [u8; HASH_OUTPUT_LEN], + pub handshake_secret: [u8; HASH_OUTPUT_LEN], +} + +impl HandshakeKeys { + pub fn derive_keys(shared_secret: [u8; 32], handshake_hash: [u8; HASH_OUTPUT_LEN], i_am_bob: bool) -> HandshakeKeys { + let (handshake_secret, _) = Hkdf::::extract(None, &shared_secret); + + let local_label = "handshake".to_owned() + if i_am_bob {"i_am_bob"} else {"i_am_alice"}; + let mut local_handshake_traffic_secret = [0; HASH_OUTPUT_LEN]; + hkdf_expand_label(handshake_secret.as_slice(), &local_label, Some(&handshake_hash), &mut local_handshake_traffic_secret); + + let peer_label = "handshake".to_owned() + if i_am_bob {"i_am_alice"} else {"i_am_bob"}; + let mut peer_handshake_traffic_secret = [0; HASH_OUTPUT_LEN]; + hkdf_expand_label(handshake_secret.as_slice(), &peer_label, Some(&handshake_hash), &mut peer_handshake_traffic_secret); + + let mut local_handshake_key = [0; KEY_LEN]; + hkdf_expand_label(&local_handshake_traffic_secret, "key", None, &mut local_handshake_key); + let mut local_handshake_iv = [0; IV_LEN]; + hkdf_expand_label(&local_handshake_traffic_secret, "iv", None, &mut local_handshake_iv); + + let mut peer_handshake_key = [0; KEY_LEN]; + hkdf_expand_label(&peer_handshake_traffic_secret, "key", None, &mut peer_handshake_key); + let mut peer_handshake_iv = [0; IV_LEN]; + hkdf_expand_label(&peer_handshake_traffic_secret,"iv", None, &mut peer_handshake_iv); + + HandshakeKeys { + local_key: local_handshake_key, + local_iv: local_handshake_iv, + local_handshake_traffic_secret: local_handshake_traffic_secret, + peer_key: peer_handshake_key, + peer_iv: peer_handshake_iv, + peer_handshake_traffic_secret: peer_handshake_traffic_secret, + handshake_secret: to_array_48(handshake_secret.as_slice()) + } + } +} + +pub struct ApplicationKeys { + pub local_key: [u8; KEY_LEN], + pub local_iv: [u8; IV_LEN], + pub peer_key: [u8; KEY_LEN], + pub peer_iv: [u8; IV_LEN], +} + +impl ApplicationKeys { + pub fn derive_keys(handshake_secret: [u8; HASH_OUTPUT_LEN], handshake_hash: [u8; HASH_OUTPUT_LEN], i_am_bob: bool) -> ApplicationKeys { + let mut derived_secret = [0; HASH_OUTPUT_LEN]; + hkdf_expand_label(&handshake_secret, "derived", None, &mut derived_secret); + let (master_secret, _) = Hkdf::::extract(Some(&derived_secret), b""); + + let local_label = "application".to_owned() + if i_am_bob {"i_am_bob"} else {"i_am_alice"}; + let mut local_application_traffic_secret = [0; HASH_OUTPUT_LEN]; + hkdf_expand_label(&master_secret, &local_label, Some(&handshake_hash), &mut local_application_traffic_secret); + + let peer_label = "application".to_owned() + if i_am_bob {"i_am_alice"} else {"i_am_bob"}; + let mut peer_application_traffic_secret = [0; HASH_OUTPUT_LEN]; + hkdf_expand_label(&master_secret, &peer_label, Some(&handshake_hash), &mut peer_application_traffic_secret); + + let mut local_application_key = [0; KEY_LEN]; + hkdf_expand_label(&local_application_traffic_secret, "key", None, &mut local_application_key); + let mut local_application_iv = [0; IV_LEN]; + hkdf_expand_label(&local_application_traffic_secret, "iv", None, &mut local_application_iv); + + let mut peer_application_key = [0; KEY_LEN]; + hkdf_expand_label(&peer_application_traffic_secret, "key", None, &mut peer_application_key); + let mut peer_application_iv = [0; IV_LEN]; + hkdf_expand_label(&peer_application_traffic_secret,"iv", None, &mut peer_application_iv); + + ApplicationKeys { + local_key: local_application_key, + local_iv: local_application_iv, + peer_key: peer_application_key, + peer_iv: peer_application_iv, + } + } +} + +pub fn compute_handshake_finished(local_handshake_traffic_secret: [u8; HASH_OUTPUT_LEN], handshake_hash: [u8; HASH_OUTPUT_LEN]) -> [u8; HASH_OUTPUT_LEN] { + let mut finished_key = [0; HASH_OUTPUT_LEN]; + hkdf_expand_label(&local_handshake_traffic_secret, "finished", None, &mut finished_key); + let mut hmac = Hmac::::new_varkey(&finished_key).unwrap(); + hmac.update(&handshake_hash); + hmac.finalize().into_bytes().as_slice().try_into().unwrap() +} + +pub fn verify_handshake_finished(peer_handshake_finished: [u8; HASH_OUTPUT_LEN], peer_handshake_traffic_secret: [u8; HASH_OUTPUT_LEN], handshake_hash: [u8; HASH_OUTPUT_LEN]) -> bool { + let mut peer_finished_key = [0; HASH_OUTPUT_LEN]; + hkdf_expand_label(&peer_handshake_traffic_secret, "finished", None, &mut peer_finished_key); + let mut hmac = Hmac::::new_varkey(&peer_finished_key).unwrap(); + hmac.update(&handshake_hash); + hmac.verify(&peer_handshake_finished).is_ok() +} + + + +pub fn generate_fingerprint(public_key: &[u8]) -> String { + let mut raw_fingerprint = [0; 16]; + Hkdf::::new(None, public_key).expand(&[], &mut raw_fingerprint).unwrap(); + hex::encode(raw_fingerprint).to_uppercase() +} + + + +pub fn generate_master_key() -> [u8; MASTER_KEY_LEN] { + let mut master_key = [0; MASTER_KEY_LEN]; + OsRng.fill_bytes(&mut master_key); + master_key +} + +pub fn encrypt_data(data: &[u8], master_key: &[u8]) -> Result, CryptoError> { + if master_key.len() != MASTER_KEY_LEN { + return Err(CryptoError::InvalidLength); + } + let cipher = Aes256GcmSiv::new(GenericArray::from_slice(master_key)); + let mut iv = [0; IV_LEN]; + OsRng.fill_bytes(&mut iv); //use it for IV for now + let mut cipher_text = iv.to_vec(); + cipher_text.extend(cipher.encrypt(GenericArray::from_slice(&iv), data).unwrap()); + Ok(cipher_text) +} + +#[derive(Display, Debug, PartialEq, Eq)] +pub enum CryptoError { + DecryptionFailed, + InvalidLength +} + +pub fn decrypt_data(data: &[u8], master_key: &[u8]) -> Result, CryptoError> { + if data.len() <= IV_LEN || master_key.len() != MASTER_KEY_LEN { + return Err(CryptoError::InvalidLength); + } + let cipher = Aes256GcmSiv::new(GenericArray::from_slice(master_key)); + match cipher.decrypt(GenericArray::from_slice(&data[..IV_LEN]), &data[IV_LEN..]) { + Ok(data) => { + Ok(data) + }, + Err(_) => Err(CryptoError::DecryptionFailed) + } +} + +fn scrypt_params() -> Params { + Params::new(13, 8, 1).unwrap() +} + +pub fn encrypt_master_key(mut master_key: [u8; MASTER_KEY_LEN], password: &str) -> ( + [u8; SALT_LEN], //salt + [u8; IV_LEN+MASTER_KEY_LEN+AES_TAG_LEN] //encrypted masterkey with IV +) { + let mut salt = [0; SALT_LEN]; + OsRng.fill_bytes(&mut salt); + let mut password_hash = [0; PASSWORD_HASH_LEN]; + scrypt(password.as_bytes(), &salt, &scrypt_params(), &mut password_hash).unwrap(); + let mut output = [0; IV_LEN+MASTER_KEY_LEN+AES_TAG_LEN]; + OsRng.fill_bytes(&mut output); //use it for IV for now + let cipher = Aes256GcmSiv::new(GenericArray::from_slice(&password_hash)); + let encrypted_master_key = cipher.encrypt(GenericArray::from_slice(&output[..IV_LEN]), master_key.as_ref()).unwrap(); + master_key.zeroize(); + password_hash.zeroize(); + encrypted_master_key.into_iter().enumerate().for_each(|i|{ + output[IV_LEN+i.0] = i.1; //append encrypted master key to IV + }); + (salt, output) +} + +pub fn decrypt_master_key(encrypted_master_key: &[u8], password: &str, salt: &[u8]) -> Result<[u8; MASTER_KEY_LEN], CryptoError> { + if encrypted_master_key.len() != IV_LEN+MASTER_KEY_LEN+AES_TAG_LEN || salt.len() != SALT_LEN { + return Err(CryptoError::InvalidLength); + } + let mut password_hash = [0; PASSWORD_HASH_LEN]; + scrypt(password.as_bytes(), salt, &scrypt_params(), &mut password_hash).unwrap(); + let cipher = Aes256GcmSiv::new(GenericArray::from_slice(&password_hash)); + let result = match cipher.decrypt(GenericArray::from_slice(&encrypted_master_key[..IV_LEN]), &encrypted_master_key[IV_LEN..]) { + Ok(master_key) => { + if master_key.len() == MASTER_KEY_LEN { + Ok(master_key.try_into().unwrap()) + } else { + return Err(CryptoError::InvalidLength) + } + }, + Err(_) => Err(CryptoError::DecryptionFailed) + }; + password_hash.zeroize(); + result +} \ No newline at end of file diff --git a/src/discovery.rs b/src/discovery.rs new file mode 100644 index 0000000..94e8846 --- /dev/null +++ b/src/discovery.rs @@ -0,0 +1,49 @@ +use std::thread; +use astro_dnssd::register::DNSServiceBuilder; +use multicast_dns::discovery::{DiscoveryManager, DiscoveryListeners, ResolveListeners}; +use crate::{constants, print_error}; + +const SERVICE_TYPE: &str = "_aira._tcp"; + +pub fn advertise_me(){ + thread::spawn(||{ + let mut service = DNSServiceBuilder::new(SERVICE_TYPE) + .with_name("AIRA Node") + .with_port(constants::PORT.parse().unwrap()) + .build() + .unwrap(); + match service.register(|reply| match reply { + Ok(_) => {}, + Err(e) => println!("Error registering: {:?}", e) + }) { + Ok(_) => { + loop { + service.process_result(); + } + } + Err(e) => println!("Unable to register mDNS service. You won't be discoverable by others peers. {}", e) + }; + }); +} + +pub fn discover_peers(on_service_discovered: F){ + let discovery_manager = DiscoveryManager::new(); + let result = discovery_manager.discover_services(SERVICE_TYPE, DiscoveryListeners{ + on_service_discovered: Some(&|service| { + discovery_manager.resolve_service(service, ResolveListeners{ + on_service_resolved: Some(&|service| { + match service.address { + Some(service_ip) => on_service_discovered(&discovery_manager, service_ip), + None => println!("Service discovered without IP address: {:?}", service) + }; + }) + }); + }), + on_all_discovered: Some(&|| { + discovery_manager.stop_service_discovery(); + }) + }); + if result.is_err() { + print_error(result.err().unwrap()); + } +} \ No newline at end of file diff --git a/src/frontend/commons/script.js b/src/frontend/commons/script.js new file mode 100644 index 0000000..9dc7cf9 --- /dev/null +++ b/src/frontend/commons/script.js @@ -0,0 +1,13 @@ +function generate_avatar(name){ + let span = document.createElement("span"); + if (typeof name == "undefined"){ + span.appendChild(document.createTextNode("?")); + } else { + span.appendChild(document.createTextNode(name[0].toUpperCase())); + } + let div = document.createElement("div"); + div.classList.add("avatar"); + div.appendChild(span); + div.appendChild(document.createElement("div")); //used for background + return div; +} \ No newline at end of file diff --git a/src/frontend/commons/style.css b/src/frontend/commons/style.css new file mode 100644 index 0000000..42a51ea --- /dev/null +++ b/src/frontend/commons/style.css @@ -0,0 +1,33 @@ +input[type="text"], input[type="password"] { + background-color: var(--transparent); + color: white; + padding: 15px; + border: 2px solid var(--accent); + border-radius: 5px; + box-sizing: border-box; + width: 100%; + margin: 0; +} + +.avatar { + position: relative; + margin-right: .5em; + width: 1.5em; + height: 1.5em; +} +.avatar div { + width: 100%; + height: 100%; + background-color: var(--accent); + border-radius: 100%; +} +.avatar span { + position: absolute; + z-index: 1; + display: flex; + align-items: center; + justify-content: center; + height: 100%; + width: 100%; + margin: 0; +} \ No newline at end of file diff --git a/src/frontend/imgs/icons/add_contact.svg b/src/frontend/imgs/icons/add_contact.svg new file mode 100644 index 0000000..24a196d --- /dev/null +++ b/src/frontend/imgs/icons/add_contact.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/frontend/imgs/icons/attach.svg b/src/frontend/imgs/icons/attach.svg new file mode 100644 index 0000000..b65c5e1 --- /dev/null +++ b/src/frontend/imgs/icons/attach.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/frontend/imgs/icons/download.svg b/src/frontend/imgs/icons/download.svg new file mode 100644 index 0000000..c66e964 --- /dev/null +++ b/src/frontend/imgs/icons/download.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/frontend/imgs/icons/logout.svg b/src/frontend/imgs/icons/logout.svg new file mode 100644 index 0000000..1e3f8b1 --- /dev/null +++ b/src/frontend/imgs/icons/logout.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/frontend/imgs/icons/remove_contact.svg b/src/frontend/imgs/icons/remove_contact.svg new file mode 100644 index 0000000..f561fd7 --- /dev/null +++ b/src/frontend/imgs/icons/remove_contact.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/frontend/imgs/icons/verified.svg b/src/frontend/imgs/icons/verified.svg new file mode 100644 index 0000000..6fb658f --- /dev/null +++ b/src/frontend/imgs/icons/verified.svg @@ -0,0 +1 @@ + diff --git a/src/frontend/imgs/icons/warning.svg b/src/frontend/imgs/icons/warning.svg new file mode 100644 index 0000000..f020c77 --- /dev/null +++ b/src/frontend/imgs/icons/warning.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/frontend/imgs/wallpaper.jpeg b/src/frontend/imgs/wallpaper.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..08541eaead770e3a5686e51989f6c0c5e1da25e7 GIT binary patch literal 560379 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%0AURY-x*W3N7mCQUM&AdJE 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ⅈSk^_Atb^eFj1SF&yPjz6E3^4ra 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

egA|x6fa=`xp=u)8o{LfqruHrgX*fg1oi|#KR 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¥a2ySabSf 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

P3yf>^lDd=N6ZTJ~>u! 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 L*yGr*b+7-~S${i_ literal 0 HcmV?d00001 diff --git a/src/frontend/index.html b/src/frontend/index.html new file mode 100644 index 0000000..2571002 --- /dev/null +++ b/src/frontend/index.html @@ -0,0 +1,710 @@ + + + + + AIRA + + + + +

+
+
+

IDENTITY_NAME

+ +
+

Online peers:

+
    +
+

Offline contacts:

+
    +
+
+

Add a new peer by IP:

+ +
+
+
+
+
+ + + +
+
    +
+
+ + +
+
+
+ + + + + + + diff --git a/src/frontend/libs/linkify-element.min.js b/src/frontend/libs/linkify-element.min.js new file mode 100644 index 0000000..13d45e6 --- /dev/null +++ b/src/frontend/libs/linkify-element.min.js @@ -0,0 +1 @@ +"use strict";!function(e,t){var n=function(t){function n(e,t,n){var r=n[n.length-1];e.replaceChild(r,t);for(var i=n.length-2;i>=0;i--)e.insertBefore(n[i],r),r=n[i]}function r(e,t,n){for(var r=[],i=e,a=Array.isArray(i),o=0,i=a?i:i[Symbol.iterator]();;){var l;if(a){if(o>=i.length)break;l=i[o++]}else{if(o=i.next(),o.done)break;l=o.value}var s=l;if("nl"===s.type&&t.nl2br)r.push(n.createElement("br"));else if(s.isLink&&t.check(s)){var f=t.resolve(s),c=f.formatted,d=f.formattedHref,u=f.tagName,v=f.className,h=f.target,m=f.events,g=f.attributes,p=n.createElement(u);if(p.setAttribute("href",d),v&&p.setAttribute("class",v),h&&p.setAttribute("target",h),g)for(var b in g)p.setAttribute(b,g[b]);if(m)for(var y in m)p.addEventListener?p.addEventListener(y,m[y]):p.attachEvent&&p.attachEvent("on"+y,m[y]);p.appendChild(n.createTextNode(c)),r.push(p)}else r.push(n.createTextNode(s.toString()))}return r}function i(e,t,a){if(!e||e.nodeType!==c)throw new Error("Cannot linkify "+e+" - Invalid DOM Node type");var s=t.ignoreTags;if("A"===e.tagName||l.contains(s,e.tagName))return e;for(var u=e.firstChild;u;){var v=void 0,h=void 0,m=void 0;switch(u.nodeType){case c:i(u,t,a);break;case d:if(v=u.nodeValue,h=o(v),0===h.length||1===h.length&&h[0]instanceof f)break;m=r(h,t,a),n(e,u,m),u=m[m.length-1]}u=u.nextSibling}return e}function a(t,n){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];try{r=r||document||e&&e.document||global&&global.document}catch(a){}if(!r)throw new Error("Cannot find document implementation. If you are in a non-browser environment like Node.js, pass the document implementation as the third argument to linkifyElement.");return n=new s(n),i(t,n,r)}var o=t.tokenize,l=t.options,s=l.Options,f=t.parser.TOKENS.TEXT,c=1,d=3;return a.helper=i,a.normalize=function(e){return new s(e)},a}(t);e.linkifyElement=n}(window,linkify); \ No newline at end of file diff --git a/src/frontend/libs/linkify-html.min.js b/src/frontend/libs/linkify-html.min.js new file mode 100644 index 0000000..0b78baa --- /dev/null +++ b/src/frontend/libs/linkify-html.min.js @@ -0,0 +1 @@ +"use strict";!function(t,i){var s=function(t){function i(t){this.a=t}function s(t){return v.test(t)}function e(t){return k.test(t)}function h(t){return t.replace(A,"\n")}function r(t,i){this.b=t,this.c=i,this.d=null,this.input=null,this.e=-1,this.f=-1,this.g=-1,this.h=-1,this.i=-1,this.j()}function n(t,i){this.k=null,this.startLine=1,this.startColumn=0,this.options=i||{},this.tokenizer=new r(this,t)}function a(t,s){var e=new n(new i(p),s);return e.tokenize(t)}function o(t){var i,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=z.tokenize(t),h=[],r=[];for(s=new D(s),i=0;i0){var g=d(l.attributes);m+=" "+g.join(" ")}m+=">",r.push(m);break;case C:r.push("");break;case T:r.push(b(l.chars));break;case F:r.push("")}}return r.join("")}function u(i,s){for(var e=t.tokenize(i),h=[],r=0;r0;){var r=i[s];r.type===y&&r.tagName.toUpperCase()===t?h++:r.type===C&&r.tagName.toUpperCase()===t&&h--,e.push(r),s++}return e}function b(t){return t}function c(t){return t.replace(/"/g,""")}function d(t){for(var i=[],s=0;s"===t?(this.b.z(),this.d="beforeData"):(this.b.A(t),this.d="comment")},commentStartDash:function(){var t=this.r();"-"===t?this.d="commentEnd":">"===t?(this.b.z(),this.d="beforeData"):(this.b.A("-"),this.d="comment")},comment:function(){var t=this.r();"-"===t?this.d="commentEndDash":this.b.A(t)},commentEndDash:function(){var t=this.r();"-"===t?this.d="commentEnd":(this.b.A("-"+t),this.d="comment")},commentEnd:function(){var t=this.r();">"===t?(this.b.z(),this.d="beforeData"):(this.b.A("--"+t),this.d="comment")},tagName:function(){var t=this.r();s(t)?this.d="beforeAttributeName":"/"===t?this.d="selfClosingStartTag":">"===t?(this.b.B(),this.d="beforeData"):this.b.x(t)},beforeAttributeName:function(){var t=this.q();return s(t)?void this.r():void("/"===t?(this.d="selfClosingStartTag",this.r()):">"===t?(this.r(),this.b.B(),this.d="beforeData"):(this.d="attributeName",this.b.C(),this.r(),this.b.D(t)))},attributeName:function(){var t=this.q();s(t)?(this.d="afterAttributeName",this.r()):"/"===t?(this.b.F(!1),this.b.G(),this.r(),this.d="selfClosingStartTag"):"="===t?(this.d="beforeAttributeValue",this.r()):">"===t?(this.b.F(!1),this.b.G(),this.r(),this.b.B(),this.d="beforeData"):(this.r(),this.b.D(t))},afterAttributeName:function(){var t=this.q();return s(t)?void this.r():void("/"===t?(this.b.F(!1),this.b.G(),this.r(),this.d="selfClosingStartTag"):"="===t?(this.r(),this.d="beforeAttributeValue"):">"===t?(this.b.F(!1),this.b.G(),this.r(),this.b.B(),this.d="beforeData"):(this.b.F(!1),this.b.G(),this.r(),this.d="attributeName",this.b.C(),this.b.D(t)))},beforeAttributeValue:function(){var t=this.q();s(t)?this.r():'"'===t?(this.d="attributeValueDoubleQuoted",this.b.F(!0),this.r()):"'"===t?(this.d="attributeValueSingleQuoted",this.b.F(!0),this.r()):">"===t?(this.b.F(!1),this.b.G(),this.r(),this.b.B(),this.d="beforeData"):(this.d="attributeValueUnquoted",this.b.F(!1),this.r(),this.b.H(t))},attributeValueDoubleQuoted:function(){var t=this.r();'"'===t?(this.b.G(),this.d="afterAttributeValueQuoted"):"&"===t?this.b.H(this.s('"')||"&"):this.b.H(t)},attributeValueSingleQuoted:function(){var t=this.r();"'"===t?(this.b.G(),this.d="afterAttributeValueQuoted"):"&"===t?this.b.H(this.s("'")||"&"):this.b.H(t)},attributeValueUnquoted:function(){var t=this.q();s(t)?(this.b.G(),this.r(),this.d="beforeAttributeName"):"&"===t?(this.r(),this.b.H(this.s(">")||"&")):">"===t?(this.b.G(),this.r(),this.b.B(),this.d="beforeData"):(this.r(),this.b.H(t))},afterAttributeValueQuoted:function(){var t=this.q();s(t)?(this.r(),this.d="beforeAttributeName"):"/"===t?(this.r(),this.d="selfClosingStartTag"):">"===t?(this.r(),this.b.B(),this.d="beforeData"):this.d="beforeAttributeName"},selfClosingStartTag:function(){var t=this.q();">"===t?(this.r(),this.b.I(),this.b.B(),this.d="beforeData"):this.d="beforeAttributeName"},endTagOpen:function(){var t=this.r();e(t)&&(this.d="tagName",this.b.J(),this.b.x(t.toLowerCase()))}}},n.prototype={tokenize:function(t){return this.K=[],this.tokenizer.tokenize(t),this.K},tokenizePart:function(t){return this.K=[],this.tokenizer.tokenizePart(t),this.K},tokenizeEOF:function(){return this.K=[],this.tokenizer.tokenizeEOF(),this.K[0]},j:function(){this.k=null,this.startLine=1,this.startColumn=0},L:function(){this.options.M&&(this.k.M={start:{f:this.startLine,g:this.startColumn},N:{f:this.tokenizer.f,g:this.tokenizer.g}}),this.startLine=this.tokenizer.f,this.startColumn=this.tokenizer.g},u:function(){this.k={type:"Chars",chars:""},this.K.push(this.k)},v:function(t){this.k.chars+=t},p:function(){this.L()},y:function(){this.k={type:"Comment",chars:""},this.K.push(this.k)},A:function(t){this.k.chars+=t},z:function(){this.L()},w:function(){this.k={type:"StartTag",tagName:"",attributes:[],l:!1},this.K.push(this.k)},J:function(){this.k={type:"EndTag",tagName:""},this.K.push(this.k)},B:function(){this.L()},I:function(){this.k.l=!0},x:function(t){this.k.tagName+=t},C:function(){this._currentAttribute=["","",null],this.k.attributes.push(this._currentAttribute)},D:function(t){this._currentAttribute[0]+=t},F:function(t){this._currentAttribute[2]=t},H:function(t){this._currentAttribute[1]=this._currentAttribute[1]||"",this._currentAttribute[1]+=t},G:function(){}};var z={HTML5NamedCharRefs:p,EntityParser:i,EventedTokenizer:r,Tokenizer:n,tokenize:a},N=t.options,D=N.Options,y="StartTag",C="EndTag",T="Chars",F="Comment";return o}(i);t.linkifyHtml=s}(window,linkify); \ No newline at end of file diff --git a/src/frontend/libs/linkify.min.js b/src/frontend/libs/linkify.min.js new file mode 100644 index 0000000..94ef0a5 --- /dev/null +++ b/src/frontend/libs/linkify.min.js @@ -0,0 +1 @@ +!function(){"use strict";var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n};!function(e){function a(n,e){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},t=Object.create(n.prototype);for(var o in a)t[o]=a[o];return t.constructor=e,e.prototype=t,e}function t(n){n=n||{},this.defaultProtocol=n.hasOwnProperty("defaultProtocol")?n.defaultProtocol:h.defaultProtocol,this.events=n.hasOwnProperty("events")?n.events:h.events,this.format=n.hasOwnProperty("format")?n.format:h.format,this.formatHref=n.hasOwnProperty("formatHref")?n.formatHref:h.formatHref,this.nl2br=n.hasOwnProperty("nl2br")?n.nl2br:h.nl2br,this.tagName=n.hasOwnProperty("tagName")?n.tagName:h.tagName,this.target=n.hasOwnProperty("target")?n.target:h.target,this.validate=n.hasOwnProperty("validate")?n.validate:h.validate,this.ignoreTags=[],this.attributes=n.attributes||n.linkAttributes||h.attributes,this.className=n.hasOwnProperty("className")?n.className:n.linkClass||h.className;for(var e=n.hasOwnProperty("ignoreTags")?n.ignoreTags:h.ignoreTags,a=0;a=r)return[];for(;o1&&void 0!==arguments[1]?arguments[1]:null,a=this.next(new n(""));return a===this.defaultTransition?(a=new this.constructor(e),this.on(n,a)):e&&(a.T=e),a},test:function(n,e){return n instanceof e}}),d=l();d.prototype={toString:function(){return this.v+""}};var x=u(),y=u("@"),v=u(":"),k=u("."),w=u(),j=u(),z=u("\n"),O=u(),q=u("+"),N=u("#"),S=u(),T=u("mailto:"),A=u("?"),L=u("/"),P=u("_"),E=u(),C=u(),R=u(),H=u("{"),B=u("["),U=u("<"),M=u("("),D=u("}"),I=u("]"),K=u(">"),_=u(")"),G=u("&"),Y=Object.freeze({Base:d,DOMAIN:x,AT:y,COLON:v,DOT:k,PUNCTUATION:w,LOCALHOST:j,NL:z,NUM:O,PLUS:q,POUND:N,QUERY:A,PROTOCOL:S,MAILTO:T,SLASH:L,UNDERSCORE:P,SYM:E,TLD:C,WS:R,OPENBRACE:H,OPENBRACKET:B,OPENANGLEBRACKET:U,OPENPAREN:M,CLOSEBRACE:D,CLOSEBRACKET:I,CLOSEANGLEBRACKET:K,CLOSEPAREN:_,AMPERSAND:G}),Q="aaa|aarp|abarth|abb|abbott|abbvie|abc|able|abogado|abudhabi|ac|academy|accenture|accountant|accountants|aco|active|actor|ad|adac|ads|adult|ae|aeg|aero|aetna|af|afamilycompany|afl|africa|ag|agakhan|agency|ai|aig|aigo|airbus|airforce|airtel|akdn|al|alfaromeo|alibaba|alipay|allfinanz|allstate|ally|alsace|alstom|am|americanexpress|americanfamily|amex|amfam|amica|amsterdam|analytics|android|anquan|anz|ao|aol|apartments|app|apple|aq|aquarelle|ar|arab|aramco|archi|army|arpa|art|arte|as|asda|asia|associates|at|athleta|attorney|au|auction|audi|audible|audio|auspost|author|auto|autos|avianca|aw|aws|ax|axa|az|azure|ba|baby|baidu|banamex|bananarepublic|band|bank|bar|barcelona|barclaycard|barclays|barefoot|bargains|baseball|basketball|bauhaus|bayern|bb|bbc|bbt|bbva|bcg|bcn|bd|be|beats|beauty|beer|bentley|berlin|best|bestbuy|bet|bf|bg|bh|bharti|bi|bible|bid|bike|bing|bingo|bio|biz|bj|black|blackfriday|blanco|blockbuster|blog|bloomberg|blue|bm|bms|bmw|bn|bnl|bnpparibas|bo|boats|boehringer|bofa|bom|bond|boo|book|booking|boots|bosch|bostik|boston|bot|boutique|box|br|bradesco|bridgestone|broadway|broker|brother|brussels|bs|bt|budapest|bugatti|build|builders|business|buy|buzz|bv|bw|by|bz|bzh|ca|cab|cafe|cal|call|calvinklein|cam|camera|camp|cancerresearch|canon|capetown|capital|capitalone|car|caravan|cards|care|career|careers|cars|cartier|casa|case|caseih|cash|casino|cat|catering|catholic|cba|cbn|cbre|cbs|cc|cd|ceb|center|ceo|cern|cf|cfa|cfd|cg|ch|chanel|channel|chase|chat|cheap|chintai|chloe|christmas|chrome|chrysler|church|ci|cipriani|circle|cisco|citadel|citi|citic|city|cityeats|ck|cl|claims|cleaning|click|clinic|clinique|clothing|cloud|club|clubmed|cm|cn|co|coach|codes|coffee|college|cologne|com|comcast|commbank|community|company|compare|computer|comsec|condos|construction|consulting|contact|contractors|cooking|cookingchannel|cool|coop|corsica|country|coupon|coupons|courses|cr|credit|creditcard|creditunion|cricket|crown|crs|cruise|cruises|csc|cu|cuisinella|cv|cw|cx|cy|cymru|cyou|cz|dabur|dad|dance|data|date|dating|datsun|day|dclk|dds|de|deal|dealer|deals|degree|delivery|dell|deloitte|delta|democrat|dental|dentist|desi|design|dev|dhl|diamonds|diet|digital|direct|directory|discount|discover|dish|diy|dj|dk|dm|dnp|do|docs|doctor|dodge|dog|doha|domains|dot|download|drive|dtv|dubai|duck|dunlop|duns|dupont|durban|dvag|dvr|dz|earth|eat|ec|eco|edeka|edu|education|ee|eg|email|emerck|energy|engineer|engineering|enterprises|epost|epson|equipment|er|ericsson|erni|es|esq|estate|esurance|et|etisalat|eu|eurovision|eus|events|everbank|exchange|expert|exposed|express|extraspace|fage|fail|fairwinds|faith|family|fan|fans|farm|farmers|fashion|fast|fedex|feedback|ferrari|ferrero|fi|fiat|fidelity|fido|film|final|finance|financial|fire|firestone|firmdale|fish|fishing|fit|fitness|fj|fk|flickr|flights|flir|florist|flowers|fly|fm|fo|foo|food|foodnetwork|football|ford|forex|forsale|forum|foundation|fox|fr|free|fresenius|frl|frogans|frontdoor|frontier|ftr|fujitsu|fujixerox|fun|fund|furniture|futbol|fyi|ga|gal|gallery|gallo|gallup|game|games|gap|garden|gb|gbiz|gd|gdn|ge|gea|gent|genting|george|gf|gg|ggee|gh|gi|gift|gifts|gives|giving|gl|glade|glass|gle|global|globo|gm|gmail|gmbh|gmo|gmx|gn|godaddy|gold|goldpoint|golf|goo|goodhands|goodyear|goog|google|gop|got|gov|gp|gq|gr|grainger|graphics|gratis|green|gripe|grocery|group|gs|gt|gu|guardian|gucci|guge|guide|guitars|guru|gw|gy|hair|hamburg|hangout|haus|hbo|hdfc|hdfcbank|health|healthcare|help|helsinki|here|hermes|hgtv|hiphop|hisamitsu|hitachi|hiv|hk|hkt|hm|hn|hockey|holdings|holiday|homedepot|homegoods|homes|homesense|honda|honeywell|horse|hospital|host|hosting|hot|hoteles|hotels|hotmail|house|how|hr|hsbc|ht|htc|hu|hughes|hyatt|hyundai|ibm|icbc|ice|icu|id|ie|ieee|ifm|ikano|il|im|imamat|imdb|immo|immobilien|in|industries|infiniti|info|ing|ink|institute|insurance|insure|int|intel|international|intuit|investments|io|ipiranga|iq|ir|irish|is|iselect|ismaili|ist|istanbul|it|itau|itv|iveco|iwc|jaguar|java|jcb|jcp|je|jeep|jetzt|jewelry|jio|jlc|jll|jm|jmp|jnj|jo|jobs|joburg|jot|joy|jp|jpmorgan|jprs|juegos|juniper|kaufen|kddi|ke|kerryhotels|kerrylogistics|kerryproperties|kfh|kg|kh|ki|kia|kim|kinder|kindle|kitchen|kiwi|km|kn|koeln|komatsu|kosher|kp|kpmg|kpn|kr|krd|kred|kuokgroup|kw|ky|kyoto|kz|la|lacaixa|ladbrokes|lamborghini|lamer|lancaster|lancia|lancome|land|landrover|lanxess|lasalle|lat|latino|latrobe|law|lawyer|lb|lc|lds|lease|leclerc|lefrak|legal|lego|lexus|lgbt|li|liaison|lidl|life|lifeinsurance|lifestyle|lighting|like|lilly|limited|limo|lincoln|linde|link|lipsy|live|living|lixil|lk|loan|loans|locker|locus|loft|lol|london|lotte|lotto|love|lpl|lplfinancial|lr|ls|lt|ltd|ltda|lu|lundbeck|lupin|luxe|luxury|lv|ly|ma|macys|madrid|maif|maison|makeup|man|management|mango|map|market|marketing|markets|marriott|marshalls|maserati|mattel|mba|mc|mckinsey|md|me|med|media|meet|melbourne|meme|memorial|men|menu|meo|merckmsd|metlife|mg|mh|miami|microsoft|mil|mini|mint|mit|mitsubishi|mk|ml|mlb|mls|mm|mma|mn|mo|mobi|mobile|mobily|moda|moe|moi|mom|monash|money|monster|mopar|mormon|mortgage|moscow|moto|motorcycles|mov|movie|movistar|mp|mq|mr|ms|msd|mt|mtn|mtr|mu|museum|mutual|mv|mw|mx|my|mz|na|nab|nadex|nagoya|name|nationwide|natura|navy|nba|nc|ne|nec|net|netbank|netflix|network|neustar|new|newholland|news|next|nextdirect|nexus|nf|nfl|ng|ngo|nhk|ni|nico|nike|nikon|ninja|nissan|nissay|nl|no|nokia|northwesternmutual|norton|now|nowruz|nowtv|np|nr|nra|nrw|ntt|nu|nyc|nz|obi|observer|off|office|okinawa|olayan|olayangroup|oldnavy|ollo|om|omega|one|ong|onl|online|onyourside|ooo|open|oracle|orange|org|organic|origins|osaka|otsuka|ott|ovh|pa|page|panasonic|panerai|paris|pars|partners|parts|party|passagens|pay|pccw|pe|pet|pf|pfizer|pg|ph|pharmacy|phd|philips|phone|photo|photography|photos|physio|piaget|pics|pictet|pictures|pid|pin|ping|pink|pioneer|pizza|pk|pl|place|play|playstation|plumbing|plus|pm|pn|pnc|pohl|poker|politie|porn|post|pr|pramerica|praxi|press|prime|pro|prod|productions|prof|progressive|promo|properties|property|protection|pru|prudential|ps|pt|pub|pw|pwc|py|qa|qpon|quebec|quest|qvc|racing|radio|raid|re|read|realestate|realtor|realty|recipes|red|redstone|redumbrella|rehab|reise|reisen|reit|reliance|ren|rent|rentals|repair|report|republican|rest|restaurant|review|reviews|rexroth|rich|richardli|ricoh|rightathome|ril|rio|rip|rmit|ro|rocher|rocks|rodeo|rogers|room|rs|rsvp|ru|rugby|ruhr|run|rw|rwe|ryukyu|sa|saarland|safe|safety|sakura|sale|salon|samsclub|samsung|sandvik|sandvikcoromant|sanofi|sap|sapo|sarl|sas|save|saxo|sb|sbi|sbs|sc|sca|scb|schaeffler|schmidt|scholarships|school|schule|schwarz|science|scjohnson|scor|scot|sd|se|search|seat|secure|security|seek|select|sener|services|ses|seven|sew|sex|sexy|sfr|sg|sh|shangrila|sharp|shaw|shell|shia|shiksha|shoes|shop|shopping|shouji|show|showtime|shriram|si|silk|sina|singles|site|sj|sk|ski|skin|sky|skype|sl|sling|sm|smart|smile|sn|sncf|so|soccer|social|softbank|software|sohu|solar|solutions|song|sony|soy|space|spiegel|spot|spreadbetting|sr|srl|srt|st|stada|staples|star|starhub|statebank|statefarm|statoil|stc|stcgroup|stockholm|storage|store|stream|studio|study|style|su|sucks|supplies|supply|support|surf|surgery|suzuki|sv|swatch|swiftcover|swiss|sx|sy|sydney|symantec|systems|sz|tab|taipei|talk|taobao|target|tatamotors|tatar|tattoo|tax|taxi|tc|tci|td|tdk|team|tech|technology|tel|telecity|telefonica|temasek|tennis|teva|tf|tg|th|thd|theater|theatre|tiaa|tickets|tienda|tiffany|tips|tires|tirol|tj|tjmaxx|tjx|tk|tkmaxx|tl|tm|tmall|tn|to|today|tokyo|tools|top|toray|toshiba|total|tours|town|toyota|toys|tr|trade|trading|training|travel|travelchannel|travelers|travelersinsurance|trust|trv|tt|tube|tui|tunes|tushu|tv|tvs|tw|tz|ua|ubank|ubs|uconnect|ug|uk|unicom|university|uno|uol|ups|us|uy|uz|va|vacations|vana|vanguard|vc|ve|vegas|ventures|verisign|versicherung|vet|vg|vi|viajes|video|vig|viking|villas|vin|vip|virgin|visa|vision|vista|vistaprint|viva|vivo|vlaanderen|vn|vodka|volkswagen|volvo|vote|voting|voto|voyage|vu|vuelos|wales|walmart|walter|wang|wanggou|warman|watch|watches|weather|weatherchannel|webcam|weber|website|wed|wedding|weibo|weir|wf|whoswho|wien|wiki|williamhill|win|windows|wine|winners|wme|wolterskluwer|woodside|work|works|world|wow|ws|wtc|wtf|xbox|xerox|xfinity|xihuan|xin|xn--11b4c3d|xn--1ck2e1b|xn--1qqw23a|xn--2scrj9c|xn--30rr7y|xn--3bst00m|xn--3ds443g|xn--3e0b707e|xn--3hcrj9c|xn--3oq18vl8pn36a|xn--3pxu8k|xn--42c2d9a|xn--45br5cyl|xn--45brj9c|xn--45q11c|xn--4gbrim|xn--54b7fta0cc|xn--55qw42g|xn--55qx5d|xn--5su34j936bgsg|xn--5tzm5g|xn--6frz82g|xn--6qq986b3xl|xn--80adxhks|xn--80ao21a|xn--80aqecdr1a|xn--80asehdb|xn--80aswg|xn--8y0a063a|xn--90a3ac|xn--90ae|xn--90ais|xn--9dbq2a|xn--9et52u|xn--9krt00a|xn--b4w605ferd|xn--bck1b9a5dre4c|xn--c1avg|xn--c2br7g|xn--cck2b3b|xn--cg4bki|xn--clchc0ea0b2g2a9gcd|xn--czr694b|xn--czrs0t|xn--czru2d|xn--d1acj3b|xn--d1alf|xn--e1a4c|xn--eckvdtc9d|xn--efvy88h|xn--estv75g|xn--fct429k|xn--fhbei|xn--fiq228c5hs|xn--fiq64b|xn--fiqs8s|xn--fiqz9s|xn--fjq720a|xn--flw351e|xn--fpcrj9c3d|xn--fzc2c9e2c|xn--fzys8d69uvgm|xn--g2xx48c|xn--gckr3f0f|xn--gecrj9c|xn--gk3at1e|xn--h2breg3eve|xn--h2brj9c|xn--h2brj9c8c|xn--hxt814e|xn--i1b6b1a6a2e|xn--imr513n|xn--io0a7i|xn--j1aef|xn--j1amh|xn--j6w193g|xn--jlq61u9w7b|xn--jvr189m|xn--kcrx77d1x4a|xn--kprw13d|xn--kpry57d|xn--kpu716f|xn--kput3i|xn--l1acc|xn--lgbbat1ad8j|xn--mgb9awbf|xn--mgba3a3ejt|xn--mgba3a4f16a|xn--mgba7c0bbn0a|xn--mgbaakc7dvf|xn--mgbaam7a8h|xn--mgbab2bd|xn--mgbai9azgqp6j|xn--mgbayh7gpa|xn--mgbb9fbpob|xn--mgbbh1a|xn--mgbbh1a71e|xn--mgbc0a9azcg|xn--mgbca7dzdo|xn--mgberp4a5d4ar|xn--mgbgu82a|xn--mgbi4ecexp|xn--mgbpl2fh|xn--mgbt3dhd|xn--mgbtx2b|xn--mgbx4cd0ab|xn--mix891f|xn--mk1bu44c|xn--mxtq1m|xn--ngbc5azd|xn--ngbe9e0a|xn--ngbrx|xn--node|xn--nqv7f|xn--nqv7fs00ema|xn--nyqy26a|xn--o3cw4h|xn--ogbpf8fl|xn--p1acf|xn--p1ai|xn--pbt977c|xn--pgbs0dh|xn--pssy2u|xn--q9jyb4c|xn--qcka1pmc|xn--qxam|xn--rhqv96g|xn--rovu88b|xn--rvc1e0am3e|xn--s9brj9c|xn--ses554g|xn--t60b56a|xn--tckwe|xn--tiq49xqyj|xn--unup4y|xn--vermgensberater-ctb|xn--vermgensberatung-pwb|xn--vhquv|xn--vuq861b|xn--w4r85el8fhu5dnra|xn--w4rs40l|xn--wgbh1c|xn--wgbl6a|xn--xhq521b|xn--xkc2al3hye2a|xn--xkc2dl3a5ee0h|xn--y9a3aq|xn--yfro4i67o|xn--ygbi2ammx|xn--zfr164b|xperia|xxx|xyz|yachts|yahoo|yamaxun|yandex|ye|yodobashi|yoga|yokohama|you|youtube|yt|yun|za|zappos|zara|zero|zip|zippo|zm|zone|zuerich|zw".split("|"),W="0123456789".split(""),X="0123456789abcdefghijklmnopqrstuvwxyz".split(""),Z=[" ","\f","\r","\t","\x0B"," "," ","᠎"],F=[],J=function(n){return new m(n)},V=J(),$=J(O),nn=J(x),en=J(),an=J(R);V.on("@",J(y)).on(".",J(k)).on("+",J(q)).on("#",J(N)).on("?",J(A)).on("/",J(L)).on("_",J(P)).on(":",J(v)).on("{",J(H)).on("[",J(B)).on("<",J(U)).on("(",J(M)).on("}",J(D)).on("]",J(I)).on(">",J(K)).on(")",J(_)).on("&",J(G)).on([",",";","!",'"',"'"],J(w)),V.on("\n",J(z)).on(Z,an),an.on(Z,an);for(var tn=0;tn=0&&l++,s++,o++;if(!(l<0)){o-=l,s-=l;var u=c.emit();t.push(new u(n.substr(o-s,s)))}}return t},vn=V,kn=Object.freeze({State:m,TOKENS:Y,run:yn,start:vn}),wn=l();wn.prototype={type:"token",isLink:!1,toString:function(){for(var n=[],e=0;e0&&void 0!==arguments[0]?arguments[0]:"http";return{type:this.type,value:this.toString(),href:this.toHref(n)}}};var jn=a(wn,l(),{type:"email",isLink:!0}),zn=a(wn,l(),{type:"email",isLink:!0,toHref:function(){return"mailto:"+this.toString()}}),On=a(wn,l(),{type:"text"}),qn=a(wn,l(),{type:"nl"}),Nn=a(wn,l(),{type:"url",isLink:!0,toHref:function(){for(var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"http",e=!1,a=!1,t=this.v,o=[],r=0;t[r]instanceof S;)e=!0,o.push(t[r].toString().toLowerCase()),r++;for(;t[r]instanceof L;)a=!0,o.push(t[r].toString()),r++;for(;g(t[r]);)o.push(t[r].toString().toLowerCase()),r++;for(;r=0&&u++,a++,c++;if(u<0)for(var g=a-c;g0&&(t.push(new On(o)),o=[]),a-=u,c-=u;var h=l.emit();t.push(new h(n.slice(a-c,a)))}}return o.length>0&&t.push(new On(o)),t},me=Object.freeze({State:f,TOKENS:Sn,run:pe,start:An});Array.isArray||(Array.isArray=function(n){return"[object Array]"===Object.prototype.toString.call(n)});var fe=function(n){return pe(yn(n))},de=function(n){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,a=fe(n),t=[],o=0;o1&&void 0!==arguments[1]?arguments[1]:null,a=fe(n);return 1===a.length&&a[0].isLink&&(!e||a[0].type===e)};e.find=de,e.inherits=a,e.options=b,e.parser=me,e.scanner=kn,e.test=xe,e.tokenize=fe}(self.linkify=self.linkify||{})}(); \ No newline at end of file diff --git a/src/frontend/login.html b/src/frontend/login.html new file mode 100644 index 0000000..3859d66 --- /dev/null +++ b/src/frontend/login.html @@ -0,0 +1,212 @@ + + + + + AIRA - Login + + + + +
+

AIRA

+

Local network secure P2P communications

+

ERROR_MSG

+
+
+

Login:

+
+
+
+ + +
+
+ +
+

Create New Identity:

+
+ + + + +
+
+
+
+ + + + \ No newline at end of file diff --git a/src/identity.rs b/src/identity.rs new file mode 100644 index 0000000..1db6681 --- /dev/null +++ b/src/identity.rs @@ -0,0 +1,376 @@ +use std::{convert::TryInto, path::Path, str::FromStr}; +use crypto::CryptoError; +use ed25519_dalek::{Keypair, Signer, SIGNATURE_LENGTH, PUBLIC_KEY_LENGTH}; +use rusqlite::{Connection, NO_PARAMS, params}; +use dirs; +use utils::to_uuid_bytes; +use uuid::Uuid; +use zeroize::Zeroize; +use crate::{constants, crypto, print_error, utils}; + +const DB_NAME: &str = "Identities.db"; +const IDENTITY_TABLE: &str = "identities"; +const CONTACTS_TABLE: &str = "contacts"; +const FILES_TABLE: &str = "files"; + +fn bool_to_byte(b: bool) -> u8 { + if b { 75 } else { 30 } //completely arbitrary values +} + +fn byte_to_bool(b: u8) -> Result { + if b == 75 { + Ok(true) + } else if b == 30 { + Ok(false) + } else { + Err(()) + } +} + +fn get_database_path() -> String { + Path::new(&dirs::config_dir().unwrap()).join(constants::APPLICATION_FOLDER).join(DB_NAME).to_str().unwrap().to_owned() +} + +struct EncryptedIdentity { + name: String, + encrypted_keypair: Vec, + salt: Vec, + encrypted_master_key: Vec +} + +fn get_identity_by_uuid(uuid: Uuid) -> Result, rusqlite::Error>{ + let db = Connection::open(get_database_path())?; + let mut stmt = db.prepare(&("SELECT name, key, salt, masterkey FROM ".to_owned()+IDENTITY_TABLE+" WHERE uuid=?1"))?; + let mut rows = stmt.query(vec![&uuid.as_bytes()[..]])?; + Ok(match rows.next()? { + Some(row) => { + let name: Vec = row.get(0)?; + Some( + EncryptedIdentity { + name: std::str::from_utf8(name.as_slice()).unwrap().to_owned(), + encrypted_keypair: row.get(1)?, + salt: row.get(2)?, + encrypted_master_key: row.get(3)? + } + ) + } + None => None + }) +} + +pub struct Contact { + pub uuid: Uuid, + pub public_key: [u8; PUBLIC_KEY_LENGTH], + pub name: String, + pub verified: bool, +} + +pub struct Identity { + pub uuid: Uuid, + pub name: String, + key: Keypair, + pub master_key: [u8; crypto::MASTER_KEY_LEN] +} + +impl Identity { + + pub fn sign(&self, input: &[u8]) -> [u8; SIGNATURE_LENGTH] { + self.key.sign(input).to_bytes() + } + + pub fn get_public_key(&self) -> [u8; PUBLIC_KEY_LENGTH] { + self.key.public.to_bytes() + } + + fn get_database_path(&self) -> String { + Path::new(&dirs::config_dir().unwrap()).join(constants::APPLICATION_FOLDER).join(self.uuid.to_string()+".db").to_str().unwrap().to_owned() + } + + pub fn add_contact(&self, name: String, public_key: [u8; PUBLIC_KEY_LENGTH]) -> Result { + let db = Connection::open(self.get_database_path())?; + db.execute(&("CREATE TABLE IF NOT EXISTS ".to_owned()+CONTACTS_TABLE+"(uuid BLOB PRIMARY KEY, name BLOB, key BLOB, verified BLOB)"), NO_PARAMS)?; + let contact_uuid = Uuid::new_v4(); + let encrypted_name = crypto::encrypt_data(name.as_bytes(), &self.master_key).unwrap(); + let encrypted_public_key = crypto::encrypt_data(&public_key, &self.master_key).unwrap(); + let encrypted_verified = crypto::encrypt_data(&[bool_to_byte(false)], &self.master_key).unwrap(); + db.execute(&("INSERT INTO ".to_owned()+CONTACTS_TABLE+" (uuid, name, key, verified) VALUES (?1, ?2, ?3, ?4)"), vec![&contact_uuid.as_bytes()[..], encrypted_name.as_slice(), encrypted_public_key.as_slice(), encrypted_verified.as_slice()])?; + Ok(Contact { + uuid: contact_uuid, + public_key: public_key, + name: name, + verified: false + }) + } + + pub fn remove_contact(&self, uuid: &Uuid) -> Result<(), rusqlite::Error> { + let db = Connection::open(self.get_database_path())?; + db.execute(&("DELETE FROM ".to_owned()+CONTACTS_TABLE+" WHERE uuid=?"), &[&uuid.as_bytes()[..]])?; + db.execute(&format!("DROP TABLE IF EXISTS \"{}\"", uuid), NO_PARAMS)?; + db.execute(&format!("DELETE FROM {} WHERE contact_uuid=?", FILES_TABLE), &[&uuid.as_bytes()[..]])?; + Ok(()) + } + + pub fn set_verified(&self, uuid: &Uuid) -> Result<(), rusqlite::Error> { + let db = Connection::open(self.get_database_path())?; + let encrypted_verified = crypto::encrypt_data(&[bool_to_byte(true)], &self.master_key).unwrap(); + db.execute(&format!("UPDATE {} SET verified=?1 WHERE uuid=?2", CONTACTS_TABLE), &[encrypted_verified.as_slice(), &uuid.as_bytes()[..]])?; + Ok(()) + } + + pub fn load_contacts(&self) -> Option> { + match Connection::open(self.get_database_path()) { + Ok(db) => { + match db.prepare(&("SELECT uuid, name, key, verified FROM ".to_owned()+CONTACTS_TABLE)) { + Ok(mut stmt) => { + let mut rows = stmt.query(NO_PARAMS).unwrap(); + let mut contacts = Vec::new(); + while let Some(row) = rows.next().unwrap() { + let encrypted_public_key: Vec = row.get(2).unwrap(); + match crypto::decrypt_data(encrypted_public_key.as_slice(), &self.master_key){ + Ok(public_key) => { + if public_key.len() == PUBLIC_KEY_LENGTH { + let encrypted_name: Vec = row.get(1).unwrap(); + match crypto::decrypt_data(encrypted_name.as_slice(), &self.master_key) { + Ok(name) => { + let encrypted_verified: Vec = row.get(3).unwrap(); + match crypto::decrypt_data(encrypted_verified.as_slice(), &self.master_key){ + Ok(verified) => { + let uuid: Vec = row.get(0).unwrap(); + match to_uuid_bytes(&uuid) { + Some(uuid_bytes) => { + contacts.push(Contact { + uuid: Uuid::from_bytes(uuid_bytes), + public_key: public_key.try_into().unwrap(), + name: std::str::from_utf8(name.as_slice()).unwrap().to_owned(), + verified: byte_to_bool(verified[0]).unwrap() + }) + } + None => {} + } + } + Err(e) => print_error(e) + } + } + Err(e) => print_error(e) + } + } else { + print_error("Invalid public key length: database corrupted"); + } + } + Err(e) => print_error(e) + } + } + Some(contacts) + } + Err(e) => { + print_error(e); + None + } + } + } + Err(e) => { + print_error(e); + None + } + } + } + + pub fn clear_temporary_files(&self) -> Result { + let db = Connection::open(self.get_database_path())?; + db.execute(&format!("DELETE FROM {} WHERE contact_uuid IS NULL", FILES_TABLE), NO_PARAMS) + } + + pub fn load_file(&self, uuid: Uuid) -> Option> { + match Connection::open(self.get_database_path()) { + Ok(db) => { + match db.prepare(&format!("SELECT uuid, data FROM \"{}\"", FILES_TABLE)) { + Ok(mut stmt) => { + let mut rows = stmt.query(NO_PARAMS).unwrap(); + while let Some(row) = rows.next().unwrap() { + let encrypted_uuid: Vec = row.get(0).unwrap(); + match crypto::decrypt_data(encrypted_uuid.as_slice(), &self.master_key){ + Ok(test_uuid) => { + if test_uuid == uuid.as_bytes() { + let encrypted_data: Vec = row.get(1).unwrap(); + match crypto::decrypt_data(encrypted_data.as_slice(), &self.master_key) { + Ok(data) => return Some(data), + Err(e) => print_error(e) + } + } + } + Err(e) => print_error(e) + } + } + None + } + Err(e) => { + print_error(e); + None + } + } + } + Err(e) => { + print_error(e); + None + } + } + } + + pub fn store_file(&self, contact_uuid: Option, data: &[u8]) -> Result { + let db = Connection::open(self.get_database_path())?; + db.execute(&format!("CREATE TABLE IF NOT EXISTS \"{}\" (contact_uuid BLOB, uuid BLOB, data BLOB)", FILES_TABLE), NO_PARAMS)?; + let file_uuid = Uuid::new_v4(); + let encrypted_uuid = crypto::encrypt_data(file_uuid.as_bytes(), &self.master_key).unwrap(); + let encrypted_data = crypto::encrypt_data(data, &self.master_key).unwrap(); + let query = format!("INSERT INTO \"{}\" (contact_uuid, uuid, data) VALUES (?1, ?2, ?3)", FILES_TABLE); + match contact_uuid { + Some(uuid) => db.execute(&query, params![&uuid.as_bytes()[..], &encrypted_uuid, &encrypted_data])?, + None => db.execute(&query, params![None as Option>, &encrypted_uuid, &encrypted_data])? + }; + Ok(file_uuid) + } + + pub fn store_msg(&self, contact_uuid: &Uuid, outgoing: bool, data: &[u8]) -> Result<(), rusqlite::Error> { + let db = Connection::open(self.get_database_path())?; + db.execute(&format!("CREATE TABLE IF NOT EXISTS \"{}\" (outgoing BLOB, data BLOB)", contact_uuid), NO_PARAMS)?; + let outgoing_byte: u8 = bool_to_byte(outgoing); + let encrypted_outgoing = crypto::encrypt_data(&[outgoing_byte], &self.master_key).unwrap(); + let encrypted_data = crypto::encrypt_data(data, &self.master_key).unwrap(); + db.execute(&format!("INSERT INTO \"{}\" (outgoing, data) VALUES (?1, ?2)", contact_uuid), vec![encrypted_outgoing, encrypted_data])?; + Ok(()) + } + + pub fn load_msgs(&self, contact_uuid: &Uuid) -> Option)>> { + match Connection::open(self.get_database_path()) { + Ok(db) => { + match db.prepare(&format!("SELECT outgoing, data FROM \"{}\"", contact_uuid)) { + Ok(mut stmt) => { + let mut rows = stmt.query(NO_PARAMS).unwrap(); + let mut msgs = Vec::new(); + while let Some(row) = rows.next().unwrap() { + let encrypted_outgoing: Vec = row.get(0).unwrap(); + match crypto::decrypt_data(encrypted_outgoing.as_slice(), &self.master_key){ + Ok(outgoing) => { + match byte_to_bool(outgoing[0]) { + Ok(outgoing) => { + let encrypted_data: Vec = row.get(1).unwrap(); + match crypto::decrypt_data(encrypted_data.as_slice(), &self.master_key) { + Ok(data) => { + msgs.push( + ( + outgoing, + data + ) + ) + }, + Err(e) => print_error(e) + } + } + Err(_) => {} + } + + } + Err(e) => print_error(e) + } + } + Some(msgs) + } + Err(e) => { + print_error(e); + None + } + } + } + Err(e) => { + print_error(e); + None + } + } + } + + pub fn zeroize(&mut self){ + self.master_key.zeroize(); + self.key.secret.zeroize(); + } + + pub fn get_identity(uuid: &str, password: &str) -> Result { + let uuid = Uuid::from_str(&uuid).unwrap(); + match get_identity_by_uuid(uuid) { + Ok(encrypted_identity) => { + match encrypted_identity { + Some(encrypted_identity) => { + match crypto::decrypt_master_key(encrypted_identity.encrypted_master_key.as_slice(), password, encrypted_identity.salt.as_slice()) { + Ok(master_key) => { + match crypto::decrypt_data(encrypted_identity.encrypted_keypair.as_slice(), &master_key) { + Ok(keypair) => { + Ok(Identity{ + uuid: uuid, + name: encrypted_identity.name, + key: Keypair::from_bytes(&keypair[..]).unwrap(), + master_key: master_key + }) + } + Err(e) => { + print_error(e); + Err("Database corrupted".to_owned()) + } + } + } + Err(e) => { + Err(match e { + CryptoError::DecryptionFailed => "Bad password".to_owned(), + CryptoError::InvalidLength => "Database corrupted".to_owned() + }) + } + } + } + None => { + Err("No such identity".to_owned()) + } + } + } + Err(e) => { + Err(e.to_string()) + } + } + } + + pub fn get_identities() -> Result, rusqlite::Error> { + let db = Connection::open(get_database_path())?; + let mut stmt = db.prepare(&("SELECT uuid, name FROM ".to_owned()+IDENTITY_TABLE))?; + let mut rows = stmt.query(NO_PARAMS)?; + let mut identities = Vec::new(); + while let Some(row) = rows.next()? { + let uuid: Vec = row.get(0)?; + let name: Vec = row.get(1)?; + match to_uuid_bytes(&uuid) { + Some(uuid_bytes) => identities.push( + ( + Uuid::from_bytes(uuid_bytes), + std::str::from_utf8(name.as_slice()).unwrap().to_owned() + ) + ), + None => {} + } + } + Ok(identities) + } + + pub fn create_new_identidy(name: &str, password: &str) -> Result { + let db = Connection::open(get_database_path())?; + db.execute(&("CREATE TABLE IF NOT EXISTS ".to_owned()+IDENTITY_TABLE+"(uuid BLOB PRIMARY KEY, name TEXT, key BLOB, salt BLOB, masterkey BLOB)"), NO_PARAMS)?; + let uuid = Uuid::new_v4(); + let keypair = Keypair::generate(&mut rand_7::rngs::OsRng); + let master_key = crypto::generate_master_key(); + let encrypted_keypair = crypto::encrypt_data(&keypair.to_bytes(), &master_key).unwrap(); + let (salt, encrypted_master_key) = crypto::encrypt_master_key(master_key, password); + db.execute(&("INSERT INTO ".to_owned()+IDENTITY_TABLE+" (uuid, name, key, salt, masterkey) VALUES (?1, ?2, ?3, ?4, ?5)"), vec![&uuid.as_bytes()[..], name.as_bytes(), encrypted_keypair.as_slice(), &salt, &encrypted_master_key]).unwrap(); + + Ok(Identity { + uuid: uuid, + name: name.to_owned(), + key: keypair, + master_key: master_key + }) + } +} \ No newline at end of file diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..b1ea41e --- /dev/null +++ b/src/main.rs @@ -0,0 +1,534 @@ +mod identity; +mod crypto; +mod session_manager; +mod utils; +mod ui_interface; +mod constants; +mod discovery; + +use std::{collections::HashMap, env, fmt::Display, fs, io, net::{TcpStream, TcpListener}, path::Path, str::FromStr, sync::{RwLock, Mutex, Arc}, thread, thread::sleep, time::Duration}; +use actix_web::{http::{header, CookieBuilder}, App, HttpRequest, HttpResponse, HttpMessage, HttpServer, web, web::Data}; +use rand_8::{RngCore, rngs::OsRng}; +use session_manager::SessionError; +use tungstenite::{ + WebSocket, + accept, +}; +use serde::{Deserialize, Serialize}; +use utils::escape_double_quote; +use uuid::Uuid; +use crate::identity::Identity; +use crate::session_manager::{SessionManager, protocol}; +use crate::ui_interface::UiConnection; + +fn start_websocket_server(global_vars: &Arc>) -> u16 { + let websocket_bind_addr = env::var("AIRA_WEBSOCKET_ADDR").unwrap_or("127.0.0.1".to_owned()); + let websocket_port = env::var("AIRA_WEBSOCKET_PORT").unwrap_or("0".to_owned()); + let server = TcpListener::bind(websocket_bind_addr+":"+&websocket_port).unwrap(); + let websocket_port = server.local_addr().unwrap().port(); + let global_vars_clone = Arc::clone(global_vars); + thread::spawn(move || { + for stream in server.incoming() { + let stream = stream.unwrap(); + stream.set_read_timeout(Some(Duration::from_millis(100))).unwrap(); + match accept(stream) { + Ok(websocket) => { + websocket_worker(websocket, &global_vars_clone); + } + Err(e) => print_error(e) + } + } + }); + websocket_port +} + +fn on_connected(index: usize, session_manager: &Arc, ui_connection: &Arc>){ + let mut ui_connection = ui_connection.lock().unwrap(); + ui_connection.on_connected(index); + session_manager.handle_new_session(&index, ui_connection); +} + +fn handle_connect(ip: &str, session_manager: &Arc, ui_connection: &Arc>){ + match session_manager.connect_to(ip){ + Ok(index) => { + on_connected(index, session_manager, ui_connection); + } + Err(e) => { + if e != SessionError::AlreadyConnected && e != SessionError::IsUs { + print_error(e) + } + } + } +} + +fn websocket_worker(websocket: WebSocket, global_vars: &Arc>){ + let ui_connection = Arc::new(Mutex::new(UiConnection::new(websocket))); + let global_vars_read = global_vars.read().unwrap(); + global_vars_read.session_manager.set_ui_connection(&ui_connection); + if global_vars_read.is_backend_running { //ui reconnection + global_vars_read.session_manager.list_sessions().into_iter().for_each(|index|{ + on_connected(index, &global_vars_read.session_manager, &ui_connection); + }); + } else { + match SessionManager::start_listener(&global_vars_read.session_manager) { + Ok(_) => {} + Err(e) => println!("{}. You won't be able to receive incomming connections from other peers.", e) + } + SessionManager::start_receiver_loop(&global_vars_read.session_manager); + discovery::advertise_me(); + drop(global_vars_read); + global_vars.write().unwrap().is_backend_running = true; + } + let global_vars_read = global_vars.read().unwrap(); + global_vars_read.session_manager.list_contacts().into_iter().for_each(|contact|{ + let mut ui_connection_locked = ui_connection.lock().unwrap(); + ui_connection_locked.set_as_contact(contact.0, &contact.1, contact.2); + match global_vars_read.session_manager.load_msgs(&contact.0) { + Some(msgs) => { + ui_connection_locked.load_msgs(&contact.0, msgs); + } + None => {} + } + }); + global_vars_read.session_manager.get_saved_msgs().into_iter().for_each(|entry| { + ui_connection.lock().unwrap().on_received(&entry.0, &entry.1); + }); + let session_manager_clone = Arc::clone(&global_vars_read.session_manager); + let ui_connection_clone = Arc::clone(&ui_connection); + thread::spawn(move || { + discovery::discover_peers(|discovery_manager, ip| { + println!("New peer discovered: {}", ip); + if ui_connection_clone.lock().unwrap().is_valid { + handle_connect(&ip, &session_manager_clone, &ui_connection_clone); + } else { + discovery_manager.stop_service_discovery(); + } + }); + }); + loop { + let mut ui_connection_locked = ui_connection.lock().unwrap(); + let msg_result = ui_connection_locked.read_message(); + drop(ui_connection_locked); //release mutex + match msg_result { + Ok(msg) => { + let args: Vec<&str> = msg.split(" ").collect(); + match args[0] { + "connect" => { + handle_connect(args[1], &global_vars_read.session_manager, &ui_connection); + } + "send" => { + let buffer = protocol::new_message(args[2..].join(" ")); + let index: usize = args[1].parse().unwrap(); + match global_vars_read.session_manager.send_to(&index, &buffer){ + Ok(_) => { + if global_vars_read.session_manager.is_contact(&index) { + match global_vars_read.session_manager.store_msg(&index, true, &buffer) { + Ok(_) => {}, + Err(e) => print_error(e) + } + } + } + Err(e) => print_error(e) + } + } + "contact" => { + let index: usize = args[1].parse().unwrap(); + match global_vars_read.session_manager.add_contact(index, args[2..].join(" ")) { + Ok(_) => {}, + Err(e) => print_error(e) + } + } + "uncontact" => { + let index: usize = args[1].parse().unwrap(); + match global_vars_read.session_manager.remove_contact(&index) { + Ok(_) => {}, + Err(e) => print_error(e) + } + } + "fingerprints" => { + let index: usize = args[1].parse().unwrap(); + let (local, peer) = global_vars_read.session_manager.get_public_keys(&index); + let local = crypto::generate_fingerprint(&local); + let peer = crypto::generate_fingerprint(&peer); + ui_connection.lock().unwrap().fingerprints(&local, &peer); + } + "verify" => { + let index: usize = args[1].parse().unwrap(); + match global_vars_read.session_manager.set_verified(&index) { + Ok(_) => {}, + Err(e) => print_error(e) + } + } + "file" => { + let index: usize = args[1].parse().unwrap(); + let file_name = args[2..].join(" "); + let mut ui_connection_locked = ui_connection.lock().unwrap(); + let buffer = ui_connection_locked.read_binary(); + drop(ui_connection_locked); + match buffer { + Ok(buffer) => { + match global_vars_read.session_manager.send_to(&index, &protocol::file(&file_name, &buffer)) { + Ok(_) => { + if global_vars_read.session_manager.is_contact(&index) { + match global_vars_read.session_manager.store_file(&index, &buffer) { + Ok(file_uuid) => { + ui_connection.lock().unwrap().file_sent(index, &file_name, Some(file_uuid.to_string())); + match global_vars_read.session_manager.store_msg(&index, true, &[&[protocol::Headers::FILE][..], file_uuid.as_bytes(), &file_name.into_bytes()].concat()) { + Ok(_) => {} + Err(e) => print_error(e) + } + } + Err(e) => print_error(e) + } + } else { + ui_connection.lock().unwrap().file_sent(index, &file_name, None); + } + } + Err(e) => print_error(e) + } + } + Err(e) => print_error(e) + } + } + _ => println!("Unknown: {}", msg) + } + } + Err(e) => { + match e { + tungstenite::Error::Io(ref e) => { + if e.kind() != io::ErrorKind::WouldBlock { + print_error(e) + } + } + tungstenite::Error::ConnectionClosed => { + println!("Websocket connection closed"); + ui_connection.lock().unwrap().is_valid = false; + return + } + _ => print_error(e) + } + } + } + sleep(Duration::from_millis(constants::MUTEX_RELEASE_DELAY_MS)); //pause let other threads use ui_connection + } +} + +#[derive(Deserialize, Serialize, Debug)] +struct FileInfo { + uuid: String, + file_name: String, +} + +fn handle_load_file(req: HttpRequest, file_info: web::Query) -> HttpResponse { + println!("Load file request from: {}", req.peer_addr().unwrap()); + match req.cookie(constants::HTTP_COOKIE_NAME) { + Some(cookie) => { + let global_vars = req.app_data::>>>().unwrap(); + let global_vars = global_vars.read().unwrap(); + match global_vars.http_session_manager.get_name_from_cookie(cookie.value()) { + Some(_) => { + match Uuid::from_str(&file_info.uuid) { + Ok(uuid) => { + match global_vars.session_manager.load_file(uuid) { + Some(buffer) => { + return HttpResponse::Ok().header("Content-Disposition", format!("attachment; filename=\"{}\"", escape_double_quote(html_escape::decode_html_entities(&file_info.file_name).to_string()))).content_type("application/octet-stream").body(buffer); + } + None => {} + } + } + Err(e) => print_error(e) + } + } + None => {} + } + } + None => {} + } + HttpResponse::NotFound().finish() +} + +fn handle_logout(req: HttpRequest) -> HttpResponse { + println!("Logout request from: {}", req.peer_addr().unwrap()); + match req.cookie(constants::HTTP_COOKIE_NAME) { + Some(cookie) => { + let global_vars = req.app_data::>>>().unwrap(); + let mut global_vars_write = global_vars.write().unwrap(); + global_vars_write.http_session_manager.remove(cookie.value()); + global_vars_write.session_manager.stop(); + global_vars_write.is_backend_running = false; + HttpResponse::Found().header(header::LOCATION, "/").finish() + } + None => HttpResponse::Unauthorized().finish() + } +} + +fn login(identity: Identity, global_vars: &Arc>) -> HttpResponse { + let mut global_vars = global_vars.write().unwrap(); + let cookie_value = global_vars.http_session_manager.register(identity.name.to_string()); + if match global_vars.session_manager.get_identity_uuid() { + Some(uuid) => uuid != identity.uuid, + None => true + } { + global_vars.session_manager.set_identity(Some(identity)); + } + let cookie = CookieBuilder::new(constants::HTTP_COOKIE_NAME, cookie_value) + .http_only(true) + .max_age(time::Duration::hours(4) + ).finish(); + HttpResponse::Found().header(header::LOCATION, "/").set_header(header::SET_COOKIE, cookie.to_string()).finish() +} + +fn handle_login(req: HttpRequest, params: web::Form) -> HttpResponse { + println!("Login request from: {}", req.peer_addr().unwrap()); + match Identity::get_identity(¶ms.uuid, ¶ms.password) { + Ok(identity) => { + let global_vars = req.app_data::>>>().unwrap(); + match identity.clear_temporary_files() { + Ok(n) => println!("Deleted {} files", n), + Err(e) => print_error(e) + } + login(identity, global_vars.get_ref()) + } + Err(e) => { + let body = get_login_body(Some(&e.to_string())); + HttpResponse::NotFound().body(body) + } + } +} + +fn get_login_body(error_msg: Option<&str>) -> String { + let mut formated_identities = String::new(); + match Identity::get_identities(){ + Ok(identities) => { + for i in 0..identities.len() { + let uuid = identities[i].0.to_string(); + formated_identities += &format!("[\"{}\", \"{}\"]", uuid, identities[i].1); + if i != identities.len()-1 { + formated_identities += ", "; + } + } + } + Err(e) => { + print_error(e) + } + }; + include_str!("frontend/login.html") + .replace("IDENTITIES", &formated_identities).replace("ERROR_MSG", &match error_msg { + Some(error_msg) => format!("Error: {}.", error_msg), + None => String::new() + }) +} + +fn handle_create(req: HttpRequest, params: web::Form) -> HttpResponse { + println!("Create request from: {}", req.peer_addr().unwrap()); + if params.password == params.password_confirm { + match Identity::create_new_identidy(¶ms.name, ¶ms.password) { + Ok(identity) => { + let global_vars = req.app_data::>>>().unwrap(); + login(identity, global_vars.get_ref()) + } + Err(e) => { + print_error(&e); + let body = get_login_body(Some(&e.to_string())); + HttpResponse::Ok().body(body) + } + } + } else { + let body = get_login_body(Some("Passwords don't match")); + HttpResponse::Ok().body(body) + } +} + +fn index(req: HttpRequest) -> HttpResponse { + println!("GET request from: {}", req.peer_addr().unwrap()); + let body = match req.cookie(constants::HTTP_COOKIE_NAME) { + Some(cookie) => { + let global_vars = req.app_data::>>>().unwrap(); + let global_vars = global_vars.write().unwrap(); + match global_vars.http_session_manager.get_name_from_cookie(cookie.value()) { + Some(name) => { + include_str!("frontend/index.html") + .replace("WEBSOCKET_PORT", &global_vars.websocket_port.to_string()) + .replace("IDENTITY_NAME", &name) + } + None => get_login_body(None) + } + } + None => get_login_body(None) + }; + HttpResponse::Ok().body(body) +} + +const JS_CONTENT_TYPE: &str = "text/javascript"; + +fn handle_static(req: HttpRequest) -> HttpResponse { + println!("Static: {}", req.path()); + let splits: Vec<&str> = req.path()[1..].split("/").collect(); + if splits[0] == "static" { + let mut response_builder = HttpResponse::Ok(); + match splits[1] { + "imgs" => { + if splits[2] == "icons" && splits.len() <= 5 { + let color = if splits.len() == 5 { + splits[4] + } else { + "none" + }; + match match splits[3] { + "verified" => Some(include_str!("frontend/imgs/icons/verified.svg")), + "add_contact" => Some(include_str!("frontend/imgs/icons/add_contact.svg")), + "remove_contact" => Some(include_str!("frontend/imgs/icons/remove_contact.svg")), + "logout" => Some(include_str!("frontend/imgs/icons/logout.svg")), + "warning" => Some(include_str!("frontend/imgs/icons/warning.svg")), + "attach" => Some(include_str!("frontend/imgs/icons/attach.svg")), + "download" => Some(include_str!("frontend/imgs/icons/download.svg")), + _ => None + } { + Some(body) => { + response_builder.content_type("image/svg+xml"); + return response_builder.body(body.replace("FILL_COLOR", color)) + } + None => {} + } + } else if splits.len() == 3 { + response_builder.content_type("image/jpeg"); + match splits[2] { + "wallpaper" => return response_builder.body(&include_bytes!("frontend/imgs/wallpaper.jpeg")[..]), + _ => {} + } + } + } + "commons" => { + if splits.len() == 3 { + match splits[2] { + "script.js" => return response_builder.content_type(JS_CONTENT_TYPE).body(include_str!("frontend/commons/script.js")), + "style.css" => return response_builder.body(include_str!("frontend/commons/style.css")), + _ => {} + } + } + } + "libs" => { + if splits.len() == 3 { + match match splits[2] { + "linkify.min.js" => Some(include_str!("frontend/libs/linkify.min.js")), + "linkify-html.min.js" => Some(include_str!("frontend/libs/linkify-html.min.js")), + "linkify-element.min.js" => Some(include_str!("frontend/libs/linkify-element.min.js")), + _ => None + } { + Some(body) => return response_builder.content_type(JS_CONTENT_TYPE).body(body), + None => {} + } + } + } + _ => {} + } + } + HttpResponse::NotFound().finish() +} + +#[actix_web::main] +async fn start_http_server(global_vars: Arc>) -> io::Result<()> { + let http_bind_addr = env::var("AIRA_HTTP_ADDR").unwrap_or("127.0.0.1".to_owned()); + let http_port = env::var("AIRA_HTTP_PORT").unwrap_or("0".to_owned()); + let server = HttpServer::new(move || { + let global_vars_clone = global_vars.clone(); + App::new() + .data(global_vars_clone) + .service(web::resource("/") + .route(web::get().to(index)) + .route(web::post().to(handle_create)) + ) + .route("/login", web::post().to(handle_login)) + .route("/load_file", web::get().to(handle_load_file)) + .route("/static/.*", web::get().to(handle_static)) + .route("/logout", web::get().to(handle_logout)) + } + ).bind(http_bind_addr+":"+&http_port)?; + let url = "http://127.0.0.1:".to_owned()+&server.addrs().get(0).unwrap().port().to_string(); + println!("AIRA started on: {}", url); + if webbrowser::open(&url).is_err() { + println!("Failed to open browser. Please open the link manually."); + } + server.run().await +} + +#[derive(Serialize, Deserialize)] +struct LoginParams { + uuid: String, + password: String +} + +#[derive(Serialize, Deserialize)] +struct CreateParams { + name: String, + password: String, + password_confirm: String +} + +struct HttpSessionsManager { + http_sessions: HashMap +} + +impl HttpSessionsManager { + pub fn new() -> HttpSessionsManager { + HttpSessionsManager { + http_sessions: HashMap::new() + } + } + pub fn register(&mut self, identity_name: String) -> String { + let mut raw_cookie = [0; 32]; + OsRng.fill_bytes(&mut raw_cookie); + let cookie = base64::encode(raw_cookie); + self.http_sessions.insert(cookie.clone(), identity_name); + cookie + } + pub fn remove(&mut self, cookie: &str) { + self.http_sessions.remove(cookie); + } + pub fn get_name_from_cookie(&self, cookie_value: &str) -> Option { + Some(self.http_sessions.get(cookie_value)?.clone()) + } +} + +/*impl Debug for HttpSessionsManager { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + f.write_str("{\n")?; + for (k, v) in self.http_sessions.read().unwrap().iter() { + f.write_str(&format!("\t{} : {}", k, v))?; + } + f.write_str("\n}") + + } +}*/ + +struct GlobalVars { + session_manager: Arc, + is_backend_running: bool, + websocket_port: u16, + http_session_manager: HttpSessionsManager, +} + +fn main() { + match fs::create_dir(Path::new(&dirs::config_dir().unwrap()).join(constants::APPLICATION_FOLDER)){ + Ok(_) => {} + Err(e) => { + if e.kind() != io::ErrorKind::AlreadyExists { + print_error(e); + } + } + } + let session_manager = Arc::new(SessionManager::new()); + let global_vars = Arc::new(RwLock::new(GlobalVars { + session_manager: session_manager, + is_backend_running: false, + websocket_port: 0, + http_session_manager: HttpSessionsManager::new() + })); + let websocket_port = start_websocket_server(&global_vars); + global_vars.write().unwrap().websocket_port = websocket_port; + start_http_server(global_vars).unwrap(); +} + +fn print_error(error: T){ + println!("{}", error); +} diff --git a/src/session_manager/mod.rs b/src/session_manager/mod.rs new file mode 100644 index 0000000..a97cd62 --- /dev/null +++ b/src/session_manager/mod.rs @@ -0,0 +1,405 @@ +mod session; +pub mod protocol; + +use std::{collections::HashMap, io::ErrorKind, net::{SocketAddr, TcpStream}, sync::{Arc, Mutex, MutexGuard, RwLock}, thread, thread::sleep, time::Duration}; +use socket2::{Socket, Domain, Type}; +use session::Session; +use strum_macros::Display; +use ed25519_dalek::PUBLIC_KEY_LENGTH; +use uuid::Uuid; +use zeroize::Zeroize; +use crate::{constants, identity::{Contact, Identity}, print_error}; +use crate::ui_interface::UiConnection; + +#[derive(Display, Debug, PartialEq, Eq)] +pub enum SessionError { + SocketTimeout, + ConnectionReset, + BrokenPipe, + TransmissionCorrupted, + BufferTooLarge, + ConnectFailed, + InvalidSessionId, + BindFailed, + AlreadyConnected, + IsUs, + Unknown +} + +pub struct SessionManager { + session_counter: RwLock, + sessions: RwLock>, + identity: RwLock>, + ui_connection: Mutex>>>, + loaded_contacts: RwLock>, + msg_queue: Mutex)>>, + is_stopping: RwLock +} + +impl SessionManager { + + fn with_ui_connection(&self, f: F) -> bool where F: Fn(MutexGuard) { + let mut ui_connection_opt = self.ui_connection.lock().unwrap(); + let ui_connection = ui_connection_opt.as_mut().unwrap().lock().unwrap(); + if ui_connection.is_valid { + f(ui_connection); + true + } else { + false + } + } + + fn do_handshake_then_add(&self, mut session: Session) -> Result{ + let identity_opt = self.identity.read().unwrap(); + let identity = identity_opt.as_ref().unwrap(); + session.do_handshake(identity)?; + let peer_public_key = session.peer_public_key.unwrap(); + if identity.get_public_key() == peer_public_key { //did handshake with the same Identity + return Err(SessionError::IsUs); + } + let mut sessions = self.sessions.write().unwrap(); + for (_, registered_session) in sessions.iter() { + if registered_session.peer_public_key.unwrap() == peer_public_key { //already connected with a different addr + return Err(SessionError::AlreadyConnected) + } + } + for (index, contact) in self.loaded_contacts.read().unwrap().iter() { + if contact.public_key == peer_public_key { //session is a known contact. Assign the contact index to it + sessions.insert(*index, session); + return Ok(*index) + } + } + //if not a contact, increment the session_counter + let mut session_counter = self.session_counter.write().unwrap(); + sessions.insert(*session_counter, session); + let r = *session_counter; + *session_counter += 1; + Ok(r) + } + + pub fn connect_to(&self, ip: &str) -> Result { + let sessions = self.sessions.read().unwrap(); + for (_, s) in sessions.iter() { + if s.get_ip() == ip { + return Err(SessionError::AlreadyConnected) + } + } + drop(sessions); //release mutex + match TcpStream::connect((ip, constants::PORT.parse().unwrap())) { + Ok(stream) => { + let session = Session::new(stream); + self.do_handshake_then_add(session) + } + Err(_) => Err(SessionError::ConnectFailed) + } + } + + pub fn send_to(&self, index: &usize, message: &[u8]) -> Result<(), SessionError> { + let mut sessions = self.sessions.write().unwrap(); + match sessions.get_mut(index) { + Some(session) => session.encrypt_and_send(message), + None => Err(SessionError::InvalidSessionId) + } + } + + pub fn start_receiver_loop(session_manager: &Arc) { + let session_manager_clone = Arc::clone(session_manager); + thread::spawn(move || { + loop { + let mut dead_sessions = Vec::new(); + let mut sessions = session_manager_clone.sessions.write().unwrap(); + for (index, session) in sessions.iter_mut() { + let mut dead_session = false; + match session.receive_and_decrypt() { + Ok(buffer) => { + if buffer[0] == protocol::Headers::ASK_NAME { + session.encrypt_and_send(&protocol::tell_name(&session_manager_clone.identity.read().unwrap().as_ref().unwrap().name)).unwrap(); + } else { + let buffer = if buffer[0] == protocol::Headers::FILE { + let file_name_len = u16::from_be_bytes([buffer[1], buffer[2]]) as usize; + let file_name = &buffer[3..3+file_name_len]; + match session_manager_clone.store_file(index, &buffer[3+file_name_len..]) { + Ok(file_uuid) => { + Some([&[protocol::Headers::FILE][..], file_uuid.as_bytes(), file_name].concat()) + } + Err(e) => { + print_error(e); + None + } + } + } else { + Some(buffer) + }; + if buffer.is_some() { + let mut msg_saved = false; + if session_manager_clone.is_contact(index) && buffer.as_ref().unwrap()[0] != protocol::Headers::TELL_NAME { + match session_manager_clone.store_msg(&index, false, &buffer.as_ref().unwrap()) { + Ok(_) => msg_saved = true, + Err(e) => print_error(e) + } + } + let ui_connection_valid = session_manager_clone.with_ui_connection(|mut ui_connection| { + ui_connection.on_received(index, &buffer.as_ref().unwrap()); + }); + if !ui_connection_valid && !msg_saved { + session_manager_clone.msg_queue.lock().unwrap().push((*index, buffer.unwrap())); + } + } + } + } + Err(e) => { + if e == SessionError::BrokenPipe { + dead_session = true + } else if e != SessionError::SocketTimeout { + print_error(e); + } + } + } + if dead_session { + session_manager_clone.with_ui_connection(|mut ui_connection| { + ui_connection.on_disconnected(*index); + }); + dead_sessions.push(*index); + } + } + dead_sessions.into_iter().for_each(|index| { + sessions.remove(&index); + }); + drop(sessions); //release mutex + if *session_manager_clone.is_stopping.read().unwrap() { + break; + } + sleep(Duration::from_millis(constants::MUTEX_RELEASE_DELAY_MS)); + } + println!("Stopping receiver thread"); + }); + } + + pub fn start_listener(session_manager: &Arc) -> Result<(), SessionError> { + let socket_v6 = Socket::new(Domain::ipv6(), Type::stream(), None).unwrap(); + let socket_v4 = Socket::new(Domain::ipv4(), Type::stream(), None).unwrap(); + socket_v4.set_reuse_address(true).unwrap(); + socket_v6.set_reuse_address(true).unwrap(); + let addr_v6 = "[::1]:".to_owned()+constants::PORT; + let addr_v4 = "0.0.0.0:".to_owned()+constants::PORT; + let mut sockets = Vec::new(); + match socket_v6.bind(&addr_v6.parse::().unwrap().into()) { + Ok(_) => sockets.push(socket_v6), + Err(e) => println!("Unable to bind on IPv6: {}", e) + }; + match socket_v4.bind(&addr_v4.parse::().unwrap().into()) { + Ok(_) => sockets.push(socket_v4), + Err(e) => println!("Unable to bind on IPv4: {}", e) + } + if sockets.len() > 0 { + println!("Listening on port {}...", constants::PORT); + for socket in sockets { + socket.listen(256).unwrap(); + socket.set_read_timeout(Some(Duration::from_millis(100))).unwrap(); + let session_manager_clone = Arc::clone(session_manager); + thread::spawn(move ||{ + for stream in socket.into_tcp_listener().incoming() { + match stream { + Ok(stream) => { + let session = Session::new(stream); + match session_manager_clone.do_handshake_then_add(session) { + Ok(index) => { + session_manager_clone.with_ui_connection(|mut ui_connection| { + ui_connection.on_new_session(index); + session_manager_clone.handle_new_session(&index, ui_connection); + }); + } + Err(e) => { + if e != SessionError::AlreadyConnected && e != SessionError::IsUs { + print_error(e); + } + } + } + } + Err(e) => { + if e.kind() != ErrorKind::WouldBlock { + print_error(e); + } + } + } + if *session_manager_clone.is_stopping.read().unwrap() { + break; + } + } + println!("Stopping listener thread"); + }); + } + Ok(()) + } else { + Err(SessionError::BindFailed) + } + } + + pub fn handle_new_session(&self, index: &usize, mut ui_connection: MutexGuard) { + if self.is_contact(index) { + match self.load_msgs(index) { + Some(msgs) => { + ui_connection.load_msgs(index, msgs); + } + None => {} + } + } else { + match self.ask_name_to(&index) { + Ok(_) => {} + Err(e) => print_error(e) + } + } + } + + pub fn list_sessions(&self) -> Vec { + let sessions = self.sessions.read().unwrap(); + sessions.iter().map(|t| *t.0).collect() + } + + pub fn list_contacts(&self) -> Vec<(usize, String, bool)> { + self.loaded_contacts.read().unwrap().iter().map(|c| (*c.0, c.1.name.clone(), c.1.verified)).collect() + } + + pub fn get_identity_uuid(&self) -> Option { + Some(self.identity.read().unwrap().as_ref()?.uuid) + } + + pub fn get_saved_msgs(&self) -> Vec<(usize, Vec)> { + let mut msgs = Vec::new(); + let mut msg_queue = self.msg_queue.lock().unwrap(); + let sessions = self.sessions.read().unwrap(); + for i in 0..msg_queue.len() { + let mut entry = msg_queue.remove(i); + if sessions.contains_key(&entry.0) { + msgs.push(entry); + } else { + entry.1.zeroize(); + } + }; + msgs + } + + fn ask_name_to(&self, index: &usize) -> Result<(), SessionError> { + let mut sessions = self.sessions.write().unwrap(); + match sessions.get_mut(index) { + Some(session) => { + session.encrypt_and_send(&protocol::ask_name()) + }, + None => Err(SessionError::InvalidSessionId) + } + } + + pub fn get_peer_public_key(&self, index: &usize) -> Option<[u8; PUBLIC_KEY_LENGTH]> { + let sessions = self.sessions.read().unwrap(); + let session = sessions.get(index)?; + session.peer_public_key + } + + pub fn add_contact(&self, index: usize, name: String) -> Result<(), rusqlite::Error> { + let contact = self.identity.read().unwrap().as_ref().unwrap().add_contact(name, self.get_peer_public_key(&index).unwrap())?; + self.loaded_contacts.write().unwrap().insert(index, contact); + Ok(()) + } + + pub fn remove_contact(&self, index: &usize) -> Result<(), rusqlite::Error> { + let mut loaded_contacts = self.loaded_contacts.write().unwrap(); + let result = self.identity.read().unwrap().as_ref().unwrap().remove_contact(&loaded_contacts.get(index).unwrap().uuid); + if result.is_ok() { + loaded_contacts.remove(index); + } + result + } + + pub fn set_verified(&self, index: &usize) -> Result<(), rusqlite::Error> { + let mut loaded_contacts = self.loaded_contacts.write().unwrap(); + let contact = loaded_contacts.get_mut(index).unwrap(); + let result = self.identity.read().unwrap().as_ref().unwrap().set_verified(&contact.uuid); + if result.is_ok() { + contact.verified = true; + } + result + } + + pub fn is_contact(&self, index: &usize) -> bool { + self.loaded_contacts.read().unwrap().contains_key(index) + } + + pub fn load_file(&self, uuid: Uuid) -> Option> { + self.identity.read().unwrap().as_ref().unwrap().load_file(uuid) + } + + pub fn store_file(&self, index: &usize, data: &[u8]) -> Result { + self.identity.read().unwrap().as_ref().unwrap().store_file(match self.loaded_contacts.read().unwrap().get(index) { + Some(contact) => Some(contact.uuid), + None => None + }, data) + } + + pub fn store_msg(&self, index: &usize, outgoing: bool, data: &[u8]) -> Result<(), rusqlite::Error> { + self.identity.read().unwrap().as_ref().unwrap().store_msg(&self.loaded_contacts.read().unwrap().get(index).unwrap().uuid, outgoing, data) + } + + pub fn load_msgs(&self, index: &usize) -> Option)>> { + self.identity.read().unwrap().as_ref().unwrap().load_msgs(&self.loaded_contacts.read().unwrap().get(index).unwrap().uuid) + } + + pub fn get_public_keys(&self, index: &usize) -> ([u8; PUBLIC_KEY_LENGTH], [u8; PUBLIC_KEY_LENGTH]) { + (self.identity.read().unwrap().as_ref().unwrap().get_public_key(), self.loaded_contacts.read().unwrap().get(index).unwrap().public_key) + } + + fn clear_identity_related_data(&self){ + self.loaded_contacts.write().unwrap().clear(); + let mut msg_queue = self.msg_queue.lock().unwrap(); + msg_queue.iter_mut().for_each(|m| m.1.zeroize()); + msg_queue.clear(); + } + + pub fn stop(&self) { + *self.is_stopping.write().unwrap() = true; + self.set_identity(None); + *self.ui_connection.lock().unwrap() = None; + } + + pub fn set_identity(&self, identity: Option) { + let mut identity_guard = self.identity.write().unwrap(); + match identity_guard.as_mut() { + Some(previous_identity) => { + previous_identity.zeroize(); + self.sessions.write().unwrap().clear(); + *self.session_counter.write().unwrap() = 0; + self.clear_identity_related_data(); + } + None => {} + } + *identity_guard = identity; + if identity_guard.is_some() { + match identity_guard.as_ref().unwrap().load_contacts() { + Some(contacts) => { + let mut loaded_contacts = self.loaded_contacts.write().unwrap(); + let mut session_counter = self.session_counter.write().unwrap(); + contacts.into_iter().for_each(|contact|{ + loaded_contacts.insert(*session_counter, contact); + *session_counter += 1; + }) + } + None => {} + } + } + } + + pub fn set_ui_connection(&self, ui_connection: &Arc>){ + *self.ui_connection.lock().unwrap() = Some(ui_connection.clone()); + } + + pub fn new() -> SessionManager { + SessionManager { + session_counter: RwLock::new(0), + sessions: RwLock::new(HashMap::new()), + identity: RwLock::new(None), + ui_connection: Mutex::new(None), + loaded_contacts: RwLock::new(HashMap::new()), + msg_queue: Mutex::new(Vec::new()), + is_stopping: RwLock::new(false) + } + } +} diff --git a/src/session_manager/protocol.rs b/src/session_manager/protocol.rs new file mode 100644 index 0000000..9e1893b --- /dev/null +++ b/src/session_manager/protocol.rs @@ -0,0 +1,24 @@ +pub struct Headers; + +impl Headers { + pub const MESSAGE: u8 = 0x01; + pub const ASK_NAME: u8 = 0x02; + pub const TELL_NAME: u8 = 0x03; + pub const FILE: u8 = 0x04; +} + +pub fn new_message(message: String) -> Vec { + [&[Headers::MESSAGE], message.as_bytes()].concat() +} + +pub fn ask_name() -> Vec { + vec![Headers::ASK_NAME] +} + +pub fn tell_name(name: &str) -> Vec { + [&[Headers::TELL_NAME], name.as_bytes()].concat() +} + +pub fn file(file_name: &str, buffer: &[u8]) -> Vec { + [&[Headers::FILE], &(file_name.len() as u16).to_be_bytes()[..], file_name.as_bytes(), buffer].concat() +} \ No newline at end of file diff --git a/src/session_manager/session.rs b/src/session_manager/session.rs new file mode 100644 index 0000000..be6e5ff --- /dev/null +++ b/src/session_manager/session.rs @@ -0,0 +1,237 @@ +use std::{io::{Read, Write, ErrorKind}, net::{TcpStream}, option::Option, result::Result, time::Duration}; +use ed25519_dalek; +use ed25519_dalek::{ed25519::signature::Signature, Verifier, PUBLIC_KEY_LENGTH, SIGNATURE_LENGTH}; +use x25519_dalek; +use rand_7::{RngCore, rngs::OsRng}; +use sha2::{Sha384, Digest}; +use aes_gcm::{Aes128Gcm, aead::Aead, NewAead, aead::Payload, aead::generic_array::GenericArray}; +use crate::utils::*; +use crate::crypto::*; +use crate::identity::Identity; +use crate::session_manager::SessionError; +use crate::print_error; + +const RANDOM_LEN: usize = 64; +const MESSAGE_LEN_LEN: usize = 4; +type MessageLenType = u32; + +pub struct Session { + stream: TcpStream, + handshake_sent_buff: Vec, + handshake_recv_buff: Vec, + local_cipher: Option, + local_iv: Option<[u8; IV_LEN]>, + local_counter: usize, + peer_cipher: Option, + peer_iv: Option<[u8; IV_LEN]>, + peer_counter: usize, + pub peer_public_key: Option<[u8; PUBLIC_KEY_LENGTH]>, + //pub name: Option, + //pub message_queue: Vec>, +} + +impl Session { + pub fn new(stream: TcpStream) -> Session { + stream.set_read_timeout(Some(Duration::from_millis(1000))).unwrap(); + Session { + stream: stream, + handshake_sent_buff: Vec::new(), + handshake_recv_buff: Vec::new(), + local_cipher: None, + local_iv: None, + local_counter: 0, + peer_cipher: None, + peer_iv: None, + peer_counter: 0, + peer_public_key: None, + } + } + + pub fn get_ip(&self) -> String { + self.stream.peer_addr().unwrap().ip().to_string() + } + + fn socket_read(&mut self, buff: &mut [u8]) -> Result { + match self.stream.read(buff) { + Ok(read) => { + if read > 0 { + return Ok(read); + } else if read == 0 { + return Err(SessionError::BrokenPipe); + } + } + Err(e) => { + match e.kind() { + ErrorKind::WouldBlock => return Err(SessionError::SocketTimeout), + ErrorKind::ConnectionReset => return Err(SessionError::ConnectionReset), + _ => print_error(format!("Receive error: {}", e)) + } + } + }; + Err(SessionError::Unknown) + } + + fn socket_write(&mut self, buff: &[u8]) -> Result<(), SessionError> { + match self.stream.write(buff) { + Ok(sent) => { + if buff.len() == sent { + return Ok(()); + } else if sent == 0 { + return Err(SessionError::BrokenPipe); + } + } + Err(e) => print_error(format!("Send error: {}", e)) + }; + Err(SessionError::Unknown) + } + + fn handshake_read(&mut self, buff: &mut [u8]) -> Result<(), SessionError> { + match self.socket_read(buff) { + Ok(_) => { + self.handshake_recv_buff.extend(buff.as_ref()); + Ok(()) + } + Err(e) => Err(e) + } + } + + fn handshake_write(&mut self, buff: &[u8]) -> Result<(), SessionError> { + match self.socket_write(buff) { + Ok(_) => { + self.handshake_sent_buff.extend(buff); + Ok(()) + } + Err(e) => Err(e) + } + } + + fn hash_handshake(&self, i_am_bob: bool) -> [u8; 48] { + let handshake_bytes = if i_am_bob { + [self.handshake_sent_buff.as_slice(), self.handshake_recv_buff.as_slice()].concat() + } else { + [self.handshake_recv_buff.as_slice(), self.handshake_sent_buff.as_slice()].concat() + }; + let mut hasher = Sha384::new(); + hasher.update(handshake_bytes); + let handshake_hash = hasher.finalize(); + to_array_48(handshake_hash.as_slice()) + } + + fn on_handshake_successful(&mut self, application_keys: ApplicationKeys){ + self.local_cipher = Some(Aes128Gcm::new_varkey(&application_keys.local_key).unwrap()); + self.local_iv = Some(application_keys.local_iv); + self.peer_cipher = Some(Aes128Gcm::new_varkey(&application_keys.peer_key).unwrap()); + self.peer_iv = Some(application_keys.peer_iv); + self.handshake_sent_buff.clear(); + self.handshake_sent_buff.shrink_to_fit(); + self.handshake_recv_buff.clear(); + self.handshake_recv_buff.shrink_to_fit(); + } + + pub fn do_handshake(&mut self, identity: &Identity) -> Result<(), SessionError> { + //ECDHE initial exchange + //generate random bytes + let mut handshake_buffer = [0; RANDOM_LEN+PUBLIC_KEY_LENGTH]; + OsRng.fill_bytes(&mut handshake_buffer[..RANDOM_LEN]); + //generate ephemeral x25519 keys + let ephemeral_secret = x25519_dalek::EphemeralSecret::new(OsRng); + let ephemeral_public_key = x25519_dalek::PublicKey::from(&ephemeral_secret); + handshake_buffer[RANDOM_LEN..].copy_from_slice(&ephemeral_public_key.to_bytes()); + self.handshake_write(&handshake_buffer)?; + self.handshake_read(&mut handshake_buffer)?; + let peer_ephemeral_public_key = x25519_dalek::PublicKey::from(to_array_32(&handshake_buffer[RANDOM_LEN..])); + //calc handshake keys + let i_am_bob = self.handshake_sent_buff < self.handshake_recv_buff; //mutual consensus for keys attribution + let handshake_hash = self.hash_handshake(i_am_bob); + let shared_secret = ephemeral_secret.diffie_hellman(&peer_ephemeral_public_key); + let handshake_keys = HandshakeKeys::derive_keys(shared_secret.to_bytes(), handshake_hash, i_am_bob); + + + //encrypted handshake + //generate random bytes + let mut random_bytes = [0; RANDOM_LEN]; + OsRng.fill_bytes(&mut random_bytes); + self.handshake_write(&random_bytes)?; + //receive peer random bytes + let mut peer_random = [0; RANDOM_LEN]; + self.handshake_read(&mut peer_random)?; + //get public key & sign our ephemeral public key + let mut auth_msg = [0; PUBLIC_KEY_LENGTH+SIGNATURE_LENGTH]; + auth_msg[..PUBLIC_KEY_LENGTH].copy_from_slice(&identity.get_public_key()); + auth_msg[PUBLIC_KEY_LENGTH..].copy_from_slice(&identity.sign(ephemeral_public_key.as_bytes())); + //encrypt auth_msg + let local_cipher = Aes128Gcm::new_varkey(&handshake_keys.local_key).unwrap(); + let mut local_handshake_counter = 0; + let nonce = iv_to_nonce(&handshake_keys.local_iv, &mut local_handshake_counter); + let encrypted_auth_msg = local_cipher.encrypt(GenericArray::from_slice(&nonce), auth_msg.as_ref()).unwrap(); + self.handshake_write(&encrypted_auth_msg)?; + + let mut encrypted_peer_auth_msg = [0; PUBLIC_KEY_LENGTH+SIGNATURE_LENGTH+AES_TAG_LEN]; + self.handshake_read(&mut encrypted_peer_auth_msg)?; + //decrypt peer_auth_msg + let peer_cipher = Aes128Gcm::new_varkey(&handshake_keys.peer_key).unwrap(); + let mut peer_handshake_counter = 0; + let peer_nonce = iv_to_nonce(&handshake_keys.peer_iv, &mut peer_handshake_counter); + match peer_cipher.decrypt(GenericArray::from_slice(&peer_nonce), encrypted_peer_auth_msg.as_ref()) { + Ok(peer_auth_msg) => { + //verify ephemeral public key signature + self.peer_public_key = Some(to_array_32(&peer_auth_msg[..PUBLIC_KEY_LENGTH])); + let peer_public_key = ed25519_dalek::PublicKey::from_bytes(&self.peer_public_key.unwrap()).unwrap(); + let peer_signature = Signature::from_bytes(&peer_auth_msg[PUBLIC_KEY_LENGTH..]).unwrap(); + if peer_public_key.verify(peer_ephemeral_public_key.as_bytes(), &peer_signature).is_ok() { + let handshake_hash = self.hash_handshake(i_am_bob); + //sending handshake finished + let handshake_finished = compute_handshake_finished(handshake_keys.local_handshake_traffic_secret, handshake_hash); + self.socket_write(&handshake_finished)?; + let mut peer_handshake_finished = [0; HASH_OUTPUT_LEN]; + self.socket_read(&mut peer_handshake_finished)?; + if verify_handshake_finished(peer_handshake_finished, handshake_keys.peer_handshake_traffic_secret, handshake_hash) { + //calc application keys + let application_keys = ApplicationKeys::derive_keys(handshake_keys.handshake_secret, handshake_hash, i_am_bob); + self.on_handshake_successful(application_keys); + return Ok(()); + } + } + } + Err(_) => {} + } + Err(SessionError::TransmissionCorrupted) + } + + pub fn encrypt_and_send(&mut self, message: &[u8]) -> Result<(), SessionError> { + let cipher_len = (message.len() as MessageLenType).to_be_bytes(); + let payload = Payload { + msg: message, + aad: &cipher_len + }; + let nonce = iv_to_nonce(&self.local_iv.unwrap(), &mut self.local_counter); + println!("nonce: {}", hex::encode(&nonce)); + let cipher_text = self.local_cipher.as_ref().unwrap().encrypt(GenericArray::from_slice(&nonce), payload).unwrap(); + self.socket_write([&cipher_len, cipher_text.as_slice()].concat().as_slice()) + } + + pub fn receive_and_decrypt(&mut self) -> Result, SessionError> { + let mut message_len = [0; MESSAGE_LEN_LEN]; + self.socket_read(&mut message_len)?; + let recv_len = MessageLenType::from_be_bytes(message_len) as usize + AES_TAG_LEN; + if recv_len <= 50000000 { + let mut cipher_text = vec![0; recv_len]; + let mut read = 0; + while read < recv_len { + read += self.socket_read(&mut cipher_text[read..])?; + } + let peer_nonce = iv_to_nonce(&self.peer_iv.unwrap(), &mut self.peer_counter); + let peer_cipher = self.peer_cipher.as_ref().unwrap(); + let payload = Payload { + msg: &cipher_text, + aad: &message_len + }; + match peer_cipher.decrypt(GenericArray::from_slice(&peer_nonce), payload) { + Ok(plain_text) => Ok(plain_text), + Err(_) => Err(SessionError::TransmissionCorrupted) + } + } else { + Err(SessionError::BufferTooLarge) + } + } +} diff --git a/src/ui_interface.rs b/src/ui_interface.rs new file mode 100644 index 0000000..fef33a0 --- /dev/null +++ b/src/ui_interface.rs @@ -0,0 +1,153 @@ +use std::net::TcpStream; +use tungstenite::{Error, WebSocket}; +use crate::{protocol}; + +mod ui_messages { + use std::str::from_utf8; + use tungstenite::Message; + use uuid::Uuid; + use crate::{print_error, session_manager::protocol, utils::to_uuid_bytes}; + + pub fn on_connected(index: usize) -> Message { + Message::from(format!("connected {}", index)) + } + pub fn on_disconnected(index: usize) -> Message { + Message::from(format!("disconnected {}", index)) + } + pub fn on_new_session(index: usize) -> Message { + Message::from(format!("new_session {}", index)) + } + pub fn on_new_message(index: &usize, raw_message: &[u8]) -> Option { + match from_utf8(raw_message) { + Ok(msg) => Some(Message::from(format!("new_message {} {}", index, msg))), + Err(e) => { + print_error(e); + None + } + } + } + pub fn on_file_received(index: &usize, buffer: &[u8]) -> Option { + let uuid = Uuid::from_bytes(to_uuid_bytes(&buffer[..16])?); + match from_utf8(&buffer[16..]) { + Ok(file_name) => Some(Message::from(format!("file {} {} {}", index, uuid.to_string(), file_name))), + Err(e) => { + print_error(e); + None + } + } + } + pub fn load_sent_msg(index: &usize, buffer: &[u8]) -> Option { + match buffer[0] { + protocol::Headers::MESSAGE => { + match from_utf8(&buffer[1..]) { + Ok(msg) => Some(Message::from(format!("load_sent_msg {} {}", index, msg))), + Err(e) => { + print_error(e); + None + } + } + } + protocol::Headers::FILE => { + let uuid = Uuid::from_bytes(to_uuid_bytes(&buffer[1..17])?); + match from_utf8(&buffer[17..]) { + Ok(file_name) => Some(Message::from(format!("load_sent_file {} {} {}", index, uuid.to_string(), file_name))), + Err(e) => { + print_error(e); + None + } + } + } + _ => None + } + } + pub fn on_name_told(index: &usize, raw_name: &[u8]) -> Option { + match from_utf8(raw_name) { + Ok(name) => Some(Message::from(format!("name_told {} {}", index, name))), + Err(e) => { + print_error(e); + None + } + } + } + pub fn set_as_contact(index: usize, name: &str, verified: bool) -> Message { + Message::from(format!("is_contact {} {} {}", index, verified, name)) + } + pub fn fingerprints(local: &str, peer: &str) -> Message { + Message::from(format!("fingerprints {} {}", local, peer)) + } + pub fn file_sent(index: usize, file_name: &str, uuid: Option) -> Message { + Message::from(format!("file_sent {} {} {}", index, match uuid { + Some(uuid) => uuid, + None => "None".to_owned() + }, file_name)) + } +} + +pub struct UiConnection{ + pub websocket: WebSocket, + pub is_valid: bool +} + +impl UiConnection { + pub fn new(websocket: WebSocket) -> UiConnection { + UiConnection { + websocket: websocket, + is_valid: true + } + } + + pub fn on_received(&mut self, index: &usize, buffer: &[u8]) { + let ui_message = match buffer[0] { + protocol::Headers::MESSAGE => { + ui_messages::on_new_message(index, &buffer[1..]) + } + protocol::Headers::TELL_NAME => { + ui_messages::on_name_told(index, &buffer[1..]) + } + protocol::Headers::FILE => { + ui_messages::on_file_received(index, &buffer[1..]) + } + _ => None + }; + if ui_message.is_some() { + self.websocket.write_message(ui_message.unwrap()).unwrap(); + } + } + pub fn on_new_session(&mut self, index: usize) { + self.websocket.write_message(ui_messages::on_new_session(index)).unwrap(); + } + pub fn on_disconnected(&mut self, index: usize) { + self.websocket.write_message(ui_messages::on_disconnected(index)).unwrap(); + } + pub fn on_connected(&mut self, index: usize) { + self.websocket.write_message(ui_messages::on_connected(index)).unwrap(); + } + + pub fn read_message(&mut self) -> Result { + Ok(self.websocket.read_message()?.into_text()?) + } + pub fn read_binary(&mut self) -> Result, Error> { + Ok(self.websocket.read_message()?.into_data()) + } + pub fn set_as_contact(&mut self, index: usize, name: &str, verified: bool) { + self.websocket.write_message(ui_messages::set_as_contact(index, name, verified)).unwrap(); + } + pub fn load_msgs(&mut self, index: &usize, msgs: Vec<(bool, Vec)>) { + msgs.into_iter().for_each(|msg| { + if msg.0 { //outgoing + match ui_messages::load_sent_msg(index, &msg.1) { + Some(msg) => self.websocket.write_message(msg).unwrap(), + None => {} + } + } else { + self.on_received(index, &msg.1) + } + }) + } + pub fn fingerprints(&mut self, local: &str, peer: &str) { + self.websocket.write_message(ui_messages::fingerprints(local, peer)).unwrap(); + } + pub fn file_sent(&mut self, index: usize, name: &str, uuid: Option) { + self.websocket.write_message(ui_messages::file_sent(index, name, uuid)).unwrap() + } +} \ No newline at end of file diff --git a/src/utils.rs b/src/utils.rs new file mode 100644 index 0000000..9508514 --- /dev/null +++ b/src/utils.rs @@ -0,0 +1,26 @@ +use std::convert::TryInto; +use uuid::Bytes; + +use crate::print_error; + +pub fn to_array_48(s: &[u8]) -> [u8; 48] { + s.try_into().unwrap() +} + +pub fn to_array_32(s: &[u8]) -> [u8; 32] { + s.try_into().unwrap() +} + +pub fn to_uuid_bytes(bytes: &[u8]) -> Option { + match bytes.try_into() { + Ok(uuid) => Some(uuid), + Err(e) => { + print_error(e); + None + } + } +} + +pub fn escape_double_quote(origin: String) -> String { + origin.replace("\"", "\\\"") +} \ No newline at end of file