Comments (1)
Yes, there is still much development to be done, but this has been a hobby project for the past few years, and is not always our number one focus.
In my idea of production (basically, the demo site) the built-in HTTP server only handles posting and management operations, while a separate HTTP server (such as nginx, litespeed, even IIS works) handles serving pages and images, because those HTTP servers are already well developed and tuned for that. Current instances of Gochan certainly haven't seen anywhere near the kind of traffic levels where net/http is a problem anyways. Maybe in the future, if net/http's server is really a huge portion of request times, it could be swapped out, but since it's not a problem now, I don't see a reason to potentially break it.
On the topic of containers, there is not going to be a time that I'd personally find containerization tools anywhere near attractive for either production or development. Additionally, there's already configuration for Vagrant if someone does find containerization helpful,
S3 and other blob storage products or CDNs tend to be high cost, and historically @Eggbertx and I have hosted image boards at as low cost as possible, so almost certainly local storage would remain the default, and in the distant future there might be an option to automatically upload to external storage offerings. As far as I know, the image boards interested in using Gochan do not currently use anything more complicated than Cloudflare, which works perfectly fine with the current image upload system, while giving many of the CDN-like advantages.
Currently @Eggbertx has work in progress on cleaning up the management interface to use templates rather than having HTML strings embedded, and perhaps management could be moved to a formal API in the future. However, posting will almost certainly remain as is, as the current interface remains usable without JavaScript, and in even the most archaic browsers.
There certainly could be injection vulnerabilities (just taking a quick look I found a few problematic parts in the management interface), and fortunately prepared statements seem rather easy to implement with Go's database library.
These are just my thoughts however, and aren't necessarily the definitive plan.
from gochan.
Related Issues (20)
- More file type support HOT 9
- Revamp frontend to be more in line with current bunkerchan frontend. HOT 1
- Custom top bar board formatting HOT 4
- Create button to logout current user from all of their sessions
- Make session expiration time configurable
- Create a usable mobile interface HOT 2
- Port themes from bunkerchan over to gochan
- Implement wordfilters
- Completely phase out Vagrant to be replaced by Docker HOT 1
- Add a plugin system HOT 2
- Add functionality to allow gochan-migrate to migrate deprecated gochan installs HOT 1
- Make a stable JSON API for /manage calls
- New board HOT 4
- image display HOT 5
- Help with Docker install HOT 3
- Replace gochan-migration with a plugin
- Issue running gochan executable: "Error parsing gochan.json: invalid character ']' looking for beginning of valueinvalid ListenIP value: "" " HOT 6
- Another execution error (hope this isn't a bother). HOT 7
- Federation support HOT 5
- bridge boards/threads to anonymous telegram imageboard bots HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gochan.