Topics / #encryption
Encryption projects on GitHub
Encrypting data at rest and in transit with standard cryptographic tools.
As of , the most-starred Encryption projects on GitHub are excalidraw (134K stars), localsend (94.6K stars) and syncthing (89.5K stars). GitHub.Locker tracks 256 Encryption repositories with 3.6M stars combined. The fastest-growing on October 16 was sill, with +939 stars in a day.
Hot right now
Most stars gained in a day · Oct 16
+939sill
Saffsanity/sill · ★ 2.8KSill streams a window from your Mac, or your whole desktop, live to your iPhone or iPad, so you can touch, type and draw on it as if it were local.
pdfcraft
storytold/pdfcraft · ★ 15.1KPrintCraft (the pdfcraft project) is an open-source, clean-room reimplementation of Adobe Acrobat, built entirely in pure Rust. It lets you read, organize, combine, split and secure PDFs in a fast native app.
+444freellmapi
tashfeenahmed/freellmapi · ★ 36.4KFreeLLMAPI aggregates the free tiers of 34 LLM providers (635 free model endpoints, 474 model families) behind a single OpenAI-compatible /v1 endpoint, with smart routing, automatic failover, and encrypted key storage.
YunX
CYQawa/YunX · ★ 4.6KYunX (云析) is an open-source Android app that parses share links from Chinese cloud storage services and downloads the files directly, with chunked concurrent downloading and resume support.
The all-time top
Top 100 of 256 · by stars
- 134K
#1 · excalidraw/excalidrawexcalidraw
An open source virtual whiteboard with a hand-drawn look for sketching diagrams, wireframes and whatever you like — use it at excalidraw.com or embed the npm package in your own app.
- 94.6K
#2 · localsend/localsendlocalsend
LocalSend is a free, open-source app for securely sharing files and messages with nearby devices over your local network, without needing an internet connection - a cross-platform AirDrop alternative for Windows, macOS, Linux, Android and iOS.
- 89.5K
#3 · syncthing/syncthingsyncthing
Syncthing is an open-source continuous file synchronization program that keeps files in sync between two or more computers over a peer-to-peer connection.
- 4
vaultwarden
69.2Kdani-garcia/vaultwarden · RustVaultwarden is an unofficial, Rust-written server that implements the Bitwarden Client API, so you can run your own password-manager backend instead of using Bitwarden's official hosted service.
- 5
rclone
60.4Krclone/rclone · GoRclone is a command-line program that syncs files and directories to and from dozens of different cloud storage providers, like an 'rsync for the cloud'.
- 6
acme.sh
47.8Kacmesh-official/acme.sh · Shellacme.sh is a pure Unix shell script client for the ACME protocol that automatically issues, renews, and installs free SSL/TLS certificates from CAs like Let's Encrypt or ZeroSSL.
- 7
milvus
46.4Kmilvus-io/milvus · GoMilvus is a high-performance, cloud-native vector database built to store and search embedding vectors at scale for AI applications like semantic search, RAG, and recommendation systems.
- 8
hyperswitch
45.3Kjuspay/hyperswitch · RustHyperswitch is an open-source, composable payments platform that lets businesses route, retry, vault, and reconcile payments across 120+ payment processors like Stripe, Adyen, Braintree, and Worldpay, either self-hosted or as a SaaS.
- 9

headscale
44.7Kjuanfont/headscale · GoHeadscale is an open source, self-hosted implementation of the Tailscale control server, letting you run your own private Tailscale-compatible network instead of paying for Tailscale's hosted service.
- 10
Xray-core
42.2KXTLS/Xray-core · GoXray-core is the engine of 'Project X', a networking/proxy platform that implements protocols like VLESS, VMess, Trojan and Shadowsocks, with REALITY and XTLS for traffic obfuscation and censorship circumvention.
- 11

croc
40.6Kschollz/croc · Gocroc is a command-line tool that lets any two computers simply and securely transfer files and folders, using peer-to-peer transfer with a relay fallback and end-to-end encryption.
- 12

insomnia
40KKong/insomnia · TypeScriptInsomnia is an open-source, cross-platform API client for debugging, designing, testing and mocking APIs over GraphQL, REST, WebSockets, SSE and gRPC.
- 13

