Learn Twisted and finsh a tool can check information from machine group base on twisteda project by katherine97 Twisted is an event-driven networking engine written in Python.I am very interested in it , Hope after learned Twisted,I can know how to use it and add some small tools or functions in our comparison tool,such as a tool can query information from our machine group uniformly,sent mail or IRC information during test and so on. Introduction of Twisted:https://twistedmatrix.com/trac/ |
Add ASCIIDOC support to DAPSa project by fsundermeyer DAPS, the "DocBook Authoring and Publishing Suite" provides a tool set for easy creation and publication of DocBook sources on Linux. DAPS lets you create HTML (incl. webhelp), PDF, EPUB, man pages, and other formats with a single command. DAPS is used and developed by the SUSE documentation team and hosted on https://opensuse.github.io/daps/ . Currently DAPS supports building documentation from DocBook 4 and 5 sources. The goal of this project is to add support for ASCIIDOC to DAPS. This will allow to easily create all output formats mentioned above with the official SUSE brand from ASCIIDOC without having to take care about templates and other stuff. |
Raspberry Pi Baby Monitoran invention by mstrigl The usual baby-phones and phone based surveillance solutions do not fit my needs: - We live in townhouse with reinforced concrete walls (the signal from the babyphone is not strong enough) |
Goodbye Disteran invention by cschum SUSE Studio was shut down earlier this year. It has been online for more than ten years and there are tons of links and references out there. To not make them lead into the wasteland of 404 we should have a landing page on https://susestudio.com which leads to what users can use instead of SUSE Studio. I did a mockup of a page which could be hosted there. See it at https://github.com/cornelius/goodbye-dister. |
Nora's Adventures in Raspberry Pi Landa project by nkoranova I have a dusty Rasberry Pi 3 lying around and a book for beginners on the topic. The idea is to read through the book (https://www.amazon.com/Adventures-Raspberry-Carrie-Anne-Philbin/dp/1118751256), learn basic electronics and get an idea what I would like to do with with the RasPi. I also plan to get some inspiration at the Prague Maker Faire this weekend. |
Remote telescope control using Opensuse+rasp3+INDI lib, to use with astronomical pictures.a project by martinsmac ****The motivation is create a open source solution, base on this business astronomy products: AZWO Asiair |
D-Bus secure message communicationa project by alix82 Project DescriptionD-Bus is a easy to use message-oriented mechanism that allows communication between multiple processes running concurrently on the same machine. Any application running on the session bus can install a monitor hook over the bus to listen to all exchanged messages. Sensitive information such as mail passwords will be exchanged in plain text. A malicious software can easily listen and parse all those sensitive messages. |
Uyuni test suite improvementsa project by dgedon Project DescriptionUyuni is the upstream community project from which the very popular SUSE Manager is derived. It uses its own QE test suite wirtten in Cucumber and Ruby. Currently the Uyuni test suite runs with Ruby 2.5.9 which is EOL since 2021. This is because the most current Ruby version for openSUSE Leap 15.4, which the test suite controller runs on, is still Ruby 2.5.9. Updating the Ruby version allows us to modernize the test suite code base and to use more recent Ruby gems that do not support the old Ruby version anymore. |
Metrics for QE Yam squadan invention by rainerkoenig Project DescriptionMeasure metrics for the QE Yam Squad that are useful and display them on a Grafana dashboard. |
Elasto: Add Ceph RADOS Gateway support, extend file API and other improvementsa project by dmdiss Elasto is a cloud storage client project that has been developed across a number of SUSE Hack Weeks.<br /> It currently supports Amazon S3 and Microsoft Azure REST storage protocols, and includes a POSIX like file API.<br /> |
Improve the ffmpeg delogo filtera project by jdelvare I have a few ideas of improvements for the delogo filter included in ffmpeg's libavfilter. As a first step I would like to clean up the code by removing one unneeded option and then removing all the subsequently dead code. |
terraform.io modules for SUSE Manageran invention by moio The SUSE Manager team currently uses vagrantup.com to create developer environments (a project known as suminator). Doing the same with terraform.io and the terraform libvirt provider we could: |
Package PGAS Compilera project by jjolly Partitioned Global Address Space (PGAS) is a method of HPC distributed programming developed by University of California - Berkeley. Programs implement the PGAS api via C or C++, and the Berkeley UPC compiler front-end will preprocess the source to be compiled by GCC and linked to the necessary libraries to make it work. PGAS is an alternative to the Message Passing Interface (MPI) generally used, although the UPC coexists well with the various MPI implementations. My goal is to package the preprocessing tools necessary to allow PGAS to run in OpenSUSE. This requires the following steps: |
A daemon program that empowers telephone appliances and SMS-capable devices to use Internet featuresa project by guohouzuo Websh is: https://github.com/HouzuoGuo/websh |
Run all the upstream tests for all the packages we supporta project by pgeorgiadis Take the source rpm of a package (e.g. systemd), find the upstream tests, run them, store the results to a database that a web ui can access and display them. Now, do this automatically, for every qam-sle update. |
Mottainai - what a waste!a project by EDiGiacinto Mottainai - Task/Job/Build Server for everyone!Written in Golang. You can find the source code on GitHub and docs here. |
Teach SUMA to sign repository metadataan invention by mcalmer Signing metadata requires a lot of manual interaction and knowledge of the customer. This was the reason why we never implemented it for SUMA as the benefit was very low. Now with the change in the zypp stack to not allow installing unsigned RPMs without user interaction or completly disabling GPG checks the benefit of such a feature increased. |
icewm: Allow switching and reordering taskbar buttons with keyboarda project by jbohac Since commit 556b535 windows can be switched in taskbar order using the mouse wheel. They taskbar buttons can also be rearranged with drag and drop. |
STEM Workshop in Montessori School: Roboticsan invention by ilausuch During the previous Hackweek I did a workshop in a Montessori school. This time I would like the same but with focusing on Robotics. Who is this for? |
Commanded EventStoreDB Spear (GRPC) adapteran invention by fabriziosestito Project DescriptionThe Commanded Elixir CQRS framework provides an EventStoreDB adapter that uses TCP protocol which is being phased out. |
Tumbleweed on Mars-CM (RISC-V board)a project by ph03nix RISC-V is awesome, Tumbleweed is awesome, chocolate cake is awesome. I'm planning to combine all of them in one project. Project Description |
reflinkable rpmsa project by lnussel Project DescriptionRPMs with reflinkable content that leverage CoW filesystem features could help to minimize disk writes and space usage, reduce cpu cycles and download bandwidth for updates. |
SUSE Bug Query Enginea project by LPechacek In short, give second breath to http://hall.suse.de/bugs/defects.cgi. Long version: Create a generated page reflecting SUSE organizational structure and containing links to useful generated Bugzilla queries and charts like: |
Microcorruption CTFan invention by vitezslav_cizek It's a CTF like game, where the goal is to unlock "lock" devices. Having access to a disassembled code you have to create an input that will unlock the device by exploiting a bug in its code. |
osc diff should support customized difftools, e.g. vimdiffa project by zhangxiaofei Utilities like git and quilt support customized difftools in some ways. It's would be great if this is introduced to osc for commands like diff, pdiff, prdiff, rdiff, rq --diff, sr --diff. |
Ideas about local community involvementa project by vsvecova The plan is to gather ideas about how SUSE can become a more integral part of the local tech community scene (in PRG, NUE, or other locations). As a person who has been involved in educating women about tech for some time, I am thinking of introductory workshops and meetups, aimed not necessarily only at female audience. |
(Functional) Reactive Programming (Web) programminga project by bergmannf I want to use this Hackweek to explore (Functional) Reactive Programming to be able to use it in my day-to-day work. This includes checking out basic literature about (F)RP as well as domain modelling to get a better understanding, when this paradigm makes sense to use, as well as looking into concrete implementation of (F)RP libraries. |
DIY smart thermostat with ESP8266an invention by scabrero Build a smart thermostat using an Adafruit Feather HUZZAH ESP8266 board, a DHT22 temperature and humidity sensor and a 2.4 TFT touch panel. The requirements are: |
Convert a very cheap foam toy plane into a radio control planean invention by ilausuch I would like to convert a very cheap foam toy plane into a radio control plane Materials |
run CaaSP on AWS using spotinst elastigroupa project by rdannert
|
Include the libyui-rest-api packages in the installation systema project by lslezak Libyui REST APIIn the previous hack week project I was focused on implementing a REST API for testing the YaST modules. |
Run sandboxed Firefox with image and sound inside a containeran invention by nguyens Project DescriptionRunning a web browser from your PC can cause all sorts of security or anonymity issues; e-g: content downloaded could be run automatically from your PC, resulting in disk encryption or other unpleasant events. It would be great if we could run most of this in a container so that we have as much of the web browser sandboxed, and limit the PC's exposure to security events. |
Generic retry command in openSUSEan invention by okurz MotivationWhen automating tasks often the requirement comes up to retry commands, for example when network connections are involved and commands do not return successfully immediately or if resources are temporarily not available. Sometimes a simple for-loop in bash is sufficient. Sometimes it is necessary to use additional waiting between retries, sometimes timeouts are desired. Getting all those combinations right can be tedious and error-prone so a generic "retry" command should be available in usual environments so we should provide a retry command to openSUSE distributions. |
ComplianceAsCode/conten sysctl chroot awarea project by esampson Project DescriptionThe current template shared/templates/sysctl in https://github.com/ComplianceAsCode/content is not chroot aware. |
openSUSE audiophile Squeezeboxserver + Squeezeplaya project by aginies Squeezeboxserver |
Integrate Policy As A Service with a HA use case for Openstacka project by mmnelemane Openstack Congress provides Policy as a service solution for Openstack based clouds. Policy based fulfillment makes it convenient to write policies for VM migrations and evacuations based on data monitored from various data sources. The aim of the project is to integrate the service to SUSE openstack cloud and evaluate the use of policies as a means to develop HA solutions. The steps for this project: |
Reviving the Nokia N900a project by mstaudt The Nokia N900 is a versatile phone/tablet/mini-computer. While its specs are outdated by today's standards, it's still hard to find something equivalently useful to hack on-the-go. Most of it's drivers are already upstream, with just a few components missing: |
Setup UEFI HTTPBoot with OVMF and try to write/run test on openQAa project by bchou HTTPBoot was added into UEFI SPEC since 2.5. It aims to replace PXE and provides more features. Actually, the concept of HTTPBoot is similar to PXE. It starts with the HTTP URL from the DHCP server and fetches the data with the HTTP protocol. The key difference between HTTPBoot and PXE is the support of DNS. With DNS, the firmware and the bootloader can resolve the domain name so it's possible to pass the well-known URL to download the image instead of the explicit IP URL. Besides, HTTP is designed to cross different domains, while tftp (PXE) is only for the local network. Part1: |
GitLab-OBS-openQA bridge/integrationan invention by oholecek Hackweek 17 |
Running openATTIC and DeepSea on multiple distros (2018)an invention by dmaiocchi 2018new hack |
Improve performance of JRuby's hash implementationan invention by cbruckmayer SynopsisJRuby is an implementation of Ruby on the JVM. It aims to be a complete, correct and fast implementation of Ruby, at the same time as providing powerful new features such as concurrency without a global-interpreter-lock, true parallelism, and tight integration to the Java language to allow you to use Java classes in your Ruby program and to allow JRuby to be embedded into a Java application. |
Out-of-the-box SPD supportan invention by jdelvare In order to see the SPD (detailed memory information) data, the user currently has to manually load the needed kernel driver. Which driver to load depends on the memory type. Depending on the driver user, the devices may even have to be instantiated manually and this is a non-trivial multi-step task. Plus you need to be root to do it. I would like to attempt to automatize all this at least in the most common and simple cases like Intel x86 desktop. The idea would be to figure out the memory type and the I2C address of the SPD EEPROMs based on DMI data. If the DMI data is of good quality then it should be possible to automatically figure out which driver to use and to instantiate the devices at boot time. |
Setup root-encrypted server to provide password via sshan invention by holgisms You can encrypt your servers root filesystem, but need to provide a password during the boot process in order to "unlock" and start the system. This is easy if you have physical access to the server by entering it via keyboard. But if you do not have physical access it's not that easy. This project is about to set up a server that might be able to have an encryted root filesystem which can be "unlocked" by entering the password via ssh. |
Saline: Salt state appliement monitoringa project by vzhestkov Project DescriptionIn case of applying states for a huge number of minions it's very hard to monitor the status of applying the states. |
Sandboxed USB Inspectionan invention by nguyens Project DescriptionUSB devices can be dangerous to read directly from your PC. There are countless stories of PCs being infected (e-g: filesystem encrypted) because a USB device was read without first checking the USB content. But how do you check the device content without having a look at it first?! |
Rancher Upgrader - Upgrades your rancher install via helm, and communicates critical changes from release A to B.an invention by rweir Project DescriptionRancher Upgrader helps the user upgrade their rancher install and walks them through all need-to-know release notes. |
Splitting python-gammu out of Gammuan invention by mcihar In past it was needed these project to be developed together due to unstable API of Gammu. This is now stable and having python module in the code just makes the things harder. The code should be separated, use standard distutils and have testsuite. In future it should also support Python 3, but that's not the primary goal now. The work has already started: |
Matrixan invention by vmoravec Proof of concept for a story and test runner for cloud testsuite. Cloud Matrix |
allow openQA tests in pythona project by bmwiedemann using perl's Inline::Python module, it should be possible to define openQA test modules in python instead of perl. |
Investigate Rails reporting frameworks for SCCa project by wstephenson Reporting demands on SCC are increasing. Rather than creating hand crafted 'one-shot' reports in response to every request, this project aims to discover whether there is a better way. |
distributed storage gateway for seagate kinetic hard disk clustera project by colyli Seagate has a "new" hard disk product called Kinetic, this kind of hard disk can connect to ethernet directly and no extra computer system needed. This project is to build a Kinetic Storage Gateway, to export a legacy NAS interface to clients (TV, mobile phone, etc..) and hide kinetic protocol details behind the gateway. Currently the gateway software is running on a read hardware router, in future it could be a program running on smart TV or phone, to access the kinetic hard disk cluster without hardware gateway. |
Kite aerial photographya project by aocole Experiment with kite aerial photography * Build or buy kite? |
Dropbox replacement written in Ponya project by KGronlund I want to experiment with three things: * Blockchain |
IRC bot for #qam-cloud channela project by vsistek Functionality |
Infrastructure-by-code + full-build-pipeline with the example of OBS+openQAan invention by okurz motivationLots of crucial steps in the SUSE/openSUSE product build workflow are not known or not even accessible by many people but hidden as "custom scripts" on "some machine" in the worst cases. Nowadays infrastructure and build pipelines should be written as code, e.g. in git repos, with UI frontends to show the always current state of what is going on, what needs to be done to release products, where are problems. The least we can do is learn a bit more in this direction. |
Playing with ESP8266an invention by lrupp The ESP8266 is a low-cost WI-Fi microchip with full TCP/IP stack and microcontroller capability. I want to explore the features and (in case of success) attach a BME280 to get temperature, humidity and barometric pressure information streamed over WI-Fi. As the price of both components is just around 10 EUR, this would be a nice add-on for my weather station at home... |
smart car based on raspberry pia project by lansuse Project DescriptionI made a smart car with raspberry pi in the hackweek18, brought up ultrasound sensor and camera module in hackweek20. Now I want to finish the remaining part of the code. |
Vulkan Widget for GTKan invention by yudaike Project DescriptionSometimes when developing a GTK program, we want some nice 3D rendered content in it. And to do that, usually we want to use some Graphics API. |
Weblate 2.3a project by mcihar Work towards release of Weblate 2.3, the roadmap is in the issue tracker: <https://github.com/nijel/weblate/milestones/2.3> |
Delete your Facebook installationa project by aocole Create a public art installation around this delete your facebook video. Essential elements are a screen and speaker (loud enough to be heard on a busy street environment but not so loud as to draw noise complaints). Video on repeat. * Perhaps installed in a newspaper box? Maybe The Stranger would want to loan one? |
Nightwatch, Webpack and vue.js!!!a project by abelarbi Nightwatch.js is a Node.js based End-to-End (E2E) testing solution for browser based apps. It's based on Webdrive, meaning it's a very reliable way for me to test HAWK UI! It's a great opportunity to learn Webpack, PhantomJS nightwatch and to set up a TDD approach with any new features written with vue.js, the framework which we will be using in HAWK from now on. |
Learn QT Linguist and improve translations for FET (a timetable creator)a project by juliogonzalezgil The idea is getting a general knowledge of how QT Linguist works, and help FET with some translations. FET is a timetable creator, that is available for openSUSE at https://en.opensuse.org/FET, and allows a user to create a timetable, usually for educational institutions, with a lot of different available constraints. |
Create packages for maintenance toolsan invention by pluskalm Currently helpers for maintenance of SLE/openSUSE such as |
Graf (Git, Regression, Acceptance, Finder)a project by SLindoMansilla DescriptionGraphical application that is able to perform a git bisect on os-autoinst* tests and executes os-autoinst on it to look for the commit that introduced the regression. |
Catch up on GNU Stow maintenancea project by aspiers I've been doing a terrible job of maintaining GNU Stow the last year, and there's quite a backlog of bugs, feature requests, support requests etc. So it's a good time to catch up on these. |
Ceph as a ephemeral storage for containersa project by denisok The idea here is to study and understand how ephemeral storage for containers works and investigate if local storage could be avoided at all and Ceph used instead. Could new storage driver be developed to support Ceph storage: |
continue camera data projecta project by darix define data types to collect informations about cameras and lenses to have a shared data store for lensfun and photo editors. Current state: |
Continue work on "ostatus"a project by aplanas Project Descriptionostatus is a command line tool designed to answer questions like "what deviations has my system from a fresh installed system", at least in term of installed packages. |
openSUSE MicroOS based NASa project by dmach Project DescriptionTry running openSUSE MicroOS on a home NAS. |
ioBroker for home-based laba project by hrommel1 Project Descriptionuse ioBroker to power-control home-based lab with as low as possible carbon footprint |
bug screening helpera project by bmwiedemann The Problem: many bugs filed for openSUSE go to the screening-team by default and often remain there for weeks, so that developers (who would be interested in analyzing or fixing these bugs) do not learn about them. However, the screening process is a hard one |
A Python based C/C++ templating languagea project by metan How many times have you created quick and dirty script to generate C tables, parameterized code, etc. ? Did the script ended up messy? |
Restructure KIWI ext? file system image builda project by rjschwei Implement file system image build using the Builder infrastructure. The project will create additional builders for the ext filesystems laying the ground work for restructuring other filesystem builders. |
GCC Performance/Regression Dashboarda project by marxin For development purpose, it is very useful to have an infrastructure that can spot regressions based on commit base. Currently, our existing infrastructure runs mainly SPEC benchmark and is cumbersome from perspective of any further development. I would like to build a replacement that will combine buildbot framework with a custom web project (based on Django framework). The web project will be used both for submitting reports coming from a buildbot slave and for UI which will serve plots and data. If you want to inspire a bit more, please visit Chrome Performance Dashboard or Mozilla telemetry. I hope I can make a simple extendable project that is going to eventually replace existing implementation. |
Taskotop on the weba project by dleidi Taskotop is a tool to check what taskomatic is currently doing on a SUSE Manager server: it's a command line python tool. The core of the tool is to get some info about jobs that taskomatic is running with a fixed time cycle running some queries and showing results to the shell. |
Improve py2packan invention by tbechtold py2pack is the prefered tool todo Python packaging for openSUSE. There are multiple issues. The one I want to focus on is the dependency detection which is tricky for Python packages. |
Paper folding machinea project by aocole Build a paper folding machine capable of folding Skill Shot. * Print run is 2500 copies |
OBS project file searcha project by adamm Implement a basic file search for a given OBS project. An example of basic functionality can already be found for Ubuntu or Debian. The goal is to implement, Features |
Deploying software.opensuse.orga project by dmacvicar After an internal call for help to take over software.opensuse.org deployment, I spend some time studying the code in order to find out what would it mean to take it over. The main reason was a PR from the community that has not been merged, and deployment depending on internal SUSE employees. |
openSUSE on ZoL from OpenZFS projecta project by jkohoutek Idea is to have SUSE system with OpenZFS as root FS. Why ZFS |
STEM Workshop in Montessori Schoolan invention by ilausuch UpdateWorking on the documentation... |
Drawing in the software world/context and beyonda project by dmaiocchi This hackweek I will focus on improving my drawing/painting skills. I will do either some portrait for people I know at SUSE and this could be used as Github profiles or do something related to Linux/SUSE chameleon etc. ( without any precise goal). |
Use and learn Harvestera project by ganghe Project DescriptionUse and learn Harvester product, understand Harvester, Kubernetes and other related knowledge. |
Advanced suspend/resume controla project by sbrabec Project DescriptionI am often work remotely on my desktop. Remote work on the desktop is complicated by a nice desktop feature – automatic suspend. There already exists a desktop integration, so the desktop applications could prevent the suspend. But sshd is not included yet. |
caching proxy for openSUSE reposa project by bmwiedemann Project Descriptioncodename: opensuse-redir-cache |
Show Hyperlink on Mouse Double Click or Selectiona project by rcai Project DescriptionThis project aims to develop a userscript that enhances web browsing by automatically turning selected text into clickable hyperlinks when the text matches certain patterns, making it easier to access related web pages. |
Start with fault tolerant Xen server prototypea project by j_gross A normal Xen server today has many single points of failure. Those can be reduced by disaggregating Dom0 into multiple domains (xenstore, driver domains, admin domain). Following this path to it's logical end will lead to a setup where the running domUs won't be depending on Dom0 any more, so Dom0 itself can be made restartable. This project aims at beginning with a prototype by setting up a configuration with a xenstore domain and a driver domain for networking. This will allow running a pv-domU with network resources only (nfs or iscsi root file system) no longer needing Dom0 to run. |
Test methods to transfer NSS and DCSS objects from one z/VM system to anothera project by markkp Last Hackweek I created a rescue system that is composed of a SUSE Linux kernel in an NSS (Named Saved System) and an xip2fs file system in a DCSS (Dis-Continguous Save Segment). This allows any Linux guest on a z/VM system to say "#cp ipl rescue" and have a fully functional SUSE Linux Enterprise system come up to allow them to fix what ever is wrong with the guest. This Hackweek I want to try to figure out a way to take those two components and package them so that our customers could download them and put them on their z/VM system, using only typical z/VM tools. The rescue system is the output of a Kiwi build in the internal Build Service, which means it can be easily updated as needed. |
Orthos as plug-in for SUSE Manager ?a project by mcaj Discovery the latest SUSE Manager, what is missing there from user and system point of view to be use as Orthos reservation system The SUSE Manager is a great tool and his popularity is growing. It`s able to manage multiple Linux distributions from a single, centralized console. Its using by developers as well SUSE customers. |
Skill Shot App updatesa project by aocole Updates and improvements to the android Skill Shot app. * Update to newest android libs/conventions |
Bootstrap portusctl as a separate repositorya project by mssola Right now |
OpenStack Cloud deployment alternative to automatic mkclouda project by vsistek Aim of this project is to create scenarios for manual deployment using limited feature set of mkcloud. Useful for situations when full mkcloud deployment is broken. It would help qam-cloud team a big time. We can reuse the result later in automation. |
Czech translation of KF5a project by vpelcak I would like to dedicate my time to the improvement of the Czech localization of KF5. * Trunk |
DSLR autofocus micro adjustment using python-cva project by emiura Check if it is possible to create a python application to aid autofocus micro adjustment on a DSLR. There are some commercial applications that are capable of that, such as Reikan FoCal (https://www.reikanfocal.com). |
Reimplement Finglonger in Goa project by malbu Finglonger is an internal tool used by the SUSE Manager team intended to make the life of the Round Robin Bug Guy easier. It was originally written by @fkobzik in Clojure. This is an attempt to learn some Go by reimplementing Finglonger. |
krunvm-operator: a Kubernetes operator for launching isolated VMsa project by ngerace Project Descriptionkrunvm is |
Get familiar with k3sa project by riafarov Project DescriptionKubernetes is widely used nowadays, but for the developers it's hard to test things locally, and many end up running single node setups. k3s is there to address this issue and provides lightweight stack to gain all advantages of the kubernetes with less efforts to run. |
Migrate web hosts over from easy engine on AWS to k8s/RKEa project by ngildersleeve Project DescriptionI'm looking to migrate all of my websites from easy engine (which is a primarily Wordpress based shell framework) to k8s/RKE, possibly with Rancher. This will allow me to |
community calendar widgeta project by eMBee a widget to list events from a JSON backend. the widget may be included by any website to share community events. |
Self-hosted Online communities Communication tool for Beijing GNU/Linux User Groupan invention by tonghuix The project's goal is for Beijing GNU/Linux User Group port a self-hosted online communication tool. We discovered lets-chat project suite for our requirements, but it need more encryption. So, my primary work is deployed the lets-chat project in my VPS, and then try port a OTR encryption implement for this project. |