Resolved issues affecting the Nitter service, removing the notice about its poor operability. Nitter is now functioning as expected, and its status has been updated to reflect its current operational state. Users can browse Twitter without being tracked, using the Nitter front-end with confidence.
Renamed "Indestructables" to "Structables" and updated associated URLs and link texts in the service directory. Simplified the long description by omitting the note about forking the project, reflecting the rebranding and streamlining user experience.
The long description for the Nitter service has been modified to more accurately reflect its current state of functionality. Additionally, Nitter has been made searchable as it has been included in both the index and simple search views, suggesting an improved service status or a change in policy regarding its visibility.
Reworked service configuration to allow individual services to be conditionally excluded from the main index, increasing the flexibility of the display. Configuration files have been restructured and moved into appropriate subdirectories to improve project organization.
- Added `exclude_from_index` flags to all services within `services.json` to facilitate granular control over their visibility on the index page.
- Modified the `index.html` template to respect the new `exclude_from_index` setting, thus excluding specified services from being listed on the index page.
- Migrated `Caddyfile` and `privatecoffee.ini` to `contrib` directory for better separation of project contributions and core configuration files.
This update enhances the site's privacy features and enables easier navigation by allowing selective service display.
Simplified the "services.json" by updating the primary link name and URL for a privacy-focused service and removing the associated Tor (.onion) alternative.
Refactored the website to serve dynamic content using Flask, replacing static HTML pages. This allows for the centralized management of service data through a JSON file. Optimizations include:
- Added a .gitignore file to exclude Python and Flask-specific temporary files.
- Migrated static assets into an organized directory structure to facilitate Flask's static file serving.
- Removed redundant HTML files and created Flask template versions with dynamic content rendering.
- Introduced Caddy server configuration for the new Flask architecture, including headers for security and CORS policy, and reverse proxy settings for route handling.
With these changes, website maintenance and updates are simplified, allowing for service information to be updated in a single location (`services.json`), which then propagates to the user-facing pages automatically.