spacedrive
39.2Kspacedriveapp/spacedrive · RustSpacedrive is a cross-platform file explorer and a cross-device data platform. It indexes files, emails, notes, and other sources, lets you search everything in one place, and syncs data across devices via peer-to-peer connections.
- 14

Trilium
38.4KTriliumNext/Trilium · TypeScriptTrilium Notes is a free, open-source, cross-platform hierarchical note-taking app built for creating large personal knowledge bases.
- 15

tailscale
37.7Ktailscale/tailscale · GoTailscale is a mesh VPN built on WireGuard that creates secure private networks between your devices with minimal configuration, adding 2FA/SSO login on top.
- 16

server
37.1Knextcloud/server · PHPNextcloud server is a self-hosted platform for storing, syncing, and sharing your files, contacts, calendars, and more, with hundreds of apps (Mail, Video Chat, etc.) to extend it.
- 17

restic
36.6Krestic/restic · Gorestic is a command-line backup program that is fast, secure, and efficient, supporting Linux, macOS, Windows, FreeBSD, and OpenBSD.
- 18
bitchat
36.6Kpermissionlesstech/bitchat · SwiftBitChat is a decentralized peer-to-peer messaging app that uses Bluetooth mesh for offline, local chat and the Nostr protocol for internet-based global reach, with no accounts, phone numbers, or central servers.
- 19

vault
36.4Khashicorp/vault · GoVault is a tool for securely accessing secrets such as API keys, passwords, and certificates, giving you a unified interface with tight access control and detailed audit logging.
- 20

freellmapi
36.4Ktashfeenahmed/freellmapi · TypeScriptFreeLLMAPI aggregates the free tiers of 34 LLM providers (635 free model endpoints, 474 model families) behind a single OpenAI-compatible /v1 endpoint, with smart routing, automatic failover, and encrypted key storage.
- 21

CyberChef
36.1Kgchq/CyberChef · JavaScriptCyberChef is a web app that bundles encoding, encryption, compression, hashing and other data-analysis operations ('cyber' operations) into a single drag-and-drop recipe builder that runs entirely in your browser.
- 22

seaweedfs
35.5Kseaweedfs/seaweedfs · GoSeaweedFS is a distributed storage system that serves billions of small and large files with O(1) disk access, exposing the same data as an S3 object store, a POSIX file system, and an Iceberg/Lance data lakehouse through one binary.
- 23
rustfs
35Krustfs/rustfs · RustAn open-source, high-performance distributed object storage system written in Rust. It speaks the S3 API, is optimized for data lakes, AI and big data workloads, and supports migration and coexistence with MinIO and Ceph.
- 24

shadowsocks
33.5Kshadowsocks/shadowsocks · PythonAn encrypted SOCKS5 proxy for getting private traffic past censorship — that is what the repo's own tags (proxy, socks5, encryption, censorship) describe. It is written in Python, has been on GitHub since April 2012, and holds about 33.5k stars.
- 25

certbot
33.3Kcertbot/certbot · PythonCertbot is EFF's command-line tool that automatically fetches a free TLS certificate from Let's Encrypt and deploys it to your web server to enable HTTPS, and it can also work with any other certificate authority that speaks the ACME protocol.
- 26

ShadowsocksX-NG
32.9Kshadowsocks/ShadowsocksX-NG · SwiftIt's the next generation of ShadowsocksX — a macOS GUI client for the Shadowsocks proxy. You add your server profiles, and it routes your Mac's traffic through them via a local proxy.
- 27

atuin
32Katuinsh/atuin · RustAtuin replaces your shell history with a SQLite database, records extra context for every command, and adds a full-screen interactive search UI — with optional fully encrypted sync of history between machines.
- 28

How-To-Secure-A-Linux-Server
31.8Kimthenachoman/How-To-Secure-A-Linux-ServerThis is a long-form, evolving how-to guide (written as a GitHub README) that walks you through hardening a self-hosted Linux server, step by step, from SSH to firewalls to intrusion detection.
- 29

openssl
31Kopenssl/openssl · COpenSSL is an open source toolkit for TLS, DTLS and QUIC, built on a full-strength general purpose cryptographic library you can also use on its own. It descends from the SSLeay library by Eric Young and Tim Hudson.
- 30

algo
30.4Ktrailofbits/algo · PythonA set of Ansible scripts that spins up your own personal WireGuard and IPsec VPN server on a cloud provider, using the most secure defaults available.
- 31

