Create agents that monitor and act on your behalf. Your agents are standing by!

Overview

Huginn


What is Huginn?

Huginn is a system for building agents that perform automated tasks for you online. They can read the web, watch for events, and take actions on your behalf. Huginn's Agents create and consume events, propagating them along a directed graph. Think of it as a hackable version of IFTTT or Zapier on your own server. You always know who has your data. You do.

the origin of the name

Here are some of the things that you can do with Huginn:

  • Track the weather and get an email when it's going to rain (or snow) tomorrow ("Don't forget your umbrella!")
  • List terms that you care about and receive email when their occurrence on Twitter changes. (For example, want to know when something interesting has happened in the world of Machine Learning? Huginn will watch the term "machine learning" on Twitter and tell you when there is a spike in discussion.)
  • Watch for air travel or shopping deals
  • Follow your project names on Twitter and get updates when people mention them
  • Scrape websites and receive email when they change
  • Connect to Adioso, HipChat, Basecamp, Growl, FTP, IMAP, Jabber, JIRA, MQTT, nextbus, Pushbullet, Pushover, RSS, Bash, Slack, StubHub, translation APIs, Twilio, Twitter, Wunderground, and Weibo, to name a few.
  • Send digest email with things that you care about at specific times during the day
  • Track counts of high frequency events and send an SMS within moments when they spike, such as the term "san francisco emergency"
  • Send and receive WebHooks
  • Run custom JavaScript or CoffeeScript functions
  • Track your location over time
  • Create Amazon Mechanical Turk workflows as the inputs, or outputs, of agents (the Amazon Turk Agent is called the "HumanTaskAgent"). For example: "Once a day, ask 5 people for a funny cat photo; send the results to 5 more people to be rated; send the top-rated photo to 5 people for a funny caption; send to 5 final people to rate for funniest caption; finally, post the best captioned photo on my blog."

Gitter Changelog #199

Join us in our Gitter room to discuss the project.

Join us!

Want to help with Huginn? All contributions are encouraged! You could make UI improvements, add new Agents, write documentation and tutorials, or try tackling issues tagged with #"help wanted". Please fork, add specs, and send pull requests!

Really want a fix or feature? Want to solve some community issues and earn some extra coffee money? Take a look at the current bounties on Bountysource.

Have an awesome idea but not feeling quite up to contributing yet? Head over to our Official 'suggest an agent' thread and tell us!

Examples

Please checkout the Huginn Introductory Screencast!

And now, some example screenshots. Below them are instructions to get you started.

Example list of agents

Event flow diagram

Detecting peaks in Twitter

Logging your location over time

Making a new agent

Getting Started

Docker

The quickest and easiest way to check out Huginn is to use the official Docker image. Have a look at the documentation.

Local Installation

If you just want to play around, you can simply fork this repository, then perform the following steps:

  • Run git remote add upstream https://github.com/huginn/huginn.git to add the main repository as a remote for your fork.
  • Copy .env.example to .env (cp .env.example .env) and edit .env, at least updating the APP_SECRET_TOKEN variable.
  • Make sure that you have MySQL or PostgreSQL installed. (On a Mac, the easiest way is with Homebrew. If you're going to use PostgreSQL, you'll need to prepend all commands below with DATABASE_ADAPTER=postgresql.)
  • Run bundle to install dependencies
  • Run bundle exec rake db:create, bundle exec rake db:migrate, and then bundle exec rake db:seed to create a development database with some example Agents.
  • Run bundle exec foreman start, visit http://localhost:3000/, and login with the username of admin and the password of password.
  • Setup some Agents!
  • Read the wiki for usage examples and to get started making new Agents.
  • Periodically run git fetch upstream and then git checkout master && git merge upstream/master to merge in the newest version of Huginn.

Note: By default, email messages are intercepted in the development Rails environment, which is what you just setup. You can view them at http://localhost:3000/letter_opener. If you'd like to send real email via SMTP when playing with Huginn locally, set SEND_EMAIL_IN_DEVELOPMENT to true in your .env file.

