No description
  • Vue 39.5%
  • Go 38.7%
  • TypeScript 17.4%
  • HTML 2.4%
  • Just 1.5%
  • Other 0.5%
Find a file
2025-03-28 21:45:30 +00:00
src initial commit 2025-03-28 22:40:19 +01:00
.gitignore initial commit 2025-03-28 22:40:19 +01:00
go.mod initial commit 2025-03-28 22:40:19 +01:00
go.sum initial commit 2025-03-28 22:40:19 +01:00
index.html initial commit 2025-03-28 22:40:19 +01:00
Justfile initial commit 2025-03-28 22:40:19 +01:00
LICENSE Add LICENSE 2025-03-28 21:41:12 +00:00
main.go initial commit 2025-03-28 22:40:19 +01:00
package.json initial commit 2025-03-28 22:40:19 +01:00
README.md Update README.md 2025-03-28 21:45:30 +00:00
tsconfig.app.json initial commit 2025-03-28 22:40:19 +01:00
tsconfig.json initial commit 2025-03-28 22:40:19 +01:00
tsconfig.node.json initial commit 2025-03-28 22:40:19 +01:00
vite.config.ts initial commit 2025-03-28 22:40:19 +01:00
yarn.lock initial commit 2025-03-28 22:40:19 +01:00

one file chat

build it with just build, put ofc on a server, run with ./ofc -port 1323 and share the URL with your friends.

fully ephemeral - saves nothing, nowhere.

does this...

  • work? yes
  • save the messages anywhere? no
  • come with auth? no
  • make any guarantees of any sort? no

license

See LICENSE.

reference nginx config

server {
    listen 443;
    server_name server.name;

    access_log  /var/log/nginx/ofc_access.log;
    error_log /var/log/nginx/ofc_error.log;

    ssl_certificate /etc/letsencrypt/live/server.name/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/server.name/privkey.pem;
    
    ssl_protocols       TLSv1.1 TLSv1.2;
    ssl_ciphers         HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 5m;

    location / {
        proxy_pass http://localhost:1323;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    # WebSocket support
    location /ws {
        proxy_pass http://localhost:1323;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_read_timeout 86400; # 24 hours
    }
}