awesome-osint
30.3Kjivoi/awesome-osintThis is a curated 'awesome list' of hundreds of free and paid OSINT (open source intelligence) tools and resources, organized into categories like general search, Google dorks, data breach lookup, social media, threat actors, and dark web.
- 32
consul
30.1Khashicorp/consul · GoConsul is a distributed, highly available, data center aware solution for connecting and configuring applications across dynamic, distributed infrastructure. It is built to be datacenter aware and can support any number of regions without complex configuration.
- 33

netbird
30Knetbirdio/netbird · GoNetBird is an open-source Zero Trust networking platform: it builds a configuration-free peer-to-peer WireGuard overlay network with centralized access control, so you can create secure private networks without open ports, complex firewall rules or VPN gateways.
- 34
infisical
29.8KInfisical/infisical · TypeScriptInfisical is an open-source security platform teams use to centralize secrets, certificates, and privileged access, with syncing, rotation, and leak prevention built in.
- 35

v2ray
29.7K233boy/v2ray · ShellA one-click install and management script for V2Ray proxy servers, letting you set up and run multiple VMess, VLESS, Trojan and Shadowsocks configurations on your own Linux server through a single command-line tool.
- 36

Signal-Android
29.5Ksignalapp/Signal-Android · KotlinSignal Android is a simple, powerful, and secure private messenger that works over your phone's data connection (WiFi/4G/5G). Millions of people use it every day for free messaging and HD voice and video calls.
- 37

ente
29.4Kente/ente · DartEnte is a fully open source, end-to-end encrypted cloud: a place to keep photos, documents and 2FA codes without having to trust the provider. It ships three apps so far: Photos, Locker and Auth.
- 38
keepassxc
29.3Kkeepassxreboot/keepassxc · C++KeePassXC is a modern, secure, open-source password manager for Windows, macOS, and Linux. It keeps usernames, passwords, URLs, attachments, and notes in one offline, encrypted database file.
- 39
setup-ipsec-vpn
28.7Khwdsl2/setup-ipsec-vpn · ShellA set of shell scripts that turns a fresh Linux server into your own IPsec VPN server in minutes, with IPsec/L2TP, Cisco IPsec and IKEv2 modes. Traffic is encrypted so nobody between you and the server can eavesdrop.
- 40

trufflehog
28.5Ktrufflesecurity/trufflehog · GoTruffleHog is a CLI tool that discovers, classifies, validates, and analyzes leaked secrets like API keys, database passwords, and private keys across many sources (Git, GitHub, S3, Docker, Slack, filesystems, and more).
- 41

dashy
26.7Klissy93/dashy · VueDashy is a self-hostable personal dashboard: a single, highly customizable start page for your homelab that gathers all your apps, links and services in one place, with status checks, widgets, themes and instant search built in.
- 42

turso
24.8Ktursodatabase/turso · RustTurso is an in-process SQL database written in Rust, compatible with SQLite, with an experimental Postgres frontend. Like SQLite it runs inside your application, and it is already used in production at multiple organizations.
- 43

fhevm
24.8Kzama-ai/fhevm · RustFHEVM is a full-stack framework from Zama for confidential smart contracts: it integrates Fully Homomorphic Encryption (FHE) with EVM-compatible blockchains so encrypted data can be processed directly onchain.
- 44

happy
24.2Kslopus/happy · TypeScriptAn open-source client for AI coding agents: run Claude Code or Codex on your computer and control the session from your phone, web or desktop, with end-to-end encryption. The repo description also names Grok.
- 45
age
23.9KFiloSottile/age · Goage is a simple, modern and secure file encryption tool and Go library, with small explicit keys, no config options, and UNIX-style composability.
- 46

sops
23.4Kgetsops/sops · GoSOPS (Secrets OPerationS) is an editor for encrypted files that supports YAML, JSON, ENV, INI and BINARY formats, encrypting values with AWS KMS, GCP KMS, Azure Key Vault, HuaweiCloud KMS, age, or PGP.
- 47
rxdb
23.4Kpubkey/rxdb · TypeScriptA local-first, reactive database for JavaScript apps: it runs inside your app, the UI can subscribe to query results or even single document fields, and it replicates with your existing backend - no vendor lock-in.
- 48