If you need more detailed instructions, see the Novice setup guide.

Develop

All agents have specs! And there's also acceptance tests that simulate running Huginn in a headless browser.

  • Install PhantomJS 2.1.1 or greater:
  • Run all specs with bundle exec rspec
  • Run a specific spec with bundle exec rspec path/to/specific/test_spec.rb.
  • Read more about rspec for rails here.

Using Huginn Agent gems

Huginn Agents can now be written as external gems and be added to your Huginn installation with the ADDITIONAL_GEMS environment variable. See the Additional Agent gems section of .env.example for more information.

If you'd like to write your own Huginn Agent Gem, please see huginn_agent.

Our general intention is to encourage complex and specific Agents to be written as Gems, while continuing to add new general-purpose Agents to the core Huginn repository.

Deployment

Please see the Huginn Wiki for detailed deployment strategies for different providers.

Heroku

Try Huginn on Heroku: Deploy (Takes a few minutes to setup. Read the documentation while you are waiting and be sure to click 'View it' after launch!)

Huginn launches on the free version of Heroku with significant limitations. For non-experimental use, we strongly recommend Heroku's 1GB paid plan or our Docker container.

OpenShift

OpenShift Online

Try Huginn on OpenShift Online

Create a new app with either mysql or postgres:

oc new-app -f https://raw.githubusercontent.com/huginn/huginn/master/openshift/templates/huginn-mysql.json

or

oc new-app -f https://raw.githubusercontent.com/huginn/huginn/master/openshift/templates/huginn-postgresql.json

Note: You can also use the web console to import either json file by going to "Add to Project" -> "Import YAML/JSON".

If you are on the Starter plan, make sure to follow the guide to remove any existing application.

The templates should work on a v3 installation or the current v4 online.

Manual installation on any server

Have a look at the installation guide.

Optional Setup

Setup for private development

See private development instructions on the wiki.

Enable the WeatherAgent

In order to use the WeatherAgent you need an API key with Wunderground. Signup for one and then change the value of api_key: your-key in your seeded WeatherAgent.

Note, Wunderground no longer offers free API keys. You can still use the WeatherAgent by setting the service key to darksky, and getting an API key from DarkSky.

Disable SSL

We assume your deployment will run over SSL. This is a very good idea! However, if you wish to turn this off, you'll probably need to edit config/initializers/devise.rb and modify the line containing config.rememberable_options = { :secure => true }. You will also need to edit config/environments/production.rb and modify the value of config.force_ssl.

License

Huginn is provided under the MIT License.

Huginn was originally created by @cantino in 2013. Since then, many people's dedicated contributions have made it what it is today.

Build Status Coverage Status Dependency Status Bountysource

