Neocities.org - the web site. Yep, the backend is open source!
Find a file
Kyle Drake d467e9be96 Force case insensitivity for new emails, existing.
There is a legacy bug I just caught, where many accounts would have the
same email but then have different casing. In extreme scenarios, this
would lead to them creating a new user with the same email, or having
issues with password reset and username lookup.

This doesn't merge in the existing duplicates, but makes sure to only
allow insensitive lowercase emails from here on out. It also will check
for emails in a case insensitive way for such things as resets and
logins if the sensitive lookup doesn't work.

The implementation was not wrong per se - email is supposed to be case sensitive
for usernames. But of course, nobody (nor do most/all email servers) treat
them that way, leading to confusion situations where the user sometimes
camelcases their email and then switches to lowercase later.
2017-12-08 22:13:27 -08:00
app Force case insensitivity for new emails, existing. 2017-12-08 22:13:27 -08:00
ext add proxy dnslink adder 2017-07-24 23:10:10 -07:00
files new image screenshot system for #194 2015-11-15 03:22:13 -08:00
migrations Migration and template for email invoice 2017-10-04 20:29:15 -07:00
models Force case insensitivity for new emails, existing. 2017-12-08 22:13:27 -08:00
public Add catbus-index image 2017-06-23 13:44:42 -07:00
sass revert css change, it caused editor overflow 2017-08-01 18:06:00 -07:00
tests Force case insensitivity for new emails, existing. 2017-12-08 22:13:27 -08:00
vagrant update vagrant, travis to ruby 2.4 2017-04-02 14:14:51 -07:00
views missing beginning strong element 2017-11-28 17:45:32 -08:00
workers clean up tests to reflect new purging code 2017-10-15 11:26:42 -07:00
.gitignore Add TRUMP PLAN to pay for upcoming Net Neutrality 2017-04-26 16:38:43 -07:00
.travis.yml continuing to fight travis: new .yml config changes 2017-04-02 14:29:35 -07:00
app.rb dont set cookie for api calls 2017-05-21 20:12:47 -07:00
app_helpers.rb cleanup of meta_robots method 2017-06-14 12:35:03 -07:00
code-of-conduct.txt Update code-of-conduct.txt 2016-02-08 12:45:41 -08:00
config.ru Reduce site record lookups needed for auth, webdav 2017-04-02 12:25:34 -07:00
config.yml.template support for multiple cache purge ips in stats parsing 2017-06-16 22:21:58 -07:00
config.yml.travis support for multiple cache purge ips in stats parsing 2017-06-16 22:21:58 -07:00
environment.rb init for redis proxy db 2017-06-28 13:01:38 -07:00
Gemfile remove scrypt, update ext gems, fix legal info doc 2017-07-07 14:05:00 -07:00
Gemfile.lock Update gems, remove simplecov/coveralls to prevent crashing issue 2017-12-08 22:08:50 -08:00
LICENSE.txt Add BSD 2-clause license 2013-06-22 18:59:38 -07:00
puma_config.rb Better detection of # of cores available 2017-03-22 17:47:07 -07:00
rainbows_config.rb referencing stripe from its repo breaks rubygems install for some reason 2015-03-25 20:03:28 +00:00
Rakefile rakefile task to prime redis proxy ssl 2017-06-29 11:17:24 -07:00
README.md Improvements & fixes for vagrant staging 2016-08-09 20:04:57 -07:00
Vagrantfile Improvements & fixes for vagrant staging 2016-08-09 20:04:57 -07: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

vagrant ssh
cd /vagrant
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 (http://github.com/YOURUSERNAME/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