Skip to content

Blackmane/gemini

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project gemini

CLI use of gemini

A simple CLI client for Gemini protocol, a minimal internet protocol.

How to use

Compile and run Cli client

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build

Url needs the schema, like: "gemini://example.org".

./build/code/bin/CliClient url port

Standard protocol port is 1965.

You can try with some known urls.

Run Tests

Test must be activated at compilation time using flag -DENABLE_TESTING.

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DENABLE_TESTING=ON
cmake --build build 
cmake --build build --target test

Run Sanitizers

There are four type of sanitizers: TSAN, ASAN, LSAN and UBSAN. The compilation resets the build path, so you should compile in a different path.

An example with the ASAN sanitizer:

cmake -S . -B build_asan -DCMAKE_BUILD_TYPE=asan -DENABLE_TESTING=ON
cmake --build build_asan
cmake --build build_asan --target test

Bug and todos

  • add continuous integration;
  • check memory leaks with asan.

Acknowledgments

TSL Socket is based on: https://gist.github.com/vedantroy/d2b99d774484cf4ea5165b200888e414

About

A simple gemini protocol client

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published