Neocities.org - the web site. Yep, the backend is open source!
Find a file
Violet V. e9fe9b90ba
Make ACME challenge cleanup more specific
The .well-known directory has uses other than ACME challenge response,
so deleting the whole thing as cleanup is incorrect.

I ran into an issue where files I uploaded inside that directory (which
worked initially) disappeared after a while, I assume around the time
neocities renewed the certs for my custom domain. The file (and the
.well-known dir) still appeared in GETs on the /api/list endpoint, but
requests for them on my site returned 404. I tried to re-upload the
original to the same path but it appears since it had the same content
some optimization was preventing it from restoring the deleted file,
because it continued to 404.

Uploading the same file to a different path inside .well-known worked,
and then uploading a file with different content to the original path
worked.

This commit changes the ACME cleanup code to only remove the
.well-known/acme-challenge directory that it uses, and leaves any other
files alone.
2024-10-20 11:56:18 -04:00
.github/workflows github action ruby 3.3 (previous commit enabled YJIT) 2023-12-25 10:56:24 -06:00
app no flash after editor settings change 2024-10-09 15:11:26 -05:00
ext sinatra indifferent hash not an integer 2024-02-17 10:43:05 -06:00
files sitemap: improvements, fixes, add tags 2019-10-09 15:13:42 -07:00
migrations set naming convention for editor vars 2024-10-08 20:58:19 -05:00
models usernames: restrict to lowercase match 2024-10-03 14:37:13 -05:00
public add back sunburst theme 2024-10-08 20:48:45 -05:00
sass tag search for activities, more tags in browse cloud, link between activity and browse tags 2024-09-04 12:19:48 -05:00
tests fix for username regex 2024-10-03 14:22:46 -05:00
vagrant update vagrantfile to work with latest, closes #478 2024-01-04 02:30:24 -06:00
views set naming convention for editor vars 2024-10-08 20:58:19 -05:00
workers Make ACME challenge cleanup more specific 2024-10-20 11:56:18 -04:00
.gitignore whitelist emails capability 2024-03-13 16:20:32 -05:00
app.rb tag search for activities, more tags in browse cloud, link between activity and browse tags 2024-09-04 12:19:48 -05:00
app_helpers.rb convert net::http calls to http gem 2024-04-10 12:59:31 -05:00
code-of-conduct.txt Update code-of-conduct.txt 2016-02-08 12:45:41 -08:00
config.ru return 404 for missing file on rename 2024-08-20 11:17:29 -05:00
config.yml.ci add minfraud 2023-11-22 00:09:58 -06:00
config.yml.template add minfraud 2023-11-22 00:09:58 -06:00
environment.rb no airbrake for retries in sidekiq, only failures 2024-02-02 14:26:16 -06:00
Gemfile integrate airbrake 2024-01-21 11:47:02 -06:00
Gemfile.lock Bump webrick from 1.8.1 to 1.8.2 2024-09-30 18:18:03 +00:00
LICENSE.txt Add BSD 2-clause license 2013-06-22 18:59:38 -07:00
puma_config.rb puma_config.rb: not needed anymore DB.disconnect call 2024-04-16 22:01:41 +00:00
rainbows_config.rb mostly finished port to ruby3 2022-08-10 14:31:36 -05:00
Rakefile fix up file uris/uri path code 2024-09-15 14:18:35 -05:00
README.md Update the README 2024-08-15 19:08:38 +01:00
Vagrantfile update vagrantfile to work with latest, closes #478 2024-01-04 02:30:24 -06:00

Neocities.org

Build Status Coverage Status

The web site for Neocities! It's open source. Want a feature on the site? Send a pull request!

Getting Started

Neocities can be quickly launched in development mode with Vagrant. Vagrant builds a virtual machine that automatically installs everything you need to run Neocities as a developer. Install Vagrant, then from the command line:

vagrant up --provision

Vagrant takes a while, make a pizza while waiting

Make a copy of config.yml.template in the root directory, and rename it to config.yml. Then:

vagrant ssh
bundle exec rackup -o 0.0.0.0

Now you can access the running site from your browser: http://127.0.0.1:9292

Want to contribute?

If you'd like to fix a bug, or make an improvement, or add a new feature, it's easy! Just send us a Pull Request.

  1. Fork it (https://github.com/neocities/neocities/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request