├── .gitignore ├── .idea ├── .gitignore ├── fedi-admin-scripts.iml ├── jsLibraryMappings.xml ├── modules.xml ├── runConfigurations │ └── import_blocklist.xml ├── sqldialects.xml ├── vcs.xml └── webResources.xml ├── LICENSE ├── README.md ├── config ├── .gitignore ├── importBlocklist.d.ts └── importBlocklist.example.js ├── data ├── .gitignore └── domain-blocks.example.csv ├── docs └── pack-for-misskey.png ├── package-lock.json ├── package.json ├── src ├── blocklist-diff │ └── blocklistDiff.ts ├── blocklist-download │ └── blocklistDownload.ts ├── blocklist-import │ ├── announcement │ │ ├── AnnouncementBuilder.ts │ │ ├── announcement.ts │ │ └── renderAnnouncement.ts │ ├── domain │ │ └── config.ts │ ├── importBlocklist.ts │ ├── importer.ts │ └── source │ │ ├── mastodonSource.ts │ │ └── source.ts ├── bulk-refresh-users │ └── bulk-refresh-users.mjs ├── common │ ├── api │ │ ├── pleroma │ │ │ ├── PleromaClient.ts │ │ │ ├── PleromaConfig.ts │ │ │ └── pleromaInstance.ts │ │ └── sharkey │ │ │ ├── SharkeyClient.ts │ │ │ ├── sharkeyAdminMeta.ts │ │ │ ├── sharkeyInstance.ts │ │ │ └── sharkeyUserMeta.ts │ ├── blockUtils.ts │ ├── domain │ │ ├── block.ts │ │ ├── blockResult.ts │ │ └── post.ts │ ├── remote │ │ ├── Remote.ts │ │ ├── createRemote.ts │ │ ├── fast │ │ │ ├── PleromaFastRemote.ts │ │ │ └── SharkeyFastRemote.ts │ │ ├── remoteSettings.ts │ │ └── standard │ │ │ ├── PleromaRemote.ts │ │ │ └── SharkeyRemote.ts │ └── util │ │ ├── connectionString.ts │ │ ├── csv.ts │ │ ├── dateUtils.ts │ │ └── domainUtils.ts ├── follow-relations │ ├── printFollowRelations.sql │ └── printFollowRelationsTier0.sql ├── full-text-index │ ├── create-full-text-index.sql │ └── drop-full-text-index.sql ├── global.d.ts ├── pack-for-misskey │ ├── files.ts │ ├── manifest.ts │ ├── meta.ts │ └── packForMisskey.ts └── systemd-utils │ ├── run-sharkey.sh │ ├── sharkey.target │ ├── sharkey.web.service │ ├── sharkey.worker.service │ ├── sharkeyctl │ ├── sharkeyctl-sudoers │ └── update-sharkey └── tsconfig.json /.gitignore: -------------------------------------------------------------------------------- 1 | ### Node template 2 | # Logs 3 | logs 4 | *.log 5 | npm-debug.log* 6 | yarn-debug.log* 7 | yarn-error.log* 8 | lerna-debug.log* 9 | .pnpm-debug.log* 10 | 11 | # Diagnostic reports (https://nodejs.org/api/report.html) 12 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 13 | 14 | # Runtime data 15 | pids 16 | *.pid 17 | *.seed 18 | *.pid.lock 19 | 20 | # Directory for instrumented libs generated by jscoverage/JSCover 21 | lib-cov 22 | 23 | # Coverage directory used by tools like istanbul 24 | coverage 25 | *.lcov 26 | 27 | # nyc test coverage 28 | .nyc_output 29 | 30 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 31 | .grunt 32 | 33 | # Bower dependency directory (https://bower.io/) 34 | bower_components 35 | 36 | # node-waf configuration 37 | .lock-wscript 38 | 39 | # Compiled binary addons (https://nodejs.org/api/addons.html) 40 | build/Release 41 | 42 | # Dependency directories 43 | node_modules/ 44 | jspm_packages/ 45 | 46 | # Snowpack dependency directory (https://snowpack.dev/) 47 | web_modules/ 48 | 49 | # TypeScript cache 50 | *.tsbuildinfo 51 | 52 | # Optional npm cache directory 53 | .npm 54 | 55 | # Optional eslint cache 56 | .eslintcache 57 | 58 | # Optional stylelint cache 59 | .stylelintcache 60 | 61 | # Microbundle cache 62 | .rpt2_cache/ 63 | .rts2_cache_cjs/ 64 | .rts2_cache_es/ 65 | .rts2_cache_umd/ 66 | 67 | # Optional REPL history 68 | .node_repl_history 69 | 70 | # Output of 'npm pack' 71 | *.tgz 72 | 73 | # Yarn Integrity file 74 | .yarn-integrity 75 | 76 | # dotenv environment variable files 77 | .env 78 | .env.development.local 79 | .env.test.local 80 | .env.production.local 81 | .env.local 82 | 83 | # parcel-bundler cache (https://parceljs.org/) 84 | .cache 85 | .parcel-cache 86 | 87 | # Next.js build output 88 | .next 89 | out 90 | 91 | # Nuxt.js build / generate output 92 | .nuxt 93 | dist 94 | 95 | # Gatsby files 96 | .cache/ 97 | # Comment in the public line in if your project uses Gatsby and not Next.js 98 | # https://nextjs.org/blog/next-9-1#public-directory-support 99 | # public 100 | 101 | # vuepress build output 102 | .vuepress/dist 103 | 104 | # vuepress v2.x temp and cache directory 105 | .temp 106 | .cache 107 | 108 | # Docusaurus cache and generated files 109 | .docusaurus 110 | 111 | # Serverless directories 112 | .serverless/ 113 | 114 | # FuseBox cache 115 | .fusebox/ 116 | 117 | # DynamoDB Local files 118 | .dynamodb/ 119 | 120 | # TernJS port file 121 | .tern-port 122 | 123 | # Stores VSCode versions used for testing VSCode extensions 124 | .vscode-test 125 | 126 | # yarn v2 127 | .yarn/cache 128 | .yarn/unplugged 129 | .yarn/build-state.yml 130 | .yarn/install-state.gz 131 | .pnp.* 132 | 133 | # IDEA database connections 134 | .idea/dataSources/ 135 | .idea/dataSources.* -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | # Editor-based HTTP Client requests 5 | /httpRequests/ 6 | -------------------------------------------------------------------------------- /.idea/fedi-admin-scripts.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/jsLibraryMappings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/runConfigurations/import_blocklist.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |