某 v2er 做的 App 确实极大可能是基于 localsend 改的 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
beimenjun
V2EX    分享发现

某 v2er 做的 App 确实极大可能是基于 localsend 改的

  beimenjun
PRO
2024-06-24 15:07:51 +0800 14326 次点击
这是一个创建于 476 天前的主题,其中的信息可能已经有所发展或是发生改变。

起因

这个帖子: https://v2ex.com/t/1052041

我看了下 Repo ,然后说:“你的 Thanks to 部分不加入 localsend 吗?”

OP @LuLiangDev 表示:

@[另外一个 v2er] 不是啊,哪里看出来是 localsend 改的?

@beimenjun 这是什么说法呢。为何要 Thanks to localsend ?

个人想法

在一个开源项目上改进没啥大不了的,本身开源项目就是允许别人修改的。

但是不肯承认是不是吃相差了点啊?

那我现在告诉你为啥要 Thanks to localsend

让我们打开此 App 的 1.0.0 版本 https://github.com/Gentleflow/Airclap/releases/tag/v1.0.0 ,下载 dmg 版本,安装 App ,进入 Applications 文件夹右键刚安装的 App ,选中 “Show Package Contents”,然后我们可以看到一个 Frameworks 文件夹。

依样画葫芦,我们去下载 localsend 的 1.10.0 版本,https://github.com/localsend/localsend/releases/tag/v1.10.0 ,也打开到这个页面。

截图:

可以看到这里的库主要差别在某 App 增加了一些登陆、付费以及数据库相关的。

当然可能有人说这些库都是功能需要的,就算一模一样也有可能。

所以可能有人觉得有没有更强力一点的呢,这时候就可以打开 Info.plist 文件,两个不同的 App ,居然 NSPhotoLibraryUsageDescription 的 key 对应的 value 都是 The app needs photo library access so that the user can select photos to share.

Xcode 是不会提供这个默认选项的,这都得是开发者自己填充的。并且我们可以去 github 搜索 <string>The app needs photo library access so that the user can select photos to share.</string> 这个字符串,得到的搜索结果基本都是 localsend 的 repo 或者 fork 。

这得多巧合啊!

结语

大家自己总结吧。

第 1 条附言    2024-07-09 14:46:24 +08:00
来源 #28 的发言,我做个备份

从 Localsend 和 Airclap 的 libapp.so 中提取了源码路径,使用的第三方库基本一致。
重点看了下差异化部分,"package:localsend_app/"开头是 localsend 的源代码路径,"package:airdrop_client/"是 Airclap 的源码路径,存在一些同名文件:

84 条回复    2024-07-09 14:44:18 +08:00
buf1024
    1
buf1024  
   2024-06-24 15:17:07 +08:00   4
哈哈,说服力还是不够强。
beimenjun
    2
beimenjun  
OP
PRO
   2024-06-24 15:20:44 +08:00   1
@buf1024 差不多得了,你还指望我为这种不赚钱的事情做逆向吗?
iyiluo
    3
iyiluo  
   2024-06-24 15:23:08 +08:00
原项目是 MIT 协议的,修改后的项目需要保留原作者的版权声明和许可声明
EmbraceQWQ
    4
EmbraceQWQ  
   2024-06-24 15:24:44 +08:00   1
刚从那个帖子过来的,这是踢到铁板了,hhhh
    5
beimenjun  
OP
PRO
   2024-06-24 15:25:33 +08:00   1
@iyiluo 他项目的代码就不是开源的,现在 github 链接其实就是个放广告和发行包的 repo ,更不存在什么声明啥的了。
sucaiking
    6
sucaiking  
   2024-06-24 15:25:58 +08:00
图疑似裂了
beimenjun
    7
beimenjun  
OP
PRO
   2024-06-24 15:27:35 +08:00
@sucaiking

图一 https://imgur.com/fEEa5EI.jpg

图二 https://imgur.com/wGNabBp.jpg

你要不看看 imgur 是不是被你 block 了。
buf1024
    8
buf1024  
   2024-06-24 15:29:30 +08:00   1
@beimenjun #2 参考梦弘浏览器,你要把人家底裤都脱了,说服力才强,从某个 repo 抄 plist 还真不能实锤,还真有不少人喜欢 copy plist 文件来修改。
sucaiking
    9
sucaiking  
   2024-06-24 15:30:26 +08:00
@beimenjun #7 我看到“Imgur is temporarily over capacity. Please try again later.”的提示。code 是 403 。
那大概是我的网络环境问题。不好意思。
beimenjun
    10
beimenjun  
OP
PRO
   2024-06-24 15:30:49 +08:00
@buf1024 修改了别人的 plist 还不来 Thanks 一波?
wyl986
    11
wyl986  
   2024-06-24 15:31:24 +08:00 via iPhone   16
对那种头像是西装+自以为帅 pose 的人没有任何好感
buf1024
    12
buf1024  
   2024-06-24 15:35:06 +08:00
@beimenjun #10 copy 一个 plist 来修改,来不来 Thanks 真完全看个人,这个和 MIT 关系真不大。关键是他有没有真的是居于 localsend 的源代码进行修改。
317
    13
317  
   2024-06-24 15:35:29 +08:00
@wyl986 #11 +1
loshine1992
    14
loshine1992  
   2024-06-24 15:36:52 +08:00
只是 plist 和第三方库还不够有说服力
Smilencer
    15
Smilencer  
   2024-06-24 15:37:09 +08:00
https://airclipbd.com/

Thanks to Snapdrop...
beimenjun
    16
beimenjun  
OP
PRO
   2024-06-24 15:38:21 +08:00
@loshine1992 那就看谁有空去逆向咯,反正我觉得我这边的工作已经做完了。
superchijinpeng
    17
superchijinpeng  
   2024-06-24 15:47:50 +08:00
抄就完了
yxhzhang185
    19
yxhzhang185  
   2024-06-24 16:07:03 +08:00
真是,抄袭别人挣(骗)了点钱,还发帖秀,
coderfox
    20
coderfox  
   2024-06-24 16:17:16 +08:00   9
@buf1024 #12 plist 也是源代码的一部分,抄了一样要遵守 MIT 许可证。
microka
    21
microka  
   2024-06-24 16:26:33 +08:00
插眼关注一下
w568w
    22
w568w  
   2024-06-24 16:28:48 +08:00
@sucaiking #9 imgur 可能把你 block 了。换个节点试试
w568w
    23
w568w  
   2024-06-24 16:36:08 +08:00   3
Flutter 逆向难度很大,完全是混淆过的原生代码,而且每代 Dart Compiler 都在变化。想逆向实锤恐怕还要再等等。我也没 Apple 和 Windows 设备,就不掺和了。

一个思路:可以用 Wiresharks 抓包,从广播报文和收发数据报文结构来对比。Plist 的描述信息相同确实问题不大,我做 Flutter 开发又不熟悉 Apple 系的配置的话,确实可能会找一个类似的应用把他的描述复制过来。

开发者能出来自证是最好的,当然他没有举证的义务。实锤之前,别急着上有色眼镜……
w568w
    24
w568w  
   2024-06-24 16:40:54 +08:00
再多嘴一句,( LocalSend 的)这些库确实都是 Flutter must-use 的库。你随便找个正经功能的应用,基本都会有。说服力不强。

@w568w #23
wonderfulcxm
    26
wonderfulcxm  
   2024-06-24 16:47:46 +08:00 via iPhone
这个 key 相同的 value 我觉得不算强力的证据,就好像很多网站登录后跳转提醒消息都是“登录成功,正在跳转到 xxx”,这也不能说就是抄袭吧,有嫌疑而已。
Puteulanus
    27
Puteulanus  
   2024-06-24 16:58:11 +08:00
@w568w 在 GitHub 的搜索里能看到 LocalConnect 和 whisper 这俩也确实是这么做的。。
zaidawesterfield
    28
zaidawesterfield  
   2024-06-24 16:59:06 +08:00   28
从 Localsend 和 Airclap 的 libapp.so 中提取了源码路径,使用的第三方库基本一致。
重点看了下差异化部分,"package:localsend_app/"开头是 localsend 的源代码路径,"package:airdrop_client/"是 Airclap 的源码路径,存在一些同名文件:

beimenjun
    29
beimenjun  
OP
PRO
   2024-06-24 16:59:20 +08:00
@wonderfulcxm 这个如果是几个字母也就算了,但是整句是这样的:

The app needs photo library access so that the user can select photos to share.

你看一遍再打,都不一定能打出一样的。
tjsdtc
    30
tjsdtc  
   2024-06-24 17:01:10 +08:00   4
@wyl986 就是论事就好,攻击别人的长相、审美没有必要
PlG5sBkXD1ziLeGB
    31