magic-wormhole
23Kmagic-wormhole/magic-wormhole · PythonMagic Wormhole is a CLI tool and library for getting files, directories, or short text snippets from one computer to another safely, using a short human-pronounceable one-time code instead of accounts or manual IP/network setup.
- 49

SafeLine
22.8Kchaitin/SafeLine · GoSafeLine is a self-hosted web application firewall (WAF) and reverse proxy that protects your web apps from attacks and exploits by filtering and monitoring HTTP traffic.
- 50

macOS-Security-and-Privacy-Guide
22.6Kdrduh/macOS-Security-and-Privacy-Guide · ShellA community-maintained guide collecting techniques for improving security and privacy on macOS, written for Apple silicon Macs.
- 51

livekit
21.5Klivekit/livekit · GoLiveKit is an open-source realtime platform for voice, video, and physical AI. This repo is its server: a scalable, distributed WebRTC SFU that routes audio, video, and data between people, devices, and AI models in shared rooms.
- 52

security-guide-for-developers
21.1KFallibleInc/security-guide-for-developersThis is a practical security guide for web developers that explains common security issues (authentication, encryption, sessions, attacks, etc.) and gives a checklist for building more secure systems.
- 53

openvpn-install
20.6KNyr/openvpn-install · ShellA shell script that automatically sets up your own OpenVPN road warrior VPN server on Ubuntu, Debian, AlmaLinux, Rocky Linux, CentOS or Fedora.
- 54

server
20.4Kbitwarden/server · C#This is the server side of Bitwarden, the password manager: the APIs, database, and core backend infrastructure that all Bitwarden client apps talk to. Run it on your own hardware to get your own Bitwarden instance.
- 55

awesome-privacy
20Kpluja/awesome-privacy · PythonA curated awesome-list of free, open-source and privacy-respecting alternatives to mainstream services that harvest your data — from mail and messengers to VPNs, browsers and AI.
- 56

snapdrop
19.7KSnapDrop/snapdrop · JavaScriptLocal file sharing in the browser, inspired by Apple's AirDrop: open the page on two devices in the same network and send files between them.
- 57

Sandboxie
19.7Ksandboxie-plus/Sandboxie · CSandboxie is a sandbox-based isolation tool for Windows that lets you run or install untrusted programs in an isolated virtual environment without permanently modifying your drives or registry.
- 58

simplex-chat
19.6Ksimplex-chat/simplex-chat · HaskellSimpleX Chat is a private messaging app for phones and desktops, and the first messaging network that uses no user identifiers of any kind — nobody can link your conversations to who you are. It is 100% private by design.
- 59
gun
19.1Kamark/gun · JavaScriptGUN is an open source cybersecurity protocol for syncing decentralized graph data — a peer-to-peer database that keeps app data in sync across browsers and devices, with no master server and no single source of truth.
- 60
uWebSockets
19KuNetworking/uWebSockets · C++μWebSockets is a simple, secure and standards-compliant web server for demanding applications, built as a C++ library — so optimized for speed and memory that its TLS 1.3 encrypted messaging outruns most servers' cleartext.
- 61

ZeroNet
18.8KHelloZeroNet/ZeroNet · JavaScriptZeroNet is open-source software for a decentralized web: it lets you publish and visit websites that use Bitcoin cryptography and the BitTorrent network for distribution instead of a traditional hosting provider.
- 62

nebula
18.4Kslackhq/nebula · GoNebula is an overlay networking tool that lets you connect computers anywhere in the world into a secure mesh network, scaling from a handful of machines to tens of thousands.
- 63
gost
18.2Kginuerzh/gost · GoGOST (GO Simple Tunnel) is a secure, multi-protocol proxy and tunnel tool written in Go. It can act as an HTTP/SOCKS5 proxy, chain multiple proxies together, and forward local or remote TCP/UDP ports through encrypted channels.
- 64

node-jsonwebtoken
18.2Kauth0/node-jsonwebtoken · JavaScriptA Node.js implementation of JSON Web Tokens (JWT) for signing, verifying, and decoding tokens, built by Auth0.
- 65

mars
17.7KTencent/mars · C++Mars is a cross-platform network component library built by WeChat's mobile team — the same infrastructure proven by billions of WeChat users. It bundles mobile-optimized networking, logging and network diagnostics for embedding in your own app.
- 66

