basic updates for pushing fork

This commit is contained in:
juni
2024-10-27 11:45:13 -04:00
parent 276d3b0663
commit aedd4a5219
5 changed files with 60 additions and 27 deletions

View File

@@ -1,14 +1,16 @@
# VixBluesky 🛠️ (Inspired by [FixTweet](https://github.com/FixTweet/FixTweet))
# girlcockbsky Fork of VixBluesky 🛠️ (Inspired by [FixTweet](https://github.com/FixTweet/FixTweet))
> [!IMPORTANT]
> This is a fork of [FixBluesky](https://github.com/ThornbushHQ/FixBluesky) by [@ItsRauf](https://www.github.com/ItsRauf).
> This is a fork of VixBluesky which is a fork of [FixBluesky](https://github.com/ThornbushHQ/FixBluesky) by [@ItsRauf](https://www.github.com/ItsRauf).
> All credits go to them for the original idea and implementation.
Converted to nodejs cause serverless design's proprietary-ness annoys me and i wanted to make a funny joke after seeing girlcockx for twitter.
Embed Bluesky links in Discord.
## How To Use?
#### Simply append `x` at the end of `bsky.app`.
#### Simply append `girlcock` at the front of `bsky.app`.
## Direct Links
@@ -18,4 +20,4 @@ You want to link to a media directly? You can prepend `r.` to the URL to get a d
## Authors
- [@ItsRauf](https://www.github.com/ItsRauf) - Original author
- [@Lexedia](https://www.github.com/Rapougnac)
- [@Lexedia](https://www.github.com/Rapougnac) - Also Original author

28
docker-compose.yaml Normal file
View File

@@ -0,0 +1,28 @@
services:
api:
build:
context: ./pkgs/api/.
dockerfile: Dockerfile
ports:
- "2598:3000"
environment:
- NODE_ENV=production
- PORT=3000
- EMPTY_REDIR=https://bsky.app/profile/juni.pet/post/3l3e53fzazy2n
restart: unless-stopped
app:
build:
context: ./pkgs/app/.
dockerfile: Dockerfile
ports:
- "2599:3000"
environment:
- BSKY_SERVICE_URL=https://bsky.social
- VIXBLUESKY_APP_DOMAIN=girlcockbsky.app
- VIXBLUESKY_API_URL=http://localhost:2598/
- BSKY_AUTH_USERNAME=YOUR_OWN_USERNAME
- BSKY_AUTH_PASSWORD=YOUR_APP_PASSWORD_SHOULD_COME_FROM_ENV
- PORT=3000
- EMPTY_REDIR=https://bsky.app/profile/juni.pet/post/3l3e53fzazy2n
restart: unless-stopped

View File

@@ -6,7 +6,8 @@
"@atcute/bluesky": "^1.0.7",
"@atcute/client": "^2.0.3",
"hono": "^4.5.1",
"@hono/node-server": "^1.13.2"
"@hono/node-server": "^1.13.2",
"node-cache": "^5.1.2"
},
"devDependencies": {
"@cloudflare/workers-types": "^4.20230628.0",

View File

@@ -8,19 +8,36 @@ import { getOEmbed } from './routes/getOEmbed';
import { getProfileData } from './routes/getProfileData';
import { getProfile } from './routes/getProfile';
import { HTTPException } from 'hono/http-exception';
const NodeCache = require( "node-cache" );
const app = new Hono();
const bskyxC: any = {};
const myCache = new NodeCache();
app.use('*', async (c, next) => {
const creds = new CredentialManager({service: process.env.BSKY_SERVICE_URL});
const creds = new CredentialManager({
service: process.env.BSKY_SERVICE_URL,
onRefresh(session) {
return myCache.set('session', JSON.stringify(session));
},
onExpired(session) {
return myCache.del('session');
},
onSessionUpdate(session) {
return myCache.set('session', JSON.stringify(session));
},
});
const agent = new XRPC({ handler: creds });
try {
await creds.login({
identifier: process.env.BSKY_AUTH_USERNAME,
password: process.env.BSKY_AUTH_PASSWORD,
});
console.log(creds.session);
const rawSession = myCache.get('session');
if(rawSession) {
const session = JSON.parse(rawSession) as AtpSessionData;
await creds.resume(session);
} else {
await creds.login({
identifier: process.env.BSKY_AUTH_USERNAME,
password: process.env.BSKY_AUTH_PASSWORD,
});
}
c.set('Agent', agent);
} catch (error) {
const err = new Error('Failed to login to Bluesky!', {

View File

@@ -1,15 +0,0 @@
{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
buildInputs = [
pkgs.nodejs
pkgs.python3
pkgs.python3Packages.pip
pkgs.python3Packages.virtualenv
pkgs.sqlite
pkgs.gcc
pkgs.gnumake
pkgs.pnpm
pkgs.wrangler
];
}