PlG5sBkXD1ziLeGB  
   2024-06-24 17:13:27 +08:00 via iPhone   1
@zaidawesterfield 同名文件确实比较可疑,git 搜了几个特征比较强的文件名,都跟 localsend 有关,
file_path_helper.dart
sending_file.dart
receiving_file.dart
wonderfulcxm
    32
wonderfulcxm  
   2024-06-24 17:14:29 +08:00 via iPhone
@beimenjun 说实话,很多 app 都 copy 对手界面上的提示语,但复制粘贴别人提示算抄袭吗?我觉得有点狭隘了,要证明复制核心代码才是实锤。
w568w
    33
w568w  
   2024-06-24 17:14:40 +08:00
@zaidawesterfield 这基本可以确定了,看看 @LuLiangDev 怎么辩解吧。哪有源码目录结构都一样的。
hccsoul326
    34
hccsoul326  
   2024-06-24 17:17:25 +08:00   1
事实证明 厚脸皮确实可以赚钱的
w568w
    35
w568w  
   2024-06-24 17:17:55 +08:00   5
beimenjun
    36
beimenjun  
OP
PRO
   2024-06-24 17:18:51 +08:00
@wonderfulcxm 你觉得不算那就你觉得不算。你也可以继续看其他人回复,上面的文件结构怎么样也不该这么类似吧。
seu
    37
seu  
   2024-06-24 17:28:01 +08:00   2
源码目录都一样 名称都一样 这不妥妥的文抄公
DemoJameson
    38
DemoJameson  
   2024-06-24 17:29:44 +08:00
@w568w #35 插眼
wonderfulcxm
    39
wonderfulcxm  
   2024-06-24 17:32:44 +08:00 via iPhone
@beimenjun 那是另外一个证据,我不清楚,可以另外讨论,比如是不是使用了相同框架,我只说 copy 字符这个事不能作为呈堂证供,更不能说是实锤。
bokey
    40
bokey  
   2024-06-24 17:38:16 +08:00
这个跟 landrop 差不多的东西吗?
yeelone
    41
yeelone  
   2024-06-24 17:45:41 +08:00
从 plist 确定不能说明什么,我之前开发过一个应用,我也不知道怎么描述我自己应用比较好,就直接去抄了同类型的应用的文案. 这主要是我自己懒得去想文案.
huang9
    42
huang9  
   2024-06-24 18:22:28 +08:00
本身 localsend 也是 MIT 许可 ,可以用于抄写代码用于盈利,不知道为啥死不承认呢
kaedea
    43
kaedea  
   2024-06-24 18:34:04 +08:00 via Android   2
@wyl986 中国优秀程序员画像:二次元头像 + 熟练的网络技术
xiaoshan5733
    44
xiaoshan5733  
   2024-06-24 18:37:25 +08:00
"The app needs photo library access so that the user can select photos to share."这个描述没觉得不妥啊,就是那种很通用的文案。

就拿我写 reactnative 来说,一般都会有个通用文案参考的: https://docs.expo.dev/versions/latest/sdk/imagepicker/#example-appjson-with-config-plugin
beimenjun
    45
beimenjun  
OP
PRO
   2024-06-24 18:41:04 +08:00
@xiaoshan5733 是很通用,但是通用的表达除了这一种还有千万种。

你在 github 上如果只搜这一段,只会找到 localsend 及其 fork 这么使用。
xiaoshan5733
    46
xiaoshan5733  
   2024-06-24 18:45:36 +08:00
@beimenjun 哈哈哈,那就不知道了,不太了解 flutter 一般是怎么用的,写 flutter 的 v 友可以来说说看
iOCZS
    47
iOCZS  
   2024-06-24 19:10:42 +08:00
我要是这,我也集成 local send ,只不过我会开源,大家又不是傻子,打肿脸充胖子没意思
cat
    48
cat  
   2024-06-24 19:12:22 +08:00
这帖子热度这么高,短时间内这么多回复和顶,为啥掉到 R2 首页最后一位了
beimenjun
    49
beimenjun  
OP
PRO
   2024-06-24 19:20:17 +08:00
@cat 可能因为我的账户是被制裁的账户,我的回复花费金币都比别人多。
body007
    50
body007  
   2024-06-24 20:05:57 +08:00   1
这个项目作者认为大家不知道 localsend ,也不主动提 localsend (怕大家用免费的 localsend 不买他的产品)。以为发帖可以推广一波,结果弄巧成拙。好奇买他产品的人现在什么想法,就像百度搜索的 7z 、vscode 下载要收费的软件一样让人反感
maleclub
    51