ZeroTierOne
17.2Kzerotier/ZeroTierOne · C++ZeroTier is a smart programmable Ethernet switch: it makes your devices, VMs, containers, and apps talk to each other as if they all lived in the same data center or cloud region, wherever they physically are.
- 67

goproxy
17.1Ksnail007/goproxy · Gogoproxy is a high-performance proxy server written in Go. A single binary handles HTTP(S), SOCKS5, SS, WebSocket, TCP and UDP proxying, plus TCP/UDP port forwarding and intranet penetration for exposing servers behind NAT.
- 68
kcp
16.9Kskywind3000/kcp · CKCP is a fast, reliable ARQ protocol for realtime traffic: it trades 10-20% extra bandwidth for 30-40% lower average latency and up to 3x lower maximum latency than TCP.
- 69

linsa
16.9Klinsa-io/linsa · TypeScriptlinsa.io is a service for storing any kind of digital content with end-to-end encryption, so only you can access it, with extra features promised on top.
- 70
chisel
16.7Kjpillora/chisel · GoChisel is a fast TCP/UDP tunnel transported over HTTP and secured via SSH — a single executable that runs as either client or server, mainly used for passing through firewalls or providing a secure endpoint into your network.
- 71
realm-swift
16.6Krealm/realm-swift · Objective-CRealm is an open-source mobile database that runs directly inside phones, tablets and wearables — an embedded replacement for Core Data & SQLite, not a client-server database.
- 72
memvid
16.6Kmemvid/memvid · RustMemvid is a single-file memory layer for AI agents: it packs your data, embeddings and search index into one portable .mv2 file, so agents get instant retrieval and long-term memory without a RAG pipeline or a vector database server.
- 73

Signal-Desktop
16.6Ksignalapp/Signal-Desktop · TypeScriptSignal Desktop is the official desktop companion app for Signal, a private messenger. It links with your Signal account on Android or iOS and lets you send and receive messages from your Windows, macOS, or Linux computer.
- 74

crypto-js
16.4Kbrix/crypto-js · JavaScriptCrypto-js is a JavaScript library of crypto standards — hashes, ciphers like AES, PBKDF2 key derivation and encodings such as Base64, usable from Node.js and the browser.
- 75

cfnew
16.4KbyJoey/cfnewCFnew is a Cloudflare Workers/Pages proxy panel that generates VLESS, Trojan and xhttp nodes, converts them into subscription formats for clients like Clash, Surge, Sing-box, Loon, Quantumult X, V2ray and Shadowrocket, and lets you manage everything through a web config page backed by Cloudflare KV.
- 76

panda-vpn-pro
16.4KDiningFactory/panda-vpn-proA Chinese-language guide recommending cheap 'airports' — subscription proxy services for getting past China's Great Firewall — written by an author burned by PandaVPN Pro, paired with practical advice on choosing and paying for them safely.
- 77

cryptomator
16.3Kcryptomator/cryptomator · JavaCryptomator is a free, open-source app that encrypts your files on your own device before they reach cloud storage, so your provider only ever stores data it cannot read.
- 78

javascript-obfuscator
16.3Kjavascript-obfuscator/javascript-obfuscator · TypeScriptA free, powerful obfuscator for JavaScript and Node.js that protects source code with identifier renaming, string encryption, dead code injection, and control flow flattening.
- 79

shadowsocks-c
16.2Kshadowsocks/shadowsocks-c · C++shadowsocks-c is a lightweight, secured SOCKS5 proxy written in pure C, built on libuv with asynchronous DNS, designed to run on embedded devices and low-end boxes as well as desktops and servers.
- 80

openvpn-install
16.2Kangristan/openvpn-install · ShellAn installer script that sets up and manages your own OpenVPN server on a Linux machine you control — a VPS, a dedicated server or even a home computer — and generates client config files for every device you want to connect.
- 81

ecapture
15.5Kgojue/ecapture · CAn open-source command-line security tool that uses eBPF to capture SSL/TLS traffic in plaintext — no CA certificate installation or MITM proxy needed. It can also audit shell commands and database queries on the host.
- 82

DeDRM_tools
15.4Kapprenticeharper/DeDRM_tools · PythonDeDRM_tools is a collection of scripts and calibre plugins for stripping DRM protection off ebooks so they can be read, converted, or backed up freely.
- 83

