{"id":18556873,"url":"https://github.com/urbit/archaeology-factor","last_synced_at":"2025-08-01T15:07:44.597Z","repository":{"id":72682669,"uuid":"51725812","full_name":"urbit/archaeology-factor","owner":"urbit","description":"The state of the urbit repository, and core team branches, before the refactoring into multiple repositories.","archived":false,"fork":false,"pushed_at":"2016-02-15T03:21:23.000Z","size":852790,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-02-17T11:34:28.478Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/urbit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-02-15T02:33:01.000Z","updated_at":"2022-09-26T02:31:44.000Z","dependencies_parsed_at":"2023-05-02T02:32:19.584Z","dependency_job_id":null,"html_url":"https://github.com/urbit/archaeology-factor","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/urbit%2Farchaeology-factor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/urbit%2Farchaeology-factor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/urbit%2Farchaeology-factor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/urbit%2Farchaeology-factor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/urbit","download_url":"https://codeload.github.com/urbit/archaeology-factor/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254349351,"owners_count":22056334,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T21:33:40.697Z","updated_at":"2025-05-15T13:33:42.518Z","avatar_url":"https://github.com/urbit.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"Urbit\n=====\n\nUrbit is a clean-slate system software stack defined as a\ndeterministic computer. An encrypted P2P network, `%ames`, runs on a\nfunctional operating system, Arvo, written in a strict, typed\nfunctional language, Hoon, which compiles itself to a combinator\ninterpreter, Nock, whose spec gzips to 340 bytes.\n\nWhat is this for? Most directly, Urbit is designed as a personal\ncloud server for self-hosted web apps. It also uses HTTP APIs to\nmanage data stuck in traditional web applications.\n\nMore broadly, Urbit's network tackles identity and security problems\nwhich the Internet can't easily address. Programming for a\ndeterministic single-level store is also a different experience from\nUnix programming, regardless of language.\n\nGetting involved\n----------------\n\nIf you're interested in following Urbit, you can:\n\n-   Read our documentation at [urbit.org](http://urbit.org/docs)\n-   Subscribe to our newsletter at [urbit.org](http://urbit.org).\n-   Check out the\n    [urbit-dev](https://groups.google.com/forum/#!forum/urbit-dev)\n    mailing list.\n-   Follow [@urbit_](https://twitter.com/urbit\\_) on Twitter.\n-   Hit us up by email, `urbit@urbit.org`. We're nice!\n\nCode of conduct\n---------------\n\nEveryone involved in the Urbit project needs to understand and\nrespect our code of conduct, which is: \"don't be rude.\"\n\nDocumentation\n=============\n\nIn-progress documentation can be found at\n[urbit.org/docs](http://urbit.org/docs).\n\nThese docs ship with your urbit. If you're running one locally you\ncan access them at\n\n    http://localhost:8080/home/docs\n\nAssuming you're running on port 8080. The port is printed on startup.\n\nInstall\n=======\n\nUrbit can be installed on most Unix systems. There is no Windows\nport. Windows is a wonderful OS, we just haven't gotten to it yet.\nUse a VM.\n\nConfigure swap if needed\n------------------------\n\nUrbit wants to map 2GB of memory when it boots up.  We won't\nnecessarily use all this memory, we just want to see it.  On a\nnormal modern PC or Mac, this is not an issue.  On some small\ncloud virtual machines (Amazon or Digital Ocean), the default\nmemory configuration is smaller than this, and you need to\nmanually configure a swapfile.\n\nTo add swap to a DO droplet:\n\nhttps://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04\n\nTo add swap on an Amazon instance:\n\nhttp://stackoverflow.com/questions/17173972/how-do-you-add-swap-to-an-ec2-instance\n\nDon't spend a lot of time tweaking these settings; the simplest\nthing is fine.\n\nInstall as a package\n--------------------\n\n### OS X - Homebrew\n\n    brew install --HEAD homebrew/head-only/urbit\n\n### Ubuntu or Debian\n\nThird-party packages are available, at:\n\n    https://github.com/yebyen/urbit-deb\n\nUrbit is only supported on Jessie onward (but outbound HTTPS requests only work on Stretch; I wish we knew why; help us!)\n\nHand-build from source\n----------------------\n\nFirst, install all external dependencies. Then, make.\n\n### Dependencies\n\nurbit depends on:\n\n    gcc (or clang)\n    gmp\n    libsigsegv\n    openssl\n    automake\n    autoconf\n    ragel\n    cmake\n    re2c\n    libtool\n    libssl-dev (Linux only)\n    ncurses (Linux only)\n\n#### Ubuntu or Debian\n\n    sudo apt-get install libgmp3-dev libsigsegv-dev openssl libssl-dev libncurses5-dev git make exuberant-ctags automake autoconf libtool g++ ragel cmake re2c\n\n#### Fedora\n\n    sudo dnf install gcc gcc-c++ git gmp-devel openssl-devel openssl ncurses-devel libsigsegv-devel ctags automake autoconf libtool ragel cmake re2c\n\n#### AWS\n\n    sudo yum --enablerepo epel install gcc gcc-c++ git gmp-devel openssl-devel ncurses-devel libsigsegv-devel ctags automake autoconf libtool cmake re2c\n\n#### OS X - Homebrew\n\n    brew install git gmp libsigsegv openssl libtool autoconf automake cmake\n\n#### OS X - Macports\n\n    sudo port install git gmp libsigsegv openssl autoconf automake cmake\n\nAlthough `automake`/`autoconf`/`libtool` are generally installed by\ndefault, some have reported needing to uninstall and reinstall those\nthree packages, at least with Homebrew. Your mileage may vary.\n\n#### FreeBSD\n\n    pkg install git gmake gmp libsigsegv openssl automake autoconf ragel cmake re2c libtool\n\n### Download and make\n\nClone the repo:\n\n    git clone git://github.com/urbit/urbit.git\n\n`cd` to the directory you just created:\n\n    cd urbit\n\nRun `make`:\n\n    make\n\n(On FreeBSD, use `gmake` instead.)\n\nThe executable is `bin/urbit`. Install it somewhere, or just use it\nwhere it is.\n\nLaunch\n======\n\nAn urbit is a persistent server on the `%ames` P2P network. You'll\ncreate one of these servers now.\n\nIf you have an invitation, it's a planet like `~fintud-macrep` and a\nticket like `~fortyv-tombyt-tabsen-sonres`. Run\n\n    urbit -w fintud-macrep -t fortyv-tombyt-tabsen-sonres\n\n(You can leave the `~` on, but it annoys some Unix shells.)\n\nIf you don't have an invitation, pick a nickname for your comet, like\n`mycomet`. Urbit will randomly generate a 128-bit plot:\n\n    urbit -c mycomet\n\nEither way, creating your urbit will take some time. Some of this\ntime involves creating keys; some of it involves downloading code\nover Urbit itself. Go get a cup of coffee. Or a beer.\n\nWait until you see a prompt, something like\n\n      ~fintud-macrep:talk()\n\nor\n\n      ~fintud-macrep:dojo\u003e\n\nYour urbit is launched! Ladies and gentlemen, we are floating in\nspace.\n\n### Relaunch\n\nTo use Urbit normally after creating your planet or comet:\n\n    urbit fintud-macrep\n\nor\n\n    urbit mycomet\n\nDocs\n====\n\nYour urbit is your personal web server. The best place to read its\ndocs is by pointing your browser at it.\n\nUrbit prints the HTTP port it's serving when it starts up:\n\n    http: live (insecure) on 8080\n\n8080 is the default. When it's not available we use 8081. Then 8082, and so on. If you're running on AWS or another cloud\nservice, this port may be firewalled; go to the firewall\nconfiguration to open it.\n\n(*Always run any urbit HTTP server which is even semi-serious inside a reliable, battle-proven frontline server like nginx.*)\n\nUrbit's own official planet `~winsen-pagdel` is also bound to just\nplain `urbit.org`, and hosts the public docs\n[here](http://urbit.org/docs). (They are, of course, the same as\nthose that ship with your urbit.)\n\nAssuming your Urbit is on `localhost:8080`, your copy of the docs are at\n\n    http://localhost:8080/home/docs\n\nTo continue getting setup, start here:\n\n    http://localhost:8080/home/docs/user/start\n\nContributing\n============\n\nThe first step in contributing to urbit is to come and join us on\n`:talk`.\n\nFor more detailed instructions check out\n[`CONTRIBUTING.md`](https://github.com/urbit/urbit/blob/master/CONTRIBUTING.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Furbit%2Farchaeology-factor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Furbit%2Farchaeology-factor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Furbit%2Farchaeology-factor/lists"}