Issues
  • Add AgentRunner and LongRunnable to support long running agents

    Add AgentRunner and LongRunnable to support long running agents

    This changes HuginnScheduler and TwitterStream to use the new AgentRunner

    ~~TwitterStream now uses the twitter gem to access the streaming API which removes the eventmachine dependency (in production).~~

    I have been working on this for a while now and it finally seems to reach a point where everything is running smoothly (at least in development).

    The AgentRunner is basically an improved threaded.rb. It handles failure of workers and reloads them if the configuration changed.

    What is still missing is a way for a LongRunning Agents to receive events. This would, for example, allow the XMPP Agent to stay connected to the server.

    enhancement 
    opened by dsander 74
  • DELAYED_JOB_MAX_RUNTIME does not actually free up workers

    DELAYED_JOB_MAX_RUNTIME does not actually free up workers

    I just was wondering, why my huginn feeds (I emit all incoming events as RSS feeds) have been mostly empty for the last few days. When I looked into the agents "Last Check" date it says "2 days ago", although I have it scheduled to run ever 5 hours. So I clicked on "Run" manually and the process started working and output was generated (so this was no DeDuplication issue or something like that). How can I debug this? Why would an Agent not be run on the schedule I set in the first place? Any pointers?

    Update: In fact, all WebSite agents, scheduled to run every 5 hours have their "Last Check" date set to "2 days ago" and all WebSite agents, scheduled to run every 10 minutes have their "Last check" date set to "21h ago". Also my RSSAgents aren't running on schedule any longer. Also, my SchedulerAgents haven't ran for 3 days (scheduled to run once a day).

    opened by level20peon 62
  • OAuth consumer

    OAuth consumer

    Follow up of #316 /cc @cantino @alias1 @mfclarke

    Like I said my approach was to keep it really simple and it worked pretty well for twitter (the code is more of a proof of concept and not polished). The problem however is, that not every provider uses the same authentication keys. Twitter uses a token and secret, GitHub just a token like 37signals does. 37signals also provides a refresh_token which is needed to refresh the oauth token every two weeks. So basically my "keep it simple and unintrusive" approach failed because we need at least a few different logics to store the authentication information.

    Also the idea of @alias1 to have multiple account of the same provider really grew on me. Using a accounts page the user could add accounts to huginn to the services we added, marking it as global would allow every user to use the account in their agents. I think I would not tie the registration of accounts to agents right now, for example a website agent could also use an OAuth account to access pages.

    Todo list for this approach:

    • [x] create the accounts model
    • [x] add a services controller and the views to create and manage services
    • [x] add a services drop down to the agent form and save the association
    • [x] migrate the existing twitter agents to the new services model
    • [x] add the ability to refresh tokens to the oauthable concern
    • [x] write specs for the new controller and concern
    enhancement in-development 
    opened by dsander 51
  • Set charset/collation properly for each text column if using MySQL.

    Set charset/collation properly for each text column if using MySQL.

    With this change, Huginn is able to store up to 4-byte UTF-8 characters in its database. This should fix #286.

    enhancement 
    opened by knu 51
  • bundle exec rake db:create RAILS_ENV=production ERROR:Could not find activesupport-4.2.5.2 in any of the sources  Run `bundle install` to install missing gems.

    bundle exec rake db:create RAILS_ENV=production ERROR:Could not find activesupport-4.2.5.2 in any of the sources Run `bundle install` to install missing gems.

    Hi,

    I have a few problems,that huginn cannot be started.It seems all of them was just Bundle.I didn't known what was the issus.Can you help me.I can show you root and password.Thanks!

    When I do this sudo -u huginn -H bundle install --deployment --without development test

    It was the Error: An error occurred while installing unf_ext (0.0.7.1), and Bundler cannot continue. Make sure that gem install unf_ext -v '0.0.7.1' succeeds before bundling.

    When I do as these. Initialize Database

    Create the database

    sudo -u huginn -H bundle exec rake db:create RAILS_ENV=production sudo bundle exec rake production:export sudo bundle exec rake production:status

    It was shown me the same Error: Could not find activesupport-4.2.5.2 in any of the sources Run bundle install to install missing gems.

    The Version gem2.5.1 ruby 2.3.0p0 (2012-12-25 revision 53290) [x86_64-linux] Bundler version 1.11.2

    Cloud Instance 768 MB VPS - 45.32.7.162 CPU: 1 vCore Ram: 768 MB Storage: 15 GB SSD OS: Debian 8 x64 (jessie)

    opened by wffamily 49
  • Real RSS Agent

    Real RSS Agent

    I know the WebsiteAgent exists, but it'd be nice to have a real RSS agent as well. RSS/Atom provide data with better fields, and people expect feeds to be crawled (not always the case with straight-up web content [does the WebsiteAgent obey robots.txt?]). This would also remove the need for the CSS selector business (while it's powerful, it's not exactly convenient).

    help wanted agent suggestion discussion 
    opened by jdcc 49
  • openshift deployment

    openshift deployment

    I tried following the openshift deployment but it didnt work. non of the error logs are working as well. is there any update or anything to get it working?

    enhancement discussion 
    opened by udnisap 49
  • Heroku

    Heroku

    This is a pretty neat project. I'd like to see easy deployment to a heroku dyno. Obviously 'contributions welcome' applies to this feature request, but I figured I'd log this here for tracking purposes.

    enhancement suggestion 
    opened by lookfirst 48
  • Delayed job worker dies with a signal 137.

    Delayed job worker dies with a signal 137.

    I've experienced two crashes of Huginn in the past two weeks (one on 1 April 2015, the other on 6 April 2015) with unusual sets of symptoms. The delayed_job agents die with signal 137's. Full stack traces are dumped (which I can post later as comments to this ticket) to the Screen terminal; they're not recorded in the log files but I've preserved those also. The last thing recorded in log/development.log is this:

    2015-04-06T10:47:28-0700: [Worker(delayed_job host:exocortex pid:8052)] Exiting...
    SQL (8.6ms) UPDATE `delayed_jobs` SET `delayed_jobs`.`locked_by` = NULL,
    `delayed_jobs`.`locked_at` = NULL WHERE `delayed_jobs`.`locked_by` = 'delayed_job
    host:exocortex pid:8052'
    

    Most interestingly, it's not a complete collapse of Huginn. Some of the back-end processes stay up and running but the HTTP front-end is inaccessible (Nginx returns an empty page - nothing to proxy), and an entire queue of un-run jobs has piled up. I've been working around it by killing all of the Huginn sub-processes manually and then restarting it with foreman start.

    I'm running commit e2afbcc4251e0f52ee1dd149f990f0b257946619.

    opened by virtadpt 48
  • Issues with UTF-8 Character Sets

    Issues with UTF-8 Character Sets

    I'm having issues with saving any text with UTF-8 characters. The issue appears whenever Huginn attempts to save output to the MySQL database.

    One of the exceptions thrown: ActiveRecord::StatementInvalid: Mysql2::Error: Incorrect string value: '\xE2\x98\x85 Ca...'

    This causes Huginn to loop indefinitely. In order to fix the issue I converted my database to use the UTF-8 character sets.

    SHOW VARIABLES LIKE 'character\_set\_%';
    +--------------------------+--------+
    | Variable_name            | Value  |
    +--------------------------+--------+
    | character_set_client     | utf8   |
    | character_set_connection | utf8   |
    | character_set_database   | utf8   |
    | character_set_filesystem | binary |
    | character_set_results    | utf8   |
    | character_set_server     | utf8   |
    | character_set_system     | utf8   |
    +--------------------------+--------+
    

    This however creates issues with the Website Agent. Huginn saves the UTF-8 characters as ?. This prevents any type of matching from being accurate.

    issue 
    opened by Silvenga 46
  • User Webhook Agent to return Response to Dropbox Webhook Verification

    User Webhook Agent to return Response to Dropbox Webhook Verification

    opened by cybrpimp 0
  • Heorku deployment failed

    Heorku deployment failed

    Logs: -----> Building on the Heroku-18 stack -----> Using buildpack: https://github.com/heroku/heroku-buildpack-multi.git -----> Multipack app detected =====> Downloading Buildpack: https://github.com/cantino/heroku-selectable-procfile.git =====> Detected Framework: Selectable Procfile -----> Using deployment/heroku/Procfile.heroku as Procfile =====> Downloading Buildpack: https://github.com/heroku/heroku-buildpack-ruby.git =====> Detected Framework: Ruby -----> Installing bundler 1.17.3 -----> Removing BUNDLED WITH version in the Gemfile.lock -----> Compiling Ruby/Rails -----> Using Ruby version: ruby-2.6.5 -----> Installing dependencies using bundler 1.17.3 Running: BUNDLE_WITHOUT='development:test' BUNDLE_PATH=vendor/bundle BUNDLE_BIN=vendor/bundle/bin BUNDLE_DEPLOYMENT=1 BUNDLE_GLOBAL_PATH_APPENDS_RUBY_SCOPE=1 bundle install -j4 fatal: not a git repository (or any parent up to mount point /) Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). fatal: not a git repository (or any parent up to mount point /) Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32. To add those platforms to the bundle, run bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32. Fetching gem metadata from https://rubygems.org/...... Your bundle is locked to mimemagic (0.3.5), but that version could not be found in any of the sources listed in your Gemfile. If you haven't changed sources, that means the author of mimemagic (0.3.5) has removed it. You'll need to update your bundle to a version other than mimemagic (0.3.5) that hasn't been removed in order to install. Bundler Output: fatal: not a git repository (or any parent up to mount point /) Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). fatal: not a git repository (or any parent up to mount point /) Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set). The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32. To add those platforms to the bundle, run bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32. Fetching gem metadata from https://rubygems.org/...... Your bundle is locked to mimemagic (0.3.5), but that version could not be found in any of the sources listed in your Gemfile. If you haven't changed sources, that means the author of mimemagic (0.3.5) has removed it. You'll need to update your bundle to a version other than mimemagic (0.3.5) that hasn't been removed in order to install. ! ! Failed to install gems via Bundler. ! ! Push rejected, failed to compile Multipack app. ! Push failed

    opened by sunwgit 0
  • [Paid request for help]有偿请求帮助:写一个FT网页监测配置(抓取、翻译、推送)

    [Paid request for help]有偿请求帮助:写一个FT网页监测配置(抓取、翻译、推送)

    1.抓取新闻标题、摘要、链接;(已实现) 2.翻译标题、摘要;(通过百度翻译api,用post agent获取response)(涉及到MD5加密[已通过js实现]、url解码[未实现])(已实现翻译的post agent,但未完美实现event的传输) 3.将翻译后的标题、翻译后的摘要、链接、消息来源(金融时报){多网站爬取后便于区分用},通过post agent 推送到微信上(已实现) 关键词:标题(title)、摘要(description)、链接(url)、消息来源(come_from)。

    有偿服务,如果你能够帮助实现,请联系我email:[email protected]

    Ask for help:Write an FT web monitoring configuration (including grab translation push).

    1. Grab news headlines, abstracts, and links; (implemented)

    2. Translate the title and abstract; (get the response with post agent through Baidu translation api) (involving MD5 encryption [implemented through js], url decoding [unimplemented]) (post agent that has implemented translation, but not perfectly implemented event transmission)

    3. Push the translated title, translated abstract, link, and source (Financial Times) {easy to distinguish after crawling from multiple websites} to WeChat through the post agent (implemented)

    Keywords: title (title), abstract (description), link (url), source (come_from).

    Paid service, if you can help to achieve, please contact me at [email protected]

    opened by ZJahon 0
  • chmod: changing permissions of '/app/.env': Operation not permitted

    chmod: changing permissions of '/app/.env': Operation not permitted

    When I use the docker cp command to copy to the docker modified. Env file, and then copy to the Docker in the same way, the container will not start. Docker: chmod: changing permissions of '/app/. Env ': Operation not permitted

    opened by LvK8 0
  • Openshift deployment not working - mimemagic is not available

    Openshift deployment not working - mimemagic is not available

    Getting this error in the build when deploying to oc:

    Warning: the running version of Bundler (1.16.1) is older than the version that created the lockfile (1.17.3). We suggest you upgrade to the latest version of Bundler by running `gem install bundler`.
    Fetching gem metadata from https://rubygems.org/......
    Your bundle is locked to mimemagic (0.3.5), but that version could not be found
    in any of the sources listed in your Gemfile. If you haven't changed sources,
    that means the author of mimemagic (0.3.5) has removed it. You'll need to update
    your bundle to a different version of mimemagic (0.3.5) that hasn't been removed
    in order to install.
    subprocess exited with status 7
    subprocess exited with status 7
    error: build error: error building at STEP "RUN /usr/libexec/s2i/assemble": exit status 7
    

    Got similar errors when tried to deploy to Heroku.

    I really don't see 0.3.5 on mimemagic's repo, it jumps from 0.3.4 to 0.3.7. might've been deleted.

    opened by Omeramsc 1
  • y

    y

    null

    opened by pipecc 0
  • Parsing JSON results with either/or object?

    Parsing JSON results with either/or object?

    I've got a json result like this:

    "users": [
        {
          "recordId": 1,
          "URL": "www.url1.com",
          "title": "URL 1",
        },
    	{
          "recordId": 2,
          "URL": "www.url1.com",
          "link_title": "URL 1",
        }
      ]
    

    I'm trying to extract title if it exists but link_title if title isn't present. Here's what I've tried and can't seem to make it work:

    "extract": {
        "title": {
          "path": "{% if 'users.title' != nil %}{{'users.title'}} {% elsif users.link_title' %}{{'users.link_title'}}{% endif %}"
        },
        "url": {
          "path": "users[:2].URL"
        }
    
    opened by Fffrank 6
  • How do I force-stop a stuck job when using a Docker huginn?

    How do I force-stop a stuck job when using a Docker huginn?

    I'm using the latest official docker

    bundle exec rake production:force_stop complains about not having runit sudo apt-get install runit complains about not having sudo sudo can't be installed because I'm not root.

    same thing with bundle exec rake production:stop

    Thanks.

    opened by attcmu 0
  • Can I detect when a list of events has changed?

    Can I detect when a list of events has changed?

    Hello, I've been playing with Huginn a bit and so far it is quite interesting.

    I've written a Website Agent that does something I think is what I want, it generates a stream of events of forum topics (unfortunately this forum doesn't have RSS 👎).

    My options look like this:

      "expected_update_period_in_days": 0,
      "url": "https://steamcommunity.com/app/100/discussions/",
      "type": "html",
      "mode": "on_change",
      "extract": {
        "topic_name": {
          "xpath": "//*[@id='forum_General_34002_topics']/div/div[3]",
          "value": "normalize-space(.)"
        },
        "topic_poster": {
          "xpath": "//*[@id='forum_General_34002_topics']/div/div[4]",
          "value": "normalize-space(.)"
        }
    

    Which ends up with a stream of events where each one has a topic_name and topic_poster like:

    {"topic_name":"help me","topic_poster":"someone"}
    

    Each time the Agent runs, it generates the same list of events. However, if someone posts, the list will change (either it'll re-order or it'll have a new entry and one will drop off the bottom).

    Now where I'm lost in Huginn is how to operate on a list of events like this. I'm starting to wonder if I've got the wrong grasp of events, and perhaps I should make one event with the topic name/posters as a giant list? I'm not even sure how I'd do that (Liquid things?)

    Apologies for asking for help like this, I've been perusing the documentation and am still missing an "a-ha" moment when reasoning about Events.

    opened by f0ff886f 1
  • Format parsing for currency?

    Format parsing for currency?

    I'm currently trying to format an extracted currency so that it could be manipulated as an integer and converted back to a properly formatted string. For example:

    { "price": "¥130,000", "price_diff": 3000 } -> {{ price | remove: '¥' | remove: ',' | plus: price_diff }} should give me 133000.

    Now, I would like to return the result back to ¥133,000 format and this would require something like a strf function.

    • Is there any way to perform this operation without requiring an intermediary Javascript Agent?

    Shopify has a currency filter for its liquid template, but I'm not sure if huginn supports it. See https://shopify.dev/api/liquid/filters/money-filters

    opened by seeyabye 0
Owner
Huginn
Create agents that monitor and act on your behalf. Your agents are standing by!
Huginn
Sharetribe Go is a source available marketplace software, also available as a hosted, no-code SaaS product. For a headless, API-first marketplace solution, check out Sharetribe Flex: https://www.sharetribe.com/flex.

Sharetribe Sharetribe develops advanced marketplace software for every business life cycle stage. Sharetribe Go gives you the complete feature set to

Sharetribe 2.2k Sep 24, 2021
Online genealogy

webtrees - online collaborative genealogy Contents License Coding styles and standards Introduction System requirements Internet browser compatibility

Greg Roach 582 Sep 15, 2021
🔥 Open source static (serverless) status page. Uses hyperfast Go & Hugo, minimal HTML/CSS/JS, customizable, outstanding browser support (IE8+), preloaded CMS, read-only API, badges & more.

Über fast, backwards compatible (IE8+), tiny, and simple status page built with Hugo. Completely free with Netlify. Comes with Netlify CMS, read-only

cState 1.4k Sep 17, 2021
A simple webfont hosting. Google Fonts alternative for your own fonts.

Web fonts repository A simple webfont hosting inspired by Google Fonts. It runs on your server, stores and distributes webfont files and generates CSS

Surgie Finesse 67 Sep 12, 2021
Open source API management platform

About Fusio is an open source API management platform which helps to build and manage REST APIs. Fusio provides all tools to quickly build an API from

Apioo 997 Sep 15, 2021
Squash’s front-end and API host.

Squash: A squarish bug spray An open-source project from Square Squash is a collection of tools that help engineers find and kill bugs in their code b

null 968 Sep 9, 2021
Personal CRM. Remember everything about your friends, family and business relationships.

Personal Relationship Manager Monica is a great open source personal relationship management system. Introduction Purpose Features Who is it for? What

Monica 13.3k Sep 24, 2021
Self Hosted Movie, Series and Anime Watch List

Flox Flox is a self hosted Movie, Series and Animes watch list. It's build on top of Laravel and Vue.js and uses The Movie Database API. The rating ba

Viktor Geringer 979 Sep 17, 2021
A black hole for Internet advertisements

Network-wide ad blocking via your own Linux hardware The Pi-hole® is a DNS sinkhole that protects your devices from unwanted content, without installi

Pi-hole 32.5k Sep 17, 2021
NO LONGER MAINTAINED - Project management and time tracking should be easy. SprintApp is simple to setup, simple to use, and elegant - making you look like a hero in your organization.

SprintApp DEPRECATED This project has not seen any community contributions for a year now, and I have not had time for the project, or the need, for a

Matthew Millsaps-Brewer 304 Aug 12, 2021
[WIP] Ulterius™ server where all the magic happens :rocket: :feelsgood:

Ulterius: Easy Remote Management Interested in sublicensing? Want to use our code in your stack or rebrand it for internal use? Reach out to us at and

Ulterius™ 596 Sep 15, 2021
Open source back-end server for web, mobile and IoT. The backend for busy developers. (self-hosted or hosted)

A scalable, multitenant backend for the cloud. Para is a scalable, multitenant backend server/framework for object persistence and retrieval. It helps

Erudika 408 Sep 20, 2021
A Web app to manage your Two-Factor Authentication (2FA) accounts and generate their security codes

2FAuth A web app to manage your Two-Factor Authentication (2FA) accounts and generate their security codes 2FAuth Demo Credentials (login - password)

null 176 Sep 15, 2021
A beautiful and customizable wallpapers manager for Linux

Komorebi - Animated Wallpapers for Linux (n) sunlight filtering through trees. Watch demo What is Komorebi? Komorebi is an awesome animated wallpapers

null 2.3k Sep 22, 2021
The Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysis

CyberChef The Cyber Swiss Army Knife CyberChef is a simple, intuitive web app for carrying out all manner of "cyber" operations within a web browser.

GCHQ 12.9k Sep 17, 2021
An agile project planning tool

Fulcrum Fulcrum is an application to provide a user story based backlog management system for agile development teams. See the project page for more d

null 1.5k Sep 19, 2021
A one-of-a-kind resume builder that keeps your privacy in mind. Completely secure, customizable, portable, open-source and free forever. Try it out today!

A free and open source resume builder. Go to App What is this app all about? Reactive Resume is a free and open source resume builder that’s built to

Amruth Pillai 3k Sep 12, 2021