maleclub  
   2024-06-24 21:04:39 +08:00 via Android
笑死,大型翻车现场,这下棺材板都被你掀起! Beautiful
chendl111
    52
chendl111  
   2024-06-24 21:47:42 +08:00
支持正义楼主
IvanLi127
    53
IvanLi127  
   2024-06-24 21:54:27 +08:00   1
话说,自从我见过 localsend 后,这类软件好像越来越多了...
1gzNr
    54
1gzNr  
   2024-06-24 23:10:23 +08:00
持续关注
Feobe
    55
Feobe  
   2024-06-25 01:47:58 +08:00
@zaidawesterfield 请问这是什么文档对比工具?谢谢。
bluedawn
    56
bluedawn  
   2024-06-25 02:23:56 +08:00 via iPhone
刚刚去看了一眼 App Store 就觉得这不是和 localsend 完全一致我为什么不用免费的
zaidawesterfield
    57
zaidawesterfield  
   2024-06-25 09:15:24 +08:00
vaynecv
    58
vaynecv  
   2024-06-25 09:18:40 +08:00
支持,大胆质疑,小心取证
持续关注
monkeylmj
    59
monkeylmj  
   2024-06-25 09:38:42 +08:00
持续关注,如果证明是抄的,后续有什么手段么
uiosun
    60
uiosun  
   2024-06-25 09:48:40 +08:00
@buf1024 纯调侃:底裤被扒下来,那也是致敬,都是作者一个代码一个代码复刻上去的,哪里抄了,一直是这个样子好吧,
caocong"
    61
caocong  
   2024-06-25 09:53:31 +08:00
@IvanLi127 说明本地跨平台传文件确实是刚需,我就写了一个基于 webrtc 纯 web 的共享文字文件屏幕的小工具团队内部用,确实方便
gooooood
    62
gooooood  
   2024-06-25 10:13:38 +08:00
localsend yyds.
Torpedo
    63
Torpedo  
   2024-06-25 10:26:40 +08:00   1
用别人代码没什么,但是你不安证书来就过分了。其实就感谢一下就行了 ,这都不愿意
twogoods
    64
twogoods  
   2024-06-25 10:32:47 +08:00
看着也没有什么比 localsend 更强的功能啊,用开源的不香吗
wk333
    65
wk333  
   2024-06-25 11:02:21 +08:00   1
从 0 到 1 难,从 1 到 1.01 真快啊
horizon
    66
horizon  
   2024-06-25 11:55:11 +08:00
@twogoods #64
有的人不知道
信息差
其实我觉得没啥,本质上这是销售能力。。
mgrddsj
    67
mgrddsj  
   2024-06-25 12:11:08 +08:00
@IvanLi127 #53 其实一直有这样的需求和相关的软件,只是 LocalSend 火了之后流行做开源的跨平台文件传输工具而已。以前 Android 4 时代就有很多这类闭源商业软件了,我记得的有快牙、茄子快传 (Shareit)、Airdroid…
othercat
    68
othercat  
   2024-06-25 12:16:06 +08:00   1
偶然看到这篇,好奇做了一个实验:

我把 Mac App Store 目前的 1.2.0 版本的 Airclap ,app 里面所有 Frameworks ,全部复制到我 1.14.0 的 LocalSend app 进行取代,见图 1
https://www.dropbox.com/scl/fi/6gzbwgvdoauktcsc7b5ts/LocalSend-with-Ariclap-Frameworks-20240625-121141.png?rlkey=69aw9r81c7krxbkd4c36rzpio&dl=0

然后直接打开这个复制后的 LocalSend app ,就神奇的得到了一个 1.14.0 版本的 Airclap ,见图 2
https://www.dropbox.com/scl/fi/tckxnniqo7sf1mk1q42br/LocalSend-with-Ariclap-Frameworks-20240625-120908.png?rlkey=d3utc61mle70b1lax5lkp9nh6&dl=0

只能说,很有趣~
othercat
    69
othercat  
   2024-06-25 12:16:45 +08:00
不好意思,上面两张图顺序贴反了,不过不影响结论~
guanzhangzhang
    70
guanzhangzhang  
   2024-06-25 12:34:45 +08:00
@wyl986 我这种截图剧情里的图呢
szyp
    71
szyp  
   2024-06-25 12:41:30 +08:00   1
