TopFreeAlternative

- Free open source alternatives of paid software.

Paid software

Latest free open-source software collection:

AdGuardHome logo
AdGuardHome is a free, open-source alternative to NextDNS . Privacy protection center for you and your devices Free and open source, powerful network-wide ads & trackers blocking DNS server. AdGuard.com | Wiki | Reddit | Twitter | Telegram AdGuard Home is a network-wide software for blocking ads and tracking. After you set it up, it'll cover ALL your home devices, and you don't need any client-side software for that. It operates as a DNS server that re-routes tracking domains to a “black hole”, thus preventing your devices from connecting to those servers. It's based on software we use for our public AdGuard DNS servers, and both share a lot of code. Getting Started Automated install (Linux/Unix/MacOS/FreeBSD/OpenBSD) Alternative methods Guides API Comparing AdGuard Home to other solutions How is this different from public AdGuard DNS servers? How does AdGuard Home compare to Pi-Hole How does AdGuard Home compare to traditional ad blockers Known limitations How to build from source Prerequisites Building Contributing Test unstable versions Reporting issues Help with translations Other Projects that use AdGuard Home Acknowledgments Privacy Getting Started Automated install (Linux/Unix/MacOS/FreeBSD/OpenBSD) To install with curl run the following command: curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v To install with wget run the following command: wget --no-verbose -O - https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v To install with fetch run the following command: fetch -o - https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v The script also accepts some options: -c <channel> to use specified channel; -r to reinstall AdGuard Home; -u to uninstall AdGuard Home; -v for verbose output. Note that options -r and -u are mutually exclusive. Alternative methods Manual installation Please read the Getting Started article on our Wiki to learn how to install AdGuard Home manually, and how to configure your devices to use it. Docker You can use our official Docker image on Docker Hub . Snap Store If you're running Linux, there's a secure and easy way to install AdGuard Home: get it from the Snap Store . Guides See our Wiki . API If you want to integrate with AdGuard Home, you can use our REST API . Alternatively, you can use this python client , which can be used to build the AdGuard Home Assistant integration . Comparing AdGuard Home to other solutions How is this different from public AdGuard DNS servers? Running your own AdGuard Home server allows you to do much more than using a public DNS server. It's a completely different level. See for yourself: Choose what exactly the server blocks and permits. Monitor your network activity. Add your own custom filtering rules. Most importantly, it's your own server, and you are the only one who's in control. How does AdGuard Home compare to Pi-Hole At this point, AdGuard Home has a lot in common with Pi-Hole. Both block ads and trackers using the so-called “DNS sinkholing” method and both allow customizing what's blocked. Note We're not going to stop here. DNS sinkholing is not a bad starting point, but this is just the beginning. AdGuard Home provides a lot of features out-of-the-box with no need to install and configure additional software. We want it to be simple to the point when even casual users can set it up with minimal effort. Note Some of the listed features can be added to Pi-Hole by installing additional software or by manually using SSH terminal and reconfiguring one of the utilities Pi-Hole consists of. However, in our opinion, this cannot be legitimately counted as a Pi-Hole's feature. Feature AdGuard Home Pi-Hole Blocking ads and trackers ✅ ✅ Customizing blocklists ✅ ✅ Built-in DHCP server ✅ ✅ HTTPS for the Admin interface ✅ Kind of, but you'll need to manually configure lighttpd Encrypted DNS upstream servers (DNS-over-HTTPS, DNS-over-TLS, DNSCrypt) ✅ ❌ (requires additional software) Cross-platform ✅ ❌ (not natively, only via Docker) Running as a DNS-over-HTTPS or DNS-over-TLS server ✅ ❌ (requires additional software) Blocking phishing and malware domains ✅ ❌ (requires non-default blocklists) Parental control (blocking adult domains) ✅ ❌ (requires non-default blocklists) Force Safe search on search engines ✅ ❌ Per-client (device) configuration ✅ ✅ Access settings (choose who can use AGH DNS) ✅ ❌ Running without root privileges ✅ ❌ How does AdGuard Home compare to traditional ad blockers It depends. DNS sinkholing is capable of blocking a big percentage of ads, but it lacks the flexibility and the power of traditional ad blockers. You can get a good impression about the difference between these methods by reading this article , which compares AdGuard for Android (a traditional ad blocker) to hosts-level ad blockers (which are almost identical to DNS-based blockers in their capabilities). This level of protection is enough for some users. Additionally, using a DNS-based blocker can help to block ads, tracking and analytics requests on other types of devices, such as SmartTVs, smart speakers or other kinds of IoT devices (on which you can't install traditional ad blockers). Known limitations Here are some examples of what cannot be blocked by a DNS-level blocker: YouTube, Twitch ads; Facebook, Twitter, Instagram sponsored posts. Essentially, any advertising that shares a domain with content cannot be blocked by a DNS-level blocker. Is there a chance to handle this in the future? DNS will never be enough to do this. Our only option is to use a content blocking proxy like what we do in the standalone AdGuard applications. We're going to bring this feature support to AdGuard Home in the future. Unfortunately, even in this case, there still will be cases when this won't be enough or would require quite a complicated configuration. How to build from source Prerequisites Run make init to prepare the development environment. You will need this to build AdGuard Home: Go v1.25 or later; Node.js v24.10.0 or later; npm v10.8 or later; Building Open your terminal and execute these commands: git clone https://github.com/AdguardTeam/AdGuardHome cd AdGuardHome make Warning The non-standard -j flag is currently not supported, so building with make -j 4 or setting your MAKEFLAGS to include, for example, -j 4 is likely to break the build. If you do have your MAKEFLAGS set to that, and you don't want to change it, you can override it by running make -j 1 . Check the Makefile to learn about other commands. Building for a different platform You can build AdGuard Home for any OS/ARCH that Go supports. In order to do this, specify GOOS and GOARCH environment variables as macros when running make . For example: env GOOS= ' linux ' GOARCH= ' arm64 ' make or: make GOOS= ' linux ' GOARCH= ' arm64 ' Preparing releases You'll need snapcraft to prepare a release build. Once installed, run the following command: make build-release CHANNEL= ' ... ' VERSION= ' ... ' See the build-release target documentation . Docker image Run make build-docker to build the Docker image locally (the one that we publish to DockerHub). Please note, that we're using Docker Buildx to build our official image. You may need to prepare before using these builds: (Linux-only) Install Qemu: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes --credential yes Prepare the builder: docker buildx create --name buildx-builder --driver docker-container --use See the build-docker target documentation . Debugging the frontend When you need to debug the frontend without recompiling the production version every time, for example to check how your labels would look on a form, you can run the frontend build a development environment. In a separate terminal, run: ( cd ./client/ && env NODE_ENV= ' development ' npm run watch ) Run your AdGuardHome binary with the --local-frontend flag, which instructs AdGuard Home to ignore the built-in frontend files and use those from the ./build/ directory. Now any changes you make in the ./client/ directory should be recompiled and become available on the web UI. Make sure that you disable the browser cache to make sure that you actually get the recompiled version. End-to-End (E2E) Frontend Tests AdGuard Home uses Playwright for E2E testing. Tests are located in tests/e2e . Running Tests: npm run test:e2e – run all tests (headless). npm run test:e2e:interactive – run tests interactively. npm run test:e2e:debug – run tests in debug mode. npm run test:e2e:codegen – generate new test code. Setup: Run npm install to install dependencies. Run npx playwright install to set up required browsers. Warning: Playwright will download and install its own browser binaries for testing, which may differ from the browsers installed on your system. Contributing You are welcome to fork this repository, make your changes and submit a pull request . Please make sure you follow our code guidelines though. Please note that we don't expect people to contribute to both UI and backend parts of the program simultaneously. Ideally, the backend part is implemented first, i.e. configuration, API, and the functionality itself. The UI part can be implemented later in a different pull request by a different person. Test unstable versions There are two update channels that you can use: beta : beta versions of AdGuard Home. More or less stable versions, usually released every two weeks or more often. edge : the newest version of AdGuard Home from the development branch. New updates are pushed to this channel daily. There are three options how you can install an unstable version: Snap Store : look for the beta and edge channels. Docker Hub : look for the beta and edge tags. Standalone builds. Use the automated installation script or look for the available builds on the Wiki . Script to install a beta version: curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -c beta Script to install an edge version: curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -c edge Report issues If you run into any problem or have a suggestion, head to this page and click on the “New issue” button. Please follow the instructions in the issue form carefully and don't forget to start by searching for duplicates. Help with translations If you want to help with AdGuard Home translations, please learn more about translating AdGuard products in our Knowledge Base . You can contribute to the AdGuardHome project on CrowdIn . Other Another way you can contribute is by looking for issues marked as help wanted , asking if the issue is up for grabs, and sending a PR fixing the bug or implementing the feature. Projects that use AdGuard Home Please note that these projects are not affiliated with AdGuard, but are made by third-party developers and fans. AdGuard Home Remote : iOS app by Joost . Python library by @frenck . Home Assistant add-on by @frenck . OpenWrt LUCI app by @kongfl888 (originally by @rufengsuixing ). AdGuardHome sync by @bakito . Terminal-based, real-time traffic monitoring and statistics for your AdGuard Home instance by @Lissy93 AdGuard Home on GLInet routers by Gl-Inet . Cloudron app by @gramakri . Asuswrt-Merlin-AdGuardHome-Installer by @jumpsmm7 aka @SomeWhereOverTheRainBow . Node.js library by @Andrea055 . Browser Extension by @satheshshiva . Zabbix Template for AdGuard Home by @diasdmhub . Chocolatey package by niks255 . Acknowledgments This software wouldn't have been possible without: Go and its libraries: gcache miekg's dns go-yaml service dnsproxy urlfilter Node.js and its libraries: React.js Tabler And many more Node.js packages. whotracks.me data You might have seen that CoreDNS was mentioned here before, but we've stopped using it in AdGuard Home. For the full list of all Node.js packages in use, please take a look at client/package.json file. Privacy Our main idea is that you are the one, who should be in control of your data. So it is only natural, that AdGuard Home does not collect any usage statistics, and does not use any web services unless you configure it to do so. See also the full privacy policy with every bit that could in theory be sent by AdGuard Home is available.
FreeWindowsmacOSLinux
server logo
server is a free, open-source alternative to Dropbox . Nextcloud Server ☁ A safe home for all your data. Why is this so awesome? 🤩 📁 Access your Data You can store your files, contacts, calendars, and more on a server of your choosing. 🔄 Sync your Data You keep your files, contacts, calendars, and more synchronized amongst your devices. 🙌 Share your Data …by giving others access to the stuff you want them to see or to collaborate with. 🚀 Expandable with hundreds of Apps ...like Calendar , Contacts , Mail , Video Chat and all those you can discover in our App Store 🔒 Security with our encryption mechanisms, HackerOne bounty program and two-factor authentication. Do you want to learn more about how you can use Nextcloud to access, share, and protect your files, calendars, contacts, communication & more at home and in your organization? Learn about all our Features . Get your Nextcloud 🚚 ☑️ Simply sign up at one of our providers either through our website or through the apps directly. 🖥 Install a server by yourself on your hardware or by using one of our ready-to-use appliances 📦 Buy one of the awesome devices coming with a preinstalled Nextcloud 🏢 Find a service provider who hosts Nextcloud for you or your company Enterprise? Public Sector or Education user? You may want to have a look into Nextcloud Enterprise provided by Nextcloud GmbH. Get in touch 💬 📋 Forum 🦋 Bluesky 👥 Facebook 🐘 Mastodon You can also get support for Nextcloud ! Join the team 👪 There are many ways to contribute, of which development is only one! Find out how to get involved , including as a translator, designer, tester, helping others, and much more! 😍 Development setup 👩‍💻 🚀 Set up your local development environment 🐛 Pick a good first issue 👩‍🔧 Create a branch and make your changes. Remember to sign off your commits using git commit -sm "Your commit message" ⬆ Create a pull request and @mention the people from the issue to review 👍 Fix things that come up during a review 🎉 Wait for it to get merged! Third-party components are handled as git submodules which have to be initialized first. So aside from the regular git checkout invoking git submodule update --init or a similar command is needed, for details see Git documentation. Several apps that are included by default in regular releases such as First run wizard or Activity are missing in master and have to be installed manually by cloning them into the apps subfolder. Otherwise, git checkouts can be handled the same as release archives, by using the stable* branches. Note they should never be used on production systems. Testing your code We use multiple test frameworks for specific areas of the code: PHPUnit for PHP unit tests Behat for PHP integration tests Vitest for Javascript / Typescript unit tests Playwright for end-to-end tests For our end-to-end tests using Playwright you can refer to our documentation on how to debug errors and to contribute new test cases. Tools we use 🛠 👀 BrowserStack for cross-browser testing 🌊 WAVE for accessibility testing 🚨 Lighthouse for testing performance, accessibility, and more Helpful bots at GitHub 🤖 Comment on a pull request with /update-3rdparty to update the 3rd party submodule. It will update to the last commit of the 3rd party branch named like the PR target. Ignore code style updates in git blame git config blame.ignoreRevsFile .git-blame-ignore-revs Contribution guidelines 📜 All contributions to this repository from June 16, 2016, and onward are considered to be licensed under the AGPLv3 or any later version. Nextcloud doesn't require a CLA (Contributor License Agreement). The copyright belongs to all the individual contributors. Therefore we recommend that every contributor adds the following line to the AUTHORS file if they made substantial changes to the code: - <your name> <your email address> Please read the Code of Conduct . This document offers some guidance to ensure Nextcloud participants can cooperate effectively in a positive and inspiring atmosphere and to explain how together we can strengthen and support each other. Please review the guidelines for contributing to this repository. More information on how to contribute: https://nextcloud.com/contribute/
FreeWindowsmacOSLinuxAndroidiOS
maigret logo
maigret is a free, open-source alternative to Pipl . Maigret English · 简体中文 Maigret collects a dossier on a person by username only , checking for accounts on a huge number of sites and gathering all the available information from web pages. No API keys required. AI profiling (demo) . Sponsors IPcook provides reliable residential proxies for online research, username discovery, and public data collection workflows. High success rates • 99.99% uptime • Response time under 0.5s • Monthly & Pay-as-you-go • Non-expiring traffic • Up to 10 free sub-accounts for team collaboration • Residential proxies from $0.3–$3.2/GB. Special Offer : FREE 100MB trial available. Use code WELCOME20 for 20% off. RapidProxy provides high-performance residential proxies for Twitter scraping, Selenium automation, and web data extraction. 90M+ IPs • Smart rotation • Anti-block • Non-expiring traffic. Special Offer : Try it free — Plans from $0.65/GB. Use code RAPID10 for 10% off. Contents In one minute Main features Demo Installation Usage Contributing Commercial Use About In one minute Ensure you have Python 3.10 or higher. pip install maigret maigret YOUR_USERNAME No install? Try the community Telegram bot or a Cloud Shell . Want a web UI? See how to launch it . See also: Quick start . Main features Supports 3,000+ sites ( see full list ). A default run checks the 500 highest-ranked sites by traffic; pass -a to scan everything, or --tags to narrow by category/country. Embeddable in Python projects — import maigret and run searches programmatically (see library usage ). Extracts all available information about the account owner from profile pages and site APIs, including links to other accounts. Performs recursive search using discovered usernames and other IDs. Allows filtering by tags (site categories, countries). Detects and partially bypasses blocks, censorship, and CAPTCHA. Fetches an auto-updated site database from GitHub each run (once per 24 hours), and falls back to the built-in database if offline. Works with Tor and I2P websites; able to check domains. Ships with a web interface for browsing results as a graph and downloading reports in every format from a single page. Optional AI analysis mode ( --ai ) that turns raw findings into a short investigation summary using an OpenAI-compatible API. For the complete feature list, see the features documentation . Used by Professional OSINT and social-media analysis tools built on Maigret: Demo Video Reports PDF report , HTML report Full console output Installation Already ran the In one minute steps? You're set. Below are alternative methods. Don't want to install anything? Use the community Telegram bot . Windows Download maigret_standalone.exe from Releases . You can launch it two ways: Double-click it — Maigret will ask for a username, run a default search, and wait at the end so the report links stay visible. Run it from a terminal — open Command Prompt (press Win+R , type cmd , hit Enter) or PowerShell to pass extra options: cd %USERPROFILE% \Downloads maigret_standalone.exe USERNAME maigret_standalone.exe USERNAME --html :: also save an HTML report maigret_standalone.exe --help :: list all options Video guide: https://youtu.be/qIgwTZOmMmM . Cloud Shells Run Maigret in the browser via cloud shells or Jupyter notebooks: Local installation (pip) # install from pypi pip3 install maigret # usage maigret username From source # or clone and install manually git clone https://github.com/soxoj/maigret && cd maigret # build and install pip3 install . # usage maigret username Docker Two image variants are published: soxoj/maigret:latest — CLI mode (default) soxoj/maigret:web — auto-launches the web interface # official image (CLI) docker pull soxoj/maigret # CLI usage docker run -v /mydir:/app/reports soxoj/maigret:latest username --html # Web UI (open http://localhost:5000) docker run -p 5000:5000 soxoj/maigret:web # Web UI on a custom port docker run -e PORT=8080 -p 8080:8080 soxoj/maigret:web # manual build docker build -t maigret . # CLI image (default target) docker build --target web -t maigret-web . # Web UI image Troubleshooting Build errors? See the troubleshooting guide . PDF reports ( --pdf ) are an optional extra — install with pip install 'maigret[pdf]' . They need system-level graphics libraries on Linux/macOS; see the PDF reports section for per-OS install steps. Usage Examples # make HTML, PDF, and XMind reports maigret user --html maigret user --pdf maigret user --xmind # legacy XML with a manifest for XMind 2022+ readers # machine-readable exports maigret user --json ndjson # newline-delimited JSON (also: --json simple) maigret user --csv maigret user --txt maigret user --graph # interactive D3 graph (HTML) maigret user --neo4j # Neo4j Cypher script (graph database) # search on sites marked with tags photo & dating maigret user --tags photo,dating # search on sites marked with tag us maigret user --tags us # highlight sites whose page also mentions specific keywords maigret user --keywords python rust # keyword-matched sites are shown with "[++]" in bright green # search for three usernames on all available sites maigret user1 user2 user3 -a # AI-assisted investigation summary (needs OPENAI_API_KEY) maigret user --ai --neo4j writes a *_neo4j.cypher script of the results graph; import it with cypher-shell -u neo4j -p <password> < report_user_neo4j.cypher or paste it into the Neo4j Browser. Re-imports are idempotent. See the Neo4j export docs . Run maigret --help for all options. Docs: CLI options , more examples . Running into 403s or timeouts? See TROUBLESHOOTING.md . Web interface Maigret has a built-in web UI with a results graph and downloadable reports. Don't want to run it yourself? Deploy the published soxoj/maigret:web Docker image as a hosted app in one click: Runs on Render's free tier (spins down after 15 min idle, spins back up on the next request). No login is set up on the instance, so anyone with the URL can use it. Web Interface Screenshots maigret --web 5000 Open http://127.0.0.1:5000 , enter a username, and view results. Python library Maigret can be embedded in your own Python projects. The CLI is a thin wrapper around an async function you can call directly — build custom pipelines, feed results into your own tooling, or run it inside a larger OSINT workflow. See the full library usage guide for a working example, async patterns, and how to filter sites by tag. Useful CLI flags --parse URL — parse a profile page, extract IDs/usernames, and use them to kick off a recursive search. --permute — generate likely username variants from two or more inputs (e.g. john doe → johndoe , j.doe , …) and search for all of them. --self-check [--auto-disable] — verify usernameClaimed / usernameUnclaimed pairs against live sites for maintainers auditing the database. --ai / --ai-model — run the AI analysis over the search results and stream a short investigation summary to the terminal. AI analysis --ai collects the search results, builds an internal Markdown report, and sends it to an OpenAI-compatible chat completion endpoint to produce a short, neutral investigation summary (likely real name, location, occupation, interests, languages, confidence, follow-up leads). Per-site progress is suppressed and the model's output is streamed to stdout. export OPENAI_API_KEY=sk-... maigret user --ai # pick a different model maigret user --ai --ai-model gpt-4o-mini The key can also be set as openai_api_key in settings.json . The endpoint defaults to https://api.openai.com/v1 , but openai_api_base_url in settings.json can point to any OpenAI-compatible API (Azure OpenAI, OpenRouter, a local server, …). See the settings docs for the full list of options. Tor / I2P / proxies Maigret can route checks through a proxy, Tor, or I2P — useful for .onion / .i2p sites and for bypassing WAFs that block datacenter IPs. # any HTTP/SOCKS proxy maigret user --proxy socks5://127.0.0.1:1080 # Tor (default gateway socks5://127.0.0.1:9050) maigret user --tor-proxy socks5://127.0.0.1:9050 # I2P (default gateway http://127.0.0.1:4444) maigret user --i2p-proxy http://127.0.0.1:4444 Start your Tor / I2P daemon before running the command — Maigret does not manage these gateways. Cloudflare bypass Experimental. The Cloudflare webgate is under active development; the configuration schema, CLI behaviour, and the set of routed sites may change without backwards-compatibility guarantees. A subset of sites in the database require a real browser to solve a JavaScript challenge. Maigret can offload these checks to a local FlareSolverr instance: docker run -d -p 8191:8191 --name flaresolverr ghcr.io/flaresolverr/flaresolverr:latest maigret --cloudflare-bypass < username > The bypass is opt-in ( --cloudflare-bypass or cloudflare_bypass.enabled in settings.json ) and only fires for sites whose protection field matches. See the feature docs for backend options and configuration. Contributing Add or fix new sites surgically in data.json (no json.load / json.dump ), then run ./utils/update_site_data.py to regenerate sites.md and the database metadata, and open a pull request. For more details, see the CONTRIBUTING guide and development docs . Release history: CHANGELOG.md . Commercial Use The open-source Maigret is MIT-licensed and free for commercial use without restriction — but site checks break over time and need active maintenance. For serious commercial use — with a daily-updated site database or a username-check API — reach out: 📧 [email protected] Private site database — 5 000+ sites, updated daily (separate from the public open-source database) Username check API — integrate Maigret into your product About Disclaimer For educational and lawful purposes only. You are responsible for complying with all applicable laws (GDPR, CCPA, etc.) in your jurisdiction. The authors bear no responsibility for misuse. Feedback Open an issue · GitHub Discussions · Telegram SOWEL classification OSINT techniques used: SOTL-2.2. Search For Accounts On Other Platforms SOTL-6.1. Check Logins Reuse To Find Another Account SOTL-6.2. Check Nicknames Reuse To Find Another Account License MIT © Maigret
FreeWindowsmacOSLinux
openscreen logo
openscreen is a free, open-source alternative to Screen Studio . Note OpenScreen is now archived and no longer maintained. For continued maintenance and development, a community-driven spin-off led by one of the core contributors is available here: https://github.com/EtienneLescot/openscreen Warning This started as a side project that blew up; not production grade and you'll hit bugs, but hopefully it covers what you need. This project will soon be archived. OpenScreen OpenScreen is your free, open-source alternative to Screen Studio. If you don't want to pay $29/month for Screen Studio but want a version that does what most people seem to need - quick, polished product demos and walkthroughs you'd post on X, Reddit or Youtube. OpenScreen does not offer every Screen Studio feature, but covers a lot of the core functionality. Screen Studio is an awesome product and this is definitely not a 1:1 clone. If you just want something fully free and open source, this project should cover most of your needs. 100% free for both personal and commercial use. Use it, modify it, distribute it. Please respect the License. Note Software should be accessible. OpenScreen has no paid tiers, premium features, upsells, or functionality locked behind a paywall. Core Features Record a specific window, or your whole screen. Record microphone and system audio. Webcam overlay with picture-in-picture, drag-to-position, mirroring, and shape options. Auto or manual zooms with adjustable depth, duration, easing, and pixel-precise position; auto-zoom follows your cursor as you work. Custom cursor size, smoothing, and click effects, with cursor themes and post-recording path smoothing. Automatic captions for voiceovers, generated on-device with no upload (works offline). Wallpapers, solid colors, gradients, or your own background image. Motion blur. Crop, trim, and per-segment speed control on the timeline. Text, arrow, and image annotations, with text animation presets. Timeline snapping guides and an audio waveform to make trimming easier. Customizable keyboard shortcuts. Export to MP4 or GIF in multiple aspect ratios and resolutions. Languages supported: Arabic, English, Spanish, French, Italian, Japanese, Korean, Portuguese (Brazil), Russian, Turkish, Vietnamese, Simplified Chinese, and Traditional Chinese. Installation Download the latest installer for your platform from the GitHub Releases page. macOS The easiest way to install on macOS is via Homebrew : brew install --cask siddharthvaddem/openscreen/openscreen Brew automatically picks the right build for Apple Silicon or Intel, and verifies the download against a notarized signature so Gatekeeper won't block it. To update later: brew upgrade --cask openscreen To uninstall: brew uninstall --cask openscreen (add --zap to also remove app data) Manual install (if you prefer) If you'd rather grab the .dmg directly from the Releases page and encounter Gatekeeper blocking the app, you can bypass it by running the following command in your terminal after installation: xattr -rd com.apple.quarantine /Applications/Openscreen.app Note: Give your terminal Full Disk Access in System Settings > Privacy & Security to grant you access and then run the above command. After running this command, proceed to System Preferences > Security & Privacy to grant the necessary permissions for "screen recording" and "accessibility". Once permissions are granted, you can launch the app. Note Upgrading from an older version and hitting permission issues? If you already had OpenScreen installed and the new version won't record (Screen Recording or Accessibility keep failing even after you grant them), uninstall the old version, remove OpenScreen's existing entries under System Settings > Privacy & Security (both Screen Recording and Accessibility), then do a fresh install and grant the permissions again when prompted. Windows Install via winget : winget install SiddharthVaddem.OpenScreen To update later: winget upgrade SiddharthVaddem.OpenScreen To uninstall: winget uninstall SiddharthVaddem.OpenScreen If you'd rather grab the .exe installer directly, download it from the Releases page . Linux Three packages are published to the Releases page for each version. Pick the one that matches your distro: Debian / Ubuntu / Pop!_OS ( .deb ) sudo apt install ./Openscreen-Linux-latest.deb Arch / Manjaro ( .pacman ) sudo pacman -U Openscreen-Linux-latest.pacman Any distro ( .AppImage ) chmod +x Openscreen-Linux- * .AppImage ./Openscreen-Linux- * .AppImage NixOS / Nix (flake) Try without installing: nix run github:siddharthvaddem/openscreen Install into your user profile: nix profile install github:siddharthvaddem/openscreen For a NixOS system config (flake): { inputs . openscreen . url = "github:siddharthvaddem/openscreen" ; outputs = { nixpkgs , openscreen , ... } : { nixosConfigurations . < host > = nixpkgs . lib . nixosSystem { modules = [ openscreen . nixosModules . default { programs . openscreen . enable = true ; } ] ; } ; } ; } For Home Manager, use openscreen.homeManagerModules.default with the same programs.openscreen.enable = true; . You may need to grant screen recording permissions depending on your desktop environment. Sandbox error: If the AppImage fails to launch with a "sandbox" error, run it with --no-sandbox : ./Openscreen-Linux- * .AppImage --no-sandbox Platform differences Everything in the editor and export is the same on macOS, Windows, and Linux: zooms, backgrounds, motion blur, crop/trim/speed, blur regions, annotations, auto-captions, projects, export, and all languages. The differences are in capture , where macOS and Windows use a native pipeline that Linux doesn't have: Native recording : macOS (ScreenCaptureKit) and Windows (Windows Graphics Capture) record through a native pipeline for higher quality and clean window-level capture. Linux records through the browser pipeline instead. Custom cursors : on macOS and Windows the real cursor is captured (shape, type, and clicks), which powers the cursor themes, click effects, and editable cursor overlay. On Linux only the cursor position is captured (used for auto-zoom), so those cursor options aren't available. Webcam : captured natively on macOS and Windows; on Linux it's recorded through the browser, but still works as a picture-in-picture overlay. System audio support varies by OS: macOS : requires macOS 13+. On macOS 14.2+ you'll be prompted to grant audio capture permission. macOS 12 and below can't capture system audio (mic still works). Windows : works out of the box. Linux : needs PipeWire (default on Ubuntu 22.04+, Fedora 34+). Older PulseAudio-only setups may not capture system audio (mic should still work). License This project is licensed under the MIT License . By using this software, you agree that the authors are not liable for any issues, damages, or claims arising from its use.
FreeWindowsmacOSLinux
cal.diy logo
cal.diy is a free, open-source alternative to Calendly . Warning Use at your own risk. Cal.diy is the open source community edition of Cal.com and it is intended for users who want to self-host their own Cal.diy instance. It is strictly recommended for personal, non-production use. Please review all installation and configuration steps carefully. Self-hosting requires advanced knowledge of server administration, database management, and securing sensitive data. Proceed only if you are comfortable with these responsibilities. Tip For any commercial and enterprise-ready scheduling infrastructure, use Cal.com, not Cal.diy; hosted by us or get invited to on-prem enterprise access here: https://cal.com/sales Cal.diy The community-driven, open-source scheduling platform. GitHub Issues · Contributing About Cal.diy Cal.diy is the community-driven, fully open-source scheduling platform — a fork of Cal.com with all enterprise/commercial code removed. Cal.diy is 100% MIT-licensed with no proprietary "Enterprise Edition" features. It's designed for individuals and self-hosters who want full control over their scheduling infrastructure without any commercial dependencies. What's different from Cal.com? No enterprise features — Teams, Organizations, Insights, Workflows, SSO/SAML, and other EE-only features have been removed No license key required — Everything works out of the box, no Cal.com account or license needed 100% open source — The entire codebase is licensed under MIT, no "Open Core" split Community-maintained — Contributions are welcome and go directly into this project (see CONTRIBUTING.md ) Note: Cal.diy is a self-hosted project. There is no hosted/managed version. You run it on your own infrastructure. Built With Next.js tRPC React.js Tailwind CSS Prisma.io Daily.co Getting Started To get a local copy up and running, please follow these simple steps. Prerequisites Here’s what you need to run Cal.diy. Node.js (Version: >=18.x) PostgreSQL (Version: >=13.x) Yarn (recommended) If you want to enable any of the available integrations, you may want to obtain additional credentials for each one. More details on this can be found below under the integrations section . Development Setup Clone the repo (or fork https://github.com/calcom/cal.diy/fork ) git clone https://github.com/calcom/cal.diy.git If you are on Windows, run the following command in Git Bash with admin privileges: git clone -c core.symlinks=true https://github.com/calcom/cal.diy.git Go to the project folder cd cal.diy Install packages with yarn yarn Set up your .env file Duplicate .env.example to .env Use openssl rand -base64 32 to generate a key and add it under NEXTAUTH_SECRET in the .env file. Use openssl rand -base64 24 to generate a key and add it under CALENDSO_ENCRYPTION_KEY in the .env file. Windows users: Replace the packages/prisma/.env symlink with a real copy to avoid a Prisma error ( unexpected character / in variable name ): # Git Bash / WSL rm packages/prisma/.env && cp .env packages/prisma/.env Set up Node If your Node version does not meet the project's requirements as instructed by the docs, "nvm" (Node Version Manager) allows using Node at the version required by the project: nvm use You first might need to install the specific version and then use it: nvm install && nvm use You can install nvm from here . Quick start with yarn dx Requires Docker and Docker Compose to be installed Will start a local Postgres instance with a few test users - the credentials will be logged in the console yarn dx Default credentials created: Email Password Role [email protected] free Free user [email protected] pro Pro user [email protected] trial Trial user [email protected] ADMINadmin2022! Admin user [email protected] onboarding Onboarding incomplete You can use any of these credentials to sign in at http://localhost:3000 Tip : To view the full list of seeded users and their details, run yarn db-studio and visit http://localhost:5555 Development tip Add export NODE_OPTIONS="--max-old-space-size=16384" to your shell script to increase the memory limit for the node process. Alternatively, you can run this in your terminal before running the app. Replace 16384 with the amount of RAM you want to allocate to the node process. Add NEXT_PUBLIC_LOGGER_LEVEL={level} to your .env file to control the logging verbosity for all tRPC queries and mutations. Where {level} can be one of the following: 0 for silly 1 for trace 2 for debug 3 for info 4 for warn 5 for error 6 for fatal When you set NEXT_PUBLIC_LOGGER_LEVEL={level} in your .env file, it enables logging at that level and higher. Here's how it works: The logger will include all logs that are at the specified level or higher. For example: \ If you set NEXT_PUBLIC_LOGGER_LEVEL=2 , it will log from level 2 (debug) upwards, meaning levels 2 (debug), 3 (info), 4 (warn), 5 (error), and 6 (fatal) will be logged. \ If you set NEXT_PUBLIC_LOGGER_LEVEL=3 , it will log from level 3 (info) upwards, meaning levels 3 (info), 4 (warn), 5 (error), and 6 (fatal) will be logged, but level 2 (debug) and level 1 (trace) will be ignored. \ echo ' NEXT_PUBLIC_LOGGER_LEVEL=3 ' >> .env for Logger level to be set at info, for example. Gitpod Setup Click the button below to open this project in Gitpod. This will open a fully configured workspace in your browser with all the necessary dependencies already installed. Manual setup Configure environment variables in the .env file. Replace <user> , <pass> , <db-host> , and <db-port> with their applicable values DATABASE_URL='postgresql://<user>:<pass>@<db-host>:<db-port>' If you don't know how to configure the DATABASE_URL, then follow the steps here to create a quick local DB Download and install PostgreSQL locally (if you don't have it already). Create your own local db by executing createDB <DB name> Now open your psql shell with the DB you created: psql -h localhost -U postgres -d <DB name> Inside the psql shell execute \conninfo . And you will get the following info. Now extract all the info and add it to your DATABASE_URL. The url would look something like this postgresql://postgres:postgres@localhost:5432/Your-DB-Name . The port is configurable and does not have to be 5432. If you don't want to create a local DB. Then you can also consider using services like railway.app, Northflank or render. Setup postgres DB with railway.app Setup postgres DB with Northflank Setup postgres DB with render Copy and paste your DATABASE_URL from .env to .env.appStore . Set up the database using the Prisma schema (found in packages/prisma/schema.prisma ) In a development environment, run: yarn workspace @calcom/prisma db-migrate In a production environment, run: yarn workspace @calcom/prisma db-deploy Note for Windows/PowerShell users: If running the database deployment scripts fails with an error stating Environment variable not found: DATABASE_DIRECT_URL , Turbo might be failing to inject the root .env variables. You can bypass this by executing the commands directly from the prisma package directory in PowerShell: cd packages / prisma $ env: DATABASE_URL = " postgresql://postgres:YOUR_PASSWORD@localhost:5432/postgres " ; $ env: DATABASE_DIRECT_URL = " postgresql://postgres:YOUR_PASSWORD@localhost:5432/postgres " npx prisma db push cd .. / .. Run mailhog to view emails sent during development NOTE: Required when E2E_TEST_MAILHOG_ENABLED is "1" docker pull mailhog/mailhog docker run -d -p 8025:8025 -p 1025:1025 mailhog/mailhog Run (in development mode) yarn dev Setting up your first user Approach 1 Open Prisma Studio to look at or modify the database content: yarn db-studio Click on the User model to add a new user record. Fill out the fields email , username , password , and set metadata to empty {} (remembering to encrypt your password with BCrypt ) and click Save 1 Record to create your first user. New users are set on a TRIAL plan by default. You might want to adjust this behavior to your needs in the packages/prisma/schema.prisma file. Open a browser to http://localhost:3000 and login with your just created, first user. Approach 2 Seed the local db by running cd packages/prisma yarn db-seed The above command will populate the local db with dummy users. E2E-Testing Be sure to set the environment variable NEXTAUTH_URL to the correct value. If you are running locally, as the documentation within .env.example mentions, the value should be http://localhost:3000 . # In a terminal just run: yarn test-e2e # To open the last HTML report run: yarn playwright show-report test-results/reports/playwright-html-report Resolving issues E2E test browsers not installed Run npx playwright install to download test browsers and resolve the error below when running yarn test-e2e : Executable doesn't exist at /Users/alice/Library/Caches/ms-playwright/chromium-1048/chrome-mac/Chromium.app/Contents/MacOS/Chromium Upgrading from earlier versions Pull the current version: git pull Check if dependencies got added/updated/removed yarn Apply database migrations by running one of the following commands: In a development environment, run: yarn workspace @calcom/prisma db-migrate (This can clear your development database in some cases) In a production environment, run: yarn workspace @calcom/prisma db-deploy Check for .env variables changes yarn predev Start the server. In a development environment, just do: yarn dev For a production build, run for example: yarn build yarn start Enjoy the new version. Deployment Docker The Docker image can be found on DockerHub at https://hub.docker.com/r/calcom/cal.diy . Note for ARM Users : Use the {version}-arm suffix for pulling images. Example: docker pull calcom/cal.diy:v5.6.19-arm . Requirements Make sure you have docker & docker compose installed on the server / system. Both are installed by most docker utilities, including Docker Desktop and Rancher Desktop. Note: docker compose without the hyphen is now the primary method of using docker-compose, per the Docker documentation. Running Cal.diy with Docker Compose Clone the repository git clone --recursive https://github.com/calcom/cal.diy.git Change into the directory cd cal.diy Prepare your configuration: Rename .env.example to .env and then update .env cp .env.example .env Most configurations can be left as-is, but for configuration options see Important Run-time variables below. Required Secret Keys Before starting, you must generate secure values for NEXTAUTH_SECRET and CALENDSO_ENCRYPTION_KEY . Using the default secret placeholder in production is a security risk. Generate NEXTAUTH_SECRET (cookie encryption key): openssl rand -base64 32 Generate CALENDSO_ENCRYPTION_KEY (must be 32 bytes for AES256): openssl rand -base64 24 Update your .env file with these values: NEXTAUTH_SECRET = <your_generated_secret> CALENDSO_ENCRYPTION_KEY = <your_generated_key> Push Notifications (VAPID Keys) If you see an error like: Error: No key set vapidDetails.publicKey This means your environment variables for Web Push are missing. You must generate and set NEXT_PUBLIC_VAPID_PUBLIC_KEY and VAPID_PRIVATE_KEY . Generate them with: npx web-push generate-vapid-keys Then update your .env file: NEXT_PUBLIC_VAPID_PUBLIC_KEY = your_public_key_here VAPID_PRIVATE_KEY = your_private_key_here Do not commit real keys to .env.example — only placeholders. Update the appropriate values in your .env file, then proceed. (optional) Pre-Pull the images by running the following command: docker compose pull Start Cal.diy via docker compose To run the complete stack, which includes a local Postgres database, Cal.diy web app, and Prisma Studio: docker compose up -d To run Cal.diy web app and Prisma Studio against a remote database, ensure that DATABASE_URL is configured for an available database and run: docker compose up -d calcom studio To run only the Cal.diy web app, ensure that DATABASE_URL is configured for an available database and run: docker compose up -d calcom Note: to run in attached mode for debugging, remove -d from your desired run command. Open a browser to http://localhost:3000 , or your defined NEXT_PUBLIC_WEBAPP_URL. The first time you run Cal.diy, a setup wizard will initialize. Define your first user, and you're ready to go! Note for first-time setup (Calendar integration) : During the setup wizard, you may encounter a "Connect your Calendar" step that appears to be required. If you do not wish to connect a calendar at this time, you can skip this step by navigating directly to the dashboard at <NEXT_PUBLIC_WEBAPP_URL>/event-types . Calendar integrations can be added later from the Settings > Integrations page. Updating Cal.diy Stop the Cal.diy stack docker compose down Pull the latest changes docker compose pull Update env vars as necessary. Re-start the Cal.diy stack docker compose up -d Building from source with Docker Clone the repository git clone https://github.com/calcom/cal.diy.git Change into the directory cd cal.diy Rename .env.example to .env and then update .env For configuration options see Build-time variables below. Update the appropriate values in your .env file, then proceed. Build the Cal.diy docker image: Note: Due to application configuration requirements, an available database is currently required during the build process. a) If hosting elsewhere, configure the DATABASE_URL in the .env file, and skip the next step b) If a local or temporary database is required, start a local database via docker compose. docker compose up -d database Build Cal.diy via docker compose (DOCKER_BUILDKIT=0 must be provided to allow a network bridge to be used at build time. This requirement will be removed in the future) DOCKER_BUILDKIT=0 docker compose build calcom Start Cal.diy via docker compose To run the complete stack, which includes a local Postgres database, Cal.diy web app, and Prisma Studio: docker compose up -d To run Cal.diy web app and Prisma Studio against a remote database, ensure that DATABASE_URL is configured for an available database and run: docker compose up -d calcom studio To run only the Cal.diy web app, ensure that DATABASE_URL is configured for an available database and run: docker compose up -d calcom Note: to run in attached mode for debugging, remove -d from your desired run command. Open a browser to http://localhost:3000 , or your defined NEXT_PUBLIC_WEBAPP_URL. The first time you run Cal.diy, a setup wizard will initialize. Define your first user, and you're ready to go! Configuration Important Run-time variables These variables must also be provided at runtime Variable Description Required Default DATABASE_URL database url with credentials - if using a connection pooler, this setting should point there required postgresql://unicorn_user:magical_password@database:5432/calendso NEXT_PUBLIC_WEBAPP_URL Base URL of the site. NOTE: if this value differs from the value used at build-time, there will be a slight delay during container start (to update the statically built files). optional http://localhost:3000 NEXTAUTH_URL Location of the auth server. By default, this is the Cal.diy docker instance itself. optional {NEXT_PUBLIC_WEBAPP_URL}/api/auth NEXTAUTH_SECRET Cookie encryption key. Must match build variable. Generate with: openssl rand -base64 32 required secret CALENDSO_ENCRYPTION_KEY Authentication encryption key (32 bytes for AES256). Must match build variable. Generate with: openssl rand -base64 24 required secret Build-time variables If building the image yourself, these variables must be provided at the time of the docker build, and can be provided by updating the .env file. Currently, if you require changes to these variables, you must follow the instructions to build and publish your own image. Variable Description Required Default DATABASE_URL database url with credentials - if using a connection pooler, this setting should point there required postgresql://unicorn_user:magical_password@database:5432/calendso MAX_OLD_SPACE_SIZE Needed for Nodejs/NPM build options required 4096 NEXTAUTH_SECRET Cookie encryption key required secret CALENDSO_ENCRYPTION_KEY Authentication encryption key required secret NEXT_PUBLIC_WEBAPP_URL Base URL injected into static files optional http://localhost:3000 NEXT_PUBLIC_WEBSITE_TERMS_URL custom URL for terms and conditions website optional NEXT_PUBLIC_WEBSITE_PRIVACY_POLICY_URL custom URL for privacy policy website optional CALCOM_TELEMETRY_DISABLED Allow Cal.diy to collect anonymous usage data (set to 1 to disable) optional Troubleshooting SSL edge termination If running behind a load balancer which handles SSL certificates, you will need to add the environmental variable NODE_TLS_REJECT_UNAUTHORIZED=0 to prevent requests from being rejected. Only do this if you know what you are doing and trust the services/load-balancers directing traffic to your service. Failed to commit changes: Invalid 'prisma.user.create()' Certain versions may have trouble creating a user if the field metadata is empty. Using an empty json object {} as the field value should resolve this issue. Also, the id field will autoincrement, so you may also try leaving the value of id as empty. CLIENT_FETCH_ERROR If you experience this error, it may be the way the default Auth callback in the server is using the WEBAPP_URL as a base url. The container does not necessarily have access to the same DNS as your local machine, and therefore needs to be configured to resolve to itself. You may be able to correct this by configuring NEXTAUTH_URL=http://localhost:3000/api/auth , to help the backend loop back to itself. docker-calcom-1 | @calcom/web:start: [next-auth][error][CLIENT_FETCH_ERROR] docker-calcom-1 | @calcom/web:start: https://next-auth.js.org/errors#client_fetch_error request to http://testing.localhost:3000/api/auth/session failed, reason: getaddrinfo ENOTFOUND testing.localhost { docker-calcom-1 | @calcom/web:start: error: { docker-calcom-1 | @calcom/web:start: message: 'request to http://testing.localhost:3000/api/auth/session failed, reason: getaddrinfo ENOTFOUND testing.localhost', docker-calcom-1 | @calcom/web:start: stack: 'FetchError: request to http://testing.localhost:3000/api/auth/session failed, reason: getaddrinfo ENOTFOUND testing.localhost\n' + docker-calcom-1 | @calcom/web:start: ' at ClientRequest.<anonymous> (/calcom/node_modules/next/dist/compiled/node-fetch/index.js:1:65756)\n' + docker-calcom-1 | @calcom/web:start: ' at ClientRequest.emit (node:events:513:28)\n' + docker-calcom-1 | @calcom/web:start: ' at ClientRequest.emit (node:domain:489:12)\n' + docker-calcom-1 | @calcom/web:start: ' at Socket.socketErrorListener (node:_http_client:494:9)\n' + docker-calcom-1 | @calcom/web:start: ' at Socket.emit (node:events:513:28)\n' + docker-calcom-1 | @calcom/web:start: ' at Socket.emit (node:domain:489:12)\n' + docker-calcom-1 | @calcom/web:start: ' at emitErrorNT (node:internal/streams/destroy:157:8)\n' + docker-calcom-1 | @calcom/web:start: ' at emitErrorCloseNT (node:internal/streams/destroy:122:3)\n' + docker-calcom-1 | @calcom/web:start: ' at processTicksAndRejections (node:internal/process/task_queues:83:21)', docker-calcom-1 | @calcom/web:start: name: 'FetchError' docker-calcom-1 | @calcom/web:start: }, docker-calcom-1 | @calcom/web:start: url: 'http://testing.localhost:3000/api/auth/session', docker-calcom-1 | @calcom/web:start: message: 'request to http://testing.localhost:3000/api/auth/session failed, reason: getaddrinfo ENOTFOUND testing.localhost' docker-calcom-1 | @calcom/web:start: } Railway You can deploy Cal.diy on Railway . The team at Railway also have a detailed blog post on deploying on their platform. Northflank You can deploy Cal.diy on Northflank . The team at Northflank also have a detailed blog post on deploying on their platform. Vercel Currently Vercel Pro Plan is required to be able to Deploy this application with Vercel, due to limitations on the number of serverless functions on the free plan. Render Elestio License Cal.diy is fully open source, licensed under the MIT License . Unlike Cal.com's "Open Core" model, Cal.diy has no commercial/enterprise code . The entire codebase is available under the same open-source license. Enabling Content Security Policy Set CSP_POLICY="non-strict" env variable, which enables Strict CSP except for unsafe-inline in style-src . If you have custom changes in your instance, you may need to modify your code to make it CSP-compatible. Currently, strict CSP is enabled only on the login page. On other SSR pages, it is enabled in report-only mode to detect potential issues. It is not yet supported on SSG pages. Integrations Obtaining the Google API Credentials Open Google API Console . If you don't have a project in your Google Cloud subscription, you'll need to create one before proceeding further. Under Dashboard pane, select Enable APIS and Services. In the search box, type calendar and select the Google Calendar API search result. Enable the selected API. Next, go to the OAuth consent screen from the side pane. Select the app type (Internal or External) and enter the basic app details on the first page. In the second page on Scopes, select Add or Remove Scopes. Search for Calendar.event and select the scope with scope value .../auth/calendar.events , .../auth/calendar.readonly and select Update. In the third page (Test Users), add the Google account(s) you'll be using. Make sure the details are correct on the last page of the wizard and your consent screen will be configured. Now select Credentials from the side pane and then select Create Credentials. Select the OAuth Client ID option. Select Web Application as the Application Type. Under Authorized redirect URI's, select Add URI and then add the URI <Cal.diy URL>/api/integrations/googlecalendar/callback and <Cal.diy URL>/api/auth/callback/google replacing Cal.diy URL with the URI at which your application runs. The key will be created and you will be redirected back to the Credentials page. Select the newly generated client ID under OAuth 2.0 Client IDs. Select Download JSON. Copy the contents of this file and paste the entire JSON string in the .env file as the value for GOOGLE_API_CREDENTIALS key. Adding google calendar to Cal.diy App Store After adding Google credentials, you can now add the Google Calendar app to the App Store. You can repopulate the App Store by running cd packages/prisma yarn seed-app-store You will need to complete a few more steps to activate Google Calendar App. Make sure to complete section "Obtaining the Google API Credentials". After that do the following Add extra redirect URL <Cal.diy URL>/api/auth/callback/google Under 'OAuth consent screen', click "PUBLISH APP" Obtaining Microsoft Graph Client ID and Secret Open Azure App Registration and select New registration Name your application Set Who can use this application or access this API? to Accounts in any organizational directory (Any Azure AD directory - Multitenant) Set the Web redirect URI to <Cal.diy URL>/api/integrations/office365calendar/callback replacing Cal.diy URL with the URI at which your application runs. Use Application (client) ID as the MS_GRAPH_CLIENT_ID attribute value in .env Click Certificates & secrets create a new client secret and use the value as the MS_GRAPH_CLIENT_SECRET attribute Obtaining Zoom Client ID and Secret Open Zoom Marketplace and sign in with your Zoom account. On the upper right, click "Develop" => "Build App". Select "General App" , click "Create". Name your App. Choose "User-managed app" for "Select how the app is managed". De-select the option to publish the app on the Zoom App Marketplace, if asked. Now copy the Client ID and Client Secret to your .env file into the ZOOM_CLIENT_ID and ZOOM_CLIENT_SECRET fields. Set the "OAuth Redirect URL" under "OAuth Information" as <Cal.diy URL>/api/integrations/zoomvideo/callback replacing Cal.diy URL with the URI at which your application runs. Also add the redirect URL given above as an allow list URL and enable "Subdomain check". Make sure, it says "saved" below the form. You don't need to provide basic information about your app. Instead click on "Scopes" and then on "+ Add Scopes". On the left, click the category "Meeting" and check the scope meeting:write:meeting . click the category "User" and check the scope user:read:settings . Click "Done". You're good to go. Now you can easily add your Zoom integration in the Cal.diy settings. Obtaining Daily API Credentials Open Daily.co and create an account. From within your dashboard, go to the developers tab. Copy your API key. Now paste the API key to your .env file into the DAILY_API_KEY field in your .env file. If you have the Daily Scale Plan set the DAILY_SCALE_PLAN variable to true in order to use features like video recording. Obtaining Basecamp Client ID and Secret Visit the 37 Signals Integrations Dashboard and sign in. Register a new application by clicking the Register one now link. Fill in your company details. Select Basecamp 4 as the product to integrate with. Set the Redirect URL for OAuth <Cal.diy URL>/api/integrations/basecamp3/callback replacing Cal.diy URL with the URI at which your application runs. Click on done and copy the Client ID and secret into the BASECAMP3_CLIENT_ID and BASECAMP3_CLIENT_SECRET fields. Set the BASECAMP3_CLIENT_SECRET env variable to {your_domain} ({support_email}) . Obtaining HubSpot Client ID and Secret Open HubSpot Developer and sign into your account, or create a new one. From within the home of the Developer account page, go to "Manage apps". Click "Create legacy app" button top right and select public app. Fill in any information you want in the "App info" tab Go to tab "Auth" Now copy the Client ID and Client Secret to your .env file into the HUBSPOT_CLIENT_ID and HUBSPOT_CLIENT_SECRET fields. Set the Redirect URL for OAuth <Cal.diy URL>/api/integrations/hubspot/callback replacing Cal.diy URL with the URI at which your application runs. In the "Scopes" section at the bottom of the page, make sure you select "Read" and "Write" for scopes called crm.objects.contacts and crm.lists . Click the "Save" button at the bottom footer. You're good to go. Now you can see any booking in Cal.diy created as a meeting in HubSpot for your contacts. Obtaining Webex Client ID and Secret See Webex Readme Obtaining ZohoCRM Client ID and Secret Open Zoho API Console and sign into your account, or create a new one. From within the API console page, go to "Applications". Click "ADD CLIENT" button top right and select "Server-based Applications". Fill in any information you want in the "Client Details" tab Go to tab "Client Secret" tab. Now copy the Client ID and Client Secret to your .env file into the ZOHOCRM_CLIENT_ID and ZOHOCRM_CLIENT_SECRET fields. Set the Redirect URL for OAuth <Cal.diy URL>/api/integrations/zohocrm/callback replacing Cal.diy URL with the URI at which your application runs. In the "Settings" section check the "Multi-DC" option if you wish to use the same OAuth credentials for all data centers. Click the "Save"/ "UPDATE" button at the bottom footer. You're good to go. Now you can easily add your ZohoCRM integration in the Cal.diy settings. Obtaining Zoho Calendar Client ID and Secret Follow these steps Obtaining Zoho Bigin Client ID and Secret Follow these steps Obtaining Pipedrive Client ID and Secret Follow these steps Rate Limiting with Unkey Cal.diy uses Unkey for rate limiting. This is an optional feature and is not required for self-hosting. If you want to enable rate limiting: Sign up for an account at unkey.com Create a Root key with permissions for ratelimit.create_namespace and ratelimit.limit Copy the root key to your .env file into the UNKEY_ROOT_KEY field Note: If you don't configure Unkey, Cal.diy will work normally without rate limiting enabled. Contributing We welcome contributions! Whether it's fixing a typo, improving documentation, or building new features, your help makes Cal.diy better. Important: Cal.diy is a community fork. Contributions to this repo do not flow to Cal.com's production platform. See CONTRIBUTING.md for details. Check out our Contributing Guide for detailed steps. Please follow our coding standards and commit message conventions to keep the project consistent. Even small improvements matter — thank you for helping us grow! Good First Issues We have a list of help wanted that contain small features and bugs which have a relatively limited scope. This is a great place to get started, gain experience, and get familiar with our contribution process. Contributors Translations Don't code but still want to contribute? help translate Cal.diy into your language. Acknowledgements Cal.diy is built on the foundation created by Cal.com and the many contributors to the original project. Special thanks to: Vercel Next.js Day.js Tailwind CSS Prisma
FreeWindowsmacOSLinux
docusaurus logo
docusaurus is a free, open-source alternative to GitBook . Docusaurus Introduction Docusaurus is a project for building, deploying, and maintaining open source project websites easily. Short on time? Check out our 5-minute tutorial ⏱️ ! Tip : use docusaurus.new to test Docusaurus immediately in a playground. Simple to Start Docusaurus is built in a way so that it can get running in as little time as possible. We've built Docusaurus to handle the website build process so you can focus on your project. Localizable Docusaurus ships with localization support via CrowdIn. Empower and grow your international community by translating your documentation. Customizable While Docusaurus ships with the key pages and sections you need to get started, including a home page, a docs section, a blog , and additional support pages, it is also customizable to ensure you have a site that is uniquely yours . Installation Use the initialization CLI to create your site: npm init docusaurus@latest Read the docs for any further information. Contributing We've released Docusaurus because it helps us better scale and supports the many OSS projects at Meta. We hope that other organizations can benefit from the project. We are thankful for any contributions from the community. Code of Conduct Meta has adopted a Code of Conduct that we expect project participants to adhere to. Please read the full text so that you can understand what actions will and will not be tolerated. Contributing guide Read our contributing guide to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to Docusaurus. Beginner-friendly bugs To help you get your feet wet and get you familiar with our contribution process, we have a list of beginner-friendly bugs that might contain smaller issues to tackle first. This is a great place to get started. Contact We have a few channels for contact: Discord : #general for those using Docusaurus. #contributors for those wanting to contribute to the Docusaurus core. @docusaurus X GitHub Issues Contributors This project exists thanks to all the people who contribute. [ Contribute ]. Backers Thank you to all our backers! 🙏 Become a backer Sponsors Support this project by becoming a sponsor. Your logo will show up here with a link to your website. Become a sponsor License Docusaurus is MIT licensed . The Docusaurus documentation (e.g., .md files in the /docs folder) is Creative Commons licensed . Special thanks BrowserStack supports us with free access for open source . Rocket Validator helps us find HTML markup and accessibility issues .
FreeWindowsmacOSLinuxAndroidiOS
godot logo
godot is a free, open-source alternative to Unity . Godot Engine 2D and 3D cross-platform game engine Godot Engine is a feature-packed, cross-platform game engine to create 2D and 3D games from a unified interface. It provides a comprehensive set of common tools , so that users can focus on making games without having to reinvent the wheel. Games can be exported with one click to a number of platforms, including the major desktop platforms (Linux, macOS, Windows), mobile platforms (Android, iOS), as well as Web-based platforms and consoles . Free, open source and community-driven Godot is completely free and open source under the very permissive MIT license . No strings attached, no royalties, nothing. The users' games are theirs, down to the last line of engine code. Godot's development is fully independent and community-driven, empowering users to help shape their engine to match their expectations. It is supported by the Godot Foundation not-for-profit. Before being open sourced in February 2014 , Godot had been developed by Juan Linietsky and Ariel Manzur for several years as an in-house engine, used to publish several work-for-hire titles. Getting the engine Binary downloads Official binaries for the Godot editor and the export templates can be found on the Godot website . Compiling from source See the official docs for compilation instructions for every supported platform. Community and contributing Godot is not only an engine but an ever-growing community of users and engine developers. The main community channels are listed on the homepage . The best way to get in touch with the core engine developers is to join the Godot Contributors Chat . To get started contributing to the project, see the contributing guide . This document also includes guidelines for reporting bugs. Documentation and demos The official documentation is hosted on Read the Docs . It is maintained by the Godot community in its own GitHub repository . The class reference is also accessible from the Godot editor. We also maintain official demos in their own GitHub repository as well as a list of awesome Godot community resources . There are also a number of other learning resources provided by the community, such as text and video tutorials, demos, etc. Consult the community channels for more information.
FreeWindowsmacOSLinux
cc-switch logo
cc-switch is a free, open-source software / service you can self-host or use without paying. CC Switch The All-in-One Manager for Claude Code, Claude Desktop, Codex, Gemini CLI, Grok Build, OpenCode, OpenClaw & Hermes Agent 🌐 The Only Official Website: ccswitch.io English | 中文 | 日本語 | Deutsch | Changelog ❤️Sponsor Want to appear here? Click to collapse Kimi K3 is Moonshot AI's most capable model and the world's first open 3T-class model. With 2.8 trillion parameters, native vision, and a 1-million-token context window, K3 delivers frontier performance across long-horizon coding, knowledge work, and reasoning. CC Switch makes it easy to configure and switch to Kimi across agentic tools. Click here to start using Kimi New user top-up bonus : register via this link and complete your first top-up to receive 10% of the amount as bonus API credit, up to CNY ¥1,000. Doing mostly coding work? Try the Kimi Code subscription . Thanks to PackyCode for sponsoring this project! PackyCode is a reliable and efficient API relay service provider, offering relay services for Claude Code, Codex, Gemini, and more. PackyCode provides special discounts for our software users: register using this link and enter the "cc-switch" promo code during first recharge to get 10% off. Thanks to ZetaAPI for sponsoring this project! ZetaAPI focuses on real model fidelity, no watered-down responses, no quality degradation, and pricing as low as 35% of official rates. The platform does not mix traffic, secretly replace models with lower-quality alternatives, or use fake model routing. It supports Claude Code, Codex, Gemini, ChatGPT, and other mainstream AI models, helping users significantly reduce API costs while maintaining reliable model quality. At the same time, ZetaAPI provides enterprise-grade SLA-backed stability, standard API compatibility, one API key for multiple models, fast integration, and pay-as-you-go billing, making it suitable for AI products, coding agents, internal business tools, customer service systems, content generation, and automation workflows. If any model is verified to be inconsistent with its stated quality, ZetaAPI backs it with a 10x compensation guarantee, giving users a more stable, transparent, and trustworthy experience. Register via this link and use the promo code CC-SWITCH during your first recharge to enjoy an exclusive 10% discount on your first top-up, just for CC Switch users! Thanks to APINEBULA for sponsoring this project! APINEBULA, an enterprise-grade AI aggregation platform under Galaxy Video Bureau, leverages extensive platform resources to provide developers, teams, and enterprises with stable, cost-effective access to large language model APIs. The platform integrates leading, full-powered models like Claude, GPT, and Gemini, allowing you to connect to the world's top AI models through a single API, with prices starting as low as 10% of the original cost. Designed for AI programming, Agent development, and business system integration, APINEBULA supports enterprise-grade high concurrency, formal contracts, corporate bank transfers, and invoicing services. APINEBULA provides special discounts for our software users: register using this link and enter the "ccswitch" promo code during your first recharge to get 10% off . Thanks to AICodeMirror for sponsoring this project! AICodeMirror provides official high-stability relay services for Claude Code / Codex / Gemini CLI, with enterprise-grade concurrency, fast invoicing, and 24/7 dedicated technical support. Claude Code / Codex / Gemini official channels at 38% / 2% / 9% of original price, with extra discounts on top-ups! AICodeMirror offers special benefits for CC Switch users: register via this link to enjoy 20% off your first top-up, and enterprise customers can get up to 25% off! Thanks to PatewayAI for sponsoring this project! PatewayAI is an API relay service provider built for heavy AI developers, focused on directly relaying official high-quality model APIs. It offers the full Claude lineup and the Codex series, 100% sourced from official channels — no dilution, no fakes, verification welcome. Billing is transparent and every token-level invoice can be audited line by line. It also supports enterprise-grade concurrency and provides a dedicated management platform for enterprise customers — formal contracts and invoicing are available; visit the official website for contact details. Register now via this link to receive $3 in trial credit. Top-ups go as low as 60% of the original price, with a two-way referral bonus of up to $150! Thanks to Fenno.ai for sponsoring this project! Fenno.ai is a stable and efficient API relay service provider, currently focused on Codex relay. It is compatible with the OpenAI and Anthropic protocols and can be flexibly used from Codex, Claude Code, OpenCode, and other mainstream coding tools. It reliably supports enterprise-grade workloads of hundreds of billions of tokens per day, with corporate (B2B) settlement and invoicing for both domestic and overseas entities. Fenno.ai offers an exclusive benefit for CC Switch users: subscribe via this link to the $1.99 Trial Plan worth $50 in credits (valid for 7 days), and earn up to 20% in referral rewards — invite more, earn more! Thanks to RunAPI for sponsoring this project! RunAPI is a high-performance and reliable AI model API gateway — one API key gives you access to 150+ mainstream models including OpenAI, Claude, Gemini, DeepSeek, and Grok, with prices as low as 10% of the official rate and excellent stability. It works seamlessly with Claude Code, OpenClaw, and other tools. Exclusive benefit for CC Switch users: register via this link and enjoy a 10% discount on your first top-up! Thanks to Shengsuanyun for sponsoring this project! Shengsuanyun is a super factory serving AI Native Teams — an industrial-grade AI task parallel execution platform. Its model marketplace aggregates Claude, ChatGPT, Gemini, and other domestic and international LLM and multimedia model capabilities with direct supply. Absolutely no reverse engineering or dilution — platform-wide model SLA availability reaches 99.7%, with monitoring dashboards showing green across the board. It also offers enterprise-grade custom gateways for fine-grained team cost and permission management, smart routing, security protection, and BYOK (Bring Your Own Key) hosting. The platform charges on a pay-per-use and tokens plan (coming soon) basis, with invoicing available. Register via this link as a new user to receive ¥10 in credits plus a 10% bonus on your first top-up. Thanks to AIGoCode for sponsoring this project! AIGoCode is an all-in-one platform that integrates Claude Code, Codex, and the latest Gemini models, providing you with stable, efficient, and highly cost-effective AI coding services. The platform offers flexible subscription plans, zero risk of account suspension, direct access with no VPN required, and lightning-fast responses. AIGoCode has prepared a special benefit for CC Switch users: if you register via this link , you'll receive an extra 10% bonus credit on your first top-up! Thanks to AICoding for sponsoring this project! AICoding — Global AI Model API Relay Service at Unbeatable Prices! Claude Code at 19% of original price, GPT at just 1%! Trusted by hundreds of enterprises for cost-effective AI services. Supports Claude Code, GPT, Gemini and major domestic models, with enterprise-grade high concurrency, fast invoicing, and 24/7 dedicated technical support. CC Switch users who register via this link get 10% off their first top-up! Thanks to SubRouter for sponsoring this project! SubRouter is a marketplace and smart routing platform for AI service operators. Merchants can launch operating sites, publish packages, manage users, models, and pricing, while users discover services and access reliable AI models through one unified API. Register via this link ! Thanks to APIKEY.FUN for sponsoring this project! APIKEY.FUN is a professional enterprise-grade AI relay platform dedicated to providing stable, efficient, and low-cost AI model API access for enterprises and individual developers. The platform supports popular mainstream models such as Claude, OpenAI, and Gemini, with prices as low as 7% of official rates. Register through this project's exclusive link to enjoy an exclusive offer of up to permanent 5% off top-ups . This project is sponsored by Claude API . Direct Claude API access — connect Claude Code and Agent apps in 3 minutes. New users can claim a free trial credit.Powered by official Anthropic API keys + AWS Bedrock official channels. No reverse engineering, no model degradation. Full support for Opus / Sonnet / Haiku model lineup, with official capabilities preserved including Tool Use, 1M context window, and more. Built for Claude Code power users, Agent engineers, and enterprise engineering teams. Invoicing and dedicated team support available. Click here to register! Thanks to code0.ai for sponsoring this project! code0.ai is an AI coding service platform built for developers, supporting Claude Code, Codex, Gemini, and other mainstream AI coding capabilities. It helps individual developers and teams use AI Agents more stably and efficiently for coding, debugging, refactoring, and automation workflows. ccswitch users can contact customer support via the code0.ai website to claim test credits and experience a reliable AI coding service. Thanks to TeamoRouter for sponsoring this project! TeamoRouter is an enterprise-grade Agentic LLM gateway built for developers, AI teams, and businesses. Without requiring any subscriptions, it lets you access Claude Code, Codex, Gemini CLI, OpenAI Codex, and other popular AI agents through a single unified API, while offering API pricing at discounts of up to 90%. Unlike typical API relay services, TeamoRouter aggregates hundreds of official model providers and trusted infrastructure partners, including OpenAI, Anthropic, Vertex, Azure, and AWS bedrock. Every provider is verified for 100% Agent protocol compatibility, cache performance, and request traceability, ensuring stable quality instead of reverse-engineered or diluted endpoints. The platform delivers near-official TTFT, 99.6% SLA, enterprise-scale throughput up to 5,000 QPM, and industry-leading cache hit rates that dramatically reduce token costs for long-running agent workflows. TeamoRouter also offers enterprise features including centralized billing, team management, BYOK, smart routing, usage analytics, dynamic provider optimization, and dedicated support. For an even simpler experience, Teamo Desktop lets you use Claude Code, Codex, Gemini CLI, and other popular AI agents with one-click setup—no API key management or manual gateway configuration required. Register via this link as a new user to receive 10% off your first top-up. Thanks to the open-source AI infrastructure project new-api for its strong support of this project! new-api is an open-source AI infrastructure project from QuantumNous and one of the leading unified LLM access-and-distribution projects by activity and adoption, focused on helping developers, teams, and enterprises build manageable, scalable AI service platforms at lower cost. As a fellow project rooted in the open-source ecosystem, new-api hopes to sponsor and support the continued growth of more outstanding open-source projects. 🌟 Star new-api to show your support: https://github.com/QuantumNous/new-api . Website: https://www.newapi.ai/ . Thanks to ClaudeCN for sponsoring this project! ClaudeCN is an enterprise-grade AI gateway platform operated by a registered company. It delivers high-availability commercial API access to popular models including Claude, GPT, and DeepSeek, and is built around formal enterprise procurement workflows — corporate bank transfers, signed contracts, and full compliance. Register via this link ! Thanks to Dola seed for sponsoring this project! Dola Seed 2.0 is a full‑modal general large model independently developed by ByteDance for the global market. Built on a unified multimodal architecture, it supports joint understanding and generation of text, images, audio, and video. It natively enables agent collaboration, with strong reasoning, long‑task execution, tool integration, and coding capabilities. It is widely applicable to smart cockpits, personal assistants, education, customer support, marketing, retail, and other scenarios. It excels in multimodal perception, end‑to‑end complex task delivery, stable interaction, and data security, and is readily accessible and deployable via the ModelArk platform.Register via this link to get 500,000 tokens of free inference quota per model. >>中国大陆地区的开发者请点击这里 Thanks to SiliconFlow for sponsoring this project! SiliconFlow is a high-performance AI infrastructure and model API platform, providing fast and reliable access to language, speech, image, and video models in one place. With pay-as-you-go billing, broad multimodal model support, high-speed inference, and enterprise-grade stability, SiliconFlow helps developers and teams build and scale AI applications more efficiently. Register via this link and complete real-name verification to receive ¥16 in bonus credit, usable across models on the platform. SiliconFlow is also now compatible with OpenClaw, allowing users to connect a SiliconFlow API key and call major AI models for free. Thanks to A6API for sponsoring this project! A6API is a one-stop AI model API aggregation platform covering Claude, GPT, Gemini, Codex, and other mainstream models. Multiple vendors can list their supply on the platform, so the same model can be quoted competitively by several upstream providers. Smart routing automatically picks the more stable, lower-priced route available and fails over automatically, helping you reduce failed requests, cut costs, and improve stability. Whether you are an individual developer, an AI product team, or a studio, you can integrate quickly through a unified interface — compatible with all formats, with low migration cost. New users who register via this link receive free trial credits: try it first, then use it at a low price. Atlas Cloud is a full-modal AI inference platform that gives developers a single AI API to access video generation, image generation, and LLM APIs. Instead of managing multiple vendor integrations, you connect once and get unified access to 300+ curated models across all modalities. Check out Atlas Cloud's new coding plan promotion for more budget-friendly API access! Thanks to Compshare for sponsoring this project! Compshare is UCloud's AI cloud platform, providing stable and comprehensive domestic and international model APIs with just one key. Featuring cost-effective monthly and per-use domestic-model Coding Plan packages, alongside stable officially-relayed overseas models. Supports Claude Code, Codex, and API access. Enterprise-grade high concurrency, 24/7 technical support, and self-service invoicing. Users who register via this link will receive a free 5 CNY platform trial credit! Thanks to CCSub for sponsoring this project! CCSub is a stable, affordable AI API relay platform — your drop-in replacement for a Claude.ai subscription. One API key gives you access to Claude Opus 4.8, Sonnet, Haiku, GPT-5, Gemini, and DeepSeek at roughly 30% of direct API cost, with no VPN required from anywhere in the world. Compatible with Claude Code, Codex, Cursor, Cline, Continue, Windsurf, and all major AI coding tools. Register via this link and get $5 free credit on sign-up. Thanks to SSSAiCode for sponsoring this project! SSSAiCode is a stable and reliable API relay service, dedicated to providing stable, reliable, and affordable Claude and Codex model services, with same-day fast invoicing. SSSAiCode offers a special deal for CC Switch users: register via this link to enjoy $10 extra credit on every top-up! Thanks to Micu API for sponsoring this project! Micu API is a global LLM relay service provider dedicated to delivering the best cost-performance ratio with high stability. Backed by a registered enterprise for core assurance, eliminating any risk of service discontinuation, with fast official invoicing support! We champion "zero cost to try": top up from as low as ¥1 with no minimum, and get fee-free refunds anytime! Micu API offers an exclusive deal for CC Switch users: register via this link and enter promo code "ccswitch" when topping up to enjoy a 10% discount ! Thank you to Right Code for sponsoring this project! Right Code reliably provides routing services for models such as Claude Code, Codex, and Gemini, with both pay-as-you-go and monthly subscription billing options available. Invoices are available upon top-up, and enterprise and team users can receive dedicated one-on-one support. Right Code also offers an exclusive discount for CC Switch users: register via this link , and with every top-up you will receive pay-as-you-go credit equivalent to 5% of the amount paid. Thanks to ETok.ai for sponsoring this project! ETok.ai is dedicated to building a one-stop AI programming tool service platform. We offer professional Claude Code packages and technical community services, with support for Google Gemini and OpenAI Codex. Through carefully designed plans and a professional tech community, we provide developers with reliable service guarantees and continuous technical support, making AI-assisted programming a true productivity tool. Click here to register! Thanks to Cubence for sponsoring this project! Cubence is a reliable and efficient API relay service provider, offering relay services for Claude Code, Codex, Gemini, and more with flexible billing options including pay-as-you-go and monthly plans. Cubence provides special discounts for CC Switch users: register using this link and enter the "CCSWITCH" promo code during recharge to get 10% off every top-up! Thanks to Crazyrouter for sponsoring this project! Crazyrouter is a high-performance AI API aggregation platform — one API key for 300+ models including Claude Code, Codex, Gemini CLI, and more. All models at 55% of official pricing with auto-failover, smart routing, and unlimited concurrency. Crazyrouter offers an exclusive deal for CC Switch users: register via this link and contact customer support to claim $2 free credit , plus enter promo code `CCSWITCH` on your first top-up for an extra 30% bonus credit ! Thanks to DMXAPI for sponsoring this project! DMXAPI provides global large model API services to 200+ enterprise users. One API key for all global models. Features include: instant invoicing, unlimited concurrency, starting from $0.15, 24/7 technical support. GPT/Claude/Gemini all at 32% off, domestic models 20-50% off, Claude Code exclusive models at 66% off! Register here Why CC Switch? Modern AI-powered coding relies on tools like Claude Code, Claude Desktop, Codex, Gemini CLI, Grok Build, OpenCode, OpenClaw, and Hermes — but each has its own configuration format. Switching API providers means manually editing JSON, TOML, or .env files, and there is no unified way to manage MCP and Skills across multiple tools. CC Switch gives you a single desktop app to manage all supported AI tools. Instead of editing config files by hand, you get a visual interface to import providers with one click, switch between them instantly, with 50+ built-in provider presets, unified MCP and Skills management, and system tray quick switching — all backed by a reliable SQLite database with atomic writes that protect your configs from corruption. One App, Eight Tools — Manage Claude Code, Claude Desktop, Codex, Gemini CLI, Grok Build, OpenCode, OpenClaw, and Hermes from a single interface No More Manual Editing — 50+ provider presets including AWS Bedrock, NVIDIA NIM, and community relays; just pick and switch Unified MCP & Skills Management — One panel to manage MCP servers and Skills across Claude, Codex, Gemini, Grok Build, OpenCode, and Hermes with bidirectional sync System Tray Quick Switch — Switch providers instantly from the tray menu, no need to open the full app Cloud Sync — Sync provider data across devices via Dropbox, OneDrive, iCloud, or WebDAV servers Cross-Platform — Native desktop app for Windows, macOS, and Linux, built with Tauri 2 Built-in Utilities — Includes various utilities for first-launch login confirmation, signature bypass, plugin extension sync, and more Screenshots Main Interface Add Provider Features Full Changelog | Release Notes Provider Management 8 supported tools, 50+ presets — Claude Code, Claude Desktop, Codex, Gemini CLI, Grok Build, OpenCode, OpenClaw, Hermes; copy your key and import with one click Universal providers — One config syncs to Claude Code, Codex, and Gemini CLI One-click switching, system tray quick access, drag-and-drop sorting, import/export Proxy & Failover Local proxy with hot-switching — Format conversion, auto-failover, circuit breaker, provider health monitoring, and request rectifier App-level takeover — Independently proxy Claude, Codex, Gemini, or Grok Build, down to individual providers MCP, Prompts & Skills Unified MCP panel — Manage MCP servers across Claude, Codex, Gemini, Grok Build, OpenCode, and Hermes with bidirectional sync and Deep Link import Prompts — Markdown editor with cross-app sync (CLAUDE.md / AGENTS.md / GEMINI.md) and backfill protection Skills — One-click install from GitHub repos or ZIP files, custom repository management, with symlink and file copy support Usage & Cost Tracking Usage dashboard — Track spending, requests, and tokens with trend charts, detailed request logs, and custom per-model pricing Session Manager & Workspace Browse, search, and restore conversation history across supported session sources Workspace editor (OpenClaw) — Edit agent files (AGENTS.md, SOUL.md, etc.) with Markdown preview System & Platform Cloud sync — Custom config directory (Dropbox, OneDrive, iCloud, NAS) and WebDAV server sync Deep Link ( ccswitch:// ) — Import providers, MCP servers, prompts, and skills via URL Dark / Light / System theme, auto-launch, auto-updater, atomic writes, auto-backups, i18n (zh/zh-TW/en/ja) FAQ Which AI tools does CC Switch support? CC Switch supports eight tools: Claude Code , Claude Desktop , Codex , Gemini CLI , Grok Build , OpenCode , OpenClaw , and Hermes . Each tool has dedicated provider presets and configuration management. Do I need to restart the terminal after switching providers? For most tools, yes — restart your terminal or the CLI tool for changes to take effect. The exception is Claude Code , which currently supports hot-switching of provider data without a restart. My plugin configuration disappeared after switching providers — what happened? CC Switch provides a "Shared Config Snippet" feature to pass common data (beyond API keys and endpoints) between providers. Go to "Edit Provider" → "Shared Config Panel" → click "Extract from Current Provider" to save all common data. When creating a new provider, check "Write Shared Config" (enabled by default) to include plugin data in the new provider. All your configuration items are preserved in the default provider imported when you first launched the app. macOS installation CC Switch for macOS is code-signed and notarized by Apple. You can download and install it directly — no extra steps needed. We recommend using the .dmg installer. Why can't I delete the currently active provider? CC Switch follows a "minimal intrusion" design principle — even if you uninstall the app, your CLI tools will continue to work normally. The system always keeps one active configuration, because deleting all configurations would make the corresponding CLI tool unusable. If you rarely use a specific CLI tool, you can hide it in Settings. To switch back to official login, see the next question. How do I switch back to official login? Add an official provider from the preset list. After switching to it, run the Log out / Log in flow, and then you can freely switch between the official provider and third-party providers. Codex supports switching between different official providers, making it easy to switch between multiple Plus or Team accounts. Where is my data stored? Database : ~/.cc-switch/cc-switch.db (SQLite — providers, MCP, prompts, skills) Local settings : ~/.cc-switch/settings.json (device-level UI preferences) Backups : ~/.cc-switch/backups/ (auto-rotated, keeps 10 most recent) Skills : ~/.cc-switch/skills/ (symlinked to corresponding apps by default) Skill Backups : ~/.cc-switch/skill-backups/ (created automatically before uninstall, keeps 20 most recent) Linux (Wayland + NVIDIA): clicks don't register and the window black-screens on resize The AppImage forces GDK_BACKEND=x11 (XWayland) to avoid a historical native-Wayland crash. On newer Wayland + NVIDIA setups this can leave the web content area unclickable (the title-bar buttons still work) and black-screen on resize. Launch with the opt-in escape hatch to switch back to native Wayland: CC_SWITCH_GDK_BACKEND=wayland ./CC-Switch- * .AppImage If you launch from a desktop icon, add it to the .desktop Exec= line (e.g. env CC_SWITCH_GDK_BACKEND=wayland /path/to/AppImage ) or set it in your session environment. The variable is generic: on tiling Wayland compositors (sway/Hyprland) where clicks don't register, try CC_SWITCH_GDK_BACKEND=x11 instead. Leaving it unset keeps the default behavior. Documentation For detailed guides on every feature, check out the User Manual — covering provider management, MCP/Prompts/Skills, proxy & failover, and more. Quick Start Basic Usage Add Provider : Click "Add Provider" → Choose a preset or create custom configuration Switch Provider : Main UI: Select provider → Click "Enable" System Tray: Click provider name directly (instant effect) Takes Effect : Restart your terminal or the corresponding CLI tool to apply changes (Claude Code does not require a restart) Back to Official : Add an "Official Login" preset, restart the CLI tool, then follow its login/OAuth flow MCP, Prompts, Skills & Sessions MCP : Click the "MCP" button → Add servers via templates or custom config → Toggle per-app sync Prompts : Click "Prompts" → Create presets with Markdown editor → Activate to sync to live files Skills : Click "Skills" → Browse GitHub repos → One-click install to supported apps Sessions : Click "Sessions" → Browse, search, and restore conversation history across supported session sources Note : On first launch, you can manually import existing CLI tool configs as the default provider. Download & Installation System Requirements Windows : Windows 10 and above macOS : macOS 12 (Monterey) and above Linux : Ubuntu 22.04+ / Debian 11+ / Fedora 34+ and other mainstream distributions Windows Users Download the latest CC-Switch-v{version}-Windows.msi installer or CC-Switch-v{version}-Windows-Portable.zip portable version from the Releases page. macOS Users Method 1: Install via Homebrew (Recommended) brew install --cask cc-switch Update: brew upgrade --cask cc-switch Method 2: Manual Download Download CC-Switch-v{version}-macOS.dmg (recommended) or .zip from the Releases page. Note : CC Switch for macOS is code-signed and notarized by Apple. You can install and open it directly. Arch Linux Users Install via paru (Recommended) paru -S cc-switch-bin Linux Users Download the latest Linux build from the Releases page: CC-Switch-v{version}-Linux.deb (Debian/Ubuntu) CC-Switch-v{version}-Linux.rpm (Fedora/RHEL/openSUSE) CC-Switch-v{version}-Linux.AppImage (Universal) Flatpak : Not included in official releases. You can build it yourself from the .deb — see flatpak/README.md for instructions. Architecture Overview Design Principles ┌─────────────────────────────────────────────────────────────┐ │ Frontend (React + TS) │ │ ┌─────────────┐ ┌──────────────┐ ┌──────────────────┐ │ │ │ Components │ │ Hooks │ │ TanStack Query │ │ │ │ (UI) │──│ (Bus. Logic) │──│ (Cache/Sync) │ │ │ └─────────────┘ └──────────────┘ └──────────────────┘ │ └────────────────────────┬────────────────────────────────────┘ │ Tauri IPC ┌────────────────────────▼────────────────────────────────────┐ │ Backend (Tauri + Rust) │ │ ┌─────────────┐ ┌──────────────┐ ┌──────────────────┐ │ │ │ Commands │ │ Services │ │ Models/Config │ │ │ │ (API Layer) │──│ (Bus. Layer) │──│ (Data) │ │ │ └─────────────┘ └──────────────┘ └──────────────────┘ │ └─────────────────────────────────────────────────────────────┘ Core Design Patterns SSOT (Single Source of Truth): All data stored in ~/.cc-switch/cc-switch.db (SQLite) Dual-layer Storage : SQLite for syncable data, JSON for device-level settings Dual-way Sync : Write to live files on switch, backfill from live when editing active provider Atomic Writes : Temp file + rename pattern prevents config corruption Concurrency Safe : Mutex-protected database connection avoids race conditions Layered Architecture : Clear separation (Commands → Services → DAO → Database) Key Components ProviderService : Provider CRUD, switching, backfill, sorting McpService : MCP server management, import/export, live file sync ProxyService : Local proxy mode with hot-switching and format conversion SessionManager : Conversation history browsing across supported session sources ConfigService : Config import/export, backup rotation SpeedtestService : API endpoint latency measurement Development Guide Environment Requirements Node.js 18+ pnpm 8+ Rust 1.85+ Tauri CLI 2.8+ Development Commands # Install dependencies pnpm install # Dev mode (hot reload) pnpm dev # Type check pnpm typecheck # Format code pnpm format # Check code format pnpm format:check # Run frontend unit tests pnpm test:unit # Run tests in watch mode (recommended for development) pnpm test:unit:watch # Build application pnpm build # Build debug version pnpm tauri build --debug Rust Backend Development cd src-tauri # Format Rust code cargo fmt # Run clippy checks cargo clippy # Run backend tests cargo test # Run specific tests cargo test test_name # Run tests with test-hooks feature cargo test --features test-hooks Testing Guide Frontend Testing : Uses vitest as test framework Uses MSW (Mock Service Worker) to mock Tauri API calls Uses @testing-library/react for component testing Running Tests : # Run all tests pnpm test:unit # Watch mode (auto re-run) pnpm test:unit:watch # With coverage report pnpm test:unit --coverage Tech Stack Frontend : React 18 · TypeScript · Vite · TailwindCSS 3.4 · TanStack Query v5 · react-i18next · react-hook-form · zod · shadcn/ui · @dnd-kit Backend : Tauri 2.8 · Rust · serde · tokio · thiserror · tauri-plugin-updater/process/dialog/store/log Testing : vitest · MSW · @testing-library/react Project Structure ├── src/ # Frontend (React + TypeScript) │ ├── components/ │ │ ├── providers/ # Provider management │ │ ├── mcp/ # MCP panel │ │ ├── prompts/ # Prompts management │ │ ├── skills/ # Skills management │ │ ├── sessions/ # Session Manager │ │ ├── proxy/ # Proxy mode panel │ │ ├── openclaw/ # OpenClaw config panels │ │ ├── settings/ # Settings (Terminal/Backup/About) │ │ ├── deeplink/ # Deep Link import │ │ ├── env/ # Environment variable management │ │ ├── universal/ # Cross-app configuration │ │ ├── usage/ # Usage statistics │ │ └── ui/ # shadcn/ui component library │ ├── hooks/ # Custom hooks (business logic) │ ├── lib/ │ │ ├── api/ # Tauri API wrapper (type-safe) │ │ └── query/ # TanStack Query config │ ├── locales/ # Translations (zh/zh-TW/en/ja) │ ├── config/ # Presets (providers/mcp) │ └── types/ # TypeScript definitions ├── src-tauri/ # Backend (Rust) │ └── src/ │ ├── commands/ # Tauri command layer (by domain) │ ├── services/ # Business logic layer │ ├── database/ # SQLite DAO layer │ ├── proxy/ # Proxy module │ ├── session_manager/ # Session management │ ├── deeplink/ # Deep Link handling │ └── mcp/ # MCP sync module ├── tests/ # Frontend tests └── assets/ # Screenshots & partner resources Contributing Issues and suggestions are welcome! Before submitting PRs, please ensure: Pass type check: pnpm typecheck Pass format check: pnpm format:check Pass unit tests: pnpm test:unit For new features, please open an issue for discussion before submitting a PR. PRs for features that are not a good fit for the project may be closed. Star History License MIT © Jason Young
FreeWindowsmacOSLinux
langchain logo
langchain is a free, open-source alternative to OpenAI Assistants API . The agent engineering platform. LangChain is a framework for building agents and LLM-powered applications. It helps you chain together interoperable components and third-party integrations to simplify AI application development — all while future-proofing decisions as the underlying technology evolves. Tip Just getting started? Check out Deep Agents — a higher-level package built on LangChain for agents that have built-in capabilites for common usage patterns such as planning, subagents, file system usage, and more. Quickstart uv add langchain from langchain . chat_models import init_chat_model model = init_chat_model ( "openai:gpt-5.5" ) result = model . invoke ( "Hello, world!" ) If you're looking for more advanced customization or agent orchestration, check out LangGraph , our framework for building controllable agent workflows. For an equivalent JS/TS library, check out LangChain.js . Tip For developing, debugging, and deploying AI agents and LLM applications, see LangSmith . LangChain ecosystem While the LangChain framework can be used standalone, it also integrates seamlessly with any LangChain product, giving developers a full suite of tools when building LLM applications. Deep Agents — Build agents that can plan, use subagents, and leverage file systems for complex tasks LangGraph — Build agents that can reliably handle complex tasks with our low-level agent orchestration framework Integrations — Chat & embedding models, tools & toolkits, and more LangSmith — Agent evals, observability, and debugging for LLM apps LangSmith Deployment — Deploy and scale agents with a purpose-built platform for long-running, stateful workflows Why use LangChain? LangChain helps developers build applications powered by LLMs through a standard interface for models, embeddings, vector stores, and more. Real-time data augmentation — Easily connect LLMs to diverse data sources and external/internal systems, drawing from LangChain's vast library of integrations with model providers, tools, vector stores, retrievers, and more Model interoperability — Swap models in and out as your engineering team experiments to find the best choice for your application's needs. As the industry frontier evolves, adapt quickly — LangChain's abstractions keep you moving without losing momentum Rapid prototyping — Quickly build and iterate on LLM applications with LangChain's modular, component-based architecture. Test different approaches and workflows without rebuilding from scratch, accelerating your development cycle Production-ready features — Deploy reliable applications with built-in support for monitoring, evaluation, and debugging through integrations like LangSmith. Scale with confidence using battle-tested patterns and best practices Vibrant community and ecosystem — Leverage a rich ecosystem of integrations, templates, and community-contributed components. Benefit from continuous improvements and stay up-to-date with the latest AI developments through an active open-source community Flexible abstraction layers — Work at the level of abstraction that suits your needs — from high-level chains for quick starts to low-level components for fine-grained control. LangChain grows with your application's complexity Resources Documentation — conceptual overviews and guides LangChain ecosystem overview — how LangChain, LangGraph, and Deep Agents fit together API reference — complete reference for all public classes, functions, and types Discussions — community forum for technical questions, ideas, and feedback LangChain Academy — comprehensive, free courses on LangChain libraries and products, made by the LangChain team Contributing Guide — how to contribute and find good first issues Code of Conduct — community guidelines and standards
FreeWindowsmacOSLinuxAndroidiOS
FoxRemake logo
FoxRemake is a dedicated Star Fox 64 Remake information hub featuring original vs remake comparisons, official release details, gameplay analysis, and exclusive Switch 2 platform breakdowns for Nintendo fans. FoxRemake.com is a professional, specialized information hub fully dedicated to the highly anticipated Star Fox 64 Remake for Nintendo Switch 2, providing comprehensive, well-structured, and detailed game comparison content, official release information, visual difference analysis, and in-depth gameplay breakdowns for retro gaming fans, Nintendo enthusiasts, and Star Fox franchise lovers. Centered around the Star Fox 64 Remake topic cluster, this website systematically sorts and integrates all confirmed official information, visual comparison materials, platform specifications, and gameplay upgrades, creating an all-in-one dedicated portal for players tracking the latest updates of the classic rail shooter remake. As a focused Star Fox information platform, FoxRemake strictly classifies diverse search intentions into independent but interconnected sub-pages, including visual comparison guides, official release date records, screenshot galleries, remake versus remaster distinction analysis, Nintendo Switch 2 platform introductions, and detailed gameplay breakdowns. This clear content clustering structure enables search engines and visitors to accurately locate targeted information, ranging from intuitive graphic contrast to deep mechanical analysis. The core flagship page of FoxRemake is the Star Fox 64 Remake original vs remake visual comparison guide, which thoroughly displays the comprehensive visual overhaul between the classic Nintendo 64 original version and the brand-new Switch 2 remake. The comparison content is divided into three core modules: Fox McCloud character model comparison, Arwing starship detail analysis, and Corneria stage environment contrast. Every comparison item covers model polygon density, modern lighting rendering, texture reflection effects, color grading optimization, cockpit internal details, environmental geometric density, atmospheric rendering, and overall visual scale changes, clearly demonstrating why this latest Star Fox work is defined as a complete remake rather than a simple remaster. In addition to visual evaluation, FoxRemake records all verified official release information, confirming the official launch date as June 25, 2026, and marking exclusive platform support for the Nintendo Switch 2 console. The website also sorts out complete platform-related parameters, including local multiplayer modes supporting 1-2 players, online multiplayer battles accommodating up to 8 participants, exclusive Switch 2 hardware optimizations such as GameShare functions, GameChat communication systems, and upgraded Joy-Con 2 mouse control compatibility. The gameplay analysis page deeply dissects the rail shooter core mechanics of Star Fox 64 Remake, covering combat rhythm, enemy wave spawning logic, branching route designs, cooperative gameplay mechanisms, and competitive 4v4 Battle Mode content to help players fully understand upgraded combat systems and gaming experiences. To eliminate industry confusion among game fans, FoxRemake creates an exclusive remake vs remaster interpretation page, professionally explaining the essential differences between game remakes and remasters. The website explicitly analyzes that the Switch 2 Star Fox 64 iteration adopts comprehensive asset reconstruction, brand-new cinematic cutscenes, optimized character modeling, re-orchestrated background music, and complete voice acting upgrades, further proving its standard as a genuine high-budget remake. All visual materials displayed on FoxRemake are independently produced non-infringing comparison artworks, including restored low-poly N64-style original scenes and modern high-definition Switch 2 rendering previews, ensuring clear visual contrast while complying with copyright regulations. The website also sorts out the official announcement timeline, recording the Star Fox Direct release on May 6, 2026, and the formal global launch arrangement on June 25, 2026, facilitating fans to track the complete development and announcement process. With a minimalist, clean, and game-oriented interface design, FoxRemake abandons redundant advertisements and messy navigation, allowing every visitor to quickly access comparison galleries, release logs, gameplay tutorials, and platform specifications. Tailored for both nostalgic retro gamers and modern Nintendo Switch 2 players, FoxRemake continuously updates verified post-launch data, supplementary screenshots, and deeper mechanical analysis after the official game release. Dedicated to becoming the most intuitive, detailed, and authoritative Star Fox 64 Remake comparison hub on the internet, FoxRemake consistently maintains information accuracy, neutral analysis perspectives, and user-friendly browsing experiences for every Star Fox franchise supporter around the world.
FreeWindowsmacOSLinuxAndroidiOS

Find free open source alternatives of following paid software: