Skip to content

betty2310/cppdrive

Repository files navigation

🌸 CppDrive

CppDrive is a simple, lightweight file-sharing application built in C/C++.

Hoặc đơn giản là bài tập lớn môn thực hành lập trình mạng - IT4062 Hedspi k65 HUST, chủ đề file-sharing 🥴

This app simulates the action when you ssh to your cloud server then use unix-like commands to do file operations.

CleanShot 2024-01-06 at 11 12 32

Features

  • User-friendly shell interface, offering a familiar environment for developers.
  • Secure authentication using hashed passwords.
  • Comprehensive file and folder management: creation, deletion, renaming, moving, copying, searching, viewing (cat), along with upload and download capabilities.
  • File and folder sharing feature, allowing permissions to be set for other users.
  • Robust end-to-end encryption for enhanced security.
  • Detailed logging system.

Structure

.
├── CMakeLists.txt
├── app
│   └── main.cpp  # Application source code.    
├── include
│   ├── example.h # Library header file.
├── src
    └── example.cpp # Library source code.

Sources go in src/, header files in include/, main programs in app/.

If you add a new executable, say app/hello.cpp, you only need to add the following two lines to CMakeLists.txt:

add_executable(main app/main.cpp)   # Name of exec. and location of file.
target_link_libraries(main PRIVATE ${LIBRARY_NAME})  # Link the executable to lib built from src/*.cpp (if it uses it).

Setup

Dependencies

  • CMake
  • C++ Compiler: g++, clang or msvc
  • zip, unzip, fd

On Ubuntu:

$ sudo apt-get install build-essential cmake fd-find zip unzip libssl-dev

$ ln -s $(which fdfind) ~/.local/bin/fd # or add it to your PATH

Note

Should use branch tokyo for stable version. master branch may have some error now.

Building

Build by making a build directory (i.e. build/), run cmake in that dir, and then use make to build the desired target.

Example:

$ mkdir build && cd build
$ cmake ..
$ make
$ ./main

Warning

After register account, should exit app, then login again, login right after register may contain error.

Visual Studio Code

Install the following extensions:

Authors

  • Dương Hữu Huynh - 20205087

About

Bài tập lớn File-sharing IT4062 - Thực hành lập trình mạng - Hedspi

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Generated from bsamseth/cpp-project