@wyl986 额,你这样不是在开地图炮吗
w568w
    72
w568w  
   2024-06-25 14:18:41 +08:00
回声:

从 @LuLiangDev 的 GitHub 主页 [1] 可以看到其昨天向 Gentleflow/Airclap 和 lex-1919/airclap-landingpage 各提交了一次 commit 。然而,分别点进去后发现这两个仓库最后提交时间均为两天前,昨天并没有提交 [2],推测其昨天看到消息后回滚了最后一次 commit 并 force-push 。

目前,其在 GitHub 可查到的最后一次活动是 6 月 23 日 12:03 ,向 lex-1919/airclap-landingpage 提交了 Pull Request [3],该仓库目前禁止非协作者评论。

在 V2EX 和 Airclap 反馈平台最后活动都是一天前 [4, 5]。官方 Discord 目前仍在活跃(收割)中。

[1] https://github.com/LiangLuDev?tab=overview&from=2024-05-01&to=2024-05-31
[2] https://github.com/lex-1919/airclap-landingpage/commits?author=LiangLuDev&since=2024-06-24&until=2024-06-25
[3] https://github.com/lex-1919/airclap-landingpage/pull/1
[4] member/LuLiangDev
[5] https://airclap.canny.io/feedback/p/ios-transfers-dont-work
othercat
    73
othercat  
   2024-06-25 14:20:33 +08:00   1
我把最新的发现更新在了这个帖子

https://v2ex.com/t/1052440

我觉得 Airclap 代码关键部分可能不是基于 LocalSend 改的。
misaka20
    74
misaka20  
   2024-06-25 15:05:27 +08:00
这两点说服力一般
hikarugo
    75
hikarugo  
   2024-06-25 20:25:41 +08:00
连个感谢都不愿意写,估计是怕大家知道 localsend 之后全去用 localsend 了,发现 localsend 免费用起来也没差可能还更用好,所以各种主页根本不敢写这个名字,真恶心啊
ClosureEleven
    76
ClosureEleven  
   2024-06-27 09:05:55 +08:00
这个帖子沉了?作者也没任何回应
beimenjun
    77
beimenjun  
OP
PRO
   2024-06-27 10:53:53 +08:00 via iPhone
@ClosureEleven 时间久了的帖子自然会沉。很正常。

作者在 Reddit 和 Discord 上继续销售呢。
fengfuliu
    78
fengfuliu  
   2024-06-28 09:06:42 +08:00
作者直接把 issue 这一栏关闭了
beimenjun
    79
beimenjun  
OP
PRO
   2024-06-28 11:43:29 +08:00
@fengfuliu 笑死人了。
w568w
    80
w568w  
   2024-06-28 19:20:33 +08:00
@fengfuliu 本来我还期待是误会,这下好了。

某些国人的下限低到令人发指。
Damnever
    81
Damnever  
   2024-07-07 12:25:36 +08:00
关 issue 可还行,看到这个心情复杂 https://www.producthunt.com/posts/airclap
beimenjun
    82
beimenjun  
OP
PRO
   2024-07-07 23:52:58 +08:00 via iPhone
@Damnever 欢迎来到现实世界。

我其实态度很明确,敢做不敢当者我唾弃。至于他爱怎么推广怎么推广。不影响我对这事的态度。
beimenjun
    83
beimenjun  
OP
PRO
   2024-07-08 00:36:25 +08:00 via iPhone   1
我其实没有必要也没可能去跟着一个有问题的产品,然后不停的重复跟别人说:

“不要买他们,他们参考了别人的代码却不承认”

“AirClap is a copycat of LocalSend”

“跨平台传文件?先试试 LocalSend 啊。”

对于想赚信息差的钱的团队,任何企图抹平信息差其实成本是很高的。而且这东西跟屋里发现一只蟑螂一样,有一个这种吃相的团队,往往意味着还有大量吃相比他们差不多甚至更烂的团队愿意和他们合作赚信息差的钱。

这就是我一直说的,我能骂就骂,他们能赚就赚。
beimenjun
    84
beimenjun  
OP
PRO
   2024-07-09 14:44:18 +08:00
不过还是重申一下,虽然我不会弄个 bot 实时监控这件东西,但是如果我上网冲浪这个倒霉产品又碰到我了,那我可能会免费给它指正一下。
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2733 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 29ms UTC 15:11 PVG 23:11 LAX 08:11 JFK 11:11
Do have faith in what you're doing.
ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86