Antarctica is an open-source project aiming to perform comfortable in-cloud backup of user files, installed packages list and dotfiles.
Current edition is a port of archived Kotlin version to C++/Qt. It's being ported because of hardness of deployment an the most Linux installations. Mostly it's caused by unavailability of Java SE 8 or OpenFX for Java 9 or newer.
Features (work still in progress):
- Files management
- Uploading into server
- Downloading from server
- Deleting from disk
- Deleting from server
- Packages management (zypper only now)
- Uploading into server (by one, not full list)
- Binding of package and dotfiles
- Installing into system
- Removing from system
- Removing from server
- Repositories management (zypper only now)
- Reading list of added repositories
- Adding into system
- Removing from system
- User interface
- Files management tab
- Packages management tab
- Repositories management tab
- Settings
- Custom design
- Under the hood
- Security
- Connection through HTTPS
- Real-time files' states changes monitoring
- Security
Roadmap can will be extended in the future.
Antarctica server is at the moment under development too. Code of server is closed and may be still unstable in some behaviour cases.
Public remote server is being tested now. Open API will be opened documented in the future.
There's already present a preview of API wrapper for Qt. There's also the Antarctica API reference, which is being filled now.
Antarctica is build with Qt framework and based on CMake build system. So, you need to install cmake binary, C++ compiler with C++17 standard support and Qt5 runtime and development packages. If you want to build an RPM package (Debian packages will be supported in the near future), you also need to install the rpmbuild.
git
cmake
clang
org++
(Debian-based) /gcc-g++
(openSUSE)- Qt Packages (or just install Qt from official website and specify it to CMake with
-DCMAKE_PREFIX_PATH
flag)- Ubuntu
libqt5core5a
libqt5widgets5
libqt5network5
- openSUSE
libQt5Core-devel
libQt5Widgets-devel
libQt5Network-devel
- Ubuntu
$ git clone https://github.com/mad-penguins/Antarctica
$ cd Antarctica
$ git submodules update --init
$ mkdir build && cd build
$ cmake .. && make
(you can specify number of cores used for compilation with flag-j
, e.g.-j 4
)- (Optional) make an RPM:
$ make package
If step 3 won't work for you, you can clone API wrapper repository manually and put it to the api
directory:
$ git clone https://github.com/mad-penguins/IcebreakerQt && mv IcebreakerQt/ api/
There's also some prebuilt binaries.
You can help us to rent a server and also support the development:
- WebMoney: R710781308549
- Yandex Money
Any suggestions and contributions are welcome. Let's make Linux much more user friendly!