High-level build system for distributed, multi-platform C/C++ projects.

Related tags

Cryptography fips
Overview

fips

Build Status

fips is a highlevel build system wrapper written in Python for C/C++ projects.

(this project has nothing to do with the Federal Information Processing Standard)

Read the docs to get a better idea what fips is:

http://floooh.github.io/fips/

Install Instructions

http://floooh.github.io/fips/docs/getstarted/

Useful Links:

  • fips-libs: this is where most 'fipsification' wrapper projects live, which add a thin wrapper around open source projects to turn them into fips-compatible dependencies

  • fips-libs/fips-utils: a place for generally useful fips extensions that don't quite fit into the fips core repository.

Public Service Announcements

  • 26-Feb-2021: The Android default platform API level has been bumped from 21 to 28 (Android 9 Pie). Please also re-install the Android SDK/NDK by deleting fips-sdk/android and then ./fips setup android

  • 03-Jun-2020:

    • The embedded precompiled ninja.exe for Windows has been removed. Please use a package manager like scoop.sh to install ninja instead.
    • A new meta-build-tool 'vscode_ninja' which directly invokes ninja instead of 'cmake --build' when building from inside VSCode.
    • Some cleanup in the code dealing with the 'build_tool' build config attribute.
  • 30-May-2020: I have removed to -Wno-unused-parameter option from the GCC and Clang build configs. In hindsight it wasn't a good idea to suppress this warning globally.

  • 11-Jan-2020: I have created the fips-utils respository and started to move some 'non-core' verbs from the fips core repository there. Currently these are: markdeep, gdb and valgrind

  • 24-Oct-2019: the verbs fips build and fips make can now forward command line arguments to the underlying build tool, run fips help build and fips help make for details.

  • 20-Jul-2019: Starting with cmake 3.15, cmake will issue a warning if the top-level CMakeLists.txt file doesn't contain a verbatim call to project() near the top, suppress this warning by changing the fips_setup(PROJECT proj_name) statement to:

    project(proj_name)
    fips_setup()
  • 02-Jul-2019: small quality-of-life improvement when using Visual Studio: the debugger working directory for VS targets is now set to the project's deploy-directory (fips-deploy/[project]/[config]), so that debugging behaves the same as running a target via fips run [target]

  • 30-Jun-2019: ./fips run [target] for emscripten targets is now using npm's http-server module, since this is more feature-complete than python's built-in SimpleHTTPServer. Install with npm install http-server -g and check if fips can find it with ./fips diag tools

  • 31-May-2019: The emscripten SDK integration has been completely rewritten:

    • adds a new fips verb 'emsdk' for installing specific emscripten SDK versions and switching between them
    • by default, installs the latest stable emscripten SDK with precompiled binaries, this is a lot faster than installing the 'incoming' SDK version which needs to compile LLVM
    • the emscripten cmake toolchain file is no longer hardwired to a specific emscripten SDK version
    • the default options in the emscripten cmake toolchain file have been updated to make more sense with current emscripten SDK versions (such as enabled WASM generation by default, reducing the initial heap size, and enabling memory growth)

    AFTER UPDATING the fips directory, run the following in your project to switch over:

    # remove all cached emscripten build files
    > ./fips clean all
    # remove any old emscripten SDK files
    > ./fips emsdk uninstall
    # install and activate new emscripten SDK
    > ./fips emsdk install
    # show help to get an idea of emsdk features
    > ./fips help emsdk

    As before, each fips workspace directory has its own local emscripten SDK installation, you can use different SDK versions side-by-side in different workspaces and fips won't 'pollute' your global environment or interfere with a globally installed emscripten SDK. The command ./fips setup emscripten works as before and is an alias for ./fips emsdk install

  • 08-May-2019: Some tweaks to the release-mode compiler- and linker-flags for Visual Studio projects: in release mode, link-time code-generation (aka LTO) is now always enabled. If this causes any trouble for your projects, please open a github ticket, and I'll add something to make this optional :)

  • 20-Jan-2019:

    • NaCl and UWP support have been removed (both haven't been maintained for a very long time)
    • remove the builtin unittest support, this was hardwired to UnitTest++ and should better be done in project-specific scripts (see Oryol for an example)
  • 03-Jul-2018: on iOS and MacOS, you can now simply add a *.plist file to the file list of a target, and this will override the default plist file generated by fips. For instance:

    fips_begin_app(...)
        ...
        if (FIPS_IOS)
            fips_files(ios-info.plist)
        end()
        ...
    fips_end_app()
  • 12-Apr-2018: there are now new optional locations for fips-directories and -files in a project in order to unclutter the project directory root a bit (all under a new project subdirectory called fips-files/):

    • fips-verbs/ => fips-files/verbs/
    • fips-configs/ => fips-files/configs/
    • fips-generators/ => fips-files/generators/
    • fips-toolchains/ => fips-files/toolchains
    • fips-include.cmake => fips-files/include.cmake
  • 10-Mar-2018: some Visual Studio Code improvements:

    • the .vscode/c_cpp_properties.json file is now written to all dependent projects, this fixes Intellisense problems in dependencies
    • new verb fips vscode clean for deleting the .vscode/ directories in all dependencies, this is useful before git operations (e.g. fips update) if you don't want/can add the .vscode directory to your .gitignore file
    • .vscode/tasks.json and .vscode/launch.json files in dependencies will be deleted during fips gen if generating a VSCode build config, otherwise VSCode would also show build tasks and debug targets from dependencies, which is cluttering the build/debug workflow UIs
    • it is now possible to add additional compiler defines just for the VSCode Intellisense engine in custom build config files, this is for instance useful with header-only libraries to 'light up' syntax highlighting in the implementation code block, example:
    ---
    platform: osx
    generator: Ninja
    build_tool: vscode_cmake
    build_type: Debug
    vscode_additional_defines: [ 'CHIPS_IMPL', 'SOKOL_IMPL' ]
  • 01-Feb-2018: iOS development is now a bit more convenient: fips can write the "Development Team ID" to the generated Xcode project (previously, the Team ID had to be set manually for each target in Xcode). Before calling ./fips gen for the first time in a project, set the Team ID via ./fips set iosteam XYZW123456, where XYZW123456 must be replaced with your own Team ID, you can look this up on https://developer.apple.com/account/#/membership). The Team ID will be written to the file [cur_proj_dir]/.fips-settings.yml (which usually isn't under version control). You can review the currently set Team ID with ./fips list settings. Here's a usage example:

> ./fips set config ios-xcode-debug
# only need to set the Team ID once!
> ./fips set iosteam XYZW123456
> ./fips gen
> ./fips open
...
> ./fips gen
...
  • 30-Jan-2018: Android support has been modernized, usage should be the same as before, but there are some nice changes under the hood:

    • fips setup android now only downloads the SDK Tools archive, and uses the contained sdkmanager tool to install the required SDK components (including the NDK)
    • fips is now using the official Android NDK cmake toolchain file
    • Android builds no longer require the ant tool, and also don't need Gradle or Android Studio to build projects, instead APKs are created directly by a small python helper script called from a cmake post-build job, as a result, Android builds are now also quite a bit faster
    • you can now use Android Studio for debugging (tested so far on Mac and Windows), select the Profile or debug APK option when starting Android Studio, and follow the steps (sometimes debugging still seems to hang or ignore breakpoints on first start, in this case, just stop debugging and try again)
    • some things are not yet configurable:
      • override the default AndroidManifest.xml
      • sign APKs with your own key
      • add your own Java code to the APK
      • add your own assets to the APK
  • 16-Jan-2018: The iOS build configs now put the resulting .app bundle into the fips-deploy/[proj]/[config]/ directory, so they behave the same as most other target platforms. This makes it easier for helper scripts (code generators and verbs) to find the iOS app bundle (for instance to copy asset files).

  • 05-Jan-2018: Import definitions in fips.yml files can now contain an expression which is evaluated in cmake. This can be used to include or exclude platform-specific includes. See here for details

  • 04-Jan-2018: The previously experimental Visual Studio Code support is now 'official', see here for details

  • 16-Aug-2017: I found (and fixed) some inconsistent behaviour when the cmake project name is different from the project's directory name, this may change the behaviour of cmake- and python-code-generator scripts which used the FIPS_PROJECT_DEPLOY_DIR and FIPS_PROJECT_BUILD_DIR (but the previous behaviour was clearly a bug, which only manifested itself if the cmake project name and directory name differed). See this ticket for details: https://github.com/floooh/fips/issues/154

  • 25-Apr-2017: I committed a small fix which changes the order of imported dependencies so that imported dependencies now always come before the importing project. This was often also the case previously but could fail in cases where the same dependency was included from different projects. No changes should be required in your project, at least if the dependency tree was defined correctly and didn't depend on some hidden ordering.

  • 27-Mar-2017: the root path of the emscripten SDK has changed from emsdk_portable to emsdk-portable, a fix has been committed, but you need to setup the emscripten SDK again (first, wipe the fips-sdks directory, then run './fips setup emscripten' again from a project directory)

  • 25-Feb-2017: what happened in the last year:

    • python3 compatibility contributed by Levente Polyak (thanks!)
    • various Eclipse fixes contributed by Martin Gerhardy (thanks!)
    • Windows: Cygwin support contributed by Fungos, many thanks! also for the many smaller fixes :)
    • new verb './fips update' updates all dependencies (unless they have uncommitted or unpushed changes)
    • new helper functions git.add, git.commit and git.push, these are not exposed as fips verbs, but are useful for writing your own verbs (e.g. build automation scripts)
    • emscripten: removed the FIPS_EMSCRIPTEN_EXPORTED_FUNCTIONS cmake options, this is better done by directly annotating exported functions with EMSCRIPTEN_KEEPALIVE (or soon EMSCRIPTEN_EXPORT)
    • a new predefined cmake variable FIPS_BUILD_DIR, this points to the build root directory (../fips_build)
    • two new predefined cmake variables FIPS_PROJECT_BUILD_DIR and FIPS_PROJECT_DEPLOY_DIR, these are useful to pass as arguments to code generator scripts
    • emscripten: use linker response files when using the UNIX Makefiles generator to workaround command line length limit on Windows
    • emscripten: on Windows, use the Emscripten SDK incoming branch (requires LLVM compilation, but behaviour is now the same as on OSX and Linux)
    • fips_files_ex() and related cmake functions now warn if the globbed file list is empty, previously this generated a rather cryptic cmake syntax error message
    • emscripten: added support for WebAssembly (toolchain flags and build configs)
    • emscripten: added a config option FIPS_EMSCRIPTEN_USE_WEBGL2
    • emscripten: added new cmake options FIPS_EMSCRIPTEN_USE_CPU_PROFILER and FIPS_EMSCRIPTEN_USE_MEMORY_PROFILER (these generate a build with emscripten's built-in cpu and memory profilers)
    • emscripten: added a FIPS_EMSCRIPTEN_USE_SAFE_HEAP cmake option
    • emscripten: use the smaller 'shell_minimal.html' file instead of the original file which has a big SVG logo in it
    • emscripten: use the -s NO_EXIT_RUNTIME which slightly reduces code size
    • Windows UWP support (not in daily use though)
  • 26-Feb-2016: cmake generator definition in fips build config files is now more flexible by exposing the cmake -A (generator platform) and -T options (generator toolset), there's now also a 'Default' generator which lets cmake select the 'best' build file generator for the platform. All this together simplifies the version situation with Visual Studio on Windows. Previously, the build config win64-vs2013-debug was used as default config. When only VS2015 is installed, generating build files had failed, unless the build config win64-vs2015-debug was selected manually. Now there's a new generic default config called win64-vstudio-debug. This lets cmake pick whatever VStudio version is installed. Of course it is still possible to pick a specific Visual Studio version with the 'old' build configs *-vs2013-* and *-vs2015-*.

  • 14-Feb-2016: fips can now import dependencies pinned to a specific git revision (previously only by tag or branch name). Many thanks to fungos (https://github.com/fungos) for implementing this! Here's how a specific revision is specified in the fips.yml file:

  imports:
    fips-hello-dep3:
      git:    https://github.com/fungos/fips-hello-dep3.git
      rev:    191f59f0
  • 03-Dec-2015: I have added a new 'no_auto_import' policy/feature for advanced uses which allows to manually select modules from imported projects. This is more work but can provide a cleaner project layout if only a few modules from imported projects are needed. See the documentation web page for details (http://floooh.github.io/fips/docs/imports/, search for 'Selectively importing modules'). The default behaviour should be exactly as before. If anything is broken in your project, please don't hesitate to write a ticket :)

  • 13-Oct-2015: 'fips run' has learned to run Android apps, after building your project with one of the Android build configs, simply do a 'fips run [target]' like on the other platforms. This will (re-)install the app, launch it, and then run 'adb logcat' (simply hit Ctrl-C when done)

  • 10-Oct-2015: I committed a simplification for nested dependency resolution yesterday (turns out cmake does this on its own with 'target_link_libraries'), however this may introduce some link-order problems in existing projects when using GCC or emscripten. If your project no longer links because of this, and you think that fixing the depedency order in the CMakeLists.txt files is too big a hassle and fips should take care of this, please simply open a ticket, and I'll try to find a solution in fips. I haven't made up my mind about this either yet, the few cases in Oryol were easy to fix, but larger projects may be more tricky to fix.

  • 29-Jul-2015: cross-compiling is now more flexible

    • cross-compile target platform names are no longer hardwired, fips projects can now add define their own cross-compile platforms
    • fips projects can now provide their own cmake-toolchain files or override the standard toolchain files
  • 05-Feb-2015: the NaCl SDK setup bug has been fixed by the NaCl team, so './fips setup nacl' should now work also with the latest Python 2.7.9

  • 01-Feb-2015: the code generation refactoring branch has been merged back into the master branch, code generation is now controlled with the new fips_generate() cmake macro, see Oryol engine and code generation doc page for details!

  • 30-Jan-2015: please note that the NaCl SDK setup script is currently broken with Python 2.7.9 (2.7.6 works), this is tracked in the following bug: https://code.google.com/p/chromium/issues/detail?id=452137

List of Fipsified Projects (OBSOLETE)

Libs and engines:

Test projects:

Progress

fips is currently heavily work in progress, everything may change or break at any time.

I'm trying to put up progress videos from time to time:

Comments
  • Proposal for #48

    Proposal for #48

    Implements a proposal for issue #48 (and floooh/fips-bgfx#4):

    • adds a fips_requires(target ...) that only creates a dependency link between current target from fips_begin/end_*() to the targets required. This can be used to force tools compilation before the current target build.
    • changes fips_generate and fips_handle_generators to use required targets.
    • changes generation build target from ALL_GENERATE to generate only for the targets that uses a fips_generate. Otherwise generators will happens only before anything else, but we want specify order via requires.

    Bonus:

    • fix .fips-gen.py generation when the project does not import anything.
    • fix some trailing spaces (side-effect from my editing, sorry).
    opened by fungos 15
  • Improvement: -latomic detection

    Improvement: -latomic detection

    some systems need to link the atomic lib in order to use std::atomic functionality. I did some sort of detection for simpleai at https://github.com/mgerhardy/simpleai/commit/f811dd50179d4b7b1a62228a02968844eaacbae4

    You might want to consider adding this to fips, too - as you are using c++11 and threads for it anyway.

    task 
    opened by mgerhardy 13
  • `fips setup emscripten` could use precompiled binaries

    `fips setup emscripten` could use precompiled binaries

    I'm a little biased as on my current Windows laptop, I run out of luck for building emscripten.

    As I think troubleshooting emscripten build problems is not related to fips, that lead me to wonder if fips could setup the existing binaries instead of building ? What is the current rationale ?

    Thanks :)

    enhancement 
    opened by rotoglup 12
  • Fatal errors with new projects under both VS 2017 and VS 2019

    Fatal errors with new projects under both VS 2017 and VS 2019

    A fresh Oryol-based project fails with win64-vs{code,2017,tudio}-debug, with or without a d3d11- prefix, with errors like

    LINK : fatal error LNK1104: cannot open file 'oryol_Gfx\Debug\Gfx.obj' [C:\Users\...\d3d11-win64-vs2017-debug\....vcxproj
    ]```
     I'm reporting this here, not there, because if I manually copy files from e.g. oryol_Gfx\Gfx.dir\Debug into that folder, and repeat for the next five or six, it eventually happens with every single dependency.
    opened by pixelherodev 11
  • Fix /MT /MD flags for Cmake 3.15+

    Fix /MT /MD flags for Cmake 3.15+

    The /MT /MD flags are not set correctly in CMake 3.15+. Maybe you want to do this in a different place, but this works.

    See: https://cmake.org/cmake/help/latest/variable/CMAKE_MSVC_RUNTIME_LIBRARY.html#variable:CMAKE_MSVC_RUNTIME_LIBRARY

    opened by mattiasljungstrom 10
  • Adding python3 compatibility

    Adding python3 compatibility

    • this includes the PyYAML python3 library (upstream separated them as they failed to provide it in the same source facepalm)
    • the magic switch is done in yaml/init.py by checking py version
    • Tested on Arch Linux and Debian using python3 and python2 on 4 computers to check for regression, seems to work fine
    opened by anthraxx 8
  • Add fips-recast to registry

    Add fips-recast to registry

    Add recast to registry. I've converted recast demo to glfw3 as I'd said it would be easier than get a fipsified SDL, but at the same time I've not tested on MacOS (I do not have one) or Windows (but will do soon).

    Note: The glfw3 conversion is currently hosted at my fork, but the changes may get accepted upstream as the maintainer already confirmed it prefers glfw. I must only verify that premake4 builds correctly on MacOS and Windows before doing the PR there.

    opened by fungos 8
  • allow to use cross-platform SDKs in other filesystem locations

    allow to use cross-platform SDKs in other filesystem locations

    Instead of setting up new, local SDKs it should be possible to point fips to an existing SDK install for emscripten, PNaCl and Android. Fips diag should then make sure that the SDKs have everything that fips expects.

    Probably through a './fips set emscripten-location bla'...

    task post-v1.0 
    opened by floooh 8
  • mute xcode library errors

    mute xcode library errors

    You might have seen this or not, but if Xcode cmd libs doesn't match with macOS versions (on M1 machines), you get spammed by errors each time you run xcodebuild or xcrun. These changes redirect stderr to /dev/null, and hides these error messages. It's basically the same as writing 'fips build 2> /dev/null' on the cmd line.

    This syntax requires python 3.3, but I think you've switched to python3 now anyways?

    I haven't tested this a lot, hopefully this doesn't break any edge cases.

    opened by mattiasljungstrom 7
  • A

    A "fips-libs/fips-asset-utils" project would be useful...

    This could contain generally useful generator-script, for instance:

    • copy asset files from project directory into the deploy directory
    • convert a binary file into an embedded C array
    • texture conversion(?)
    • sprite-atlas generator(?) ...
    opened by floooh 7
  • Use android.toolchain.cmake file from package referenced in mod/android.py

    Use android.toolchain.cmake file from package referenced in mod/android.py

    Should fix #201 and floooh/oryol#324

    Note that gnustl is no longer supported and the cmake file defaults to the LLVM implementation c++_static. The errors mentioned in the issues might have been a result of this deprecation. No matter what was wrong, this PR updates the cmake file to be up-to-date with the package that fips downloads when running fips setup android.

    opened by gustavolsson 7
  • Working with projects outside the fips folder hierarchy is broken

    Working with projects outside the fips folder hierarchy is broken

    Functions like get_build_root_dir and get_deploy_root_dir works with project name only and suppose project to be inside fips workspace. Errors are produced when it tries to get 'local' setting in case of project located outside. I've made workaround allowing this functions to work directly with directories leaving the possibility to work with names. Is that new design direction or regression?

    opened by SeeNoBee 3
  • Add config file for MSVC 2022, and support for MSVC ClangCL

    Add config file for MSVC 2022, and support for MSVC ClangCL

    Added configuration files for Visual Studio 2022, and support for ClangCL which ships with Visual Studio. ClangCL uses the same flags as normal MSVC cl. My changes will detect MSVC frontend and sets FIPS_MSVC flag.

    Any cmake script that checks for MSVC should work, but some that checks for FIPS_CLANG without checking for !FIPS_MSVC might setup incorrect flags for ClangCL. Normal Clang should work with these changes.

    ClangCL accepts some of clangs flags, for instance "-Wno-unused-function". I haven't found a good overview of this yet. But it means you have to do things like this:

        if (FIPS_MSVC)
            # used by CL and ClangCL
            target_compile_options(${target_name} PUBLIC /GR- /GS- /std:c++20 /std:c17 /fp:fast)
        endif()
        if (FIPS_CLANG)
            if (!FIPS_MSVC)
                # clang
                target_compile_options(${target_name} PUBLIC -ffast-math -fno-rtti)
            endif()
            # used by both Clang and ClangCL
            target_compile_options(${target_name} PUBLIC -Wno-unused-function)
        endif()
    

    Maybe there's another option, or maybe there should be a FIPS_CLANG_CL flag?

    opened by mattiasljungstrom 4
  • Install and CPack ?

    Install and CPack ?

    Hi,

    While trying to use the sokol-samples on macOS, I'm not sure to understand what this line does:

    To me, it parses the cgltf-assets.yml files and copies the assets referred in it on install, in the case of macOS to the resource of the bundle, but it doesn't seem to be doing anything?

    Looking at the doc of fips I did not find anything related to installing, but it seems to be doing it as it isolates everything in the fips-deploy folder?

    I ask because except with the ./fips run xxx command I can't run the deployed apps on their own, even using a release config.

    Thanks a lot for the sokol headers ;)

    opened by melMass 2
  • cmake.py/run_build() adds Visual Studio args for Android builds

    cmake.py/run_build() adds Visual Studio args for Android builds

    See here:

    https://github.com/floooh/fips/blob/2b42c3408088a8f3bf94789169183a868f33819d/mod/tools/cmake.py#L89

    The code assumes that all builds on Windows are done with Visual Studio, and on all other platforms with a build tool which understands the -j option. Needs to be changed to check the build tool instead.

    This produces problems like:

    === building: android-vscode-debug
    cmake --build . --config Debug -- /nologo /verbosity:minimal /maxcpucount:10
    ninja: error: unknown target '/nologo'
    [ERROR] Failed to build config 'android-vscode-debug' of project 'X'
    
    opened by floooh 0
  • VS Code does not automatically parse .natvis files

    VS Code does not automatically parse .natvis files

    In Code you need to specify which .natvis files you want to use by specifying the "visualizerFile" setting in launch.json

    This does require the 'vscode-cpptools' extension, but I'm assuming you'd need that anyways to do pretty much anything.

    Is this anything that fips should setup automatically? Considering the launch file is auto-generated by fips anyways.

    opened by fLindahl 0
Owner
Andre Weissflog
Andre Weissflog
Keystroke-level online anonymization kernel: obfuscates typing behavior at the device level.

Keystroke-level online anonymization kernel: obfuscates typing behavior at the device level.

Vinnie Monaco 355 Nov 25, 2022
A high-performance distributed Bitcoin mining pool server.

Viabtc Mining Server ViaBTC Mining Server is a high-performance distributed Bitcoin mining pool server. We have made a lot of optimizations for Bitcoi

ViaBTC 96 Nov 22, 2022
wtf is a distributed, code-coverage guided, customizable, cross-platform snapshot-based fuzzer designed for attacking user and / or kernel-mode targets running on Microsoft Windows.

wtf is a distributed, code-coverage guided, customizable, cross-platform snapshot-based fuzzer designed for attacking user and / or kernel-mode targets running on Microsoft Windows.

Axel Souchet 1.1k Nov 28, 2022
Tink is a multi-language, cross-platform, open source library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse.

Tink A multi-language, cross-platform library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse. Ubuntu

Google 12.8k Nov 27, 2022
XMRig is a high performance, open source, cross platform RandomX, KawPow, CryptoNight and AstroBWT unified CPU/GPU miner

XMRig is a high performance, open source, cross platform RandomX, KawPow, CryptoNight and AstroBWT unified CPU/GPU miner and RandomX benchmark. Official binaries are available for Windows, Linux, macOS and FreeBSD.

null 7.3k Nov 28, 2022
A useful tool for identifying the architecture, platform type, compiler, and operating system specifications by preprocessor feature support.

Platform-Detector Cross-Platform Information Detector It is a useful tool for identifying the architecture, platform type, compiler, and operating sys

Kambiz Asadzadeh 10 Jul 27, 2022
LibreSSL Portable itself. This includes the build scaffold and compatibility layer that builds portable LibreSSL from the OpenBSD source code.

LibreSSL Portable itself. This includes the build scaffold and compatibility layer that builds portable LibreSSL from the OpenBSD source code.

OpenBSD LibreSSL Portable 1.2k Nov 24, 2022
Upbit(업비트) Cryptocurrency Exchange Open API Client of Multi-Programming Language Support

Upbit Client Documents Support Upbit Client Upbit(업비트) Cryptocurrency Exchange API Client Description Upbit(업비트) Cryptocurrency Exchange Open API Clie

Yu Jhin 46 Nov 6, 2022
An EDA toolchain for integrated core-memory interval thermal simulations of 2D, 2.5, and 3D multi-/many-core processors

CoMeT: An Integrated Interval Thermal Simulation Toolchain for 2D, 2.5D, and 3D Processor-Memory Systems With the growing power density in both cores

MARG 11 Sep 25, 2022
A stable nginx module for SSL/TLS ja3 fingerprint, with high performance.

nginx-ssl-fingerprint A stable nginx module for SSL/TLS ja3 fingerprint, with high performance. Description This module adds new nginx variables for t

phuslu 50 Nov 20, 2022
Jazzer is a coverage-guided, in-process fuzzer for the JVM platform developed by Code Intelligence.

Jazzer is a coverage-guided, in-process fuzzer for the JVM platform developed by Code Intelligence. It is based on libFuzzer and brings many of its instrumentation-powered mutation features to the JVM.

Code Intelligence 675 Nov 25, 2022
A Powerful, Easy-to-Use, Compact, Cross-Platform and Installation-Free Crypto Tool. 一个强大,易用,小巧,跨平台且免安装的加密解密签名工具。

GpgFrontend GpgFrontend is a Powerful, Easy-to-Use, Compact, Cross-Platform, and Installation-Free OpenPGP Crypto Tool. By using GpgFrontend, you can

Saturn&Eric 187 Nov 16, 2022
obfuscated any constant encryption in compile time on any platform

oxorany 带有混淆的编译时任意常量加密 English 介绍 我们综合了开源项目ollvm、xorstr一些实现思路,以及c++14标准中新加入的constexpr关键字和一些模板的知识,完成了编译时的任意常量的混淆(可选)和加密功能。

Chase 120 Nov 16, 2022
Internet Identity, a blockchain authentication system for the Internet Computer

Internet Identity Service See ./docs/internet-identity-spec.adoc for a details specification and technical documentation.

DFINITY 235 Nov 21, 2022
HIBA is a system built on top of regular OpenSSH certificate-based authentication that allows to manage flexible authorization of principals on pools of target hosts without the need to push customized authorized_users files periodically.

HIBA is a system built on top of regular OpenSSH certificate-based authentication that allows to manage flexible authorization of principals on pools of target hosts without the need to push customized authorized_users files periodically.

Google 328 Nov 18, 2022
A basic C++ cryptocurrency/block-chain. Includes a basic wallet system. See README.md for all the inclusions and future additions.

Cryptocurrency Project C++ cryptocurrency/block-chain. Mostly basic blockchain for now. New Additions are in the works(see below). This file details w

null 2 Dec 23, 2021
Core - System components and backend.

Core System backend and start session and more. Compile dependencies sudo pacman -S extra-cmake-modules pkgconf qt5-base qt5-quickcontrols2 qt5-x11ext

CutefishOS 241 Nov 27, 2022
Distributed, Encrypted, Fractured File System - A custom distributed file system written in C with FUSE

A custom FUSE-based filesystem that distributes encrypted shards of data across machines on a local network, allowing those files to be accessible from any machine.

Charles Averill 14 Nov 2, 2022
Kunlun distributed DBMS is a NewSQL OLTP relational distributed database management system

Kunlun distributed DBMS is a NewSQL OLTP relational distributed database management system. Application developers can use Kunlun to build IT systems that handles terabytes of data, without any effort on their part to implement data sharding, distributed transaction processing, distributed query processing, crash safety, high availability, strong consistency, horizontal scalability. All these powerful features are provided by Kunlun.

zettadb 112 Nov 23, 2022
LoomIO is an object-level coordination system for distributed file systems.

LoomIO is an object-level coordination system for distributed file systems. It adopts wait-free design to enable interfering object requests self-organizing and obtain an optimized scheduling decision. Currently, LoomIO is implemented and integrated in Ceph.

null 2 Jun 19, 2022