seafile
15.3Khaiwen/seafile · CSeafile is an open source cloud storage system focused on privacy protection and teamwork, organizing files into 'libraries' that can be synced, shared, and optionally encrypted, plus adding metadata, wikis, and collaborative editing on top.
- 84

bounty-program
15.2Kzama-ai/bounty-programZama's bounty program: it pays developers to solve Fully Homomorphic Encryption (FHE) challenges built on Zama's open source libraries, as an experiment to advance the whole FHE field.
- 85

brook
15.2Ktxthinking/brook · GoBrook is a cross-platform programmable network tool that works as both a server and a client, giving you SOCKS5 proxying, TLS encryption, traffic decryption/MITM inspection, and packet capture in one toolkit.
- 86
stalwart
15.1Kstalwartlabs/stalwart · RustStalwart is an all-in-one, open-source mail and collaboration server written in Rust that supports email (JMAP, IMAP4, POP3, SMTP), calendaring (CalDAV), contacts (CardDAV) and file storage/sharing (WebDAV) in a single binary.
- 87

duplicati
15.1Kduplicati/duplicati · C#Duplicati is a free, open-source backup client that stores encrypted, incremental, and compressed backups on cloud storage services and remote file servers.
- 88
pdfcraft
15.1Kstorytold/pdfcraft · RustPrintCraft (the pdfcraft project) is an open-source, clean-room reimplementation of Adobe Acrobat, built entirely in pure Rust. It lets you read, organize, combine, split and secure PDFs in a fast native app.
- 89
TREK
14.8Kliketrek/TREK · TypeScriptTREK is a self-hosted travel and trip planner with real-time collaborative editing, interactive maps, budgets, packing lists, a journal, and built-in AI features.
- 90

notesnook
14.8Kstreetwriters/notesnook · TypeScriptNotesnook is a free, fully open-source, end-to-end encrypted note-taking app positioned as a privacy-focused alternative to Evernote.
- 91

openvpn
14.7KOpenVPN/openvpn · COpenVPN is an open-source VPN daemon — a background service that creates a secure, encrypted tunnel over the public internet, so your device can reach a private network as if it were directly connected.
- 92

xpipe
14.6Kxpipe-io/xpipeXPipe is a connection hub that lets you access your entire server infrastructure (SSH hosts, Docker, Kubernetes, VMs, cloud servers, WSL, and more) from one local desktop app, without installing any agent on the remote systems.
- 93

mosh
14.6Kmobile-shell/mosh · C++Mosh (Mobile Shell) is a remote terminal application that replaces SSH for interactive sessions, keeping the connection alive through network changes, sleep, and lossy links while locally echoing keystrokes for instant feedback.
- 94

coturn
14.5Kcoturn/coturn · Ccoturn is a free, open-source implementation of a TURN and STUN server, used as a VoIP media relay and NAT traversal gateway, commonly deployed alongside WebRTC applications.
- 95
kopia
14.4Kkopia/kopia · GoKopia is an open-source backup and restore tool that creates encrypted, compressed, deduplicated snapshots of your files and directories and saves them to remote, cloud, network-attached, or local storage.
- 96

rathole
14.3Krathole-org/rathole · RustRathole is a secure, stable, high-performance reverse proxy written in Rust that exposes a service running on a device behind NAT to the Internet through a server with a public IP, similar to frp and ngrok.
- 97

arangodb
14.3Karangodb/arangodb · C++ArangoDB is a native multi-model database that stores documents, graphs, and key-value data together, queryable with a single SQL-like language called AQL.
- 98

cert-manager
14.1Kcert-manager/cert-manager · Gocert-manager adds certificates and certificate issuers as resource types in Kubernetes, automating the process of obtaining, renewing, and using TLS certificates for workloads in a cluster.
- 99

EasyTier
14.1KEasyTier/EasyTier · RustEasyTier is a decentralized mesh VPN built with Rust and Tokio. It connects your devices into one secure virtual network over the internet without requiring any central server.
- 100

clients
14Kbitwarden/clients · TypeScriptThis is the monorepo for Bitwarden's client applications — the web vault, browser extension, Electron desktop app, and CLI — everything except the mobile apps.
Showing the 100 most-starred of 256. See every one in the catalog.
Related topics
Often tagged together