From 7d79e4a3c9cefdd5a9b565c3f13a5dc19af9dcac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=A6=E5=87=8C=E6=B1=90?= Date: Thu, 5 Jun 2025 01:59:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81NSFWPY=E8=BF=9B=E8=A1=8C?= =?UTF-8?q?=E6=95=8F=E6=84=9F=E5=86=85=E5=AE=B9=E8=BF=87=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 26 +++++++++++++--------- config.py | 3 +++ routes/__pycache__/auth.cpython-311.pyc | Bin 5629 -> 5629 bytes routes/__pycache__/images.cpython-311.pyc | Bin 14113 -> 15326 bytes routes/images.py | 22 ++++++++++++++++++ 5 files changed, 41 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index dbcfd81..2e8a6f3 100644 --- a/README.md +++ b/README.md @@ -23,9 +23,15 @@ CatismImage 是一个基于Web的图片存储和管理系统,提供用户友 pip install -r requirements.txt ``` -4. 配置环境变量: +4. [可选] 配置NSFWPY - 在.env或系统添加以下必需环境变量: + 如果您希望启用NSFW过滤功能,您需要配置NSFWPY。 + + 请参考[HG-ha/nsfwpy](https://github.com/HG-ha/nsfwpy),通过您喜欢的方式完成配置。 + +5. 配置环境变量: + + 在.env/系统/Docker添加以下必需环境变量: ```plaintext # S3存储配置 @@ -37,15 +43,19 @@ CatismImage 是一个基于Web的图片存储和管理系统,提供用户友 # MongoDB配置 MONGO_URI=mongodb://your_mongo_uri MONGO_DB=your_database_name + + # NSFW过滤配置(目前支持NSFWPY) + ENABLE_NSFW_FILTER=true/false + NSFWPY_ENDPOINT=your_nsfwpy_endpoint ``` -5. 运行后端服务: +6. 运行后端服务: ```bsh python app.py ``` -6. 访问前端页面: +7. 访问前端页面: ```bash http://localhost:5000 @@ -56,7 +66,7 @@ CatismImage 是一个基于Web的图片存储和管理系统,提供用户友 1. 注册/登录后获取用户Key 2. 使用上传功能添加图片 3. 在仪表板查看存储使用情况和流量统计 -4. 通过充值功能获取喵币 +4. 通过爱发电回调充值功能获取喵币 5. 在设置中自定义主题颜色和模式 ## 技术栈 @@ -66,10 +76,6 @@ CatismImage 是一个基于Web的图片存储和管理系统,提供用户友 - 数据库:MongoDB - 实时通信:WebSocket -## TODO List - -完善爱发电支付部分 - ## 贡献指南 -欢迎提交Pull Request或报告Issue。请确保代码风格一致并通过所有测试 \ No newline at end of file +欢迎提交Pull Request或报告Issue。请确保代码风格一致并通过所有测试 diff --git a/config.py b/config.py index ab6138a..69c084d 100644 --- a/config.py +++ b/config.py @@ -16,6 +16,9 @@ class Config: MONGO_URI = os.getenv('MONGO_URI') MONGO_DB = os.getenv('MONGO_DB') + ENABLE_NSFW_FILTER = os.getenv('ENABLE_NSFW_FILTER') + NSFWPY_ENDPOINT = os.getenv('NSFWPY_ENDPOINT') + if(S3_ACCESS_KEY == None or S3_SECRET_KEY == None or S3_BUCKET == None or S3_ENDPOINT == None): print("错误:缺少必需的S3环境变量") sys.exit(1) diff --git a/routes/__pycache__/auth.cpython-311.pyc b/routes/__pycache__/auth.cpython-311.pyc index 324788090275ee44a996dbc6c0dde1ab3b0c6d96..046804480e885b7c1795427cd78aaecfcbb7eae1 100644 GIT binary patch delta 19 ZcmeyX{a2f7IWI340}yn6*~s--6aYb=24(;N delta 19 ZcmeyX{a2f7IWI340}yzGZshtb3III*1%?0s diff --git a/routes/__pycache__/images.cpython-311.pyc b/routes/__pycache__/images.cpython-311.pyc index 7a5c6307941cd5761b72ac2062f226058c39a836..b40318e405e8bfbfd95173240346e1ad439a7a42 100644 GIT binary patch delta 3571 zcma)9du&tJ8Nb)p??-$S+i`;J#EAor6Ubvp83_q_K!C82Ktc+XI4i1hT&b?U% zbsE|U0&TaYJxFbN2&1-vX{fAZQd_B=kk%q#s$`>xg)6c3j|Il2Zb4%j+du4l_r?iM zsMxXZFW-56=lgw+Wt5{s6j(R+lP>gq~TkC}qP%pOu zOIn(skzVkndlbdxOwttfEAq&VUOdyPjH?qiIAueIuH5w6Qxs=8qu{J@MVRJnTyB`Y zXrE+=HuA`AR2$bO>}f-lq?0Fg3N>a%7uVsljNOvQnI{!w6M5t&k8jCeI(~>ub1U{s zi;zXo%rA#g1?LFUnM62eNYS%MCTA>K53X6aC>6Kf^Q6qA#K*oyj0Zma&@iKcP+ENBNMvZZb#KH z>;HH4CB22-ieEKa6^T_~hszYtic>;o`W%WH@TTQNsm#=19y4&OxizQNnI0NgD6mmB zBf%;%(u>X91?k0AK66DCSACjE@63};8rAA3p*d|HMa{cX@g1%-eU~eRc@LC9Y;E6* zv!t+VxLWSHFijFos#4rpVW-RSVN2KtcJj$Cs z>iZe=m((A(4(FRZri=>3S1Jm2JgW$oonN-J@H3AErNz%u>Z`;5HvMUA7_QdNp3S@O zzJK`c*$-zwxjZ{@>E4M8hjf*FkpRz!LkC4wcref(6xD&gzTl8>hz$%4MZ$dnAsmZV z4)C$4PaYg4dHT!}AE{KQ_4Gs$^5D_&T3XFuK{r$3|ziApSBGT-s-`+buK6~^? z-Rwu7{rS_M-MctBJ8^9GqvNwjF5FFw&yF9xkI9`roRewX2Ot0CHy_r!?>{7S_*Pb( zQKbDo#r?x%6{^N=^S5*(&SDD;jWA#*;9G+m*b)tb)JN-Zn04#4D0pBv$O}9^#=3iT zEki>aW6@B!U(9LiY-#Oi^Mf<|o7+2fwRMZCAry`ZqH-w43!)ijcJ%t&Iydd;YVX`7 zvM3PdgZ@wq`FSBA4D+HA+#xc&fbe;?6+dL#@P_PKIvexZWsTdx2q;LA2@m#*#1MWc z7UhGYF3N{S{9Hf?h&1VeEB$=lg82+Bm0Z? z*V`uo$2;EaIMy+zFq=B*8HeX=&@v{hWq! z`W{e9XU;=_3GJMo%Fh1->$}PNQf&D&Tb^XgXPjdtXSbi+{$AJVt_j_onzFjyX?(je zk$<5jWvQ69RQx*s6W3+erw6YUrK&rot2|T zCwJ{mI(8?myT4(r@95svy<7B_@q}@Ld>-AgIOiyu*#0Emu@@vX8)|yowjei=1JPOC)uUnN2JX$pbVr(vj*#w*6LA?-6Wp=Qkk`_nEKMvVrlbI zU#+4^=PR#kvxd2<1o^6(23b=Jazm@N-Ai51wgE~@uY2{|3YhEF#oO|k8y1?#H>^ss z^hUl4RT*(EX<6FCY_lqC7GYGs6ftRKz8VR&CJZo!d^XdTS*i7wqDh1p1Phl z$flI80s1-VUxG#7l6&AVHK$yqs+=|3r>80k-d9!}Br^yq18oF= z_YL$i0K7(^R{&lGcn#pE_;Imk>0M_Hl(vC5SL^gug3sD(B{XE(VlM)pzNDxC&83~gsYJr-l427ed6e<*gd7Tg* z406E;xsbGEVF83H!TJ+SK^O)VZ~GEKM~>u z7oc(cbyc2vK9~Pib^?T1)XRA;UEzzaSeDVo zdF66apCdb2lFxiIc~3b^O&zViqM&>5mfA9p9Fy%`om;y6&v&b^)gNPd>I^3bMM z#NiXQJF4I(K`IU@btKm!Q2R^jp9Co>$^NTt7>selk>Cb2HD!ISoObjm=*l??@Bu?9 WDyHc*a|&r}K#5;m`#a@jvh{!ahg^LC delta 2527 zcma)8UrbYH6#u^7-nO@YfztA)LR$)y;s6EeWJ3gu?w@}L#*i%5>b=yG(z>sg;oPmT z>|sya9=}M(J$bS1vU5rh)1df_$F~gR7logwNg|qI&cQE>5$fdg zLN)(QtQ1X}Y0kxi_GaUXvDK6gg@_v9-&=;u;%*Qnu=6?R(Y zsvv$7_gfG9Bndq$Qr1aZ&Pa>9>^X5GFMhwLzNU8lN#I|nNplw9?%~b0MsxiaLe8p* zoSMBnW^;))sD&3RQ?J=%-=$3(sM?@>^R|eivz*>sEpF)5Y-)E|IZS?(Bcz$IqdDilB@iwpuz6iooa<{LzrYW;LXNeybn+`LjR)n9 zal;A27?DZNdDaPEhW>Y&PLtEZ7@4LU(rJfu);7qn{#Xp!^j|?EoxG#sKEGDkSNVX$ zr&*w}h~dF3&}Qvis(MJb@xQ7XE4HDc2H?RXaEi3@fV){Lh~vqWl4V=@8}0y~a{KwO z?jdRD)Tv#W^msDCJE~tX3R#u$Y;}~n_{Hk>z^f3VAS5Rf1qt`YvdJ?F+mFGwB6RZ# zkFTm=VM_K?CY@CZRLQ!)z`H#=ZAlRDcF8^x^O~oPiVks*{>XE6oA`I$S=+Ke9Cd&H zX(Dz{{*&5}apoNOUNc(vn8`KQkb8HCTyLVVxE^ZQBM6HG(y! zM#FI1C?PjZ?fXP>bBhP$TcUTLPq^h9?uW$>wL|@HddMA*b!3Nd$3NsA*)H7erm(o% zV+8x%?c#_Z7CQu3ED`HyudrnGk9G-55sGq`INF>4uwg-<{k$_+PkZ=lK_88BB{*zq zgS4Tf-vkfQLH;CIA3cH!8$iJ_o=nTJOj=DgmOY)fYC^0#%##xW9$V@}**i=?wY#bCUfp8Wei*ptz zKI|mO1qqMT1F-jD{W&^4gxQ!S%f?o*>t|QZQvR2wFO8ikurTZ!>qnSGNF(62$=*g# z5vCB{;opWsGpA7;1c+2H{ApwFB8Uj9#bEg3qO)i3p;V-ek_jP)fc*9J*Kikg?ra84 zPjSQpkfJY8r0773>dC3e=|zbV8A?!FpxocPoWE5Co?3fvmsdIum^^x)o@!AKztJ16FHR&z z*1M(mEsD#RxiuP~1AKEdaJ1Yr?+V?CY$p9Ix@%gxO1a$4f&+*us`Au0e-+&{6N57g z){+?}^;!Kb&NlO6e#a27(*ZC?pqoa;|v=VN%YgYaL^EXnWMcEvzP zxv{UEj`6O(AU(nl^&Q-T_mch%=o6xsl;PHkELjHE&X6nmP d+O